fix: Préserver la préférence du popup de confidentialité lors de la déconnexion

Le popup de confidentialité réapparaissait systématiquement après chaque
déconnexion/reconnexion car localStorage.clear() supprimait la clé
'odentas_info_suivi_ack_v1'.

Solution: Sauvegarder et restaurer cette clé lors du nettoyage du localStorage
dans LogoutButton.tsx.

Fixes: Popup s'affiche plusieurs fois par jour au lieu d'une seule fois
This commit is contained in:
odentas 2025-12-04 18:55:46 +01:00
parent 70bcd8af9c
commit 2ec29d07ab
2 changed files with 10 additions and 0 deletions

View file

@ -175,6 +175,8 @@ Pour suivre l'utilisation du popup avec PostHog :
2. Le localStorage a été effacé (navigation privée, clear cookies)
3. Vérifier que la clé de stockage n'a pas changé
**⚠️ Bug corrigé (décembre 2024)** : Le popup réapparaissait à chaque déconnexion/reconnexion car le `LogoutButton` appelait `localStorage.clear()`, ce qui supprimait la clé `odentas_info_suivi_ack_v1`. Solution : sauvegarder et restaurer cette clé lors du nettoyage du localStorage.
### Animation saccadée
1. Vérifier la version de framer-motion
2. Désactiver les extensions de navigateur qui peuvent bloquer les animations

View file

@ -32,6 +32,9 @@ export default function LogoutButton({ variant = "default", className }: { varia
// 3. Nettoyage complet côté client (au cas où il resterait des données)
try {
// Sauvegarder la préférence du popup de confidentialité avant le nettoyage
const privacyAck = localStorage.getItem("odentas_info_suivi_ack_v1");
// Nettoyer localStorage
localStorage.removeItem("company_name");
localStorage.removeItem("company_api_name");
@ -43,6 +46,11 @@ export default function LogoutButton({ variant = "default", className }: { varia
// Nettoyer tout autre stockage local si nécessaire
localStorage.clear();
sessionStorage.clear();
// Restaurer la préférence du popup de confidentialité
if (privacyAck) {
localStorage.setItem("odentas_info_suivi_ack_v1", privacyAck);
}
} catch (error) {
console.warn("Erreur lors du nettoyage local:", error);
}