"use client"; import { ArrowUpRight, FileText, Link, LoaderCircle, MoreHorizontal, RefreshCw, StarOff, Trash2, } from "lucide-react"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; import { SidebarGroup, SidebarGroupLabel, SidebarMenu, SidebarMenuAction, SidebarMenuButton, SidebarMenuItem, useSidebar, } from "@/components/ui/sidebar"; import { createClient } from "@/utils/supabase/client"; import { toast } from "sonner"; export function NavDocuments({ documents, }: { documents: { id: string; disabled?: boolean; name: string; url: string; emoji?: string; }[]; }) { const { isMobile } = useSidebar(); const supabase = createClient(); return ( Documents {documents.map((item) => ( {item.disabled ? ( ) : ( {item.emoji ? item.emoji : } )} {item.name} More { const data = new FormData(); const session = await supabase.auth.getSession(); if (!session.data.session) { toast.error("You are not logged in"); return; } data.append("id", item.id); data.append( "access_token", session.data.session.access_token ); data.append( "refresh_token", session.data.session.refresh_token ); toast.promise( supabase.functions.invoke("process-document", { body: data, }), { loading: "Reprocessing document...", success: "Document reprocessed successfully", error: (err) => { console.error("Error reprocessing document:", err); return "Failed to reprocess document"; }, } ); }} > Reprocess Document Delete ))} More ); }