"use client";

import { useEffect } from "react";

const GTM_ID = "GTM-NXCTJ2V2";

export default function GTMProvider() {
  useEffect(() => {
    // Initialize dataLayer
    window.dataLayer = window.dataLayer || [];
    window.dataLayer.push({
      "gtm.start": new Date().getTime(),
      event: "gtm.js",
    });

    // Create and inject GTM script
    const script = document.createElement("script");
    script.async = true;
    script.src = `https://www.googletagmanager.com/gtm.js?id=${GTM_ID}`;
    document.head.appendChild(script);

    return () => {
      // Cleanup on unmount
      if (script.parentNode) {
        script.parentNode.removeChild(script);
      }
    };
  }, []);

  return null;
}

// Type declaration for dataLayer
declare global {
  interface Window {
    dataLayer: Record<string, unknown>[];
  }
}
