refactor(core): remove adapter (#5324)

workspace adapter is no longer used.
This commit is contained in:
EYHN
2023-12-25 03:34:22 +00:00
parent 05025bf59a
commit e1bd13a018
9 changed files with 8 additions and 160 deletions
@@ -1,15 +0,0 @@
import type { WorkspaceUISchema } from '@affine/env/workspace';
import { lazy } from 'react';
import { Provider } from '../shared';
const LoginCard = lazy(() =>
import('../../components/cloud/login-card').then(({ LoginCard }) => ({
default: LoginCard,
}))
);
export const UI = {
Provider,
LoginCard,
} satisfies WorkspaceUISchema;
@@ -1,17 +0,0 @@
import type { WorkspaceAdapter } from '@affine/env/workspace';
import {
LoadPriority,
ReleaseType,
WorkspaceFlavour,
} from '@affine/env/workspace';
import { Provider } from '../shared';
export const LocalAdapter: WorkspaceAdapter<WorkspaceFlavour.LOCAL> = {
releaseType: ReleaseType.STABLE,
flavour: WorkspaceFlavour.LOCAL,
loadPriority: LoadPriority.LOW,
UI: {
Provider,
},
};
@@ -1,15 +0,0 @@
import { lazy } from 'react';
export const Provider = lazy(() =>
import('../components/cloud/provider').then(({ Provider }) => ({
default: Provider,
}))
);
export const NewWorkspaceSettingDetail = lazy(() =>
import('../components/affine/new-workspace-setting-detail').then(
({ WorkspaceSettingDetail }) => ({
default: WorkspaceSettingDetail,
})
)
);
@@ -1,35 +0,0 @@
import { Unreachable } from '@affine/env/constant';
import type {
WorkspaceAdapter,
WorkspaceUISchema,
} from '@affine/env/workspace';
import {
LoadPriority,
ReleaseType,
WorkspaceFlavour,
} from '@affine/env/workspace';
import { UI as CloudUI } from './cloud/ui';
import { LocalAdapter } from './local';
export const WorkspaceAdapters = {
[WorkspaceFlavour.LOCAL]: LocalAdapter,
[WorkspaceFlavour.AFFINE_CLOUD]: {
releaseType: ReleaseType.UNRELEASED,
flavour: WorkspaceFlavour.AFFINE_CLOUD,
loadPriority: LoadPriority.HIGH,
UI: CloudUI,
},
} satisfies {
[Key in WorkspaceFlavour]: WorkspaceAdapter<Key>;
};
export function getUIAdapter<Flavour extends WorkspaceFlavour>(
flavour: Flavour
): WorkspaceUISchema {
const ui = WorkspaceAdapters[flavour].UI as WorkspaceUISchema;
if (!ui) {
throw new Unreachable();
}
return ui;
}
@@ -1,14 +0,0 @@
import { waitForCurrentWorkspaceAtom } from '@affine/workspace/atom';
import { assertExists } from '@blocksuite/global/utils';
import { useAtomValue } from 'jotai';
import type { FC, PropsWithChildren } from 'react';
import { WorkspaceAdapters } from '../adapters/workspace';
export const AdapterProviderWrapper: FC<PropsWithChildren> = ({ children }) => {
const currentWorkspace = useAtomValue(waitForCurrentWorkspaceAtom);
const Provider = WorkspaceAdapters[currentWorkspace.flavour].UI.Provider;
assertExists(Provider);
return <Provider>{children}</Provider>;
};
@@ -1,7 +1,7 @@
import type { WorkspaceMetadata } from '@affine/workspace/metadata';
import { NewWorkspaceSettingDetail } from '../../../../adapters/shared';
import { useIsWorkspaceOwner } from '../../../../hooks/affine/use-is-workspace-owner';
import { WorkspaceSettingDetail } from '../../new-workspace-setting-detail';
export const WorkspaceSetting = ({
workspaceMetadata,
@@ -10,7 +10,7 @@ export const WorkspaceSetting = ({
}) => {
const isOwner = useIsWorkspaceOwner(workspaceMetadata);
return (
<NewWorkspaceSettingDetail
<WorkspaceSettingDetail
workspaceMetadata={workspaceMetadata}
isOwner={isOwner}
/>
@@ -27,7 +27,6 @@ import { useLocation, useParams } from 'react-router-dom';
import { Map as YMap } from 'yjs';
import { openQuickSearchModalAtom, openSettingModalAtom } from '../atoms';
import { AdapterProviderWrapper } from '../components/adapter-worksapce-wrapper';
import { AppContainer } from '../components/affine/app-container';
import { SyncAwareness } from '../components/affine/awareness';
import { usePageHelper } from '../components/blocksuite/block-suite-page-list/utils';
@@ -41,6 +40,7 @@ import {
AllWorkspaceModals,
CurrentWorkspaceModals,
} from '../providers/modal-provider';
import { SWRConfigProvider } from '../providers/swr-config-provider';
import { pathGenerator } from '../shared';
const CMDKQuickSearchModal = lazy(() =>
@@ -78,7 +78,7 @@ export const WorkspaceLayout = function WorkspaceLayout({
children,
}: PropsWithChildren) {
return (
<AdapterProviderWrapper>
<SWRConfigProvider>
{/* load all workspaces is costly, do not block the whole UI */}
<Suspense>
<AllWorkspaceModals />
@@ -87,7 +87,7 @@ export const WorkspaceLayout = function WorkspaceLayout({
<Suspense fallback={<WorkspaceFallback />}>
<WorkspaceLayoutInner>{children}</WorkspaceLayoutInner>
</Suspense>
</AdapterProviderWrapper>
</SWRConfigProvider>
);
};
@@ -7,7 +7,7 @@ import { useCallback } from 'react';
import type { SWRConfiguration } from 'swr';
import { SWRConfig } from 'swr';
const cloudConfig: SWRConfiguration = {
const swrConfig: SWRConfiguration = {
suspense: true,
use: [
useSWRNext => (key, fetcher, config) => {
@@ -49,10 +49,6 @@ const cloudConfig: SWRConfiguration = {
],
};
export const Provider = (props: PropsWithChildren): ReactNode => {
if (!runtimeConfig.enableCloud) {
return props.children;
}
return <SWRConfig value={cloudConfig}>{props.children}</SWRConfig>;
export const SWRConfigProvider = (props: PropsWithChildren): ReactNode => {
return <SWRConfig value={swrConfig}>{props.children}</SWRConfig>;
};