web-next: banner de consentimiento de cookies + estado de la API (Zaraz)
- Banner real `uw-cookie-content` (Rechazar/Personalizar/Aceptar todas) fijo
abajo y site-wide (montado en el layout, componente CookieBanner). Aparece
en la primera visita, guarda la decisión en la cookie uw_cookie_consent (1
año) y se sincroniza con Cloudflare Zaraz si está presente
(zaraz.consent.setAll / .modal). Estilos en globals.css.
- «Personalizar» abre el modal granular de Zaraz (o /cookies si no hay Zaraz).
- window.UWCookies {showBanner, revokeConsent, acceptAll, rejectAll}.
- Página /cookies: panel «Tu estado de consentimiento» (ConsentStatus) que
muestra los datos EN VIVO de la API de Zaraz (zaraz.consent.getAll()) por
propósito; si Zaraz no está, cae a la preferencia guardada por categoría.
Verificado con navegador: el banner aparece, «Aceptar todas» lo oculta y
escribe la cookie, y el panel de /cookies refleja el estado.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import type { Metadata } from 'next'
|
||||
import { Link } from '@/i18n/navigation'
|
||||
import { CookieConsentButtons } from '@/components/CookieConsent'
|
||||
import { CookieConsentButtons, ConsentStatus } from '@/components/CookieConsent'
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'Declaración de Cookies',
|
||||
@@ -163,6 +163,7 @@ export default function CookiesPage() {
|
||||
<span>Tu estado de consentimiento</span>
|
||||
<p>Puedes cambiar o retirar tu consentimiento en cualquier momento. Al contactarnos respecto a su consentimiento, por favor, indique la fecha de su consentimiento.</p>
|
||||
|
||||
<ConsentStatus />
|
||||
<CookieConsentButtons />
|
||||
<br />
|
||||
<hr />
|
||||
|
||||
@@ -7,6 +7,7 @@ import { Header } from '@/components/Header'
|
||||
import { Video } from '@/components/Video'
|
||||
import { Social } from '@/components/Social'
|
||||
import { Footer } from '@/components/Footer'
|
||||
import { CookieBanner } from '@/components/CookieConsent'
|
||||
import '../globals.css'
|
||||
|
||||
export function generateStaticParams() {
|
||||
@@ -73,6 +74,7 @@ export default async function LocaleLayout({
|
||||
{children}
|
||||
<Social />
|
||||
<Footer />
|
||||
<CookieBanner />
|
||||
</NextIntlClientProvider>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user