import { Edit, Trash2 } from "lucide-react"; import { useState } from "react"; import { CircleButton } from "@/design-system/base/button"; import { UpdateCardModal } from "./UpdateCardModal"; import { useTranslations } from "next-intl"; import type { ActionOutputCardWithNote } from "@/modules/card/card-action-dto"; import { toast } from "sonner"; interface CardItemProps { card: ActionOutputCardWithNote; isReadOnly: boolean; onDel: () => void; refreshCards: () => void; } export function CardItem({ card, isReadOnly, onDel, refreshCards, }: CardItemProps) { const [openUpdateModal, setOpenUpdateModal] = useState(false); const t = useTranslations("deck_id"); const fields = card.note.flds.split('\x1f'); const field1 = fields[0] || ""; const field2 = fields[1] || ""; return (
{t("card")}
{!isReadOnly && ( <> setOpenUpdateModal(true)} title={t("edit")} className="text-gray-400 hover:text-gray-600" > )}
{field1.length > 30 ? field1.substring(0, 30) + "..." : field1}
{field2.length > 30 ? field2.substring(0, 30) + "..." : field2}
setOpenUpdateModal(false)} card={card} onUpdated={() => { setOpenUpdateModal(false); refreshCards(); }} />
); }