From 5ac938b9ef97d8a48a5515b7b0e7e8e5e6c5f9a6 Mon Sep 17 00:00:00 2001 From: Vladiysss <139554971+Vladiysss@users.noreply.github.com> Date: Sat, 7 Mar 2026 19:12:56 +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=BF=D0=BE=D0=BA=D0=B8=D0=BD=D1=83?= =?UTF-8?q?=D1=82=D1=8C=20=D0=B4=D0=BE=D1=81=D0=BA=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix: исправлена ошибка при добавлении участника в доску --- src/KBBoard/BoardLogic.js | 19 ++++++++++++++++--- src/KBBoard/KBBoard.js | 36 +++++++++++++++++++++++++++++++++--- 2 files changed, 49 insertions(+), 6 deletions(-) diff --git a/src/KBBoard/BoardLogic.js b/src/KBBoard/BoardLogic.js index 43ade72..ee2c5c0 100644 --- a/src/KBBoard/BoardLogic.js +++ b/src/KBBoard/BoardLogic.js @@ -5,7 +5,7 @@ import { loadBoardDataAPI, updateBoardsAPI, deleteBoardsAPI, createTaskAPI, updateTaskAPI, deleteTaskAPI, createCategoryAPI, updateCategoryAPI, deleteCategoryAPI, - addMemberAPI, assignMemberAPI, unassignMemberAPI, + addMemberAPI, assignMemberAPI, unassignMemberAPI, deleteMemberAPI, quitMemberAPI } from './BoardAPI'; export const useBoardLogic = (id, setError, setInfo, setCategories, setLoading) => { @@ -167,7 +167,7 @@ export const useBoardLogic = (id, setError, setInfo, setCategories, setLoading) const addMember = useCallback(async (username, boardId, modalAddMember) => { setLoading(true); try { - await addMemberAPI( username, boardId ); + await addMemberAPI( boardId, username ); await loadBoardData(); modalAddMember(); } catch { @@ -195,11 +195,24 @@ export const useBoardLogic = (id, setError, setInfo, setCategories, setLoading) }, [loadBoardData, setLoading, setError]); + const quitMember = useCallback(async (boardId, modalQuitMember ) => { + setLoading(true); + try { + setLoading(true); + await quitMemberAPI( boardId ); + await loadBoardData(); + modalQuitMember(); + } catch { + setError('Ошибка'); + } finally{ + setLoading(false); + } + }, [loadBoardData, setLoading, setError, navigate]); return { loadBoardData, checkOwner, editBoard, deleteBoards, createTask, editTask, deleteTask, createCategory, editCategory, deleteCategory, - addMember, assignMember, + addMember, assignMember, quitMember, }; }; \ No newline at end of file diff --git a/src/KBBoard/KBBoard.js b/src/KBBoard/KBBoard.js index 6a8699f..479dd21 100644 --- a/src/KBBoard/KBBoard.js +++ b/src/KBBoard/KBBoard.js @@ -23,6 +23,7 @@ const KBBoard = () => { const [assignAction, setAssignAction] = useState(false); const [addMemb, setAddMemb] = useState(false); const [delBoards, setDelBoards] = useState(false); + const [qtMember, setQtMember] = useState(false); const [boardTitle, setBoardTitle] = useState(''); const [boardDescription, setBoardDescription] = useState(''); @@ -50,7 +51,8 @@ const KBBoard = () => { deleteTask, assignMember, addMember, - deleteBoards + deleteBoards, + quitMember } = useBoardLogic(id, setError, setInfo, setCategories, setLoading); useEffect(() => { @@ -109,6 +111,9 @@ const KBBoard = () => { setDelBoards(!delBoards); } + const modalQuitMember = () => { + setQtMember(!qtMember); + } const handleCreateCategory = async (e) => { @@ -152,7 +157,10 @@ const KBBoard = () => { e.preventDefault(); await deleteBoards(id, modalDeleteBoards); }; - + const handleQuitMember = async (e) => { + e.preventDefault(); + await quitMember(id, modalQuitMember); + }; return ( @@ -199,7 +207,7 @@ const KBBoard = () => { ) : ( <> - @@ -238,6 +246,7 @@ const KBBoard = () => { ))} + {categories.length < 10 ? (
@@ -527,6 +536,27 @@ const KBBoard = () => { )}
)} + + {qtMember && ( +
+
+

Покинуть доску

+
+ + + +
+
+
+ )} + + + + + +
);