'use client'; import React from 'react'; import { LayoutDashboard, CheckSquare, Flame, Calendar as CalendarIcon, Wallet, BookOpen, Timer, Sparkles, ChevronLeft, ChevronRight, UserCheck, Dumbbell } from 'lucide-react'; import { ActiveModule } from '@/lib/types'; interface SidebarProps { activeModule: ActiveModule; onSelectModule: (module: ActiveModule) => void; isCollapsed: boolean; onToggleCollapse: () => void; pendingTasksCount: number; habitsCount: number; } export const Sidebar: React.FC = ({ activeModule, onSelectModule, isCollapsed, onToggleCollapse, pendingTasksCount, habitsCount, }) => { const navItems = [ { id: 'dashboard' as ActiveModule, label: 'Command Center', icon: LayoutDashboard, badge: null, glowColor: 'group-hover:text-cyan-400', activeBg: 'bg-cyan-500/10 text-cyan-400 border-cyan-500/40', }, { id: 'fitness' as ActiveModule, label: 'Fitness Lab', icon: Dumbbell, badge: 'MPS', glowColor: 'group-hover:text-lime-400', activeBg: 'bg-lime-500/10 text-lime-400 border-lime-500/40', }, { id: 'pomodoro' as ActiveModule, label: 'Focus Timer', icon: Timer, badge: '25m', glowColor: 'group-hover:text-amber-400', activeBg: 'bg-amber-500/10 text-amber-400 border-amber-500/40', }, { id: 'tasks' as ActiveModule, label: 'Tasks & Kanban', icon: CheckSquare, badge: pendingTasksCount > 0 ? `${pendingTasksCount}` : null, glowColor: 'group-hover:text-emerald-400', activeBg: 'bg-emerald-500/10 text-emerald-400 border-emerald-500/40', }, { id: 'habits' as ActiveModule, label: 'Habits & Streaks', icon: Flame, badge: habitsCount > 0 ? `${habitsCount}` : null, glowColor: 'group-hover:text-orange-400', activeBg: 'bg-orange-500/10 text-orange-400 border-orange-500/40', }, { id: 'calendar' as ActiveModule, label: 'Calendar Planner', icon: CalendarIcon, badge: null, glowColor: 'group-hover:text-blue-400', activeBg: 'bg-blue-500/10 text-blue-400 border-blue-500/40', }, { id: 'finance' as ActiveModule, label: 'Budget & Finance', icon: Wallet, badge: null, glowColor: 'group-hover:text-teal-400', activeBg: 'bg-teal-500/10 text-teal-400 border-teal-500/40', }, { id: 'notes' as ActiveModule, label: 'Notes & Journal', icon: BookOpen, badge: null, glowColor: 'group-hover:text-purple-400', activeBg: 'bg-purple-500/10 text-purple-400 border-purple-500/40', }, ]; return ( ); };