Исправление бага: при открытии списка канбан досок, не авторизованным пользователем, не происходит переадресация

This commit is contained in:
Vladiysss
2026-02-04 18:06:00 +03:00
parent c07e560362
commit d8a57cb4ba

View File

@@ -2,6 +2,7 @@ import { useState, useEffect, useRef, useCallback } from 'react';
import { useNavigate } from 'react-router-dom'; import { useNavigate } from 'react-router-dom';
import axios from 'axios'; import axios from 'axios';
import Header from './Header'; import Header from './Header';
import './css/BoardList.css';
const KBBoardsList = () => { const KBBoardsList = () => {
const navigate = useNavigate(); const navigate = useNavigate();
@@ -15,7 +16,7 @@ const KBBoardsList = () => {
const [reverse, setReverse] = useState(false); const [reverse, setReverse] = useState(false);
const [search_text, setSearchText] = useState(''); const [search_text, setSearchText] = useState('');
const [page, setPage] = useState(1); const [page, setPage] = useState(1);
const [list, setList] = useState(20); const [limit, setLimit] = useState(20);
const [title, setTitle] = useState(''); const [title, setTitle] = useState('');
const [description, setDescription] = useState(''); const [description, setDescription] = useState('');
@@ -43,10 +44,12 @@ const KBBoardsList = () => {
const loadBoardList = useCallback(async () => { const loadBoardList = useCallback(async () => {
clearTimeout(debounceRef.current); clearTimeout(debounceRef.current);
try { debounceRef.current = setTimeout(async () => {
debounceRef.current = setTimeout(async () => { try {
var newList = { sort_method, reverse, search_text, page, list }; const newList = { sort_method, reverse, search_text, page, limit };
const response = await axios.post('/api/boards/list', newList); console.log("err");
const response = await axios.post('/api/boards/list', newList, {withCredentials: true });
console.log("err1");
if (Array.isArray(response.data)) { if (Array.isArray(response.data)) {
setItems(response.data); setItems(response.data);
} else { } else {
@@ -55,21 +58,21 @@ const KBBoardsList = () => {
console.log('Доски отсутствуют'); console.log('Доски отсутствуют');
} }
} }
setTimer(400) } catch (err) {
}, timer); if (err.response?.data?.message === 'Token Error' || err.response?.data?.message === 'Invalid Token') {
} catch (err) { setError('Вы не авторизованы');
if (err.response?.data?.message === 'Token Error' || err.response?.data?.message === 'Invalid Token') { setTimeout(() => {
setError('Вы не авторизованы'); navigate('/login');
setTimeout(() => { }, 1000);
navigate('/login'); } else {
}, 1000); setError('Ошибка загрузки досок');
} else { console.log(err);
setError('Ошибка загрузки досок'); setItems([]);
console.log(err); }
setItems([]);
} }
} setTimer(400)
}, [sort_method, reverse, search_text, page, list, timer, setItems, setError, navigate]); }, timer);
}, [sort_method, reverse, search_text, page, limit, timer, setItems, setError, navigate]);
useEffect(() => { useEffect(() => {
loadBoardList(); loadBoardList();