import { ComponentProps } from "react" import formatDistanceToNow from "date-fns/formatDistanceToNow" import { cn } from "@/lib/utils" import { Badge } from "@/components/ui/badge" import { ScrollArea } from "@/components/ui/scroll-area" import { Mail } from "../data" import { useMail } from "../use-mail" interface MailListProps { items: Mail[] } export function MailList({ items }: MailListProps) { const [mail, setMail] = useMail() return ( {items.map((item) => ( setMail({ ...mail, selected: item.id, }) } > {item.name} {!item.read && ( )} {formatDistanceToNow(new Date(item.date), { addSuffix: true, })} {item.subject} {item.text.substring(0, 300)} {item.labels.length ? ( {item.labels.map((label) => ( {label} ))} ) : null} ))} ) } function getBadgeVariantFromLabel( label: string ): ComponentProps["variant"] { if (["work"].includes(label.toLowerCase())) { return "default" } if (["personal"].includes(label.toLowerCase())) { return "outline" } return "secondary" }