'use client'; import * as React from 'react'; interface SidebarContextType { isOpen: boolean; isCollapsed: boolean; toggle: () => void; toggleCollapse: () => void; close: () => void; } const SidebarContext = React.createContext(undefined); export function SidebarProvider({ children }: { children: React.ReactNode }) { const [isOpen, setIsOpen] = React.useState(false); const [isCollapsed, setIsCollapsed] = React.useState(false); const toggle = React.useCallback(() => setIsOpen((prev) => !prev), []); const toggleCollapse = React.useCallback(() => setIsCollapsed((prev) => !prev), []); const close = React.useCallback(() => setIsOpen(false), []); return ( {children} ); } export function useSidebar() { const context = React.useContext(SidebarContext); if (!context) { throw new Error('useSidebar must be used within a SidebarProvider'); } return context; }