diff --git a/libs/components/layout/src/header/FileSystem.tsx b/libs/components/layout/src/header/FileSystem.tsx index c143e6f3f1..016b26d1c4 100644 --- a/libs/components/layout/src/header/FileSystem.tsx +++ b/libs/components/layout/src/header/FileSystem.tsx @@ -4,7 +4,7 @@ import { CloseIcon } from '@toeverything/components/common'; import { IconButton, MuiSnackbar, styled } from '@toeverything/components/ui'; import { services } from '@toeverything/datasource/db-service'; import { useLocalTrigger } from '@toeverything/datasource/state'; -import { useTranslation } from 'react-i18next'; + const cleanupWorkspace = (workspace: string) => new Promise((resolve, reject) => { const req = indexedDB.deleteDatabase(workspace); @@ -75,25 +75,39 @@ export const FileSystem = () => { setError(true); setTimeout(() => setError(false), 3000); }, []); - const { t } = useTranslation(); + const apiSupported = useMemo(() => fsApiSupported(), []); if (apiSupported && !selected) { return ( - setError(false)} - > - - - } - /> + <> + setError(false)} + > + + + } + /> + { + try { + await requestPermission('AFFiNE'); + onSelected(); + } catch (e) { + onError(); + } + }} + > + Sync to Disk + + ); } return null; diff --git a/libs/components/layout/src/header/LayoutHeader.tsx b/libs/components/layout/src/header/LayoutHeader.tsx index 4c17564d9c..c9e7b7b8da 100644 --- a/libs/components/layout/src/header/LayoutHeader.tsx +++ b/libs/components/layout/src/header/LayoutHeader.tsx @@ -14,7 +14,7 @@ import { import { useTranslation } from 'react-i18next'; import { EditorBoardSwitcher } from './EditorBoardSwitcher'; -import { FileSystem, fsApiSupported } from './FileSystem'; +import { fsApiSupported } from './FileSystem'; import { CurrentPageTitle } from './Title'; export const LayoutHeader = () => { @@ -44,7 +44,6 @@ export const LayoutHeader = () => { - {t('Share')}
)} - {BooleanImportWorkspace && ( - - )} - {BooleanExportWorkspace && ( - - )} + +

Last edited by {user && user.nickname} diff --git a/libs/components/layout/src/settings-sidebar/Settings/use-setting-flags.ts b/libs/components/layout/src/settings-sidebar/Settings/use-setting-flags.ts index ff3136b230..532417de03 100644 --- a/libs/components/layout/src/settings-sidebar/Settings/use-setting-flags.ts +++ b/libs/components/layout/src/settings-sidebar/Settings/use-setting-flags.ts @@ -2,8 +2,6 @@ import { useFlag } from '@toeverything/datasource/feature-flags'; export const useSettingFlags = () => { const booleanFullWidthChecked = useFlag('BooleanFullWidthChecked', false); - const booleanExportWorkspace = useFlag('BooleanExportAffineDb', true); - const booleanImportWorkspace = useFlag('BooleanImportAffineDb', true); const booleanExportHtml = useFlag('BooleanExportHtml', false); const booleanExportPdf = useFlag('BooleanExportPdf', false); const booleanExportMarkdown = useFlag('BooleanExportMarkdown', false); @@ -11,8 +9,6 @@ export const useSettingFlags = () => { return { booleanFullWidthChecked, - booleanExportWorkspace, - booleanImportWorkspace, booleanExportHtml, booleanExportPdf, booleanExportMarkdown, diff --git a/libs/components/layout/src/settings-sidebar/Settings/use-settings.ts b/libs/components/layout/src/settings-sidebar/Settings/use-settings.ts index 2b32794424..53b075db74 100644 --- a/libs/components/layout/src/settings-sidebar/Settings/use-settings.ts +++ b/libs/components/layout/src/settings-sidebar/Settings/use-settings.ts @@ -156,15 +156,13 @@ export const useSettings = (): SettingItem[] => { type: 'button', name: t('Import Workspace'), key: 'Import Workspace', - onClick: () => importWorkspace(workspaceId), - flag: 'booleanClearWorkspace', + onClick: () => importWorkspace(), }, { type: 'button', name: t('Export Workspace'), key: 'Export Workspace', onClick: () => exportWorkspace(), - flag: 'booleanExportWorkspace', }, ]; diff --git a/libs/components/layout/src/settings-sidebar/Settings/util/inspector-workspace.ts b/libs/components/layout/src/settings-sidebar/Settings/util/inspector-workspace.ts index 25adfdd669..6cbd275a01 100644 --- a/libs/components/layout/src/settings-sidebar/Settings/util/inspector-workspace.ts +++ b/libs/components/layout/src/settings-sidebar/Settings/util/inspector-workspace.ts @@ -1,18 +1,17 @@ /** * @deprecated debugging method, deprecated */ -export const importWorkspace = (workspaceId: string) => { - //@ts-ignore - window.client - .inspector() - .load() - .then(status => { - if (status) { - if (window.confirm('Your currently open data will be lost.')) { - window.location.href = `/${workspaceId}/`; - } - } - }); +export const importWorkspace = async () => { + if (window.confirm('Your currently open data will be lost.')) { + //@ts-ignore + const status = await window.client.inspector().load(); + + console.log(status); + + if (status) { + window.location.reload(); + } + } }; /** diff --git a/libs/datasource/db-service/src/services/workspace/user-config.ts b/libs/datasource/db-service/src/services/workspace/user-config.ts index fbe74ce83d..7251659314 100644 --- a/libs/datasource/db-service/src/services/workspace/user-config.ts +++ b/libs/datasource/db-service/src/services/workspace/user-config.ts @@ -36,7 +36,7 @@ export class UserConfig extends ServiceBaseClass { } const db = await this.database.getDatabase(workspace); - const newPage = await db.get_named_block('start-page'); + const newPage = await db.getNamedBlock('start-page'); await this.get_dependency(PageTree).addPage(workspace, newPage.id); await this.addRecentPage(workspace, userId, newPage.id); diff --git a/libs/datasource/jwt/src/index.ts b/libs/datasource/jwt/src/index.ts index 5c74ae8b99..626e6a3c89 100644 --- a/libs/datasource/jwt/src/index.ts +++ b/libs/datasource/jwt/src/index.ts @@ -357,7 +357,7 @@ export class BlockClient< * @param name block name * @returns block instance */ - public async get_named_block( + public async getNamedBlock( name: string, options?: { workspace?: boolean } ): Promise> { @@ -376,7 +376,7 @@ export class BlockClient< */ public async getWorkspace() { if (!this._root.node) { - this._root.node = await this.get_named_block(this._workspace, { + this._root.node = await this.getNamedBlock(this._workspace, { workspace: true, }); } diff --git a/libs/datasource/jwt/src/yjs/index.ts b/libs/datasource/jwt/src/yjs/index.ts index b94f7009ea..9b6fa3c3d9 100644 --- a/libs/datasource/jwt/src/yjs/index.ts +++ b/libs/datasource/jwt/src/yjs/index.ts @@ -371,7 +371,6 @@ export class YjsAdapter implements AsyncDatabaseAdapter { applyUpdate(doc, new Uint8Array(binary)); await update_check; } - console.log('load success'); return true; } catch (err) {