From 1ea671967c3d5d7de4ff4575bbbe2300415590fd Mon Sep 17 00:00:00 2001 From: Vladiysss <139554971+Vladiysss@users.noreply.github.com> Date: Sun, 8 Mar 2026 21:39:23 +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=20=D1=81=D0=BF=D0=B8=D1=81=D0=BE=D0=BA=20=D1=83?= =?UTF-8?q?=D1=87=D0=B0=D1=81=D1=82=D0=BD=D0=B8=D0=BA=D0=BE=D0=B2=20=D0=B4?= =?UTF-8?q?=D0=BE=D1=81=D0=BA=D0=B8=20=D1=81=20=D0=B2=D0=BE=D0=B7=D0=BC?= =?UTF-8?q?=D0=BE=D0=B6=D0=BD=D0=BE=D1=81=D1=82=D1=8C=D1=8E=20=D0=BF=D0=B5?= =?UTF-8?q?=D1=80=D0=B5=D0=B9=D1=82=D0=B8=20=D0=B2=20=D0=B8=D1=85=20=D0=BF?= =?UTF-8?q?=D1=80=D0=BE=D1=84=D0=B8=D0=BB=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/KBBoard/BoardLogic.js | 5 +-- src/KBBoard/KBBoard.js | 66 ++++++++++++++++++++++++++++++++------- src/css/Board.css | 39 +++++++++++++++++++++++ src/css/Modal.css | 1 + 4 files changed, 97 insertions(+), 14 deletions(-) diff --git a/src/KBBoard/BoardLogic.js b/src/KBBoard/BoardLogic.js index f43be06..d346ce9 100644 --- a/src/KBBoard/BoardLogic.js +++ b/src/KBBoard/BoardLogic.js @@ -8,7 +8,7 @@ import { addMemberAPI, assignMemberAPI, unassignMemberAPI, deleteMemberAPI, quitMemberAPI } from './BoardAPI'; -export const useBoardLogic = (id, setError, setInfo, setCategories, setLoading) => { +export const useBoardLogic = (id, setError, setInfo, setCategories, setLoading, setItems) => { const navigate = useNavigate(); const loadBoardData = useCallback(async () => { @@ -17,6 +17,7 @@ export const useBoardLogic = (id, setError, setInfo, setCategories, setLoading) setError(''); const response = await loadBoardDataAPI(id); setInfo(response.data); + setItems(response.data.members) setCategories(response.data.categories || []); } catch (err) { if (err.response?.data?.message === 'Token Error' || @@ -32,7 +33,7 @@ export const useBoardLogic = (id, setError, setInfo, setCategories, setLoading) } finally { setLoading(false); } - }, [id, setError, setInfo, setCategories, setLoading, navigate]); + }, [id, setError, setInfo, setCategories, setLoading, setItems, navigate]); const checkOwner = useCallback(async (ownerId, setIsOwner) => { setLoading(true); diff --git a/src/KBBoard/KBBoard.js b/src/KBBoard/KBBoard.js index de65692..415423c 100644 --- a/src/KBBoard/KBBoard.js +++ b/src/KBBoard/KBBoard.js @@ -1,17 +1,20 @@ import { useState, useEffect } from 'react'; -import { useParams } from 'react-router-dom'; +import { useParams, useNavigate } from 'react-router-dom'; import { useBoardLogic } from './BoardLogic'; import Header from './../Header'; import './../css/Board.css'; const KBBoard = () => { + const navigate = useNavigate(); const { id } = useParams(); const [error, setError] = useState(''); const [loading, setLoading] = useState(false); const [info, setInfo] = useState({}); const [categories, setCategories] = useState([]); const [isOwner, setIsOwner] = useState(null); + const [items, setItems] = useState([]); + const [memList, setMemList] = useState(false); const [crTask, setCrTask] = useState(false); const [crCateg, setCrCateg] = useState(false); const [edTask, setEdTask] = useState(false); @@ -56,7 +59,20 @@ const KBBoard = () => { deleteBoards, quitMember, deleteMember - } = useBoardLogic(id, setError, setInfo, setCategories, setLoading); + } = useBoardLogic(id, setError, setInfo, setCategories, setLoading, setItems); + + function ListItem({ item }) { + if (!item) return null; + const user = () => { navigate('/profile/' + item.id); }; + return ( + + ); + }; useEffect(() => { if (id) loadBoardData(); @@ -66,6 +82,9 @@ const KBBoard = () => { if (info?.owner?.id !== undefined) checkOwner(info?.owner?.id, setIsOwner); }, [info?.owner?.id, checkOwner, setIsOwner]); + const modalMemList = () => { + setMemList(!memList); + } const modalCrTask = (categori) => () => { setCrTask(!crTask); setTaskCategori(categori); @@ -182,18 +201,22 @@ const KBBoard = () => {
- Участники:
- {(info.members || []).map((member) => (
- (member.id !== info.owner.id) ? (
-
- ) : (
- <>>
- )
- ))}
+
- Владелец: {" "+info.owner?.display_name}
-
+
Нет участников
+ )} +