import { cn } from "@/shared/lib/utils"; import { Review, ReviewStatus } from "@/shared/types/review"; import dayjs from "dayjs"; interface ReviewCardProps { review: Review; } export const ReviewCard = ({ review }: ReviewCardProps) => { const id = review.id.split("-").at(-1)?.slice(0, 6); const score = review.evaluation?.reduce((acc, e) => acc + e.mark, 0); const maxPoints = review.criteries?.reduce((acc, c) => acc + c.max_value, 0); const styles = review.review_status === ReviewStatus.CHECKED && { "bg-correct text-correct-foreground": (score ?? 0) === (maxPoints ?? 0), "bg-partial text-partial-foreground": (score ?? 0) > 0 && (score ?? 0) < (maxPoints ?? 0), "bg-wrong text-wrong-foreground": (score ?? 0) === 0, }; return (
{review.competition_name}
{id}
•
{review.review_status === ReviewStatus.NOT_CHECKED || review.review_status === ReviewStatus.CHECKING ? `Дата посылки: ${dayjs(review.submitted_at).format("D MMMM, HH:mm")}` : `Дата проверки: ${dayjs(review.checked_at).format("D MMMM, HH:mm")}`}