"use client"; import { useMemo } from "react"; import { useTranslation } from "react-i18next"; import dayjs from "dayjs"; import Content from "./Content"; import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle, } from "@/components/ui/dialog"; import { useKnowledgeStore } from "@/store/knowledge"; type Props = { id: string; open: boolean; onClose: () => void; }; function formatDate(timestamp: number) { return dayjs(timestamp).format("YYYY-MM-DD HH:mm"); } function KnowledgeInfor({ id }: { id: string }) { const { t } = useTranslation(); const knowledge = useMemo(() => { const { knowledges } = useKnowledgeStore.getState(); const detail = knowledges.find((item) => item.id === id); return detail; }, [id]); if (knowledge) { const createdAt = formatDate(knowledge.createdAt); if (knowledge.type === "file" && knowledge.fileMeta) { return t("knowledge.fileInfor", { createdAt }); } else if (knowledge.type === "url" && knowledge.url) { return t("knowledge.urlInfor", { createdAt }); } else { return t("knowledge.createInfor", { createdAt }); } } return null; } function Resource({ id, open, onClose }: Props) { const { t } = useTranslation(); function handleClose(open: boolean) { if (!open) onClose(); } return ( {t("knowledge.resource")} onClose()} > ); } export default Resource;