Press n or j to go to the next uncovered block, b, p or k for the previous block.
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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | 19x 19x 19x | import { useEffect } from "react"; import { useCustomContext } from "./useCustomContext"; import HeaderContext, { IHeaderContext } from "context/HeaderContext"; export function useHeader( options?: Partial<{ showOnFixed: boolean; alwaysDisplayColor: boolean; disableOpacityChange: boolean; disableBackground: boolean; }> ): Omit< IHeaderContext, | "setAlwaysDisplayColor" | "setDisableBackground" | "setDisplayOnFixed" | "setDisableOpacityChange" > { const { setElement, setDisplayOnFixed, setAlwaysDisplayColor, setDisableOpacityChange, setDisableBackground, ...context } = useCustomContext(HeaderContext); useEffect(() => { Iif (options?.showOnFixed) { setDisplayOnFixed(options.showOnFixed); } Iif (options?.alwaysDisplayColor) { setAlwaysDisplayColor(options.alwaysDisplayColor); } Iif (options?.disableOpacityChange) { setDisableOpacityChange(options?.disableOpacityChange); } Iif (options?.disableBackground) { setDisableBackground(options?.disableBackground); } return () => { setDisplayOnFixed(false); setAlwaysDisplayColor(false); setDisableOpacityChange(false); setDisableBackground(false); setElement(null); }; }, [ options?.alwaysDisplayColor, options?.disableOpacityChange, options?.showOnFixed, options?.disableBackground, setAlwaysDisplayColor, setDisableOpacityChange, setDisplayOnFixed, setDisableBackground, setElement, ]); return { setElement, ...context, }; } |