'use client'; import React, { createContext, useContext, useState, ReactNode } from 'react'; interface SidebarContextType { collapsed: boolean; setCollapsed: (collapsed: boolean) => void; isMobile: boolean; setIsMobile: (isMobile: boolean) => void; isMobileDrawerOpen: boolean; setIsMobileDrawerOpen: (isOpen: boolean) => void; } const SidebarContext = createContext<SidebarContextType | undefined>(undefined); export function SidebarProvider({ children }: { children: ReactNode }) { const [collapsed, setCollapsed] = useState(false); const [isMobile, setIsMobile] = useState(false); const [isMobileDrawerOpen, setIsMobileDrawerOpen] = useState(false); return ( <SidebarContext.Provider value={{ collapsed, setCollapsed, isMobile, setIsMobile, isMobileDrawerOpen, setIsMobileDrawerOpen, }} > {children} </SidebarContext.Provider> ); } export function useSidebar() { const context = useContext(SidebarContext); if (context === undefined) { throw new Error('useSidebar must be used within a SidebarProvider'); } return context; }