"use client";

import { useEffect, useState } from "react";
import { usePathname } from "next/navigation";
import { DirectLinkBanner } from "./DirectLinkBanner";

interface AdSlotProps {
  slot: "banner" | "sidebar" | "in-content" | "rail";
  side?: "left" | "right";
  className?: string;
}

export function AdSlot({ slot, side, className }: AdSlotProps) {
  // usePathname() aktualisiert sich bei Client-Navigation (Soft-Nav). Dadurch wird die
  // Werbung pro Seite NEU bewertet — sonst blieb das Banner nach einer Soft-Navigation auf
  // der Startseite hängen (es verschwand erst bei einem harten Reload). Bugfix 30.06.2026.
  const pathname = usePathname();
  const [mounted, setMounted] = useState(false);
  const [premium, setPremium] = useState(false);

  useEffect(() => {
    setPremium(document.body.dataset.premium === "true");
    setMounted(true);
  }, []);

  const legal = ["/privacy", "/terms", "/imprint", "/contact"].includes(pathname);
  const isHome = pathname === "/"; // Startseite: GAR KEINE Werbung (Wunsch Betreiber)

  // Erst nach dem Mount rendern (kein Werbe-Flash/keine Werbung im SSR-HTML).
  if (!mounted || premium || legal || isHome) return null;

  // KotschAds: eigene Empfehlungen von kotsch.tech (kein Drittanbieter, kein Consent nötig).
  return <DirectLinkBanner slot={slot} side={side} className={className} />;
}
