import React, { useState, useEffect } from "react"; import { Link } from "react-router-dom"; import { createPageUrl } from "./utils"; import { base44 } from "@/api/base44Client"; import { useDriverLinking } from "@/components/DriverLinkingHook"; import { LayoutDashboard, Truck, Users, Package, Container, Receipt, DollarSign, BarChart3, Settings, Menu, X, LogOut, ChevronDown, Loader2, } from "lucide-react"; import { Button } from "@/components/ui/button"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; const navItems = [ { name: "Dashboard", icon: LayoutDashboard, page: "Dashboard" }, { name: "Loads", icon: Package, page: "Loads" }, { name: "Drivers", icon: Users, page: "Drivers" }, { name: "Trucks", icon: Truck, page: "Trucks" }, { name: "Trailers", icon: Container, page: "Trailers" }, { name: "Expenses", icon: Receipt, page: "Expenses" }, { name: "Payroll", icon: DollarSign, page: "Payroll" }, { name: "Reports", icon: BarChart3, page: "Reports" }, { name: "Link Drivers", icon: Users, page: "LinkDrivers" }, { name: "Settings", icon: Settings, page: "Settings" }, ]; export default function Layout({ children, currentPageName }) { const [sidebarOpen, setSidebarOpen] = useState(false); const [user, setUser] = useState(null); const [loading, setLoading] = useState(true); // Runs your linking hook on every page load (fine) useDriverLinking(); useEffect(() => { const fetchUser = async () => { try { const userData = await base44.auth.me(); setUser(userData); } finally { setLoading(false); } }; fetchUser(); }, []); const handleLogout = async () => { await base44.auth.logout("/"); }; if (loading) { return (