24bd28fcca
- 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>
33 lines
1.2 KiB
TypeScript
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"
|
|
/>
|
|
)
|
|
}
|