From 3be98add6c063773c5af5dbb28d1243695b105a0 Mon Sep 17 00:00:00 2001 From: DiamondThree Date: Wed, 21 Dec 2022 23:31:39 +0800 Subject: [PATCH] feat: add memberList --- .../workspace-setting/workspace-setting.tsx | 65 +++++++++++++++---- 1 file changed, 51 insertions(+), 14 deletions(-) diff --git a/packages/app/src/components/workspace-setting/workspace-setting.tsx b/packages/app/src/components/workspace-setting/workspace-setting.tsx index 48e43ee3ae..c38da498df 100644 --- a/packages/app/src/components/workspace-setting/workspace-setting.tsx +++ b/packages/app/src/components/workspace-setting/workspace-setting.tsx @@ -34,12 +34,20 @@ import { UsersIcon, PublishIcon, MoreVerticalIcon, + EmailIcon, } from '@blocksuite/icons'; import { useEffect, useState } from 'react'; import { Button } from '@/ui/button'; import Input from '@/ui/input'; import { InviteMembers } from '../invite-members/index'; -import { Workspace, WorkspaceType } from '@pathfinder/data-services'; +import { + getWorkspaceMembers, + Workspace, + WorkspaceType, + Member, + type RegisteredUser, +} from '@pathfinder/data-services'; +import { Avatar } from '@mui/material'; enum ActiveTab { 'general' = 'general', @@ -172,6 +180,18 @@ const GeneralPage = ({ workspace }: { workspace?: Workspace }) => { const MembersPage = ({ workspace }: { workspace: Workspace }) => { const [isInviteModalShow, setIsInviteModalShow] = useState(false); + const [members, setMembers] = useState([]); + useEffect(() => { + getWorkspaceMembers({ + id: workspace.id, + }) + .then(data => { + setMembers(data); + }) + .catch(err => { + console.log(err); + }); + }); return (
@@ -179,19 +199,36 @@ const MembersPage = ({ workspace }: { workspace: Workspace }) => { Access level - - - S - - Svaney - svaneyshen@gmail.com - - - Workspace Owner - - - - + {members.map(member => { + return ( + + + {member.user.type === 'Registered' ? ( + + ) : ( + + + + )} + + + {member.user.type === 'Registered' ? ( + {member.user.name} + ) : ( + <> + )} + {member.user.email} + + + + Workspace Owner + + + + + + ); + })}