'use client' import { createContext, useContext, useMemo, useState, type ReactNode } from 'react' export type HomeUiControls = { isTabsMode: boolean openNoteComposer: () => void } type Ctx = { controls: HomeUiControls | null setControls: (c: HomeUiControls | null) => void } const HomeViewContext = createContext(null) export function HomeViewProvider({ children }: { children: ReactNode }) { const [controls, setControls] = useState(null) const value = useMemo(() => ({ controls, setControls }), [controls]) return {children} } /** Enregistré par la page d’accueil ; la sidebar lit `controls` */ export function useHomeView() { const ctx = useContext(HomeViewContext) if (!ctx) { throw new Error('useHomeView must be used within HomeViewProvider') } return ctx } /** Sidebar / shells : ne pas planter si hors provider */ export function useHomeViewOptional(): Ctx | null { return useContext(HomeViewContext) }