/*
========================================
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. */}
);
}
// Example Gift Icon (if not using lucide-react)
function GiftIcon(props: React.SVGProps) {
return (
);
}