feat: добавлена возможность покинуть доску
fix: исправлена ошибка при добавлении участника в доску
This commit is contained in:
@@ -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,
|
||||
};
|
||||
};
|
||||
@@ -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 = () => {
|
||||
</>
|
||||
) : (
|
||||
<>
|
||||
<button onClick={null}>
|
||||
<button onClick={modalQuitMember}>
|
||||
Покинуть доску
|
||||
</button>
|
||||
</>
|
||||
@@ -238,6 +246,7 @@ const KBBoard = () => {
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
|
||||
{categories.length < 10 ? (
|
||||
<div className="categori create">
|
||||
<div className="bib">
|
||||
@@ -527,6 +536,27 @@ const KBBoard = () => {
|
||||
)}
|
||||
</div>
|
||||
)}
|
||||
|
||||
{qtMember && (
|
||||
<div className="confirm-modal">
|
||||
<div className="modal-content">
|
||||
<div><h3>Покинуть доску</h3></div>
|
||||
<form onSubmit={handleQuitMember}>
|
||||
<label >Вы точно хотите удалить эту Канбан доску</label>
|
||||
<button onClick={modalQuitMember} type='reset'>Отменить</button>
|
||||
<button className="Important-button" type="submit" disabled={loading}>
|
||||
{loading ? 'Удаление...' : 'Удалить'}
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user