Add setup page and graceful handling for missing TMDB API key

Without TMDB_API_KEY the app silently fails on search and import.
This adds a /setup page that guides admins through obtaining and
configuring the key, redirects unconfigured visitors from the
landing page, and returns clear error messages from the search API.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
jakeandClaude Opus 4.6 committed 2026-03-01 13:30:31 -05:00
1 parent fa57bf9476
commit 8fc4c110b6
6 files changed
+319 -1

No files matched your search

+11
View File
@@ -1,8 +1,19 @@
import { type NextRequest, NextResponse } from "next/server";
import { isTmdbConfigured } from "@/lib/config";
import { searchMovies, searchMulti, searchTv } from "@/lib/tmdb/client";
import type { TmdbSearchResponse } from "@/lib/tmdb/types";
export async function GET(req: NextRequest) {
if (!isTmdbConfigured()) {
return NextResponse.json(
{
error: "TMDB API key is not configured. Visit /setup for instructions.",
code: "TMDB_NOT_CONFIGURED",
},
{ status: 503 },
);
}
const query = req.nextUrl.searchParams.get("query");
const type = req.nextUrl.searchParams.get("type");
+8
View File
@@ -0,0 +1,8 @@
import { NextResponse } from "next/server";
import { isTmdbConfigured } from "@/lib/config";
export async function GET() {
return NextResponse.json({
tmdbConfigured: isTmdbConfigured(),
});
}