IFFDAYIFFDAYDesign
Film and community

PosterImage

Picks the poster for the reader’s language, or shows the title on a tint.

import { PosterImage } from '@iffday/web/src/kit';
import { Poster } from '@iffday/web/src/components';

Which poster

A film often has dozens of posters. PosterImage picks in this order: the poster the festival entry chose, the main poster for the reader’s language (for Simplified Chinese readers zh-hans, zh-cn and zh-sg, then zh), the film’s main poster, and last the entry’s own posterUrl. Traditional Chinese readers are never shown a Simplified or zh poster.

Possible Love film poster
The Handmaiden film poster
Dust film poster

No poster

Without a poster, or when the image fails to load, a brand-colored panel shows the English title in its lower left corner. The entry ID picks the color, so a film always gets the same one. size only changes that title: 10px for sm and 15px otherwise. The poster is always 2:3 and as wide as its container.

Nagi Notes film poster
Nagi Notes
Nagi Notes

Usage

  • Posters live in R2 at addresses like img.filmcdn.com/film-poster/…; images from other sites are never linked directly.
  • bleed puts a copy scaled to 1.2 behind the poster, so a blur on the poster never shows the page at its edges.
  • components.tsx still has an older Poster that no page uses; new pages use PosterImage.

Props

PropTypeDefault
entry*Pick<Entry, 'id' | 'title' | 'titleEn' | 'originalTitle' | 'year' | 'posterUrl'> & FilmVisuals & { section?: string; }
largebooleanfalse

Not used directly in apps/web yet.