refactor(infra): migrate to new infra (#5565)

This commit is contained in:
EYHN
2024-01-30 07:16:39 +00:00
parent 1e3499c323
commit 329fc19852
170 changed files with 2007 additions and 4354 deletions
@@ -1,26 +1,24 @@
import {
currentWorkspaceAtom,
waitForCurrentWorkspaceAtom,
workspaceListAtom,
} from '@affine/core/modules/workspace';
import { WorkspaceSubPath } from '@affine/core/shared';
import { WorkspaceFlavour } from '@affine/env/workspace';
import { assertExists } from '@blocksuite/global/utils';
import { useAtom, useAtomValue } from 'jotai';
import { WorkspaceManager } from '@toeverything/infra';
import { useService } from '@toeverything/infra/di';
import { useLiveData } from '@toeverything/infra/livedata';
import { useAtom } from 'jotai';
import type { ReactElement } from 'react';
import { lazy, Suspense, useCallback } from 'react';
import type { SettingAtom } from '../atoms';
import {
authAtom,
openCreateWorkspaceModalAtom,
openDisableCloudAlertModalAtom,
openSettingModalAtom,
openSignOutModalAtom,
type SettingAtom,
} from '../atoms';
import { PaymentDisableModal } from '../components/affine/payment-disable';
import { useAsyncCallback } from '../hooks/affine-async-hooks';
import { useNavigateHelper } from '../hooks/use-navigate-helper';
import { CurrentWorkspaceService } from '../modules/workspace/current-workspace';
import { WorkspaceSubPath } from '../shared';
import { signOutCloud } from '../utils/cloud-utils';
const SettingModal = lazy(() =>
@@ -28,6 +26,7 @@ const SettingModal = lazy(() =>
default: module.SettingModal,
}))
);
const Auth = lazy(() =>
import('../components/affine/auth').then(module => ({
default: module.AuthModal,
@@ -80,10 +79,8 @@ const CloudQuotaModal = lazy(() =>
);
export const Setting = () => {
const currentWorkspace = useAtomValue(waitForCurrentWorkspaceAtom);
const [{ open, workspaceMetadata, activeTab }, setOpenSettingModalAtom] =
useAtom(openSettingModalAtom);
assertExists(currentWorkspace);
const onSettingClick = useCallback(
({
@@ -162,7 +159,9 @@ export const AuthModal = (): ReactElement => {
};
export function CurrentWorkspaceModals() {
const currentWorkspace = useAtomValue(waitForCurrentWorkspaceAtom);
const currentWorkspace = useLiveData(
useService(CurrentWorkspaceService).currentWorkspace
);
const [openDisableCloudAlertModal, setOpenDisableCloudAlertModal] = useAtom(
openDisableCloudAlertModalAtom
);
@@ -195,8 +194,12 @@ export function CurrentWorkspaceModals() {
export const SignOutConfirmModal = () => {
const { openPage } = useNavigateHelper();
const [open, setOpen] = useAtom(openSignOutModalAtom);
const currentWorkspace = useAtomValue(currentWorkspaceAtom);
const workspaceList = useAtomValue(workspaceListAtom);
const currentWorkspace = useLiveData(
useService(CurrentWorkspaceService).currentWorkspace
);
const workspaces = useLiveData(
useService(WorkspaceManager).list.workspaceList
);
const onConfirm = useAsyncCallback(async () => {
setOpen(false);
@@ -204,14 +207,14 @@ export const SignOutConfirmModal = () => {
// if current workspace is affine cloud, switch to local workspace
if (currentWorkspace?.flavour === WorkspaceFlavour.AFFINE_CLOUD) {
const localWorkspace = workspaceList.find(
const localWorkspace = workspaces.find(
w => w.flavour === WorkspaceFlavour.LOCAL
);
if (localWorkspace) {
openPage(localWorkspace.id, WorkspaceSubPath.ALL);
}
}
}, [currentWorkspace?.flavour, openPage, setOpen, workspaceList]);
}, [currentWorkspace?.flavour, openPage, setOpen, workspaces]);
return (
<SignOutModal open={open} onOpenChange={setOpen} onConfirm={onConfirm} />