// frontend/app/layout.jsx 'use client'; import Link from 'next/link'; import { usePathname } from 'next/navigation'; import { Bell, Home, Users, Settings, Package2, FileText, // Added for example LineChart, // Added for example } from 'lucide-react'; import { Button } from '@/components/ui/button'; import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from '@/components/ui/card'; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, } from '@/components/ui/dropdown-menu'; import { cn } from '@/lib/utils'; // **1. Import `useAuth` และ `can` จากไฟล์จริงของคุณ** import { useAuth } from '@/lib/auth'; import { can } from '@/lib/rbac'; export default function ProtectedLayout({ children }) { const pathname = usePathname(); // **2. เรียกใช้งาน useAuth hook เพื่อดึงข้อมูล user** const { user, logout } = useAuth(); const navLinks = [ { href: '/dashboard', label: 'Dashboard', icon: Home }, { href: '/correspondences', label: 'Correspondences', icon: FileText }, { href: '/drawings', label: 'Drawings', icon: FileText }, { href: '/rfas', label: 'RFAs', icon: FileText }, { href: '/transmittals', label: 'Transmittals', icon: FileText }, { href: '/reports', label: 'Reports', icon: LineChart }, ]; // **3. สร้าง object สำหรับเมนู Admin โดยเฉพาะ** const adminLink = { href: '/admin/users', label: 'Admin', icon: Settings, requiredPermission: 'manage_users' }; return (
LCB P3 DMS
Need Help? Contact support for any issues or questions.
{/* Mobile navigation can be added here */}
{/* Optional: Add a search bar */}
{user ? user.username : 'My Account'} Settings Support Logout
{children}
); }