diff --git a/src/Mainpage.js b/src/Mainpage.js index 01fbe34..1230416 100644 --- a/src/Mainpage.js +++ b/src/Mainpage.js @@ -1,48 +1,100 @@ -import {useState, useEffect} from 'react'; +import {useEffect, useState} from 'react'; import axios from 'axios'; import Header from './Header'; import './css/Mainpage.css'; const Mainpage = () => { const [tasks, setTasks] = useState([]); - const [error, setError] = useState(''); - const [count, setCount] = useState('0'); + const [error_message, setErrorMessage] = useState(null); + const [count, setCount] = useState(0); useEffect(() => { const checkSession = async () => { try { const response = await axios.get('/api/users/my_tasks'); + + // если нет ошибки — пользователь авторизован setTasks(response.data.tasks || []); setCount(response.data.count || 0); + setErrorMessage(''); + } catch (err) { - setError('Ошибка загрузки задачи'); - } + const message = err.response?.data?.message || 'Ошибка авторизации'; + setErrorMessage(message); + } }; checkSession(); }, []); + const isAuthenticated = !error_message; + return ( <> -
+
- { - error &&
{error}
- } -
-
-

Задачи ({count})

- {tasks.length > 0 ? ( -
    - {tasks.map((task, index) => ( -
  • {task.title || task.name || `Задача ${index + 1}`}
  • - ))} -
- ) : ( -

Нет задач

- )} + {!isAuthenticated && ( +
+
+ +

+ Наведите порядок в задачах за минуту +

+ +

+ Kanban-доска помогает видеть весь процесс целиком: что запланировано, + что уже в работе и что готово. Перетаскивайте карточки между колонками, + фиксируйте договорённости и не теряйте контекст — всё в одном месте. +

+ +

+ Как это работает: +

+ +
    +
  • + Создайте карточку с задачей, добавьте описание и сроки. +
  • +
  • + Перемещайте её по этапам Сделать → В работе → Готово. +
  • +
  • + Смотрите прогресс по команде и быстро находите узкие места. +
  • +
+ +

+ Начните сейчас +

+ +

+ Войдите или зарегистрируйтесь, чтобы сохранять доски, открывать доступ + коллегам и синхронизировать задачи между устройствами. +

+ +
-
+ )} + + {isAuthenticated && ( +
+
+

Задачи ({count})

+ + {tasks.length > 0 ? ( +
    + {tasks.map((task, index) => ( +
  • + {task.title || task.name || `Задача ${index + 1}`} +
  • + ))} +
+ ) : ( +

Нет задач

+ )} +
+
+ )}
);