7 Commits

Author SHA1 Message Date
kbondelie 22cec43b51 Allow shared search links to work without login
- Remove auth from poster proxy (artwork isn't sensitive, API key
  stays server-side)
- Show main screen in read-only mode when ?s= param is present,
  hiding user picker, logout, and re-roll controls
- If viewer happens to be logged in, watch-check still runs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 20:26:52 -07:00
kbondelie 5c7b3feb1f Add shareable search links and watched movie indicators
Share: "Copy Link" button generates a URL with ?s={history_id} that
loads the saved search results without auth. Recipients see the same
movie picks.

Watched: When viewing history results or shared searches, cards for
movies the logged-in user has since watched are dimmed with a green
"Watched" badge. Uses a new POST /api/library/watch-check endpoint.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 20:22:55 -07:00
kbondelie 7c25de32bd Show re-roll loading skeleton at bottom of results grid
Skeleton cards now append below existing results during re-roll
instead of appearing at the top. Auto-scrolls to show the loading
state, and hides the re-roll button until new results arrive.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 20:16:09 -07:00
kbondelie 00bd69cc70 Add reset button and make re-roll append results
- Reset button clears mood text, runtime filter, kid-friendly toggle,
  and returns to the empty state
- Show Me More now appends new cards below existing results instead
  of replacing them

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 20:12:31 -07:00
kbondelie 9f96a91986 Add runtime filter, kid-friendly toggle, surprise me, and re-roll
- Runtime quick-select buttons (Any/90m/2h/2.5h) filter movies by length
- Kid-friendly toggle forces PG-13 max and boosts Family/Animation genres
- Surprise Me picks a random mood prompt from 20 curated options
- Show Me More re-rolls same mood excluding already-shown movies
- Re-roll appends new results to the existing search history entry

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 20:07:05 -07:00
kbondelie d8c8b473ad Add search history with saved results
Saves each mood search and its recommendations to SQLite per user.
Recent searches appear below the results area with mood text, top
movie titles, and timestamp. Click any entry to reload those results.
Entries can be deleted individually. History toggleable via show/hide.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 19:57:50 -07:00
kbondelie 3d5de06b44 Initial commit — Movie Night media discovery app
AI-powered web app that recommends unwatched movies from a Jellyfin
library based on natural language mood input. Jellyfin auth, modular
LLM backend (Claude/OpenAI/Ollama), two-tier pre-filter + AI ranking,
mobile-responsive dark theme UI with poster cards and deep links.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 19:20:56 -07:00