mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-24 22:09:08 +08:00
fix: cleanup workspace when switch setting panel (#3072)
(cherry picked from commit 822078e640)
This commit is contained in:
@@ -23,11 +23,11 @@ import { WorkSpaceSetting } from './workspace-setting';
|
||||
|
||||
type ActiveTab = GeneralSettingKeys | 'workspace' | 'account';
|
||||
export type SettingProps = {
|
||||
activeTab?: ActiveTab;
|
||||
workspace?: AllWorkspace;
|
||||
activeTab: ActiveTab;
|
||||
workspace: AllWorkspace | null;
|
||||
onSettingClick: (params: {
|
||||
activeTab: ActiveTab;
|
||||
workspace?: AllWorkspace;
|
||||
workspace: AllWorkspace | null;
|
||||
}) => void;
|
||||
};
|
||||
export const SettingModal: React.FC<SettingModalProps & SettingProps> = ({
|
||||
@@ -52,6 +52,7 @@ export const SettingModal: React.FC<SettingModalProps & SettingProps> = ({
|
||||
(key: GeneralSettingKeys) => {
|
||||
onSettingClick({
|
||||
activeTab: key,
|
||||
workspace: null,
|
||||
});
|
||||
},
|
||||
[onSettingClick]
|
||||
@@ -66,7 +67,7 @@ export const SettingModal: React.FC<SettingModalProps & SettingProps> = ({
|
||||
[onSettingClick]
|
||||
);
|
||||
const onAccountSettingClick = useCallback(() => {
|
||||
onSettingClick({ activeTab: 'account' });
|
||||
onSettingClick({ activeTab: 'account', workspace: null });
|
||||
}, [onSettingClick]);
|
||||
|
||||
return (
|
||||
@@ -86,7 +87,7 @@ export const SettingModal: React.FC<SettingModalProps & SettingProps> = ({
|
||||
<div className="wrapper">
|
||||
<div className="content">
|
||||
{activeTab === 'workspace' && workspace ? (
|
||||
<WorkSpaceSetting workspace={workspace} />
|
||||
<WorkSpaceSetting key={workspace.id} workspace={workspace} />
|
||||
) : null}
|
||||
{generalSettingList.find(v => v.key === activeTab) ? (
|
||||
<GeneralSetting generalKey={activeTab as GeneralSettingKeys} />
|
||||
|
||||
@@ -31,24 +31,7 @@ export const HelpIsland = ({
|
||||
const [, setOpenOnboarding] = useAtom(openOnboardingModalAtom);
|
||||
const [, setOpenSettingModalAtom] = useAtom(openSettingModalAtom);
|
||||
const [spread, setShowSpread] = useState(false);
|
||||
// const { triggerShortcutsModal, triggerContactModal } = useModal();
|
||||
// const blockHub = useGlobalState(store => store.blockHub);
|
||||
const t = useAFFiNEI18N();
|
||||
//
|
||||
// useEffect(() => {
|
||||
// blockHub?.blockHubStatusUpdated.on(status => {
|
||||
// if (status) {
|
||||
// setShowSpread(false);
|
||||
// }
|
||||
// });
|
||||
// return () => {
|
||||
// blockHub?.blockHubStatusUpdated.dispose();
|
||||
// };
|
||||
// }, [blockHub]);
|
||||
//
|
||||
// useEffect(() => {
|
||||
// spread && blockHub?.toggleMenu(false);
|
||||
// }, [blockHub, spread]);
|
||||
|
||||
const [openShortCut, setOpenShortCut] = useState(false);
|
||||
|
||||
@@ -58,6 +41,7 @@ export const HelpIsland = ({
|
||||
setOpenSettingModalAtom({
|
||||
open: true,
|
||||
activeTab: 'about',
|
||||
workspace: null,
|
||||
});
|
||||
}, [setOpenSettingModalAtom]);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user