import React from 'react'; import { Bell, Settings, User, Plus, Search, Home, FileText, CheckCircle, LogOut } from 'lucide-react'; import { Button } from './ui/button'; import { Input } from './ui/input'; import { Badge } from './ui/badge'; import { Avatar, AvatarFallback, AvatarImage } from './ui/avatar'; import { Sidebar, SidebarContent, SidebarHeader, SidebarMenu, SidebarMenuItem, SidebarMenuButton, SidebarProvider, SidebarTrigger } from './ui/sidebar'; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from './ui/dropdown-menu'; interface LayoutProps { children: React.ReactNode; currentPage?: string; onNavigate?: (page: string) => void; onNewRequest?: () => void; } export function Layout({ children, currentPage = 'dashboard', onNavigate, onNewRequest }: LayoutProps) { const menuItems = [ { id: 'dashboard', label: 'Dashboard', icon: Home }, { id: 'my-requests', label: 'My Requests', icon: User }, { id: 'open-requests', label: 'Open Requests', icon: FileText }, { id: 'closed-requests', label: 'Closed Requests', icon: CheckCircle }, ]; return (

Royal Enfield

Approval Portal

{menuItems.map((item) => ( onNavigate?.(item.id)} isActive={currentPage === item.id} className="w-full justify-start text-sidebar-foreground hover:bg-sidebar-accent transition-colors text-sm lg:text-base" > {item.label} ))} {/* Quick Action in Sidebar */}
{/* Header */}

Notifications

RE-REQ-001 needs approval

SLA expires in 2 hours

New comment on RE-REQ-003

From John Doe - 5 min ago

JD Profile Settings Logout
{/* Main Content */}
{children}
); }