Fix : CookieBanner useEffect
Build & Deploy / build (push) Successful in 15s

This commit is contained in:
Mouignihazi
2026-08-12 00:42:43 +02:00
parent d30f38c49c
commit bf125ce87d
+17 -17
View File
@@ -1,33 +1,33 @@
import { useState } from "react"; import { useState, useEffect } from "react";
import { Link } from "react-router-dom"; import { Link } from "react-router-dom";
import styles from "../styles/CookieBanner.module.css"; import styles from "../styles/CookieBanner.module.css";
const COOKIE_CONSENT_KEY = "cookieConsentAccepted"; const KEY = "cookieConsentAccepted";
export default function CookieBanner() { export default function CookieBanner() {
const [accepted, setAccepted] = useState<boolean>(() => { const [visible, setVisible] = useState(false);
return typeof window !== "undefined" && window.localStorage.getItem(COOKIE_CONSENT_KEY) === "true";
}); useEffect(() => {
const consent = localStorage.getItem(KEY);
if (!consent) {
setVisible(true);
}
}, [setVisible]);
const handleAccept = () => { const handleAccept = () => {
if (typeof window !== "undefined") { localStorage.setItem(KEY, "true");
window.localStorage.setItem(COOKIE_CONSENT_KEY, "true"); setVisible(false);
}
setAccepted(true);
}; };
if (accepted) { if (!visible) return null;
return null;
}
return ( return (
<div className={styles.banner} role="dialog" aria-live="polite"> <div className={styles.banner} role="dialog" aria-live="polite">
<div className={styles.bannerText}> <div className={styles.bannerText}>
Ce site utilise des cookies pour améliorer votre expérience utilisateur et analyser le trafic. Ce site utilise des cookies pour améliorer votre expérience utilisateur
En poursuivant votre navigation, vous acceptez l'utilisation des cookies. et analyser le trafic. En poursuivant votre navigation, vous acceptez
l'utilisation des cookies.
</div> </div>
<div className={styles.actions}> <div className={styles.actions}>
<Link to="/mentions-legales" className={styles.link}> <Link to="/mentions-legales" className={styles.link}>
En savoir plus En savoir plus
@@ -38,4 +38,4 @@ export default function CookieBanner() {
</div> </div>
</div> </div>
); );
} }