"use client";

import { ADSENSE_CLIENT_ID } from "@/config/env";
import Script from "next/script";
import { useEffect } from "react";

declare global {
    interface Window {
        adsbygoogle?: unknown[];
        __adsenseAutoAdsEnabled?: boolean;
    }
}

export default function AdSenseScript() {
    useEffect(() => {
        if (!ADSENSE_CLIENT_ID || window.__adsenseAutoAdsEnabled) return;
        window.__adsenseAutoAdsEnabled = true;

        try {
            (window.adsbygoogle = window.adsbygoogle || []).push({
                google_ad_client: ADSENSE_CLIENT_ID,
                enable_page_level_ads: true,
            });
        } catch {
            // AdSense script not ready yet or blocked (ad blocker, offline, etc.)
        }
    }, []);

    if (!ADSENSE_CLIENT_ID) return null;

    return (
        <Script
            async
            src={`https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=${ADSENSE_CLIENT_ID}`}
            crossOrigin="anonymous"
            strategy="afterInteractive"
        />
    );
}
