diff --git a/src/KBBoard/BoardLogic.js b/src/KBBoard/BoardLogic.js index ee2c5c0..d40c8dd 100644 --- a/src/KBBoard/BoardLogic.js +++ b/src/KBBoard/BoardLogic.js @@ -186,7 +186,7 @@ export const useBoardLogic = (id, setError, setInfo, setCategories, setLoading) await unassignMemberAPI( editedTaskId, memberId ); } await loadBoardData(); - modalAssignMember(); + modalAssignMember(false)(); } catch { setError('Ошибка'); } finally{ @@ -209,10 +209,27 @@ export const useBoardLogic = (id, setError, setInfo, setCategories, setLoading) } }, [loadBoardData, setLoading, setError, navigate]); + const deleteMember = useCallback(async (boardId, username, modalDelitMember ) => { + setLoading(true); + try { + setLoading(true); + await deleteMemberAPI( boardId, username ); + await loadBoardData(); + modalDelitMember(); + } catch { + setError('Ошибка'); + } finally { + setLoading(false); + } + }, [loadBoardData, setLoading, setError, navigate]); + + + + return { loadBoardData, checkOwner, editBoard, deleteBoards, createTask, editTask, deleteTask, createCategory, editCategory, deleteCategory, - addMember, assignMember, quitMember, + addMember, assignMember, quitMember, deleteMember }; }; \ No newline at end of file diff --git a/src/KBBoard/KBBoard.js b/src/KBBoard/KBBoard.js index 479dd21..c613f2a 100644 --- a/src/KBBoard/KBBoard.js +++ b/src/KBBoard/KBBoard.js @@ -24,6 +24,7 @@ const KBBoard = () => { const [addMemb, setAddMemb] = useState(false); const [delBoards, setDelBoards] = useState(false); const [qtMember, setQtMember] = useState(false); + const [delMember, setDelMember] = useState(false); const [boardTitle, setBoardTitle] = useState(''); const [boardDescription, setBoardDescription] = useState(''); @@ -38,6 +39,7 @@ const KBBoard = () => { const [categoryPosition, setCategoryPosition] = useState(null); const [assignedMember, setAssignedMember] = useState(0); const [addedUsername, setAddedUsername] = useState(''); + const [deletedMember, setDeletedMember] = useState(''); const { loadBoardData, @@ -52,7 +54,8 @@ const KBBoard = () => { assignMember, addMember, deleteBoards, - quitMember + quitMember, + deleteMember } = useBoardLogic(id, setError, setInfo, setCategories, setLoading); useEffect(() => { @@ -86,7 +89,6 @@ const KBBoard = () => { setTaskDescription(task.description); setTaskPosition(task.position); setTaskCategory(task.category_id); - //setAssignedMember(task.assigned_users.id) } const modalEditCateg = (categ) => () => { setEdCateg(!edCateg); @@ -110,7 +112,9 @@ const KBBoard = () => { const modalDeleteBoards = () => { setDelBoards(!delBoards); } - + const modalDeleteMember = () => { + setDelMember(!delMember); + } const modalQuitMember = () => { setQtMember(!qtMember); } @@ -161,6 +165,10 @@ const KBBoard = () => { e.preventDefault(); await quitMember(id, modalQuitMember); }; + const handleDeleteMember = async (e) => { + e.preventDefault(); + await deleteMember(assignedMember, deletedMember, modalDeleteMember); + }; return ( @@ -174,7 +182,10 @@ const KBBoard = () => {
- Участники: В разработке
+ Участники:
+ {info.members.map((member) => (
+
+ ))}
Владелец: {" "+info.owner?.display_name} @@ -195,7 +206,7 @@ const KBBoard = () => { -