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 { Menu, MenuItem } from '@/ui/menu'; import { Empty } from '@/ui/empty'; import { deleteMember, getMembers, User, Workspace, } from '@/hooks/mock-data/mock'; import { useTemporaryHelper } from '@/providers/temporary-helper-provider'; import { StyledMemberWarp } from './general/style'; 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 { user, login, updateWorkspaceMeta } = useTemporaryHelper(); const { confirm } = useConfirm(); // const refreshMembers = useCallback(() => { // getDataCenter() // .then(dc => // dc.apis.getWorkspaceMembers({ // id: workspace.id, // }) // ) // .then(data => { // setMembers(data); // }) // .catch(err => { // console.log(err); // }); // }, [workspace.id]); const setMembersList = () => { const members = getMembers(workspace.id); members && setMembers(members); }; useEffect(() => { setMembersList(); // refreshMembers(); }); return (
{workspace.type === 'cloud' ? ( <> 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.
)}
); };