From 9c89831f20287b4ea170b0c9587d4277752033be Mon Sep 17 00:00:00 2001 From: Z8MB1E Date: Fri, 31 Jul 2026 20:04:28 -0400 Subject: [PATCH] refactor: update sidebar navigation with new sections - Add Intelligence section with Campaigns, Missions, and Factions links - Add Roster link to main navigation - Update Logistics section with Resources and Vehicles links - Update XPDisplay prop from xp to xpLevel for level resolution - Remove commented-out navigation items --- src/components/frontend/blocks/AppSidebar.tsx | 69 +++++++++++-------- 1 file changed, 41 insertions(+), 28 deletions(-) diff --git a/src/components/frontend/blocks/AppSidebar.tsx b/src/components/frontend/blocks/AppSidebar.tsx index 5cad616..9ec7b1c 100644 --- a/src/components/frontend/blocks/AppSidebar.tsx +++ b/src/components/frontend/blocks/AppSidebar.tsx @@ -1,7 +1,7 @@ "use client"; import * as React from "react"; -import { Bolt, Send, Settings2, Shield, Warehouse } from "lucide-react"; +import { Bolt, Send, Settings2, Shield, Users, Warehouse, Crosshair } from "lucide-react"; import { NavCore } from "@/components/frontend/blocks/NavCore"; import { NavSecondary } from "@/components/frontend/blocks/NavSecondary"; @@ -18,14 +18,20 @@ import { import Image from "next/image"; import Link from "next/link"; import XPDisplay from "@/components/frontend/blocks/XPDisplay"; +import type { ResolvedLevel } from "@/utils/xp/resolveLevel"; const data = { navMain: [ { title: "Dashboard", - url: "#", + url: "/", icon: Bolt, }, + { + title: "Roster", + url: "/roster", + icon: Users, + }, { title: "Settings", url: "#", @@ -50,6 +56,27 @@ const data = { ], }, ], + navIntelligence: [ + { + title: "Intelligence", + url: "#", + icon: Crosshair, + items: [ + { + title: "Campaigns", + url: "/intelligence/campaigns", + }, + { + title: "Missions", + url: "/intelligence/missions", + }, + { + title: "Factions", + url: "/intelligence/factions", + }, + ], + }, + ], navLogistics: [ { title: "Logistics", @@ -59,42 +86,27 @@ const data = { { title: "Structures", url: "/logistics", - // icon: Building2, + }, + { + title: "Resources", + url: "/logistics/resources", + }, + { + title: "Vehicles", + url: "/logistics/vehicles", }, { title: "Market", url: "#", - // icon: CircleDollarSign, }, { title: "Shipments", url: "#", - // icon: CircleDollarSign, }, - /*{ - title: "Vehicles", - url: "#", - // icon: Truck, - }, - { - title: "Resources", - url: "#", - // icon: PackageOpen, - }, - { - title: "Structures", - url: "#", - // icon: Building2, - },*/ ], }, ], navSecondary: [ - /*{ - title: "Support", - url: "https://onyxsimple.youtrack.cloud", - icon: LifeBuoy, - },*/ { title: "Feedback", url: "https://onyxsimple.youtrack.cloud", @@ -105,7 +117,7 @@ const data = { export function AppSidebar({ user, - xp, + xpLevel, adminUrl, ...props }: { @@ -113,7 +125,7 @@ export function AppSidebar({ displayName: string; username: string; }; - xp: number; + xpLevel: ResolvedLevel; adminUrl?: string; } & React.ComponentProps) { return ( @@ -145,6 +157,7 @@ export function AppSidebar({ + {/**/} - +