mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-11 23:26:30 +08:00
refactor: remove legacy cloud (#2987)
This commit is contained in:
@@ -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({
|
||||
|
||||
Reference in New Issue
Block a user