import { StyledMemberAvatar, StyledMemberButtonContainer, StyledMemberEmail, StyledMemberInfo, StyledMemberListContainer, StyledMemberListItem, StyledMemberName, StyledMemberNameContainer, StyledMemberRoleContainer, StyledMemberTitleContainer, StyledMoreVerticalButton, StyledPublishExplanation, } 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 { WorkspaceUnit } from '@affine/datacenter'; import { useTemporaryHelper } from '@/providers/temporary-helper-provider'; import { StyledMemberWarp } from './general/style'; import { useConfirm } from '@/providers/ConfirmProvider'; import { useAppState } from '@/providers/app-state-provider'; // import { useAppState } from '@/providers/app-state-provider'; export const MembersPage = ({ workspace }: { workspace: WorkspaceUnit }) => { const [isInviteModalShow, setIsInviteModalShow] = useState(false); const { currentMetaWorkSpace, currentWorkspace, dataCenter } = useAppState(); const [members, setMembers] = useState<[{ name: string; email: string }?]>( [] ); // const getMembers = async () =>{ // const members = await dataCenter. // } console.log('setMembers: ', setMembers); 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 = () => { // setMembers([]); // const members = getMembers(workspace.id); // members && setMembers(members); }; useEffect(() => { setMembersList(); // refreshMembers(); }); return (
{workspace.provider === 'affine' ? ( <> Users({members.length}) Access level {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. )}
); };