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" import { KnowledgeIcon } from "./KnowledgeIcon" import { useMessageOption } from "@/hooks/useMessageOption" import { removeModelSuffix } from "@/db/models" export const KnowledgeSettings = () => { const { t } = useTranslation(["knowledge", "common"]) const [open, setOpen] = useState(false) const queryClient = useQueryClient() const { selectedKnowledge, setSelectedKnowledge } = useMessageOption() 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) } }) const statusColor = { finished: "green", processing: "yellow", pending: "gray", failed: "red" } return (