diff --git a/web-next/app/[locale]/cookies/page.tsx b/web-next/app/[locale]/cookies/page.tsx new file mode 100644 index 0000000..c76924d --- /dev/null +++ b/web-next/app/[locale]/cookies/page.tsx @@ -0,0 +1,180 @@ +import type { Metadata } from 'next' +import { Link } from '@/i18n/navigation' +import { CookieConsentButtons } from '@/components/CookieConsent' + +export const metadata: Metadata = { + title: 'Declaración de Cookies', +} + +export default function CookiesPage() { + return ( +
+
+
+
+

Declaración de Cookies

+
+
+
+

Esta página web usa cookies. Las cookies de este sitio web se usan para personalizar el contenido y los anuncios, ofrecer funciones de redes sociales y analizar el tráfico. Además, compartimos información sobre el uso que haga del sitio web con nuestros partners de redes sociales, publicidad y análisis web, quienes pueden combinarla con otra información que les haya proporcionado o que hayan recopilado a partir del uso que haya hecho de sus servicios.

+
+

Las cookies son pequeños archivos de texto que las páginas web pueden utilizar para hacer más eficiente la experiencia del usuario.

+

La ley afirma que podemos almacenar cookies en tu dispositivo si son estrictamente necesarias para el funcionamiento de esta página. Para todos los demás tipos de cookies necesitamos tu permiso.

+
+

Esta página utiliza tipos diferentes de cookies. Algunas cookies son colocadas por servicios de terceros que aparecen en nuestras páginas.

+

En cualquier momento puedes cambiar o retirar tu consentimiento desde esta Declaración de cookies en nuestro sitio web.

+
+

Obten más información sobre quiénes somos, cómo puedes contactarnos y cómo procesamos los datos personales en nuestra Política de Privacidad.

+
+
+
+ Tipos de cookies que utilizamos +
+ Cookies Necesarias +

Las cookies necesarias ayudan a hacer una página web utilizable activando funciones básicas como la navegación en la página y el acceso a áreas seguras de la página web. La página web no puede funcionar adecuadamente sin estas cookies.

+ + + + + + + + + + + + + + + + + + + + + + + +
CookieProveedorPropósitoDuración
PHPSESSIDUltimoWoWMantiene el estado de la sesión del usuario entre páginas. Presente en ultimowow.com y wotlk.ultimowow.com.Sesión
uw_cookie_consentUltimoWoWAlmacena tus preferencias de consentimiento de cookies. Se comparte entre ultimowow.com y wotlk.ultimowow.com.1 año
cf_clearanceCloudflareIdentifica tráfico legítimo y protege contra bots.1 año
__cf_bmCloudflareBot management y protección contra ataques DDoS.30 minutos
_cfuvidCloudflareIdentificador de sesión para gestión de tráfico.Sesión
CF_VERIFIED_DEVICE_*CloudflareVerificación de dispositivo para seguridad.30 días
_cf_logged_inCloudflareIndica estado de autenticación en servicios Cloudflare.Sesión
cf_chl_*Cloudflare TurnstileCookies del sistema de verificación captcha Turnstile.Variable
cf.turnstile.uCloudflare TurnstileDistingue entre humanos y bots en el sistema de verificación.Persistente
zaraz-consentCloudflare ZarazGestión de consentimiento del sistema Zaraz.1 año
cfz_*Cloudflare ZarazCookies técnicas del sistema de gestión de tags Zaraz.Variable
+ +

Nota sobre Cloudflare: Utilizamos Cloudflare como proveedor de seguridad y rendimiento. Cloudflare puede establecer cookies adicionales de forma dinámica para proteger el sitio contra amenazas, gestionar el tráfico y optimizar el rendimiento. Estas cookies son estrictamente necesarias para el funcionamiento seguro del sitio. Para más información, consulta la Política de Cookies de Cloudflare.

+
+ Cookies de Preferencias +

Las cookies de preferencias permiten a la página web recordar información que cambia la forma en que la página se comporta o el aspecto que tiene, como su idioma preferido o la región en la que usted se encuentra.

+ + + + + + + + + + + + + + + +
CookieProveedorPropósitoDuración
comments_sortwotlk.ultimowow.comGuarda tu preferencia de ordenación de comentarios.1 año
wwcomments_sortwotlk.ultimowow.comGuarda tu preferencia de ordenación de comentarios.1 año
temp_default_3dmodelwotlk.ultimowow.comGuarda la configuración del visor 3D de modelos.1 año
+ + Cookies Analíticas +

Las cookies analíticas nos permiten contar las visitas y fuentes de tráfico para poder medir y mejorar el rendimiento de nuestro sitio. Nos ayudan a saber qué páginas son las más y menos populares, y a ver cómo se mueven los visitantes por el sitio. Toda la información que recogen estas cookies es agregada y, por lo tanto, anónima.

+ + + + + + + + + + + + + + + + + +
CookieProveedorPropósitoDuración
_gaGoogle AnalyticsDistingue usuarios únicos asignando un número aleatorio.2 años
_ga_*Google AnalyticsMantiene el estado de la sesión.2 años
_gidGoogle AnalyticsDistingue usuarios para análisis estadístico.24 horas
_gatGoogle AnalyticsLimita la velocidad de solicitudes.1 minuto
sparrow_idCloudflareIdentificador para análisis de rendimiento web.1 año
+ + Cookies de Marketing +

Las cookies de marketing se utilizan para rastrear a los visitantes en las páginas web. La intención es mostrar anuncios relevantes y atractivos para el usuario individual, y por lo tanto, más valiosos para los editores y terceros anunciantes.

+ + + + + + + + + + + + + + + + + + + +
CookieProveedorPropósitoDuración
_gcl_*GoogleConversiones de Google Ads.90 días
IDEGoogle DoubleClickPublicidad personalizada.1 año
_fbpFacebook (Meta)Identifica navegadores para proporcionar servicios de publicidad y análisis.3 meses
_fbcFacebook (Meta)Almacena el último clic en anuncios de Facebook.3 meses
frFacebook (Meta)Habilita la entrega y medición de anuncios.3 meses
AMCV_*Adobe Experience CloudIdentificación de visitantes para servicios de Adobe.2 años
_q_state_*VariosGestión de estado para servicios de publicidad.Variable
+ +

Nota sobre servicios de terceros: Utilizamos Cloudflare Zaraz como sistema de gestión de tags. Los servicios de marketing (Google Ads, Facebook, Adobe, etc.) pueden establecer cookies adicionales cuando aceptas cookies de marketing. Para más información sobre cada servicio, consulta sus respectivas políticas de privacidad.

+ +
+ Cookies de Contenido Embebido +

Algunas páginas de nuestro sitio incluyen contenido embebido de terceros (vídeos de YouTube, widgets de Discord, publicaciones de redes sociales, etc.). Estos servicios pueden establecer sus propias cookies cuando visualizas dicho contenido.

+ + + + + + + + + + + + + + + +
ProveedorTipo de contenidoMás información
YouTube (Google)Vídeos embebidosPolítica de Privacidad
DiscordWidgets de servidorPolítica de Privacidad
TwitchStreams embebidosPolítica de Privacidad
Facebook (Meta)Vídeos y publicacionesPolítica de Privacidad
+ +

Utilizamos youtube-nocookie.com cuando es posible para minimizar el seguimiento. Sin embargo, los servicios de terceros pueden establecer cookies como: YSC, VISITOR_INFO1_LIVE, yt-remote-*, __Secure-*, y otras relacionadas con la reproducción de contenido.

+ +
+
+
+ Cómo eliminar cookies de tu navegador +

Además de utilizar nuestro panel de configuración, puedes eliminar las cookies directamente desde tu navegador:

+
    +
  • Chrome: Configuración → Privacidad y seguridad → Cookies y otros datos de sitios
  • +
  • Firefox: Opciones → Privacidad & Seguridad → Cookies y datos del sitio
  • +
  • Safari: Preferencias → Privacidad → Gestionar datos de sitios web
  • +
  • Edge: Configuración → Cookies y permisos del sitio → Cookies
  • +
+
+
+
+ Tu estado de consentimiento +

Puedes cambiar o retirar tu consentimiento en cualquier momento. Al contactarnos respecto a su consentimiento, por favor, indique la fecha de su consentimiento.

+ + +
+
+
+ Más información +

Si tienes alguna pregunta sobre nuestra política de cookies, puedes contactarnos a través de nuestra página de Contacto.

+
+

Última actualización: Marzo 2026

+
+
+
+
+
+ ) +} diff --git a/web-next/app/globals.css b/web-next/app/globals.css index e00a4dc..a82b969 100644 --- a/web-next/app/globals.css +++ b/web-next/app/globals.css @@ -132,6 +132,71 @@ textarea:focus { margin-bottom: 10px; } +/* Listas dentro de las cajas de contenido (el tema no las estiliza y el + preflight de Tailwind quita los bullets; los devolvemos como en Django). */ +.body-box-content ul { + list-style: disc; + padding-left: 22px; + margin: 8px 0; +} +.body-box-content li { + line-height: 22px; +} + +/* Declaración de cookies: tablas y botones de consentimiento. */ +.uw-cookie-table { + width: 100%; + border-collapse: collapse; + margin: 12px 0 16px; + font-size: 15px; +} +.uw-cookie-table th, +.uw-cookie-table td { + border: 1px solid #352e2b; + padding: 8px 10px; + text-align: left; + vertical-align: top; +} +.uw-cookie-table th { + background: hsla(0, 0%, 100%, 0.05); + color: #ebdec2; + text-transform: uppercase; + font-size: 13px; +} +.uw-cookie-table td { + color: #b1997f; +} +.uw-cookie-table a { + color: #2471a9; +} +.uw-consent-buttons { + display: flex; + flex-wrap: wrap; + gap: 12px; + margin: 12px 0; +} +.btn-uw { + border: 2px solid #352e2b; + background: hsla(0, 0%, 100%, 0.05); + color: #ebdec2; + padding: 10px 18px; + cursor: pointer; + text-transform: uppercase; + transition: 0.3s; +} +.btn-uw:hover { + background: hsla(0, 0%, 100%, 0.1); + color: #fff; +} +.btn-uw-secondary { + border-color: #5c2b2b; + color: #d98c8c; +} +.btn-uw-secondary:hover { + background: hsla(0, 60%, 30%, 0.15); + color: #fff; +} + /* Colores de clase de WoW (nombre de personaje) */ .class-warrior { color: #c79c6e; } .class-paladin { color: #f58cba; } diff --git a/web-next/components/CookieConsent.tsx b/web-next/components/CookieConsent.tsx new file mode 100644 index 0000000..0d50aaf --- /dev/null +++ b/web-next/components/CookieConsent.tsx @@ -0,0 +1,58 @@ +'use client' + +import { useEffect } from 'react' + +// API de consentimiento de Cloudflare Zaraz (se inyecta cuando el dominio pasa +// por el proxy de Cloudflare con Zaraz Consent activado). +interface ZarazConsent { + modal?: boolean + APIReady?: boolean + setAll?: (status: boolean) => void + getAll?: () => Record +} +declare global { + interface Window { + zaraz?: { consent?: ZarazConsent } + UWCookies?: { showBanner: () => void; revokeConsent: () => void } + } +} + +/** Abre el modal de consentimiento de Zaraz. */ +function showBanner() { + const c = typeof window !== 'undefined' ? window.zaraz?.consent : undefined + if (c) c.modal = true + else console.warn('[UWCookies] Zaraz no disponible (el sitio debe pasar por Cloudflare con Zaraz Consent activado).') +} + +/** Retira el consentimiento (pone todos los propósitos a false) y reabre el modal. */ +function revokeConsent() { + const c = typeof window !== 'undefined' ? window.zaraz?.consent : undefined + if (c?.setAll) { + c.setAll(false) + c.modal = true + } else { + console.warn('[UWCookies] Zaraz no disponible; no se puede retirar el consentimiento.') + } +} + +/** + * Botones de consentimiento de la página /cookies. Cablean el sistema de + * Cloudflare Zaraz y exponen window.UWCookies (showBanner/revokeConsent) para + * el resto del sitio. + */ +export function CookieConsentButtons() { + useEffect(() => { + window.UWCookies = { showBanner, revokeConsent } + }, []) + + return ( +
+ + +
+ ) +}