import { Link } from "@tanstack/react-router" import { Globe, Pencil } from "lucide-react" import { timeAgo } from "@/lib/date" import { StarDisplay } from "@/components/star-display" import { WatchMediumBadge } from "@/components/watch-medium-badge" import { EditableContextMenu } from "@/components/editable-context-menu" import { Button } from "@/components/ui/button" import { Card, CardContent } from "@/components/ui/card" import { posterUrl } from "@/lib/api/client" import type { MovieDto, ReviewDto } from "@/lib/api/common" type ReviewCardProps = { movie: MovieDto review: ReviewDto userName?: string userId?: string isFederated?: boolean actorUrl?: string onEdit?: () => void } export function ReviewCard({ movie, review, userName, userId, isFederated, actorUrl, onEdit }: ReviewCardProps) { const card = ( {movie.poster_path && }
{userName && (
{userId ? ( {userName} ) : actorUrl ? ( {userName} ) : ( {userName} )} {isFederated && } ยท {timeAgo(review.watched_at)}
)}
{movie.title} {onEdit && ( )}
{review.watch_medium && }
{review.comment &&

{review.comment}

}
) if (!onEdit) return card return {card} }