import { createContext, useCallback, useContext, useState, type ReactNode } from "react"; export interface Breadcrumb { label: string; href?: string; } interface BreadcrumbContextValue { breadcrumbs: Breadcrumb[]; setBreadcrumbs: (crumbs: Breadcrumb[]) => void; } const BreadcrumbContext = createContext(null); export function BreadcrumbProvider({ children }: { children: ReactNode }) { const [breadcrumbs, setBreadcrumbsState] = useState([]); const setBreadcrumbs = useCallback((crumbs: Breadcrumb[]) => { setBreadcrumbsState(crumbs); }, []); return ( {children} ); } export function useBreadcrumbs() { const ctx = useContext(BreadcrumbContext); if (!ctx) { throw new Error("useBreadcrumbs must be used within BreadcrumbProvider"); } return ctx; }