import Link from "next/link"; import { redirect } from "next/navigation"; import HoarderLogo from "@/components/HoarderIcon"; import { Separator } from "@/components/ui/separator"; import { api } from "@/server/api/client"; import { getServerAuthSession } from "@/server/auth"; import { Home, Search, Settings, Shield, Tag } from "lucide-react"; import serverConfig from "@hoarder/shared/config"; import AllLists from "./AllLists"; import SidebarItem from "./SidebarItem"; import SidebarProfileOptions from "./SidebarProfileOptions"; export default async function Sidebar() { const session = await getServerAuthSession(); if (!session) { redirect("/"); } const lists = await api.lists.list(); const searchItem = serverConfig.meilisearch ? [ { name: "Search", icon: , path: "/dashboard/search", }, ] : []; const adminItem = session.user.role == "admin" ? [ { name: "Admin", icon: , path: "/dashboard/admin", }, ] : []; const menu: { name: string; icon: JSX.Element; path: string; }[] = [ { name: "Home", icon: , path: "/dashboard/bookmarks", }, ...searchItem, { name: "Tags", icon: , path: "/dashboard/tags", }, { name: "Settings", icon: , path: "/dashboard/settings", }, ...adminItem, ]; return ( ); }