mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-15 09:06:19 +08:00
init: the first public commit for AFFiNE
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
import { useCallback } from 'react';
|
||||
import { atom, useAtom } from 'jotai';
|
||||
|
||||
const _showSpaceSidebarAtom = atom<boolean>(true);
|
||||
const _fixedDisplayAtom = atom<boolean>(true);
|
||||
|
||||
/** workspace panel status including page-tree, default open */
|
||||
export const useShowSpaceSidebar = () => {
|
||||
const [showSpaceSidebar, setShowSpaceSidebar] = useAtom(
|
||||
_showSpaceSidebarAtom
|
||||
);
|
||||
|
||||
const [fixedDisplay, setAlltime] = useAtom(_fixedDisplayAtom);
|
||||
|
||||
const toggleSpaceSidebar = useCallback(() => {
|
||||
setAlltime(prev => !prev);
|
||||
setShowSpaceSidebar(false);
|
||||
}, [setAlltime, setShowSpaceSidebar]);
|
||||
|
||||
const setSpaceSidebarVisible = useCallback(
|
||||
(visible: boolean) => setShowSpaceSidebar(visible),
|
||||
[setShowSpaceSidebar]
|
||||
);
|
||||
|
||||
return {
|
||||
showSpaceSidebar,
|
||||
fixedDisplay,
|
||||
toggleSpaceSidebar,
|
||||
setSpaceSidebarVisible,
|
||||
};
|
||||
};
|
||||
|
||||
const _showSettingsSidebarAtom = atom<boolean>(false);
|
||||
|
||||
/** settings/layout/comment side panel status, default closed */
|
||||
export const useShowSettingsSidebar = () => {
|
||||
const [showSettingsSidebar, setShowSettingsSidebar] = useAtom(
|
||||
_showSettingsSidebarAtom
|
||||
);
|
||||
|
||||
const toggleSettingsSidebar = useCallback(
|
||||
() => setShowSettingsSidebar(prev => !prev),
|
||||
[setShowSettingsSidebar]
|
||||
);
|
||||
|
||||
return {
|
||||
showSettingsSidebar,
|
||||
setShowSettingsSidebar,
|
||||
toggleSettingsSidebar,
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user