fix: a series of setting issues (#3032)

(cherry picked from commit 87ba71e77e)
This commit is contained in:
Qi
2023-07-05 22:11:42 +08:00
committed by Alex Yang
parent 0a607e0450
commit 8f1bfa46a9
24 changed files with 235 additions and 463 deletions

View File

@@ -38,6 +38,7 @@ import type { FC, PropsWithChildren, ReactElement } from 'react';
import { lazy, Suspense, useCallback, useEffect, useMemo } from 'react';
import { WorkspaceAdapters } from '../adapters/workspace';
import type { SettingAtom } from '../atoms';
import {
openQuickSearchModalAtom,
openSettingModalAtom,
@@ -100,14 +101,33 @@ export const QuickSearch: FC = () => {
};
export const Setting: FC = () => {
const [currentWorkspace] = useCurrentWorkspace();
const [openSettingModal, setOpenSettingModalAtom] =
const [{ open, workspace, activeTab }, setOpenSettingModalAtom] =
useAtom(openSettingModalAtom);
const blockSuiteWorkspace = currentWorkspace?.blockSuiteWorkspace;
const onSettingClick = useCallback(
({
activeTab,
workspace,
}: Pick<SettingAtom, 'activeTab' | 'workspace'>) => {
setOpenSettingModalAtom(prev => ({ ...prev, activeTab, workspace }));
},
[setOpenSettingModalAtom]
);
if (!blockSuiteWorkspace) {
return null;
}
return (
<SettingModal open={openSettingModal} setOpen={setOpenSettingModalAtom} />
<SettingModal
open={open}
activeTab={activeTab || 'appearance'}
workspace={workspace}
onSettingClick={onSettingClick}
setOpen={open => {
setOpenSettingModalAtom(prev => ({ ...prev, open }));
}}
/>
);
};
@@ -336,7 +356,7 @@ export const WorkspaceLayoutInner: FC<PropsWithChildren> = ({ children }) => {
const [, setOpenSettingModalAtom] = useAtom(openSettingModalAtom);
const handleOpenSettingModal = useCallback(() => {
setOpenSettingModalAtom(true);
setOpenSettingModalAtom({ activeTab: 'appearance', open: true });
}, [setOpenSettingModalAtom]);
const resizing = useAtomValue(appSidebarResizingAtom);