fix: check if login when enable affine cloud (#1445)

This commit is contained in:
Himself65
2023-03-09 01:26:07 -06:00
committed by GitHub
parent b23547f4bd
commit 6b533c44be
4 changed files with 41 additions and 24 deletions

View File

@@ -17,6 +17,7 @@ import {
LocalWorkspace,
RemWorkspaceFlavour,
} from '../../../../../shared';
import { apis } from '../../../../../shared/apis';
import { Unreachable } from '../../../affine-error-eoundary';
import { EnableAffineCloudModal } from '../../../enable-affine-cloud-modal';
import { WorkspaceSettingDetailProps } from '../../index';
@@ -101,8 +102,12 @@ const PublishPanelAffine: React.FC<PublishPanelAffineProps> = ({
setOpen(false);
}}
onConfirm={() => {
publishWorkspace(true);
setOpen(false);
if (!apis.auth.isLogin) {
toast(t('Please login first'));
} else {
publishWorkspace(true);
setOpen(false);
}
}}
/>
</>

View File

@@ -16,6 +16,7 @@ import {
LocalWorkspace,
RemWorkspaceFlavour,
} from '../../../../shared';
import { apis } from '../../../../shared/apis';
import { TransformWorkspaceToAffineModal } from '../../../affine/transform-workspace-to-affine-modal';
const IconWrapper = styled('div')(({ theme }) => {
@@ -112,6 +113,11 @@ export const SyncUser = () => {
setOpen(false);
}}
onConform={async () => {
if (!apis.auth.isLogin) {
await apis.signInWithGoogle();
router.reload();
return;
}
assertEquals(workspace.flavour, RemWorkspaceFlavour.LOCAL);
const id = await transformWorkspace(
RemWorkspaceFlavour.LOCAL,

View File

@@ -24,6 +24,7 @@ import {
settingPanel,
settingPanelValues,
} from '../../../shared';
import { apis } from '../../../shared/apis';
const settingPanelAtom = atomWithStorage<SettingPanel>(
'workspaceId',
@@ -107,6 +108,11 @@ const SettingPage: NextPageWithLayout = () => {
to: To,
workspace: FlavourToWorkspace[From]
): Promise<void> => {
if (to === RemWorkspaceFlavour.AFFINE && !apis.auth.isLogin) {
await apis.signInWithGoogle();
router.reload();
return;
}
const workspaceId = await transformWorkspace(from, to, workspace);
await router.replace({
pathname: `/workspace/[workspaceId]/setting`,