import { FC, PropsWithChildren, createContext, useContext, useState } from 'react'; export const QuickAccessVisibleState = createContext(false); export const useQuickAccessVisible = () => useContext(QuickAccessVisibleState); export const QuickAccessVisibleStateProvider: FC> = ({ children, tab, initialVal, }) => { const initial = initialVal || tab?.initialVisibility; const [visible, setVisible] = useState(initial); // HACK but i can't think of a better way to do this if (tab) tab.qAMVisibilitySetter = (val: boolean) => { if (val != visible) setVisible(val); }; return {children}; };