"use client"; import { CheckCircle2, ListChecks, Plus, Sparkles } from "lucide-react"; import Link from "next/link"; import { useState } from "react"; import { Button } from "@/components/ui/button"; import { useAutoRefresh } from "@/hooks/use-auto-refresh"; import { tr } from "@/i18n/tr"; import { formatDate } from "@/shared/format"; import { SHOPPING_REFRESH_MS } from "@/shared/shopping"; import type { ShoppingListSummary } from "../service"; import { ShoppingListDialog } from "./list-dialog"; const t = tr.shopping; function ListCard({ list }: { list: ShoppingListSummary }) { const done = list.status === "completed"; const Icon = done ? CheckCircle2 : ListChecks; return (
{list.name}
{t.itemCount(list.itemCount)} {list.checkedCount && !done ? ` · ${t.checkedCount(list.checkedCount, list.itemCount)}` : ""}
{list.preview.join(", ")} {list.itemCount > list.preview.length ? "…" : ""}
) : ({t.emptyList}
)}{done && list.completedAt ? t.completedAt(formatDate(list.completedAt)) : t.updated(formatDate(list.updatedAt))}
{t.emptyActive}
)}