'use client'

import { GoogleAnalytics } from '@next/third-parties/google'
import { useConsent } from './CookieConsent'

/**
 * Google Analytics 4 (gtag.js), con DOS interruptores:
 *
 * 1. `NEXT_PUBLIC_GA_ID` en el .env. Vacío o sin poner = analítica desactivada y
 *    no se carga nada. Es el interruptor del administrador.
 * 2. El consentimiento del visitante. El sitio ya tiene un banner con la categoría
 *    «Analíticas» que se puede rechazar; cargar gtag sin mirarlo convertiría ese
 *    banner en mentira (y, con visitantes en la UE, en un problema legal). Solo se
 *    monta si la categoría está aceptada, y `useConsent` reacciona al momento: en
 *    cuanto se acepta entra, y si se revoca deja de renderizarse.
 *
 * El componente es el oficial de Next (`@next/third-parties`), que carga el mismo
 * gtag.js pero después de la hidratación, para no penalizar la primera pintada.
 */
export function Analytics() {
  const consent = useConsent('analytics')
  const gaId = process.env.NEXT_PUBLIC_GA_ID

  if (!gaId || !consent) return null
  return <GoogleAnalytics gaId={gaId} />
}
