diff --git a/src/Mainpage.js b/src/Mainpage.js
index 1230416..1d49025 100644
--- a/src/Mainpage.js
+++ b/src/Mainpage.js
@@ -1,103 +1,107 @@
-import {useEffect, useState} from 'react';
+import { useEffect, useState } from 'react';
import axios from 'axios';
import Header from './Header';
+import { useNavigate } from 'react-router-dom';
import './css/Mainpage.css';
const Mainpage = () => {
const [tasks, setTasks] = useState([]);
- const [error_message, setErrorMessage] = useState(null);
+ const [errorMessage, setErrorMessage] = useState(null);
const [count, setCount] = useState(0);
+ const [loading, setLoading] = useState(true);
+ const navigate = useNavigate();
useEffect(() => {
const checkSession = async () => {
try {
const response = await axios.get('/api/users/my_tasks');
-
- // если нет ошибки — пользователь авторизован
setTasks(response.data.tasks || []);
setCount(response.data.count || 0);
- setErrorMessage('');
-
+ setErrorMessage(null);
} catch (err) {
const message = err.response?.data?.message || 'Ошибка авторизации';
setErrorMessage(message);
- }
+ } finally {
+ setLoading(false);
+ }
};
checkSession();
}, []);
- const isAuthenticated = !error_message;
+ const isAuthenticated = !errorMessage;
+
+ const formatDeadline = (deadline) => {
+ if (!deadline) return 'Отсутствует';
+ const d = new Date(deadline);
+ const day = String(d.getDate()).padStart(2, '0');
+ const month = String(d.getMonth() + 1).padStart(2, '0');
+ const year = d.getFullYear();
+ return `${day}.${month}.${year}`;
+ };
+
+ const handleTaskClick = (boardId) => {
+ navigate(`/kanban-board/${boardId}`);
+ };
+
+ const showScrollbar = count > 3;
return (
<>
-
- Kanban-доска помогает видеть весь процесс целиком: что запланировано, - что уже в работе и что готово. Перетаскивайте карточки между колонками, - фиксируйте договорённости и не теряйте контекст — всё в одном месте. -
- -- Войдите или зарегистрируйтесь, чтобы сохранять доски, открывать доступ - коллегам и синхронизировать задачи между устройствами. -
- -+ Kanban-доска помогает видеть весь процесс целиком: что запланировано, что уже в работе и что готово. + Перетаскивайте карточки между колонками, фиксируйте договорённости и не теряйте контекст — всё в одном месте. +
Нет задач
- )} -Загрузка...
+ > + ) : isAuthenticated ? ( + <> +Нет задач
+ ) : ( +Войдите, чтобы увидеть свои задачи.
+ > + )}