feat(core): add enable cloud failed notify (#6741)

This commit is contained in:
EYHN
2024-04-30 04:46:08 +00:00
parent 148e058cde
commit 764da784ae
3 changed files with 19 additions and 8 deletions
@@ -112,6 +112,7 @@ export const ConfirmModalProvider = ({ children }: PropsWithChildren) => {
return Promise.resolve(_onConfirm?.())
.then(() => onSuccess?.())
.catch(console.error)
.finally(() => setLoading(false))
.finally(() => autoClose && closeConfirmModal());
};
setModalProps({ ...otherProps, onConfirm, open: true });
@@ -1,4 +1,4 @@
import { useConfirmModal } from '@affine/component';
import { notify, useConfirmModal } from '@affine/component';
import { authAtom } from '@affine/core/atoms';
import { AuthService } from '@affine/core/modules/cloud';
import { WorkspaceSubPath } from '@affine/core/shared';
@@ -37,12 +37,19 @@ export const useEnableCloud = () => {
const enableCloud = useCallback(
async (ws: Workspace | null, options?: ConfirmEnableCloudOptions) => {
if (!ws) return;
const { id: newId } = await workspacesService.transformLocalToCloud(ws);
openPage(newId, options?.openPageId || WorkspaceSubPath.ALL);
options?.onSuccess?.();
try {
if (!ws) return;
const { id: newId } = await workspacesService.transformLocalToCloud(ws);
openPage(newId, options?.openPageId || WorkspaceSubPath.ALL);
options?.onSuccess?.();
} catch (e) {
console.error(e);
notify.error({
title: t['com.affine.workspace.enable-cloud.failed'](),
});
}
},
[openPage, workspacesService]
[openPage, t, workspacesService]
);
const openSignIn = useCallback(() => {
@@ -95,7 +102,9 @@ export const useEnableCloud = () => {
if (!open) onFinished?.();
},
},
{ autoClose: false }
{
autoClose: false,
}
);
},
[closeConfirmModal, loginStatus, openConfirmModal, signInOrEnableCloud, t]
+2 -1
View File
@@ -1312,5 +1312,6 @@
"com.affine.ai.login-required.dialog-content": "To use AFFiNE AI, please sign in to your AFFiNE Cloud account.",
"com.affine.ai.login-required.dialog-confirm": "Sign in",
"com.affine.ai.login-required.dialog-cancel": "Cancel",
"com.affine.ai.action.edgeless-only.dialog-title": "Please switch to edgeless mode"
"com.affine.ai.action.edgeless-only.dialog-title": "Please switch to edgeless mode",
"com.affine.workspace.enable-cloud.failed": "Failed to enable Cloud, please try again."
}