import { StyledMemberAvatar, StyledMemberButtonContainer, StyledMemberEmail, StyledMemberInfo, StyledMemberListContainer, StyledMemberListItem, StyledMemberName, StyledMemberNameContainer, StyledMemberRoleContainer, StyledMemberTitleContainer, StyledMoreVerticalButton, } from './style'; import { MoreVerticalIcon, EmailIcon, TrashIcon } from '@blocksuite/icons'; import { useEffect, useState } from 'react'; import { Button, IconButton } from '@/ui/button'; import { InviteMembers } from '../invite-members/index'; // import { Member, getDataCenter } from '@affine/datacenter'; // import { Avatar } from '@mui/material'; import { Menu, MenuItem } from '@/ui/menu'; import { Empty } from '@/ui/empty'; import { deleteMember, getMembers, getUserInfo, Login, User, Workspace, } from '@/hooks/mock-data/mock'; // import { useAppState } from '@/providers/app-state-provider'; export const MembersPage = ({ workspace }: { workspace: Workspace }) => { const [isInviteModalShow, setIsInviteModalShow] = useState(false); const [members, setMembers] = useState([]); const [userInfo, setUserInfo] = useState(); // const refreshMembers = useCallback(() => { // getDataCenter() // .then(dc => // dc.apis.getWorkspaceMembers({ // id: workspace.id, // }) // ) // .then(data => { // setMembers(data); // }) // .catch(err => { // console.log(err); // }); // }, [workspace.id]); useEffect(() => { setUser(); setMembersList(); // refreshMembers(); }, []); const setUser = () => { const user = getUserInfo(); user && setUserInfo(user); }; const setMembersList = () => { const members = getMembers(workspace.id); members && setMembers(members); }; return (
{userInfo ? ( <> Users({members.length}) Access level {members.length === 0 && ( )} {members.length ? ( members.map((member, index) => { return ( {member.name} {member.email} {/* {member.accepted ? member.type !== 99 ? 'Member' : 'Workspace Owner' : 'Pending'} */} Pending { deleteMember(workspace.id, 0); setMembersList(); // confirm({ // title: 'Delete Member?', // content: `will delete member`, // confirmText: 'Delete', // confirmType: 'danger', // }).then(confirm => { // getDataCenter() // .then(dc => // dc.apis.removeMember({ // permissionId: member.id, // }) // ) // .then(() => { // // console.log('data: ', data); // toast('Moved to Trash'); // // refreshMembers(); // }); // }); }} icon={} > Delete } placement="bottom-end" disablePortal={true} > ); }) ) : ( <> )} { setIsInviteModalShow(false); }} onInviteSuccess={() => { setMembersList(); setIsInviteModalShow(false); // refreshMembers(); }} workspaceId={workspace.id} open={isInviteModalShow} > ) : ( <>
Collaborating with other members requires AFFiNE Cloud service.
)}
); };