From 6329031d133c0eb7e0324ea9b02a53011ca77805 Mon Sep 17 00:00:00 2001 From: Vladiysss <139554971+Vladiysss@users.noreply.github.com> Date: Sat, 7 Mar 2026 23:04:30 +0300 Subject: [PATCH] =?UTF-8?q?feat:=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=20=D0=B2=D0=BE=D0=B7=D0=BC=D0=BE=D0=B6=D0=BD?= =?UTF-8?q?=D0=BE=D1=81=D1=82=D1=8C=20=D0=B2=D1=8B=D0=B3=D0=BD=D0=B0=D1=82?= =?UTF-8?q?=D1=8C=20=D1=83=D1=87=D0=B0=D1=81=D1=82=D0=BD=D0=B8=D0=BA=D0=B0?= =?UTF-8?q?=20=D0=BA=D0=B0=D0=BD=D0=B1=D0=B0=D0=BD=20=D0=B4=D0=BE=D1=81?= =?UTF-8?q?=D0=BA=D0=B8,=20=D0=B0=20=D1=82=D0=B0=D0=BA=D0=B6=D0=B5=20?= =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=20=D1=81=D0=BF?= =?UTF-8?q?=D0=B8=D1=81=D0=BE=D0=BA=20=D1=83=D1=87=D0=B0=D1=81=D1=82=D0=BD?= =?UTF-8?q?=D0=B8=D0=BA=D0=BE=D0=B2(=D0=BD=D0=B5=20=D1=80=D0=B0=D0=B7?= =?UTF-8?q?=D0=B2=D1=91=D1=80=D0=BD=D1=83=D1=82=D1=8B=D0=B9)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/KBBoard/BoardLogic.js | 21 ++++++++++++-- src/KBBoard/KBBoard.js | 60 ++++++++++++++++++++++++++++++++------- 2 files changed, 69 insertions(+), 12 deletions(-) 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 = () => { -