"use client"; import Link from "next/link"; import { usePathname } from "next/navigation"; import { Activity, BarChart3, Bot, CheckCircle2, Folder, Building2, LayoutGrid, Network, } from "lucide-react"; import { useAuth } from "@/auth/clerk"; import { ApiError } from "@/api/mutator"; import { type getMyMembershipApiV1OrganizationsMeMemberGetResponse, useGetMyMembershipApiV1OrganizationsMeMemberGet, } from "@/api/generated/organizations/organizations"; import { type healthzHealthzGetResponse, useHealthzHealthzGet, } from "@/api/generated/default/default"; import { cn } from "@/lib/utils"; export function DashboardSidebar() { const pathname = usePathname(); const { isSignedIn } = useAuth(); const membershipQuery = useGetMyMembershipApiV1OrganizationsMeMemberGet< getMyMembershipApiV1OrganizationsMeMemberGetResponse, ApiError >({ query: { enabled: Boolean(isSignedIn), refetchOnMount: "always", retry: false, }, }); const member = membershipQuery.data?.status === 200 ? membershipQuery.data.data : null; const isAdmin = member ? ["owner", "admin"].includes(member.role) : false; const healthQuery = useHealthzHealthzGet( { query: { refetchInterval: 30_000, refetchOnMount: "always", retry: false, }, request: { cache: "no-store" }, }, ); const okValue = healthQuery.data?.data?.ok; const systemStatus: "unknown" | "operational" | "degraded" = okValue === true ? "operational" : okValue === false ? "degraded" : healthQuery.isError ? "degraded" : "unknown"; const statusLabel = systemStatus === "operational" ? "All systems operational" : systemStatus === "unknown" ? "System status unavailable" : "System degraded"; return ( ); }