Replace API route handlers with server actions across the app

- Delete 10 API routes (stats, system-health, update-check, jobs/trigger,
  backup/restore, person, titles import/resolve, registration/status) and
  move logic into server actions in lib/actions/settings.ts and
  lib/actions/watchlist.ts
- Refactor SystemHealthCards to accept initialData prop and hydrate Jotai
  atoms via useHydrateAtoms; replace useSystemHealth SWR hook with a
  lightweight useSystemHealthRefresh that calls getSystemHealthAction
- Convert BackupRestoreSection to use restoreBackupAction + useTransition
  instead of a raw fetch call
- Split SystemStatusCard, BackgroundJobsCard, and StorageCard into
  standalone components reading from systemHealthDataAtom
- Make SetupPage async with connection() to opt into dynamic rendering
This commit is contained in:
2026-03-06 17:31:14 -05:00
parent 73b07f5ff6
commit 8d8c49a7f0
21 changed files with 396 additions and 630 deletions
+3 -1
View File
@@ -1,8 +1,10 @@
import { redirect } from "next/navigation";
import { connection } from "next/server";
import { isTmdbConfigured } from "@/lib/config";
import { SetupForm } from "./_components/setup-form";
export default function SetupPage() {
export default async function SetupPage() {
await connection();
if (isTmdbConfigured()) redirect("/");
return <SetupForm />;
}