mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-08-09 13:15:51 +08:00
feat: delete confirm
This commit is contained in:
@@ -11,6 +11,7 @@ interface LoginModalProps {
|
|||||||
open: boolean;
|
open: boolean;
|
||||||
onClose: () => void;
|
onClose: () => void;
|
||||||
workspaceId: string;
|
workspaceId: string;
|
||||||
|
onInviteSuccess: () => void;
|
||||||
}
|
}
|
||||||
export const debounce = <T extends (...args: any) => any>(
|
export const debounce = <T extends (...args: any) => any>(
|
||||||
fn: T,
|
fn: T,
|
||||||
@@ -42,6 +43,7 @@ export const InviteMembers = ({
|
|||||||
open,
|
open,
|
||||||
onClose,
|
onClose,
|
||||||
workspaceId,
|
workspaceId,
|
||||||
|
onInviteSuccess,
|
||||||
}: LoginModalProps) => {
|
}: LoginModalProps) => {
|
||||||
const [canInvite, setCanInvite] = useState<boolean>(true);
|
const [canInvite, setCanInvite] = useState<boolean>(true);
|
||||||
const [email, setEmail] = useState<string>('');
|
const [email, setEmail] = useState<string>('');
|
||||||
@@ -128,6 +130,7 @@ export const InviteMembers = ({
|
|||||||
inviteMember({ id: workspaceId, email: email })
|
inviteMember({ id: workspaceId, email: email })
|
||||||
.then(() => {
|
.then(() => {
|
||||||
onClose();
|
onClose();
|
||||||
|
onInviteSuccess && onInviteSuccess();
|
||||||
})
|
})
|
||||||
.catch(err => {
|
.catch(err => {
|
||||||
toast('Invite failed');
|
toast('Invite failed');
|
||||||
|
|||||||
@@ -129,7 +129,7 @@ export const WorkspaceSetting = ({
|
|||||||
}
|
}
|
||||||
}, [isShow]);
|
}, [isShow]);
|
||||||
return (
|
return (
|
||||||
<Modal onClose={onClose} open={isShow}>
|
<Modal open={isShow}>
|
||||||
<StyledSettingContainer>
|
<StyledSettingContainer>
|
||||||
<ModalCloseButton onClick={handleClickClose} />
|
<ModalCloseButton onClick={handleClickClose} />
|
||||||
<StyledSettingSidebar>
|
<StyledSettingSidebar>
|
||||||
@@ -184,7 +184,7 @@ const GeneralPage = ({ workspace }: { workspace?: Workspace }) => {
|
|||||||
const MembersPage = ({ workspace }: { workspace: Workspace }) => {
|
const MembersPage = ({ workspace }: { workspace: Workspace }) => {
|
||||||
const [isInviteModalShow, setIsInviteModalShow] = useState(false);
|
const [isInviteModalShow, setIsInviteModalShow] = useState(false);
|
||||||
const [members, setMembers] = useState<Member[]>([]);
|
const [members, setMembers] = useState<Member[]>([]);
|
||||||
useEffect(() => {
|
const refreshMembers = () => {
|
||||||
getWorkspaceMembers({
|
getWorkspaceMembers({
|
||||||
id: workspace.id,
|
id: workspace.id,
|
||||||
})
|
})
|
||||||
@@ -194,8 +194,10 @@ const MembersPage = ({ workspace }: { workspace: Workspace }) => {
|
|||||||
.catch(err => {
|
.catch(err => {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
});
|
});
|
||||||
|
};
|
||||||
|
useEffect(() => {
|
||||||
|
refreshMembers();
|
||||||
}, [workspace.id]);
|
}, [workspace.id]);
|
||||||
const { confirm } = useConfirm();
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
@@ -239,19 +241,20 @@ const MembersPage = ({ workspace }: { workspace: Workspace }) => {
|
|||||||
<>
|
<>
|
||||||
<MenuItem
|
<MenuItem
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
confirm({
|
// confirm({
|
||||||
title: 'Delete Member?',
|
// title: 'Delete Member?',
|
||||||
content: `will delete member`,
|
// content: `will delete member`,
|
||||||
confirmText: 'Delete',
|
// confirmText: 'Delete',
|
||||||
confirmType: 'danger',
|
// confirmType: 'danger',
|
||||||
}).then(confirm => {
|
// }).then(confirm => {
|
||||||
removeMember({
|
removeMember({
|
||||||
permissionId: member.id,
|
permissionId: member.id,
|
||||||
}).then(data => {
|
}).then(data => {
|
||||||
// console.log('data: ', data);
|
// console.log('data: ', data);
|
||||||
toast('Moved to Trash');
|
toast('Moved to Trash');
|
||||||
});
|
refreshMembers();
|
||||||
});
|
});
|
||||||
|
// });
|
||||||
}}
|
}}
|
||||||
icon={<TrashIcon />}
|
icon={<TrashIcon />}
|
||||||
>
|
>
|
||||||
@@ -288,6 +291,9 @@ const MembersPage = ({ workspace }: { workspace: Workspace }) => {
|
|||||||
onClose={() => {
|
onClose={() => {
|
||||||
setIsInviteModalShow(false);
|
setIsInviteModalShow(false);
|
||||||
}}
|
}}
|
||||||
|
onInviteSuccess={() => {
|
||||||
|
refreshMembers();
|
||||||
|
}}
|
||||||
workspaceId={workspace.id}
|
workspaceId={workspace.id}
|
||||||
open={isInviteModalShow}
|
open={isInviteModalShow}
|
||||||
></InviteMembers>
|
></InviteMembers>
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ export const Confirm = ({
|
|||||||
}: ConfirmProps) => {
|
}: ConfirmProps) => {
|
||||||
const [open, setOpen] = useState(true);
|
const [open, setOpen] = useState(true);
|
||||||
return (
|
return (
|
||||||
<Modal open={open} disablePortal={true}>
|
<Modal open={open}>
|
||||||
<StyledModalWrapper>
|
<StyledModalWrapper>
|
||||||
<ModalCloseButton
|
<ModalCloseButton
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
|
|||||||
Reference in New Issue
Block a user