mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-17 18:16:15 +08:00
refactor: webpack config (#11421)
This commit is contained in:
@@ -9,19 +9,24 @@ import { DebugLogger } from '@affine/debug';
|
||||
import { apis } from '@affine/electron-api';
|
||||
import { useI18n } from '@affine/i18n';
|
||||
import { useService } from '@toeverything/infra';
|
||||
import { useLayoutEffect } from 'react';
|
||||
import { useLayoutEffect, useRef } from 'react';
|
||||
|
||||
const logger = new DebugLogger('ImportWorkspaceDialog');
|
||||
|
||||
export const ImportWorkspaceDialog = ({
|
||||
close,
|
||||
}: DialogComponentProps<GLOBAL_DIALOG_SCHEMA['import-workspace']>) => {
|
||||
const effectRef = useRef(false);
|
||||
const t = useI18n();
|
||||
const workspacesService = useService(WorkspacesService);
|
||||
|
||||
// TODO(@Peng): maybe refactor using xstate?
|
||||
useLayoutEffect(() => {
|
||||
let canceled = false;
|
||||
if (effectRef.current) {
|
||||
return;
|
||||
}
|
||||
effectRef.current = true;
|
||||
|
||||
// a hack for now
|
||||
// when adding a workspace, we will immediately let user select a db file
|
||||
// after it is done, it will effectively add a new workspace to app-data folder
|
||||
@@ -32,7 +37,7 @@ export const ImportWorkspaceDialog = ({
|
||||
}
|
||||
logger.info('load db file');
|
||||
const result = await apis.dialog.loadDBFile();
|
||||
if (result.workspaceId && !canceled) {
|
||||
if (result.workspaceId) {
|
||||
_addLocalWorkspace(result.workspaceId);
|
||||
workspacesService.list.revalidate();
|
||||
close({
|
||||
@@ -50,9 +55,6 @@ export const ImportWorkspaceDialog = ({
|
||||
})().catch(err => {
|
||||
console.error(err);
|
||||
});
|
||||
return () => {
|
||||
canceled = true;
|
||||
};
|
||||
}, [close, t, workspacesService]);
|
||||
|
||||
return null;
|
||||
|
||||
@@ -191,13 +191,9 @@ export const BackupSettingPanel = () => {
|
||||
const t = useI18n();
|
||||
const backupService = useService(BackupService);
|
||||
|
||||
const handlePageChange = useCallback(() => {
|
||||
backupService.revalidate();
|
||||
}, [backupService]);
|
||||
|
||||
useEffect(() => {
|
||||
backupService.revalidate();
|
||||
}, [backupService, handlePageChange]);
|
||||
}, [backupService]);
|
||||
|
||||
const isLoading = useLiveData(backupService.isLoading$);
|
||||
const backupWorkspaces = useLiveData(backupService.pageBackupWorkspaces$);
|
||||
|
||||
Reference in New Issue
Block a user