mirror of
https://github.com/datahub-project/datahub.git
synced 2025-09-03 06:13:14 +00:00
24 lines
824 B
TypeScript
24 lines
824 B
TypeScript
import { EventType } from '../analytics';
|
|
import analytics from '../analytics/analytics';
|
|
import { useUserContext } from '../context/useUserContext';
|
|
import useToggle from '../shared/useToggle';
|
|
|
|
const useToggleSidebar = () => {
|
|
const { localState, updateLocalState } = useUserContext();
|
|
|
|
const { isOpen: isSidebarOpen, toggle: toggleSidebar } = useToggle({
|
|
initialValue: localState.showBrowseV2Sidebar ?? true,
|
|
onToggle: (isNowOpen: boolean) => {
|
|
analytics.event({
|
|
type: EventType.BrowseV2ToggleSidebarEvent,
|
|
action: isNowOpen ? 'open' : 'close',
|
|
});
|
|
updateLocalState({ ...localState, showBrowseV2Sidebar: isNowOpen });
|
|
},
|
|
});
|
|
|
|
return { isSidebarOpen, toggleSidebar } as const;
|
|
};
|
|
|
|
export default useToggleSidebar;
|