Files
NightSpire/web-next/components/AdSenseScript.tsx
T
Inna 24bd28fcca Foro: autor con personaje aleatorio de la cuenta
- El nombre del autor muestra un personaje ALEATORIO de la cuenta (no la id).
- Nombre con <Hermandad> en dorado (oculto si el personaje no tiene guild).
- Avatar = imagen de raza del personaje (raza+género).
- Cajas nuevas: puntos de logros, nivel y clase (con su color de clase).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 07:57:41 +00:00

33 lines
1.2 KiB
TypeScript

'use client'
import Script from 'next/script'
import { useConsent } from './CookieConsent'
/**
* Parte de cliente de AdSense: el script que de verdad pinta los anuncios
* (adsbygoogle.js, «Auto ads»). Existe separado de <AdSense/> solo para mirar el
* consentimiento, que vive en el navegador (cookie `ns_cookie_consent` + evento
* `ns:consentchange`).
*
* A diferencia de la etiqueta <meta> de verificación, esto SÍ pasa por el banner:
* adsbygoogle.js escribe cookies de personalización y perfila al visitante, así que
* cargarlo sin mirar la categoría «Marketing» convertiría el banner en mentira y, con
* visitantes en la UE, en un problema legal. Mismo criterio que <MonetagScript/>.
*
* `useConsent` reacciona en caliente: entra en cuanto se acepta y deja de renderizarse
* si se revoca, sin recargar. Arranca en `false`, así que hasta confirmar el
* consentimiento no se carga nada.
*/
export function AdSenseScript({ client }: { client: string }) {
const consent = useConsent('marketing')
if (!consent) return null
return (
<Script
src={`https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=${client}`}
crossOrigin="anonymous"
strategy="afterInteractive"
/>
)
}