From bda8eb896a516dc9f660b800bd1777eacb155d83 Mon Sep 17 00:00:00 2001 From: alma Date: Sat, 17 Jan 2026 01:15:15 +0100 Subject: [PATCH] Fondation --- components/calendar/calendar-widget.tsx | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/components/calendar/calendar-widget.tsx b/components/calendar/calendar-widget.tsx index 5b2aee4..83d92fe 100644 --- a/components/calendar/calendar-widget.tsx +++ b/components/calendar/calendar-widget.tsx @@ -1,6 +1,6 @@ "use client"; -import { useState, useEffect, useRef } from "react"; +import { useState, useEffect, useRef, useMemo } from "react"; import { format, isToday, isTomorrow, addDays } from "date-fns"; import { fr } from "date-fns/locale"; import { CalendarIcon, ChevronRight } from "lucide-react"; @@ -22,24 +22,29 @@ type Event = { }; export function CalendarWidget() { - const { data: session, status } = useSession(); const [events, setEvents] = useState([]); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); const { triggerNotification } = useWidgetNotification(); const lastEventCountRef = useRef(-1); + + // Declare useSession after other hooks to avoid TypeScript scope analysis issues + const sessionResult = useSession(); useEffect(() => { + // Capture values from sessionResult inside useEffect to avoid scope issues + const currentSession = sessionResult.data; + const currentStatus = sessionResult.status; - console.log("Calendar Widget - Session Status:", status); - console.log("Calendar Widget - Session Data:", session); + console.log("Calendar Widget - Session Status:", currentStatus); + console.log("Calendar Widget - Session Data:", currentSession); - if (status === "loading") { + if (currentStatus === "loading") { console.log("Calendar Widget - Session is loading"); return; } - if (status !== "authenticated" || !session) { + if (currentStatus !== "authenticated" || !currentSession) { console.log("Calendar Widget - Not authenticated, skipping fetch"); setLoading(false); return; @@ -200,7 +205,7 @@ export function CalendarWidget() { }, 300000); return () => clearInterval(intervalId); - }, [session, status, triggerNotification]); + }, [sessionResult.data, sessionResult.status, triggerNotification]); const formatEventDate = (date: Date, isAllDay: boolean) => { let dateString = "";