mosaicmap/app/admin/nav-documents.tsx
2025-08-14 21:34:16 +08:00

84 lines
3.2 KiB
TypeScript

import {
IconDots,
IconFolder,
IconShare3,
IconTrash,
} from "@tabler/icons-react"
import { cookies } from "next/headers"
// import { fetchCategories } from "@/lib/admin-fetchers"
import {
DropdownMenu,
DropdownMenuContent,
DropdownMenuItem,
DropdownMenuSeparator,
DropdownMenuTrigger,
} from "@/components/ui/dropdown-menu"
import {
SidebarGroup,
SidebarGroupLabel,
SidebarMenu,
SidebarMenuAction,
SidebarMenuButton,
SidebarMenuItem,
} from "@/components/ui/sidebar"
export async function NavDocuments() {
const jwt = (await cookies()).get('jwt')?.value;
// const categoriesData = await fetchCategories(jwt);
return (
<SidebarGroup className="group-data-[collapsible=icon]:hidden">
<SidebarGroupLabel>Categories</SidebarGroupLabel>
<SidebarMenu>
{/* {categoriesData?.settingCategories?.filter((item) => item.page).map((item) => (
<SidebarMenuItem key={item.page.slug}>
<SidebarMenuButton asChild>
<a href={`/admin/${item.page.slug}`}>
<IconFolder />
<span>{item.page.title}</span>
</a>
</SidebarMenuButton>
<DropdownMenu>
<DropdownMenuTrigger asChild>
<SidebarMenuAction
showOnHover
className="data-[state=open]:bg-accent rounded-sm"
>
<IconDots />
<span className="sr-only">More</span>
</SidebarMenuAction>
</DropdownMenuTrigger>
<DropdownMenuContent
className="w-24 rounded-lg"
side="right"
align="start"
>
<DropdownMenuItem>
<IconFolder />
<span>Open</span>
</DropdownMenuItem>
<DropdownMenuItem>
<IconShare3 />
<span>Share</span>
</DropdownMenuItem>
<DropdownMenuSeparator />
<DropdownMenuItem variant="destructive">
<IconTrash />
<span>Delete</span>
</DropdownMenuItem>
</DropdownMenuContent>
</DropdownMenu>
</SidebarMenuItem>
))} */}
<SidebarMenuItem>
<SidebarMenuButton className="text-sidebar-foreground/70">
<IconDots className="text-sidebar-foreground/70" />
<span>More</span>
</SidebarMenuButton>
</SidebarMenuItem>
</SidebarMenu>
</SidebarGroup>
)
}