"use client" import { Button } from "@/components/ui/button" import { Sheet, SheetContent, SheetHeader, SheetTitle, } from "@/components/ui/sheet" import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs" import type { KnowledgeBase } from "@/lib/api/admin" import { exportKnowledgeFAQs } from "@/lib/api/admin" import { useI18n } from "@/i18n/provider" import { Bug, DownloadIcon, LayoutGridIcon, LayoutListIcon, PanelLeftCloseIcon, PanelLeftOpenIcon, PlusIcon, RefreshCwIcon, UploadIcon, } from "lucide-react" import { useState } from "react" import { toast } from "sonner" import { DebugPanel } from "./_components/debug-panel" import { DocumentList, type DocumentListActionState } from "./_components/document-list" import { FAQList, type FAQListActionState } from "./_components/faq-list" import { KnowledgeBaseList } from "./_components/knowledge-base-list" import { RetrieveLogList } from "./_components/retrieve-log-list" export default function DashboardKnowledgeDocumentsPage() { const t = useI18n() const [selectedKnowledgeBase, setSelectedKnowledgeBase] = useState(null) const [sidebarCollapsed, setSidebarCollapsed] = useState(false) const [debugPanelOpen, setDebugPanelOpen] = useState(false) const [activeTab, setActiveTab] = useState("documents") const [documentActionState, setDocumentActionState] = useState(null) const [faqActionState, setFAQActionState] = useState(null) const [exportingFAQ, setExportingFAQ] = useState(false) const isFAQKnowledgeBase = selectedKnowledgeBase?.knowledgeType === "faq" async function handleExportFAQ() { if (!selectedKnowledgeBase || exportingFAQ) { return } setExportingFAQ(true) try { await exportKnowledgeFAQs(selectedKnowledgeBase.id) toast.success(t("knowledge.exportFAQSuccess")) } catch (error) { toast.error(error instanceof Error ? error.message : t("knowledge.exportFAQFailed")) } finally { setExportingFAQ(false) } } return (
{isFAQKnowledgeBase ? t("knowledge.faq") : t("knowledge.document")} {t("knowledge.retrieveLogs")} {activeTab === "documents" && !isFAQKnowledgeBase && documentActionState ? (
) : null} {activeTab === "documents" && isFAQKnowledgeBase && faqActionState ? (
) : null}
{isFAQKnowledgeBase ? ( ) : ( )}
{t("knowledge.ragDebug")}
) }