Files
autoglue/ui/src/layouts/nav-config.ts
allanice001 7985b310c5 feat: Complete AG Loadbalancer & Cluster API
Refactor routing logic (Chi can be a pain when you're managing large sets of routes, but its one of the better options when considering a potential gRPC future)
       Upgrade API Generation to fully support OAS3.1
      Update swagger interface to RapiDoc - the old swagger interface doesnt support OAS3.1 yet
      Docs are now embedded as part of the UI - once logged in they pick up the cookies and org id from what gets set by the UI, but you can override it
      Other updates include better portability of the db-studio

Signed-off-by: allanice001 <allanice001@gmail.com>
2025-11-17 04:59:39 +00:00

52 lines
1.6 KiB
TypeScript

import type { ComponentType } from "react"
import {
BoxesIcon,
Building2,
ComponentIcon,
FileKey2Icon,
KeyRound,
LockKeyholeIcon,
ServerIcon,
SprayCanIcon,
TagsIcon,
User2,
Users,
} from "lucide-react"
import { AiOutlineCluster } from "react-icons/ai"
import { GrUserWorker } from "react-icons/gr"
import { MdOutlineDns } from "react-icons/md"
import { SiSwagger } from "react-icons/si"
export type NavItem = {
to: string
label: string
icon: ComponentType<{ className?: string }>
target?: string
}
export const mainNav: NavItem[] = [
{ to: "/clusters", label: "Clusters", icon: AiOutlineCluster },
{ to: "/dns", label: "DNS", icon: MdOutlineDns },
{ to: "/node-pools", label: "Node Pools", icon: BoxesIcon },
{ to: "/annotations", label: "Annotations", icon: ComponentIcon },
{ to: "/labels", label: "Labels", icon: TagsIcon },
{ to: "/taints", label: "Taints", icon: SprayCanIcon },
{ to: "/servers", label: "Servers", icon: ServerIcon },
{ to: "/ssh", label: "SSH Keys", icon: FileKey2Icon },
{ to: "/credentials", label: "Credentials", icon: LockKeyholeIcon },
]
export const orgNav: NavItem[] = [
{ to: "/org/members", label: "Members", icon: Users },
{ to: "/org/api-keys", label: "Org API Keys", icon: KeyRound },
{ to: "/org/settings", label: "Org Settings", icon: Building2 },
]
export const userNav: NavItem[] = [{ to: "/me", label: "Profile", icon: User2 }]
export const adminNav: NavItem[] = [
{ to: "/admin/users", label: "Users Admin", icon: Users },
{ to: "/admin/jobs", label: "Jobs Admin", icon: GrUserWorker },
{ to: "/docs", label: "API Docs ", icon: SiSwagger, target: "_blank" },
]