diff --git a/packages/app/src/components/workspace-setting/ExportPage.tsx b/packages/app/src/components/workspace-setting/ExportPage.tsx index 531e889938..85d2b52799 100644 --- a/packages/app/src/components/workspace-setting/ExportPage.tsx +++ b/packages/app/src/components/workspace-setting/ExportPage.tsx @@ -1,5 +1,5 @@ -import { Workspace } from '@/hooks/mock-data/mock'; import { styled } from '@/styles'; +import { Workspace } from '@affine/datacenter'; export const ExportPageTitleContainer = styled('div')(() => { return { diff --git a/packages/app/src/components/workspace-setting/MembersPage.tsx b/packages/app/src/components/workspace-setting/MembersPage.tsx index 0d45f4afae..faeea25d44 100644 --- a/packages/app/src/components/workspace-setting/MembersPage.tsx +++ b/packages/app/src/components/workspace-setting/MembersPage.tsx @@ -17,12 +17,13 @@ import { Button, IconButton } from '@/ui/button'; import { InviteMembers } from '../invite-members/index'; import { Menu, MenuItem } from '@/ui/menu'; import { Empty } from '@/ui/empty'; -import { - deleteMember, - getMembers, - User, - Workspace, -} from '@/hooks/mock-data/mock'; +// import { +// deleteMember, +// getMembers, +// User, +// Workspace, +// } from '@/hooks/mock-data/mock'; +import { Workspace } from '@affine/datacenter'; import { useTemporaryHelper } from '@/providers/temporary-helper-provider'; import { StyledMemberWarp } from './general/style'; import { useConfirm } from '@/providers/ConfirmProvider'; @@ -30,7 +31,9 @@ import { useConfirm } from '@/providers/ConfirmProvider'; // import { useAppState } from '@/providers/app-state-provider'; export const MembersPage = ({ workspace }: { workspace: Workspace }) => { const [isInviteModalShow, setIsInviteModalShow] = useState(false); - const [members, setMembers] = useState([]); + const [members, setMembers] = useState<[{ name: string; email: string }]>([ + { name: 'affine', email: 'tttt' }, + ]); const { user, login, updateWorkspaceMeta } = useTemporaryHelper(); const { confirm } = useConfirm(); // const refreshMembers = useCallback(() => { @@ -48,8 +51,8 @@ export const MembersPage = ({ workspace }: { workspace: Workspace }) => { // }); // }, [workspace.id]); const setMembersList = () => { - const members = getMembers(workspace.id); - members && setMembers(members); + // const members = getMembers(workspace.id); + // members && setMembers(members); }; useEffect(() => { setMembersList(); @@ -58,7 +61,7 @@ export const MembersPage = ({ workspace }: { workspace: Workspace }) => { return (
- {workspace.type === 'cloud' ? ( + {workspace.provider === 'cloud' ? ( <> @@ -67,13 +70,6 @@ export const MembersPage = ({ workspace }: { workspace: Workspace }) => { Access level - {members.length === 0 && ( - - )} {members.length ? ( members.map((member, index) => { return ( @@ -103,7 +99,7 @@ export const MembersPage = ({ workspace }: { workspace: Workspace }) => { <> { - deleteMember(workspace.id, 0); + // deleteMember(workspace.id, 0); setMembersList(); // confirm({ // title: 'Delete Member?', @@ -142,7 +138,11 @@ export const MembersPage = ({ workspace }: { workspace: Workspace }) => { ); }) ) : ( - <> + )} diff --git a/packages/app/src/components/workspace-setting/PublishPage.tsx b/packages/app/src/components/workspace-setting/PublishPage.tsx index 2e0105214b..e3c36b9343 100644 --- a/packages/app/src/components/workspace-setting/PublishPage.tsx +++ b/packages/app/src/components/workspace-setting/PublishPage.tsx @@ -9,20 +9,20 @@ import { import { Button } from '@/ui/button'; import Input from '@/ui/input'; import { toast } from '@/ui/toast'; -import { Workspace } from '@/hooks/mock-data/mock'; -import { useTemporaryHelper } from '@/providers/temporary-helper-provider'; import { useConfirm } from '@/providers/ConfirmProvider'; +// import { useAppState } from '@/providers/app-state-provider3'; +import { useWorkspaceHelper } from '@/hooks/use-workspace-helper'; +import { Workspace } from '@affine/datacenter'; export const PublishPage = ({ workspace }: { workspace: Workspace }) => { - console.log('workspace: ', workspace); const shareUrl = window.location.host + '/workspace/' + workspace.id + '?share=true'; + const { publishWorkspace } = useWorkspaceHelper(); - const { login, updateWorkspaceMeta, user } = useTemporaryHelper(); const { confirm } = useConfirm(); const togglePublic = (flag: boolean) => { - updateWorkspaceMeta(workspace.id, { isPublish: flag }); + workspace.id && publishWorkspace(workspace?.id, flag); }; const copyUrl = () => { @@ -34,22 +34,23 @@ export const PublishPage = ({ workspace }: { workspace: Workspace }) => { confirm({ title: 'Enable AFFiNE Cloud?', content: `If enabled, the data in this workspace will be backed up and synchronized via AFFiNE Cloud.`, - confirmText: user ? 'Enable' : 'Sign in and Enable', + confirmText: + workspace.provider === 'local' ? 'Enable' : 'Sign in and Enable', cancelText: 'Skip', }).then(confirm => { if (confirm) { - if (user) { - updateWorkspaceMeta(workspace.id, { type: 'cloud' }); - } else { - login(); - updateWorkspaceMeta(workspace.id, { type: 'cloud' }); - } + // if (user) { + // updateWorkspaceMeta(workspace.id, { type: 'cloud' }); + // } else { + // login(); + // updateWorkspaceMeta(workspace.id, { type: 'cloud' }); + // } } }); }; return ( <> - {workspace.type === 'cloud' ? ( + {workspace.provider === 'cloud' ? (
{workspace?.isPublish ? ( diff --git a/packages/app/src/components/workspace-setting/SyncPage.tsx b/packages/app/src/components/workspace-setting/SyncPage.tsx index c16ea3f0a2..2560947f1b 100644 --- a/packages/app/src/components/workspace-setting/SyncPage.tsx +++ b/packages/app/src/components/workspace-setting/SyncPage.tsx @@ -6,9 +6,8 @@ import { import { DownloadIcon } from '@blocksuite/icons'; import { Button } from '@/ui/button'; import { Menu, MenuItem } from '@/ui/menu'; -import { deleteMember, Workspace } from '@/hooks/mock-data/mock'; import { useTemporaryHelper } from '@/providers/temporary-helper-provider'; - +import { Workspace } from '@affine/datacenter'; export const SyncPage = ({ workspace }: { workspace: Workspace }) => { const { currentWorkspace, updateWorkspaceMeta } = useTemporaryHelper(); @@ -49,7 +48,7 @@ export const SyncPage = ({ workspace }: { workspace: Workspace }) => { <> { - deleteMember(workspace.id, 0); + // deleteMember(workspace.id, 0); }} icon={} > @@ -57,7 +56,7 @@ export const SyncPage = ({ workspace }: { workspace: Workspace }) => { { - deleteMember(workspace.id, 0); + // deleteMember(workspace.id, 0); }} icon={} > diff --git a/packages/app/src/components/workspace-setting/WorkspaceSetting.tsx b/packages/app/src/components/workspace-setting/WorkspaceSetting.tsx index cad8b82d82..c0213c2cca 100644 --- a/packages/app/src/components/workspace-setting/WorkspaceSetting.tsx +++ b/packages/app/src/components/workspace-setting/WorkspaceSetting.tsx @@ -20,7 +20,7 @@ import { MembersPage } from './MembersPage'; import { PublishPage } from './PublishPage'; import { ExportPage } from './ExportPage'; import { SyncPage } from './SyncPage'; -import { useTemporaryHelper } from '@/providers/temporary-helper-provider'; +import { useAppState } from '@/providers/app-state-provider'; enum ActiveTab { 'general' = 'general', @@ -115,7 +115,7 @@ export const WorkspaceSetting = ({ setActiveTab(tab); }; - const { currentWorkspace } = useTemporaryHelper(); + const { currentMetaWorkSpace } = useAppState(); const handleClickClose = () => { onClose && onClose(); }; @@ -142,20 +142,20 @@ export const WorkspaceSetting = ({ ) : null} - {activeTab === ActiveTab.general && currentWorkspace && ( - + {activeTab === ActiveTab.general && currentMetaWorkSpace && ( + )} - {activeTab === ActiveTab.sync && currentWorkspace && ( - + {activeTab === ActiveTab.sync && currentMetaWorkSpace && ( + )} - {activeTab === ActiveTab.members && currentWorkspace && ( - + {activeTab === ActiveTab.members && currentMetaWorkSpace && ( + )} - {activeTab === ActiveTab.publish && currentWorkspace && ( - + {activeTab === ActiveTab.publish && currentMetaWorkSpace && ( + )} - {activeTab === ActiveTab.export && currentWorkspace && ( - + {activeTab === ActiveTab.export && currentMetaWorkSpace && ( + )} diff --git a/packages/app/src/components/workspace-setting/general/General.tsx b/packages/app/src/components/workspace-setting/general/General.tsx index 0981a2a1fd..87278ce734 100644 --- a/packages/app/src/components/workspace-setting/general/General.tsx +++ b/packages/app/src/components/workspace-setting/general/General.tsx @@ -14,9 +14,9 @@ import { WorkspaceDelete } from './delete'; // import { debounce } from '@/utils'; import { WorkspaceLeave } from './leave'; import { Upload } from '@/components/file-upload'; -import { Workspace } from '@/hooks/mock-data/mock'; import { WorkspaceAvatar } from '@/components/workspace-avatar'; import { useTemporaryHelper } from '@/providers/temporary-helper-provider'; +import { Workspace } from '@affine/datacenter'; export const GeneralPage = ({ workspace }: { workspace: Workspace }) => { // const { refreshWorkspacesMeta } = useAppState(); const { updateWorkspaceMeta } = useTemporaryHelper(); @@ -124,7 +124,7 @@ export const GeneralPage = ({ workspace }: { workspace: Workspace }) => { Workspace Type - {workspace.type} + {workspace.provider} {isOwner ? ( diff --git a/packages/app/src/components/workspace-setting/general/delete/Delete.tsx b/packages/app/src/components/workspace-setting/general/delete/Delete.tsx index df414d6bd6..cfe814e569 100644 --- a/packages/app/src/components/workspace-setting/general/delete/Delete.tsx +++ b/packages/app/src/components/workspace-setting/general/delete/Delete.tsx @@ -15,8 +15,9 @@ import { useRouter } from 'next/router'; import { deleteWorkspace, getWorkspaces, - Workspace, + // Workspace, } from '@/hooks/mock-data/mock'; +import { Workspace } from '@affine/datacenter'; interface WorkspaceDeleteProps { open: boolean; @@ -55,7 +56,7 @@ export const WorkspaceDelete = ({ Delete Workspace - {workspace.type === 'local' ? ( + {workspace.provider === 'local' ? ( Deleting ( {workspace.name}) cannot diff --git a/packages/app/src/components/workspace-slider-bar/WorkspaceSelector/WorkspaceSelector.tsx b/packages/app/src/components/workspace-slider-bar/WorkspaceSelector/WorkspaceSelector.tsx index 1b5995b696..1f2b9612f6 100644 --- a/packages/app/src/components/workspace-slider-bar/WorkspaceSelector/WorkspaceSelector.tsx +++ b/packages/app/src/components/workspace-slider-bar/WorkspaceSelector/WorkspaceSelector.tsx @@ -5,7 +5,8 @@ import { WorkspaceAvatar } from '@/components/workspace-avatar'; import { useAppState } from '@/providers/app-state-provider'; export const WorkspaceSelector = () => { const [workspaceListShow, setWorkspaceListShow] = useState(false); - const { currentWorkspace, workspaceList } = useAppState(); + const { currentMetaWorkSpace, workspaceList } = useAppState(); + console.log('currentMetaWorkSpace: ', currentMetaWorkSpace); useEffect(() => { if (workspaceList.length === 0) { @@ -24,7 +25,7 @@ export const WorkspaceSelector = () => {
{ >
- {currentWorkspace?.meta.name ?? 'AFFiNE'} + {currentMetaWorkSpace?.name ?? 'AFFiNE'} { } return null; }; + + // const updateWorkspace = async (workspace: Workspace) => {}; + + const publishWorkspace = async (workspaceId: string, publish: boolean) => { + dataCenter.setWorkspacePublish(workspaceId, publish); + }; + return { createWorkspace, + publishWorkspace, }; }; diff --git a/packages/app/src/providers/app-state-provider/Provider.tsx b/packages/app/src/providers/app-state-provider/Provider.tsx index 9e3b451bcd..d68dd7579b 100644 --- a/packages/app/src/providers/app-state-provider/Provider.tsx +++ b/packages/app/src/providers/app-state-provider/Provider.tsx @@ -49,6 +49,9 @@ export const AppStateProvider = ({ dataCenter.workspaces[0].id ); } + const currentMetaWorkSpace = dataCenter.workspaces.find(item => { + return item.id === currentWorkspace.room; + }); setAppState({ dataCenter, @@ -60,6 +63,7 @@ export const AppStateProvider = ({ currentPage: null, editor: null, synced: true, + currentMetaWorkSpace: currentMetaWorkSpace ?? null, }); }; @@ -106,7 +110,6 @@ export const AppStateProvider = ({ }; const loadWorkspace = async (workspaceId: string) => { - console.log('workspaceId: ', workspaceId); const { dataCenter, workspaceList, currentWorkspaceId } = appState; if (!workspaceList.find(v => v.id === workspaceId)) { return; @@ -115,12 +118,14 @@ export const AppStateProvider = ({ return; } const workspace = await dataCenter.loadWorkspace(workspaceId); - console.log('workspace: ', workspace); - + const currentMetaWorkSpace = dataCenter.workspaces.find(item => { + return item.id === workspace.room; + }); setAppState({ ...appState, - currentWorkspace: await dataCenter.loadWorkspace(workspaceId), + currentWorkspace: workspace, currentWorkspaceId: workspaceId, + currentMetaWorkSpace: currentMetaWorkSpace ?? null, }); }; diff --git a/packages/app/src/providers/app-state-provider/interface.ts b/packages/app/src/providers/app-state-provider/interface.ts index ed8847c6bb..e076dc6bd5 100644 --- a/packages/app/src/providers/app-state-provider/interface.ts +++ b/packages/app/src/providers/app-state-provider/interface.ts @@ -12,6 +12,7 @@ export type AppStateValue = { user: User | undefined; workspaceList: Workspace[]; currentWorkspace: StoreWorkspace; + currentMetaWorkSpace: Workspace | null; currentWorkspaceId: string; pageList: PageMeta[]; currentPage: StorePage | null;