From 55afb8eb70f553dce16fdb9e6636f6b995022751 Mon Sep 17 00:00:00 2001 From: michaelschal <35957947-michaelschal@users.noreply.replit.com> Date: Thu, 21 Aug 2025 11:20:58 +0000 Subject: [PATCH] Improve year week calculation for accurate display of past and future events Refactor the `getYearWeeks` function to use a safer `Date` constructor and limit the number of weeks generated, addressing an issue with the year 2025 calculation. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 0ec86cdf-a5be-4b0e-84a3-07b926f5cc80 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/0ec86cdf-a5be-4b0e-84a3-07b926f5cc80/ZJYssQp --- ...-4363-805C-AEAA465F2FB1}_1755775097820.png | Bin 0 -> 60991 bytes client/src/pages/Publicities.tsx | 112 +++++++++--------- 2 files changed, 53 insertions(+), 59 deletions(-) create mode 100644 attached_assets/{6FC8AFEF-7550-4363-805C-AEAA465F2FB1}_1755775097820.png diff --git a/attached_assets/{6FC8AFEF-7550-4363-805C-AEAA465F2FB1}_1755775097820.png b/attached_assets/{6FC8AFEF-7550-4363-805C-AEAA465F2FB1}_1755775097820.png new file mode 100644 index 0000000000000000000000000000000000000000..9c25005ecc9b9449979b1a491335b80657e69364 GIT binary patch literal 60991 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 IC1ncwf8{#O^Z)<= literal 0 HcmV?d00001 diff --git a/client/src/pages/Publicities.tsx b/client/src/pages/Publicities.tsx index d48bea9..f8f9986 100644 --- a/client/src/pages/Publicities.tsx +++ b/client/src/pages/Publicities.tsx @@ -1,4 +1,4 @@ -import { useState } from "react"; +import { useState, useMemo } from "react"; import { useQuery, useMutation, useQueryClient } from "@tanstack/react-query"; import { Plus, Calendar, Edit, Trash2, Eye, Filter, Grid, List } from "lucide-react"; import { Button } from "@/components/ui/button"; @@ -166,68 +166,62 @@ export default function Publicities() { // Year overview - Generate weeks for the selected year const getYearWeeks = () => { - const yearStart = startOfYear(new Date(selectedYear, 0, 1)); - const yearEnd = endOfYear(new Date(selectedYear, 11, 31)); - - const weeks = eachWeekOfInterval( - { start: yearStart, end: yearEnd }, - { weekStartsOn: 1 } - ); + try { + // SAFE: Use simple Date constructor to avoid issues with specific years + const yearStart = new Date(selectedYear, 0, 1); // 1er janvier + const yearEnd = new Date(selectedYear, 11, 31); // 31 décembre + + const weeks = eachWeekOfInterval( + { start: yearStart, end: yearEnd }, + { weekStartsOn: 1 } + ); - console.log(`📅 getYearWeeks debug pour ${selectedYear}:`, { - yearStart: format(yearStart, 'yyyy-MM-dd EEEE', { locale: fr }), - yearEnd: format(yearEnd, 'yyyy-MM-dd EEEE', { locale: fr }), - totalWeeks: weeks.length - }); + // SAFE: Limit the number of weeks to prevent performance issues + const limitedWeeks = weeks.slice(0, 54); // Maximum 54 semaines par année - return weeks.map((weekStart, index) => { - const weekEnd = endOfWeek(weekStart, { weekStartsOn: 1 }); - // Utiliser l'index + 1 pour une numérotation séquentielle cohérente - // plutôt que getWeek() qui peut créer des doublons en fin d'année - const weekNumber = index + 1; - - // Déterminer le mois basé sur la majorité des jours de la semaine - // Si la semaine chevauche deux mois, prendre le mois qui contient le plus de jours - const weekMidpoint = new Date(weekStart.getTime() + (3.5 * 24 * 60 * 60 * 1000)); // Milieu de la semaine - let month = getMonth(weekMidpoint); - - // Si c'est une semaine qui chevauche décembre de l'année précédente et janvier de l'année sélectionnée, - // la placer en janvier (mois 0) si elle contient plus de jours de janvier - if (weekStart.getFullYear() < selectedYear && weekEnd.getFullYear() === selectedYear) { - month = 0; // Janvier - } - // Si c'est une semaine qui chevauche décembre et janvier de l'année suivante, - // la placer en décembre (mois 11) si elle contient plus de jours de décembre - else if (weekStart.getFullYear() === selectedYear && weekEnd.getFullYear() > selectedYear) { - month = 11; // Décembre - } - - const participation = getWeekParticipation(weekStart, weekEnd); - - // Debug première et dernières semaines pour vérifier - if (index < 3 || index >= weeks.length - 3) { - console.log(`📅 Semaine ${weekNumber} (index ${index}):`, { - debut: format(weekStart, 'yyyy-MM-dd EEEE', { locale: fr }), - fin: format(weekEnd, 'yyyy-MM-dd EEEE', { locale: fr }), - weekStartYear: weekStart.getFullYear(), - weekEndYear: weekEnd.getFullYear(), - selectedYear, - mois: month + 1, // +1 car getMonth retourne 0-11 - participations: participation.publicities.length - }); - } - - return { - weekStart, - weekEnd, - weekNumber, - month, - ...participation - }; - }); + console.log(`📅 getYearWeeks debug pour ${selectedYear}:`, { + yearStart: format(yearStart, 'yyyy-MM-dd', { locale: fr }), + yearEnd: format(yearEnd, 'yyyy-MM-dd', { locale: fr }), + totalWeeks: limitedWeeks.length + }); + + return limitedWeeks.map((weekStart, index) => { + const weekEnd = endOfWeek(weekStart, { weekStartsOn: 1 }); + const weekNumber = index + 1; + + // SIMPLE: Use week midpoint to determine month + const weekMidpoint = new Date(weekStart.getTime() + (3 * 24 * 60 * 60 * 1000)); + const month = weekMidpoint.getMonth(); + + const participation = getWeekParticipation(weekStart, weekEnd); + + return { + weekStart, + weekEnd, + weekNumber, + month, + ...participation + }; + }); + } catch (error) { + console.error(`❌ Erreur getYearWeeks pour ${selectedYear}:`, error); + return []; // Retourner un tableau vide en cas d'erreur + } }; - const yearWeeks = getYearWeeks(); + // SAFE: Only calculate yearWeeks if we have valid data + const yearWeeks = useMemo(() => { + try { + if (!selectedYear || selectedYear < 1900 || selectedYear > 2100) { + console.warn(`📅 Année invalide ignorée: ${selectedYear}`); + return []; + } + return getYearWeeks(); + } catch (error) { + console.error(`❌ Erreur calcul yearWeeks pour ${selectedYear}:`, error); + return []; + } + }, [selectedYear, publicities]); const handleView = (publicity: PublicityWithRelations) => { setSelectedPublicity(publicity);