"use client"; import { useEffect, useState } from "react"; import React, { ReactNode } from "react"; import { ThemeProvider } from "./theme-context"; import { motion, AnimatePresence } from "framer-motion"; import { SidebarProvider } from "./sidebar-context"; import { ModernSidebar } from "./modern-sidebar"; import { ModernHeader } from "./modern-header"; export const AdminLayout = ({ children }: { children: ReactNode }) => { const [sidebarOpen, setSidebarOpen] = useState(true); const [hasMounted, setHasMounted] = useState(false); const toggleSidebar = () => { setSidebarOpen(!sidebarOpen); }; // Hooks useEffect(() => { setHasMounted(true); // Auto-collapse sidebar on mobile const handleResize = () => { if (window.innerWidth < 1024) { setSidebarOpen(false); } else { setSidebarOpen(true); } }; handleResize(); window.addEventListener('resize', handleResize); return () => window.removeEventListener('resize', handleResize); }, []); // Render loading state until mounted if (!hasMounted) { return (