File size: 835 Bytes
5f40163 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | import React from "react";
interface SettingsSectionHeaderContextValue {
setHideSectionHeader: (hide: boolean) => void;
}
const SettingsSectionHeaderContext =
React.createContext<SettingsSectionHeaderContextValue | null>(null);
export function SettingsSectionHeaderProvider({
setHideSectionHeader,
children,
}: React.PropsWithChildren<{
setHideSectionHeader: (hide: boolean) => void;
}>) {
const value = React.useMemo(
() => ({ setHideSectionHeader }),
[setHideSectionHeader],
);
return (
<SettingsSectionHeaderContext.Provider value={value}>
{children}
</SettingsSectionHeaderContext.Provider>
);
}
export function useSettingsSectionHeader() {
const context = React.useContext(SettingsSectionHeaderContext);
return (
context ?? {
setHideSectionHeader: () => {},
}
);
}
|