mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-27 02:42:25 +08:00
@@ -1,3 +1,4 @@
|
||||
import { WorkspaceFlavour } from '@affine/env/workspace';
|
||||
import type { WorkspaceMetadata } from '@toeverything/infra';
|
||||
import { Suspense } from 'react';
|
||||
|
||||
@@ -58,9 +59,13 @@ const SortableWorkspaceItem = ({
|
||||
export const WorkspaceList = (props: WorkspaceListProps) => {
|
||||
const workspaceList = props.items;
|
||||
|
||||
return workspaceList.map(item => (
|
||||
<Suspense fallback={<WorkspaceCardSkeleton />} key={item.id}>
|
||||
<SortableWorkspaceItem key={item.id} {...props} item={item} />
|
||||
</Suspense>
|
||||
));
|
||||
return workspaceList
|
||||
.filter(
|
||||
w => w.flavour !== WorkspaceFlavour.AFFINE_CLOUD || w.initialized === true
|
||||
)
|
||||
.map(item => (
|
||||
<Suspense fallback={<WorkspaceCardSkeleton />} key={item.id}>
|
||||
<SortableWorkspaceItem key={item.id} {...props} item={item} />
|
||||
</Suspense>
|
||||
));
|
||||
};
|
||||
|
||||
@@ -117,7 +117,10 @@ export class CloudWorkspaceFlavourProviderService
|
||||
this.revalidate();
|
||||
await this.waitForLoaded();
|
||||
|
||||
return { id: workspaceId, flavour: WorkspaceFlavour.AFFINE_CLOUD };
|
||||
return {
|
||||
id: workspaceId,
|
||||
flavour: WorkspaceFlavour.AFFINE_CLOUD,
|
||||
};
|
||||
}
|
||||
revalidate = effect(
|
||||
map(() => {
|
||||
@@ -138,12 +141,16 @@ export class CloudWorkspaceFlavourProviderService
|
||||
},
|
||||
});
|
||||
|
||||
const ids = workspaces.map(({ id }) => id);
|
||||
const ids = workspaces.map(({ id, initialized }) => ({
|
||||
id,
|
||||
initialized,
|
||||
}));
|
||||
return {
|
||||
accountId,
|
||||
workspaces: ids.map(id => ({
|
||||
workspaces: ids.map(({ id, initialized }) => ({
|
||||
id,
|
||||
flavour: WorkspaceFlavour.AFFINE_CLOUD,
|
||||
initialized,
|
||||
})),
|
||||
};
|
||||
}).pipe(
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
query getWorkspaces {
|
||||
workspaces {
|
||||
id
|
||||
initialized
|
||||
owner {
|
||||
id
|
||||
}
|
||||
|
||||
@@ -677,6 +677,7 @@ export const getWorkspacesQuery = {
|
||||
query getWorkspaces {
|
||||
workspaces {
|
||||
id
|
||||
initialized
|
||||
owner {
|
||||
id
|
||||
}
|
||||
|
||||
@@ -1203,6 +1203,8 @@ export interface WorkspaceType {
|
||||
features: Array<FeatureType>;
|
||||
histories: Array<DocHistoryType>;
|
||||
id: Scalars['ID']['output'];
|
||||
/** is current workspace initialized */
|
||||
initialized: Scalars['Boolean']['output'];
|
||||
/** member count of workspace */
|
||||
memberCount: Scalars['Int']['output'];
|
||||
/** Members of workspace */
|
||||
@@ -1843,6 +1845,7 @@ export type GetWorkspacesQuery = {
|
||||
workspaces: Array<{
|
||||
__typename?: 'WorkspaceType';
|
||||
id: string;
|
||||
initialized: boolean;
|
||||
owner: { __typename?: 'UserType'; id: string };
|
||||
}>;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user