From 687da19b0bdb166b894199ee54783b3f1d4803e5 Mon Sep 17 00:00:00 2001 From: Julien Froidefond Date: Tue, 21 Oct 2025 21:03:08 +0200 Subject: [PATCH] feat: update PreferencesProvider to manage user preferences based on session status, resetting to defaults on logout --- src/contexts/PreferencesContext.tsx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/contexts/PreferencesContext.tsx b/src/contexts/PreferencesContext.tsx index 8232de3..58e2d8d 100644 --- a/src/contexts/PreferencesContext.tsx +++ b/src/contexts/PreferencesContext.tsx @@ -1,6 +1,7 @@ "use client"; import React, { createContext, useContext, useState, useEffect } from "react"; +import { useSession } from "next-auth/react"; import { ERROR_CODES } from "../constants/errorCodes"; import { AppError } from "../utils/errors"; import type { UserPreferences } from "@/types/preferences"; @@ -21,6 +22,7 @@ export function PreferencesProvider({ children: React.ReactNode; initialPreferences?: UserPreferences; }) { + const { status } = useSession(); const [preferences, setPreferences] = useState( initialPreferences || defaultPreferences ); @@ -46,8 +48,14 @@ export function PreferencesProvider({ }; useEffect(() => { - fetchPreferences(); - }, []); + // Recharger les préférences quand la session change (connexion/déconnexion) + if (status === "authenticated") { + fetchPreferences(); + } else if (status === "unauthenticated") { + // Réinitialiser aux préférences par défaut quand l'utilisateur se déconnecte + setPreferences(defaultPreferences); + } + }, [status]); const updatePreferences = async (newPreferences: Partial) => { try {