/* ======================================== File: frontend/features/map/components/map-sidebar.tsx ======================================== */ "use client"; import React from "react"; import Link from "next/link"; import { usePathname } from "next/navigation"; import { Home, Map, // Changed from Clock BarChart3, // Changed from Map Layers, // Changed from FileText Settings, SlidersHorizontal, // Changed from PenTool MessageCircle, // Changed from BarChart3 Info, // Changed from Plane LineChart, DollarSign, MoreHorizontal, Gift, // Added Gift icon component below } from "lucide-react"; import { cn } from "@/lib/utils"; import { Sidebar, SidebarContent, SidebarFooter, SidebarHeader, SidebarMenu, SidebarMenuItem, SidebarMenuButton, } from "@/components/ui/sidebar"; // Assuming sidebar is a shared UI component structure export function MapSidebar() { const pathname = usePathname(); // Define navigation items relevant to the map context or general app navigation shown here const mainNavItems = [ { name: "Map View", icon: Map, href: "/map" }, { name: "Analytics", icon: BarChart3, href: "/map/analytics" }, // Example sub-route { name: "Filters", icon: SlidersHorizontal, href: "/map/filters" }, // Example sub-route { name: "Data Layers", icon: Layers, href: "/map/layers" }, // Example sub-route { name: "Chat", icon: MessageCircle, href: "/map/chat" }, // Example sub-route { name: "Model Info", icon: Info, href: "/model-explanation" }, // Link to other feature { name: "Settings", icon: Settings, href: "/settings" }, // Example general setting { name: "More", icon: MoreHorizontal, href: "/more" }, // Example general setting ]; // Example project-specific items (if sidebar is shared) const projectNavItems = [ { name: "Market Trends", icon: LineChart, href: "/projects/trends" }, { name: "Investment", icon: DollarSign, href: "/projects/investment" }, ]; return ( // Using the shared Sidebar component structure
B
{/* Hide text when collapsed */} BorBann
{mainNavItems.map((item) => ( {/* Hide text when collapsed */} {item.name} ))} {/* Optional Project Section */} {/* Projects {projectNavItems.map((item) => ( ... ))} */} {/* Footer content like user profile, settings shortcut etc. */}
GG
GG_WPX
gg@example.com
); } // Example Gift Icon (if not using lucide-react) function GiftIcon(props: React.SVGProps) { return ( ); }