refactor: remove legacy cloud (#2987)

This commit is contained in:
Alex Yang
2023-07-03 22:29:37 +08:00
parent 1887a36ca5
commit dedb4ba833
87 changed files with 148 additions and 6383 deletions
@@ -1,9 +1,8 @@
import type {
AffineLegacyCloudWorkspace,
AffineCloudWorkspace,
LocalWorkspace,
} from '@affine/env/workspace';
import { WorkspaceFlavour } from '@affine/env/workspace';
import { PermissionType } from '@affine/env/workspace/legacy-cloud';
import { useAFFiNEI18N } from '@affine/i18n/hooks';
import { SettingsIcon } from '@blocksuite/icons';
import { useBlockSuiteWorkspaceName } from '@toeverything/hooks/use-block-suite-workspace-name';
@@ -19,7 +18,7 @@ import {
} from './styles';
export type WorkspaceTypeProps = {
workspace: AffineLegacyCloudWorkspace | LocalWorkspace;
workspace: AffineCloudWorkspace | LocalWorkspace;
};
import {
@@ -27,7 +26,6 @@ import {
CollaborationIcon as DefaultJoinedWorkspaceIcon,
LocalDataIcon as DefaultLocalDataIcon,
LocalWorkspaceIcon as DefaultLocalWorkspaceIcon,
PublishIcon as DefaultPublishIcon,
} from '@blocksuite/icons';
const JoinedWorkspaceIcon = () => {
@@ -44,18 +42,11 @@ const CloudWorkspaceIcon = () => {
const LocalDataIcon = () => {
return <DefaultLocalDataIcon style={{ color: '#62CD80' }} />;
};
const PublishIcon = () => {
return <DefaultPublishIcon style={{ color: '#8699FF' }} />;
};
const WorkspaceType: FC<WorkspaceTypeProps> = ({ workspace }) => {
const t = useAFFiNEI18N();
let isOwner = true;
if (workspace.flavour === WorkspaceFlavour.AFFINE) {
isOwner = workspace.permission === PermissionType.Owner;
} else if (workspace.flavour === WorkspaceFlavour.LOCAL) {
isOwner = true;
}
// fixme: cloud regression
const isOwner = true;
if (workspace.flavour === WorkspaceFlavour.LOCAL) {
return (
@@ -81,11 +72,9 @@ const WorkspaceType: FC<WorkspaceTypeProps> = ({ workspace }) => {
export type WorkspaceCardProps = {
currentWorkspaceId: string | null;
workspace: AffineLegacyCloudWorkspace | LocalWorkspace;
onClick: (workspace: AffineLegacyCloudWorkspace | LocalWorkspace) => void;
onSettingClick: (
workspace: AffineLegacyCloudWorkspace | LocalWorkspace
) => void;
workspace: AffineCloudWorkspace | LocalWorkspace;
onClick: (workspace: AffineCloudWorkspace | LocalWorkspace) => void;
onSettingClick: (workspace: AffineCloudWorkspace | LocalWorkspace) => void;
};
export const WorkspaceCard: FC<WorkspaceCardProps> = ({
@@ -116,12 +105,12 @@ export const WorkspaceCard: FC<WorkspaceCardProps> = ({
<span>{t['Available Offline']()}</span>
</p>
)}
{workspace.flavour === WorkspaceFlavour.AFFINE && workspace.public && (
{/* {workspace.flavour === WorkspaceFlavour.AFFINE && workspace.public && (
<p title={t['Published to Web']()}>
<PublishIcon />
<span>{t['Published to Web']()}</span>
</p>
)}
)} */}
</StyleWorkspaceInfo>
<StyledSettingLink
className="setting-entry"
@@ -1,5 +1,5 @@
import type {
AffineLegacyCloudWorkspace,
AffineCloudWorkspace,
LocalWorkspace,
} from '@affine/env/workspace';
import { ExportIcon, PublishIcon, ShareIcon } from '@blocksuite/icons';
@@ -27,8 +27,8 @@ const tabIcons = {
ShareWorkspace: <PublishIcon />,
};
export type ShareMenuProps<
Workspace extends AffineLegacyCloudWorkspace | LocalWorkspace =
| AffineLegacyCloudWorkspace
Workspace extends AffineCloudWorkspace | LocalWorkspace =
| AffineCloudWorkspace
| LocalWorkspace
> = {
workspace: Workspace;
@@ -124,7 +124,7 @@ export const AffineSharePage: FC<ShareMenuProps> = props => {
export const SharePage: FC<ShareMenuProps> = props => {
if (props.workspace.flavour === WorkspaceFlavour.LOCAL) {
return <LocalSharePage {...props} />;
} else if (props.workspace.flavour === WorkspaceFlavour.AFFINE) {
} else if (props.workspace.flavour === WorkspaceFlavour.AFFINE_CLOUD) {
return <AffineSharePage {...props} />;
}
throw new Error('Unreachable');
@@ -1,5 +1,5 @@
import type {
AffineLegacyCloudWorkspace,
AffineCloudWorkspace,
LocalWorkspace,
} from '@affine/env/workspace';
import { WorkspaceFlavour } from '@affine/env/workspace';
@@ -30,9 +30,10 @@ const ShareLocalWorkspace: FC<ShareMenuProps<LocalWorkspace>> = props => {
};
const ShareAffineWorkspace: FC<
ShareMenuProps<AffineLegacyCloudWorkspace>
ShareMenuProps<AffineCloudWorkspace>
> = props => {
const isPublicWorkspace = props.workspace.public;
// fixme: regression
const isPublicWorkspace = false;
const t = useAFFiNEI18N();
return (
<div className={menuItemStyle}>
@@ -58,10 +59,10 @@ export const ShareWorkspace: FC<ShareMenuProps> = props => {
return (
<ShareLocalWorkspace {...(props as ShareMenuProps<LocalWorkspace>)} />
);
} else if (props.workspace.flavour === WorkspaceFlavour.AFFINE) {
} else if (props.workspace.flavour === WorkspaceFlavour.AFFINE_CLOUD) {
return (
<ShareAffineWorkspace
{...(props as ShareMenuProps<AffineLegacyCloudWorkspace>)}
{...(props as ShareMenuProps<AffineCloudWorkspace>)}
/>
);
}
@@ -1,5 +1,5 @@
import type {
AffineLegacyCloudWorkspace,
AffineCloudWorkspace,
AffinePublicWorkspace,
LocalWorkspace,
} from '@affine/env/workspace';
@@ -16,7 +16,7 @@ import { avatarImageStyle, avatarStyle } from './index.css';
export type WorkspaceAvatarProps = {
size?: number;
workspace:
| AffineLegacyCloudWorkspace
| AffineCloudWorkspace
| LocalWorkspace
| AffinePublicWorkspace
| null;
@@ -1,5 +1,5 @@
import type {
AffineLegacyCloudWorkspace,
AffineCloudWorkspace,
LocalWorkspace,
} from '@affine/env/workspace';
import type { DragEndEvent } from '@dnd-kit/core';
@@ -18,17 +18,15 @@ import { workspaceItemStyle } from './index.css';
export type WorkspaceListProps = {
disabled?: boolean;
currentWorkspaceId: string | null;
items: (AffineLegacyCloudWorkspace | LocalWorkspace)[];
onClick: (workspace: AffineLegacyCloudWorkspace | LocalWorkspace) => void;
onSettingClick: (
workspace: AffineLegacyCloudWorkspace | LocalWorkspace
) => void;
items: (AffineCloudWorkspace | LocalWorkspace)[];
onClick: (workspace: AffineCloudWorkspace | LocalWorkspace) => void;
onSettingClick: (workspace: AffineCloudWorkspace | LocalWorkspace) => void;
onDragEnd: (event: DragEndEvent) => void;
};
const SortableWorkspaceItem: FC<
Omit<WorkspaceListProps, 'items'> & {
item: AffineLegacyCloudWorkspace | LocalWorkspace;
item: AffineCloudWorkspace | LocalWorkspace;
}
> = props => {
const { setNodeRef, attributes, listeners, transform } = useSortable({