blob: 83e45177f13bc09ca360419093200bd95ad8dc03 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
import { FC, PropsWithChildren, createContext, useContext, useState } from 'react';
export const QuickAccessVisibleState = createContext<boolean>(false);
export const useQuickAccessVisible = () => useContext(QuickAccessVisibleState);
export const QuickAccessVisibleStateProvider: FC<PropsWithChildren<{ tab?: any; initialVal?: boolean }>> = ({
children,
tab,
initialVal,
}) => {
const initial = initialVal || tab?.initialVisibility;
const [visible, setVisible] = useState<boolean>(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 <QuickAccessVisibleState.Provider value={visible}>{children}</QuickAccessVisibleState.Provider>;
};
|