Replace Jotai atoms with local state, add Suspense for PPR compatibility

- Delete filterable-row, backup-schedule, integrations, and system-health
  atom files; replace with useState/useTransition + server action calls
- Replace /api/explore/discover route with discoverByGenre server action;
  refactor FilterableTitleRow to call it directly via useTransition
- Wrap PagesLayout and AuthLayout children in Suspense to fix dynamic
  rendering errors during PPR static generation; remove StoreProvider
- Sequence ExplorePage session fetch before TMDB calls to prevent
  build-time requests during static generation
- Drop unnecessary "use client" directives from dashboard and person
  components that have no client-side hooks or browser API usage
- Improve Dockerfile: add bun install layer cache mount, copy
  .next/cache from builder, reorder ENV declarations
This commit is contained in:
2026-03-07 16:00:19 -05:00
parent 8a45aa1c36
commit 7ed172d675
34 changed files with 530 additions and 664 deletions
+3 -3
View File
@@ -1,7 +1,7 @@
import { atomWithStorage, createJSONStorage } from "jotai/utils";
export const updateToastShownAtom = atomWithStorage<boolean>(
"sofa:update-toast-shown",
false,
export const updateToastDismissedVersionAtom = atomWithStorage<string | null>(
"sofa:update-toast-dismissed-version",
null,
createJSONStorage(() => sessionStorage),
);