import { useState } from "react"
import { useTranslation } from "react-i18next"
import { AddKnowledge } from "./AddKnowledge"
import {
useMutation,
useQuery,
useQueryClient
} from "@tanstack/react-query"
import { deleteKnowledge, getAllKnowledge } from "@/db/knowledge"
import { Skeleton, Table, Tag, Tooltip, message } from "antd"
import { Trash2 } from "lucide-react"
export const KnowledgeSettings = () => {
const { t } = useTranslation(["knownledge", "common"])
const [open, setOpen] = useState(false)
const queryClient = useQueryClient()
const { data, status } = useQuery({
queryKey: ["fetchAllKnowledge"],
queryFn: () => getAllKnowledge(),
refetchInterval: 1000
})
const { mutate: deleteKnowledgeMutation, isPending: isDeleting } =
useMutation({
mutationFn: deleteKnowledge,
onSuccess: () => {
queryClient.invalidateQueries({
queryKey: ["fetchAllKnowledge"]
})
message.success(t("deleteSuccess"))
},
onError: (error) => {
message.error(error.message)
}
})
return (
{/* Add new model button */}
{status === "pending" &&
}
{status === "success" && (
(
{t(`status.${text}`)}
)
},
{
title: t("columns.embeddings"),
dataIndex: "embedding_model",
key: "embedding_model"
},
{
title: t("columns.createdAt"),
dataIndex: "createdAt",
key: "createdAt",
render: (text: number) => new Date(text).toLocaleString()
},
{
title: t("columns.action"),
key: "action",
render: (text: string, record: any) => (
)
}
]}
expandable={{
expandedRowRender: (record) => (
),
defaultExpandAllRows: false
}}
bordered
dataSource={data}
rowKey={(record) => `${record.name}-${record.id}`}
/>
)}
)
}