Files
sofa/package.json
T
jake 2bb5af042b Persist dashboard periods and explore genre filters in URL via nuqs
- Add `nuqs` dependency; define `dashboardSearchParams` and
  `exploreSearchParams` loaders in new `search-params.ts` files
- Thread `moviePeriod`/`episodePeriod` from URL into `StatsSection`
  and `StatsDisplay`, replacing local `useState` with `useQueryStates`
- Rename `getUserStats` fields `moviesThisMonth`/`episodesThisWeek` →
  `movieCount`/`episodeCount` and accept period args so SSR stats
  match the active URL params
- Pre-fetch genre-filtered results server-side on the explore page
  when `movieGenre`/`tvGenre` params are present; pass as
  `initialGenreItems` to `FilterableTitleRow` so first paint is
  already populated
- Render genre chips as `<Link>` elements (with click-handler
  fallback) so genre selections produce shareable, bookmarkable URLs
2026-03-08 14:32:09 -04:00

68 lines
2.0 KiB
JSON

{
"name": "sofa",
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "bun --bun next dev",
"build": "bun --bun next build",
"start": "bun --bun next start",
"lint": "biome check",
"format": "biome format --write",
"check-types": "tsc --noEmit",
"test": "bun test",
"test:coverage": "bun test --coverage",
"db:generate": "bun --bun drizzle-kit generate",
"db:migrate": "bun --bun drizzle-kit migrate",
"db:push": "bun --bun drizzle-kit push",
"db:studio": "bun --bun drizzle-kit studio",
"db:seed": "bun run scripts/seed.ts",
"generate-tmdb-schema": "bunx openapi-typescript https://developer.themoviedb.org/openapi/tmdb-api.json -o ./lib/tmdb/schema.d.ts"
},
"dependencies": {
"@base-ui/react": "1.2.0",
"@better-auth/drizzle-adapter": "1.5.4",
"@player.style/sutro": "0.2.1",
"@tabler/icons-react": "3.40.0",
"@tanstack/react-hotkeys": "0.4.0",
"better-auth": "1.5.4",
"class-variance-authority": "0.7.1",
"clsx": "2.1.1",
"cmdk": "1.1.1",
"croner": "10.0.2-dev.2",
"date-fns": "4.1.0",
"drizzle-orm": "1.0.0-beta.16-ea816b6",
"jotai": "2.18.0",
"media-chrome": "4.18.0",
"motion": "12.35.1",
"next": "16.1.6",
"node-vibrant": "4.0.4",
"nuqs": "2.8.9",
"openapi-fetch": "0.17.0",
"react": "19.2.4",
"react-day-picker": "9.14.0",
"react-dom": "19.2.4",
"recharts": "3.8.0",
"shadcn": "4.0.0",
"sonner": "2.0.7",
"swr": "2.4.1",
"tailwind-merge": "3.5.0",
"tw-animate-css": "1.4.0",
"vaul": "1.1.2",
"youtube-video-element": "1.9.0",
"zod": "4.3.6"
},
"devDependencies": {
"@biomejs/biome": "2.4.6",
"@tailwindcss/postcss": "4.2.1",
"@types/bun": "1.3.10",
"@types/node": "25.3.5",
"@types/react": "19.2.14",
"@types/react-dom": "19.2.3",
"babel-plugin-react-compiler": "1.0.0",
"drizzle-kit": "1.0.0-beta.16-ea816b6",
"tailwindcss": "4.2.1",
"typescript": "5.9.3"
},
"packageManager": "bun@1.3.10"
}