diff --git a/app/layouts/LayoutDefault.telefunc.ts b/app/layouts/LayoutDefault.telefunc.ts
index ba55b90..9d6ad12 100644
--- a/app/layouts/LayoutDefault.telefunc.ts
+++ b/app/layouts/LayoutDefault.telefunc.ts
@@ -7,10 +7,19 @@ type ConsentCookies = keyof PageContext["cookies"]["consent"];
export async function onUpdateConsentCookie(cookieName: ConsentCookies, cookieValue: boolean) {
const context = getTelefuncContext();
- console.log(`Updating cookie ${cookieName} to ${cookieValue}`);
-
const { reply } = context;
+
CookieParser.set(reply, cookieName, cookieValue.toString(), 365);
- return { ok: true, message: "Updated consent cookie" };
+ return { ok: true, message: "Updated consent cookie", cookieName, cookieValue };
+}
+
+export async function onAcceptAllConsentCookie() {
+ const context = getTelefuncContext();
+ const { reply } = context;
+
+ CookieParser.set(reply, "analytics", "true", 365);
+ CookieParser.set(reply, "customization", "true", 365);
+
+ return { ok: true, message: "Updated consents cookies" };
}
diff --git a/app/layouts/LayoutDefault.tsx b/app/layouts/LayoutDefault.tsx
index d556a1e..3e97367 100644
--- a/app/layouts/LayoutDefault.tsx
+++ b/app/layouts/LayoutDefault.tsx
@@ -1,4 +1,4 @@
-import { onUpdateConsentCookie } from "./LayoutDefault.telefunc";
+import { onUpdateConsentCookie, onAcceptAllConsentCookie } from "./LayoutDefault.telefunc";
import { MobileNavigation } from "@syntax/MobileNavigation";
import { usePageContext } from "vike-react/usePageContext";
import { ThemeProvider } from "@/providers/ThemeProvider";
@@ -133,7 +133,10 @@ function CookieModal() {
success: "Cookies mis à jour !",
error: "Erreur lors de la mise à jour des cookies.",
})
- .finally(reload);
+ .then((data) => {
+ setConsentCookies({ ...consentCookies, [data.cookieName]: data.cookieValue });
+ reload();
+ });
}}
/>
@@ -142,6 +145,8 @@ function CookieModal() {
);
}
+ if (!isOpen) return null;
+
return (