The Handoff screen is the privacy gate between rounds. It surfaces the current movie exclusively to the acting player so they can study it before miming it to their team. The screen is intentionally minimal — a single movie card, the player’s name, and two actions — to keep the reveal quick and focused. GET /handoffDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/dlampatricio/lamubi/llms.txt
Use this file to discover all available pages before exploring further.
What’s Displayed
| Element | Details |
|---|---|
| Next Performer label | The current_player.name pulled from teams[current_team_index].players[current_player_index] |
| Team name | teams[current_team_index].name |
| Instruction text | ”Memorize the movie details. You will act it out for your team without speaking.” |
| MovieCard | The current_movie from the game store (see MovieCard flip behavior) |
'loading' or current_movie is null, a skeleton placeholder — a spinner with an animated “Loading” label — is rendered in place of the MovieCard. The action buttons are hidden during this state.
Movie Loading
Whengame_state is 'loading' on mount (for example, after navigating directly to /handoff or after a hard refresh mid-game), the screen automatically fetches a fresh batch of movies:
cancelled flag (cleanup function) so stale responses from unmounted components are discarded. Once startGame(data) resolves, current_movie is populated and the MovieCard replaces the skeleton.
Actions
I'm Ready → /acting
I'm Ready → /acting
Rendered as a
NavButton with variant="primary".Sequence:- Calls
startActing()— setsgame_stateto'acting'in the store. - Navigates to
/acting.
showSkeleton === true).Skip This Movie
Skip This Movie
Rendered as a plain
<button> styled as a muted text link.Sequence:- Calls
skipMovie(). skipMovie()pops the first item from themoviesqueue and sets it ascurrent_movie.- If the queue drops below three movies after the skip,
refillMovies()is triggered automatically to fetch another batch of eight from/api/movies?count=8.
/handoff after skipping — no navigation occurs.This button is hidden while the skeleton is visible (showSkeleton === true).MovieCard Flip Behavior
TheMovieCard component uses a 3-D CSS flip animation (powered by Framer Motion) to expose two faces:
| Face | Content |
|---|---|
| Front | Movie poster, title, year in parentheses, TMDB rating out of 10 |
| Back | Synopsis (italic, scrollable), director, genres (bullet-separated), Letterboxd link |
isFlipped. On the Handoff screen, showHint={true} is passed to the card, which adds a subtle corner triangle indicator on mobile and a hover-state “Tap to Flip” label on desktop so the acting player knows the card is interactive.
Pass the device face-down to the acting player. Tap to reveal the movie, memorize it, then pass it back face-down before pressing I’m Ready. Teammates must not see the screen during this step.