IFFDAYIFFDAYDesign
Film and community

ReviewCard

The layout of one review: avatar, byline, stars, text and actions.

import { ReviewCard, LikeButton } from '@iffday/web/src/review-card';
import { AuthorName } from '@iffday/web/src/components';

Example

The layout of one review: a 34px avatar on the left; on the right the byline and time, then the film, the stars, the text and the actions. With poster a 72px poster column appears on the far right, 56px on phones. Reviews, articles and the community page all use this layout.

Possible LoveLEE Chang-dong

Walked along Haeundae for an hour after the screening. Almost no score for two and a half hours, and the silence in the last ten minutes says more than any line of dialogue.

Possible Love film poster
Try Like: the count changes first, then the API confirms it. The API here is a stand-in, so a reload resets it.

Like

With like the card shows LikeButton. A click adds one to the count at once; when the API answers, its count wins, and on failure the count goes back and an error toast appears. Readers who are not signed in are taken to sign in. It also works on its own: reviews, articles and lists can all be liked.

Byline

byline replaces the default Review by; articles use Article by. AuthorName links the name to /@handle when there is a handle and shows the plain name otherwise.

Props

record.club's review row: avatar, "Review by", stars, text, comment action.

PropTypeDefault
author*string
authorHandlestring
authorSeedstring
datestring
starsnumber | null
titleReactNode
titleTostring
subtitleReactNode
posterReactNode
children*ReactNode
actionsReactNode
menuReactNode
like

Shows record.club's Like control and count when the target supports likes.

LikeTarget
byline

Byline prefix, e.g. 短评 · or 文章 ·; defaults to a short review.

string

record.club's "♡ Like" with an optimistic count. Visitors are sent to sign in.

PropTypeDefault
targetType*'review' | 'article' | 'list'
targetId*string
likeCountnumber0
likedByMebooleanfalse
PropTypeDefault
name*string
handlestring