From 8ba6a9a78fbfb141dfcbdb6e90501a61faafdfa3 Mon Sep 17 00:00:00 2001 From: poignatov Date: Tue, 30 Dec 2025 21:00:41 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A3=D0=B1=D1=80=D0=B0=D0=BD=D0=B0=20=D0=BB?= =?UTF-8?q?=D0=BE=D0=B3=D0=B8=D0=BA=D0=B0=20=D1=81=D0=BE=D0=B7=D0=B4=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D0=BD=D1=83=D0=BB=D0=B5=D0=B2=D0=BE=D0=B9?= =?UTF-8?q?=20=D1=82=D0=BE=D1=87=D0=BA=D0=B8=20=D0=B2=20=D0=B3=D1=80=D0=B0?= =?UTF-8?q?=D1=84=D0=B8=D0=BA=D0=B5=20=D0=BF=D0=BE=D0=BB=D0=BD=D0=BE=D0=B9?= =?UTF-8?q?=20=D1=81=D1=82=D0=B0=D1=82=D0=B8=D1=81=D1=82=D0=B8=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/FullStatistics.jsx | 48 ------------------- 1 file changed, 48 deletions(-) diff --git a/play-life-web/src/components/FullStatistics.jsx b/play-life-web/src/components/FullStatistics.jsx index 2a49177..9063966 100644 --- a/play-life-web/src/components/FullStatistics.jsx +++ b/play-life-web/src/components/FullStatistics.jsx @@ -17,8 +17,6 @@ import { getAllProjectsSorted, getProjectColor, sortProjectsLikeCurrentWeek } fr // Экспортируем для обратной совместимости (если используется в других местах) export { getProjectColorByIndex } from '../utils/projectUtils' -const formatWeekKey = ({ year, week }) => `${year}-W${week.toString().padStart(2, '0')}` - const parseWeekKey = (weekKey) => { const [yearStr, weekStr] = weekKey.split('-W') return { year: Number(yearStr), week: Number(weekStr) } @@ -34,36 +32,6 @@ const compareWeekKeys = (a, b) => { return weekA - weekB } -// Возвращает понедельник ISO-недели -const getDateOfISOWeek = (week, year) => { - const simple = new Date(year, 0, 1 + (week - 1) * 7) - const dayOfWeek = simple.getDay() || 7 // Sunday -> 7 - if (dayOfWeek !== 1) { - simple.setDate(simple.getDate() + (1 - dayOfWeek)) - } - simple.setHours(0, 0, 0, 0) - return simple -} - -const getISOWeekInfo = (date) => { - const target = new Date(date.getTime()) - target.setHours(0, 0, 0, 0) - target.setDate(target.getDate() + 4 - (target.getDay() || 7)) - const year = target.getFullYear() - const yearStart = new Date(year, 0, 1) - const week = Math.ceil(((target - yearStart) / 86400000 + 1) / 7) - return { year, week } -} - -const getPrevWeekKey = (weekKey) => { - const { year, week } = parseWeekKey(weekKey) - const currentWeekDate = getDateOfISOWeek(week, year) - const prevWeekDate = new Date(currentWeekDate.getTime()) - prevWeekDate.setDate(prevWeekDate.getDate() - 7) - const prevWeekInfo = getISOWeekInfo(prevWeekDate) - return formatWeekKey(prevWeekInfo) -} - ChartJS.register( CategoryScale, LinearScale, @@ -94,22 +62,6 @@ function FullStatistics({ selectedProject, onClearSelection, data, loading, erro projectsMap[projectName][weekKey] = parseFloat(item.total_score) }) - // Добавляем дополнительную неделю со значением 0, - // если первая неделя проекта имеет ненулевое значение - Object.values(projectsMap).forEach((weeks) => { - const projectWeeks = Object.keys(weeks) - if (!projectWeeks.length) return - - const sortedProjectWeeks = projectWeeks.sort(compareWeekKeys) - const firstWeekKey = sortedProjectWeeks[0] - const firstScore = weeks[firstWeekKey] - - if (firstScore !== 0) { - const zeroWeekKey = getPrevWeekKey(firstWeekKey) - weeks[zeroWeekKey] = 0 - } - }) - // Собираем все уникальные недели и сортируем их по году и неделе const allWeeks = new Set() Object.values(projectsMap).forEach(weeks => {