# MovieDice UI Fixes — Parallel Batch Plan ## Context User QA pass on MovieDice (Phase 4 complete, awaiting manual sign-off) surfaced 9 UX defects across the movie-list view, the logged-in home page, and the landing carousel. Each fix is small and largely isolated, so they parallelize well across git worktrees. Confirmed with user: - **"More Info"** = a **new** button on the expanded poster detail that fetches TMDB details and shows them in a modal (the existing `/api/tmdb/movie/[id]` proxy at `src/app/api/tmdb/movie/[id]/route.ts` already returns what's needed). - **Back button** = `router.back()` (browser history), fallback to `/` if `history.length <= 1`. - **Verification** = each worker runs `npm test` and `npx tsc --noEmit` on its branch; manual QA happens after merge. ## What each worker needs to know (shared conventions) - **Stack**: Next.js 16 App Router, React 19, TanStack Query, Tailwind v4, Vitest + jsdom. Supabase self-hosted for data. - **Posters**: native `` with alt text — never `next/image`. Get URLs via `getTMDBImageUrl(path, size)` from `src/types/tmdb.ts`. - **A11y**: min tap target 44×44, `aria-live="polite"` for result announcements, `prefers-reduced-motion` respected on animations. Reference pattern: `src/components/dice/roll-animation.tsx`, `src/components/movies/delete-button.tsx`. - **Test location**: `src/__tests__/{components,hooks,...}/*.test.(ts|tsx)`. Current count: 10 files / 71 tests green. - **Genre filter**: use `filterByGenresAndEmotionsStructured({ genreIds, moodKeys }, movies)` from `src/lib/dice/genre-filter.ts`. `movies.genres` stores TMDB genre **names** (e.g. "Action"), not IDs. - **No backwards-compat shims**: remove unused props/functions rather than deprecating. - **Keep comments sparse**. Don't add JSDoc bloat. ## Work Units (9) ### U1 — Genre tags non-clickable **Files**: `src/components/movies/genre-tag.tsx`, `src/components/movies/expanded-panel.tsx`, `src/components/movies/poster-grid.tsx`, `src/components/movies/movie-list-client.tsx`. **Change**: Convert `` from `