diff --git a/play-life-web/src/components/CurrentWeek.jsx b/play-life-web/src/components/CurrentWeek.jsx
index 53456be..87578d9 100644
--- a/play-life-web/src/components/CurrentWeek.jsx
+++ b/play-life-web/src/components/CurrentWeek.jsx
@@ -3,7 +3,7 @@ import { getAllProjectsSorted, getProjectColor } from '../utils/projectUtils'
function CurrentWeek({ onProjectClick, data, loading, error, onRetry, allProjectsData, onNavigate }) {
// Обрабатываем данные: может быть объект с projects и total, или просто массив
- const projectsData = data?.projects || (Array.isArray(data) ? data : [])
+ const projectsData = data?.projects || (Array.isArray(data) ? data : []) || []
// Показываем loading только если данных нет и идет загрузка
if (loading && (!data || projectsData.length === 0)) {
@@ -59,16 +59,8 @@ function CurrentWeek({ onProjectClick, data, loading, error, onRetry, allProject
hasProgressData
})
- if (!projectsData || projectsData.length === 0) {
- return (
-
-
Нет данных для отображения
-
- )
- }
-
// Получаем отсортированный список всех проектов для синхронизации цветов
- const allProjects = getAllProjectsSorted(allProjectsData, projectsData)
+ const allProjects = getAllProjectsSorted(allProjectsData, projectsData || [])
const normalizePriority = (value) => {
if (value === null || value === undefined) return Infinity
@@ -77,7 +69,7 @@ function CurrentWeek({ onProjectClick, data, loading, error, onRetry, allProject
}
// Сортируем: сначала по priority (1, 2, ...; null в конце), затем по min_goal_score по убыванию
- const sortedData = [...projectsData].sort((a, b) => {
+ const sortedData = (projectsData && projectsData.length > 0) ? [...projectsData].sort((a, b) => {
const priorityA = normalizePriority(a.priority)
const priorityB = normalizePriority(b.priority)
@@ -88,7 +80,7 @@ function CurrentWeek({ onProjectClick, data, loading, error, onRetry, allProject
const minGoalA = parseFloat(a.min_goal_score) || 0
const minGoalB = parseFloat(b.min_goal_score) || 0
return minGoalB - minGoalA
- })
+ }) : []
return (
@@ -99,10 +91,12 @@ function CurrentWeek({ onProjectClick, data, loading, error, onRetry, allProject
Выполнение целей
- {hasProgressData ? `${overallProgress.toFixed(1)}%` : 'N/A'}
+ {hasProgressData && typeof overallProgress === 'number' && Number.isFinite(overallProgress)
+ ? `${overallProgress.toFixed(1)}%`
+ : 'N/A'}
- {hasProgressData && (
+ {hasProgressData && typeof overallProgress === 'number' && Number.isFinite(overallProgress) && (