"use client"; // /paket görüntülenmesini ve ziyaretçiyi oraya getiren yüzeyi ölçer. // // Neden ayrı bileşen + layout: /paket sayfası sunucu bileşeni ve statik // kalmalı. `useSearchParams` kullanılmaz — cacheComponents açıkken Suspense // sınırı/CSR bailout gerektirir; parametre yalnızca ölçüm için lazım, mount // sonrası window.location'dan okumak yeter. import { useEffect } from "react"; import { olayBirKez } from "@/lib/analitik"; // Serbest metin analitiğe sızmasın: bilinmeyen değerler "diger"e düşer. const KAYNAKLAR = ["kilit", "kredi_bitti", "nav"] as const; export function PaketGorunumOlayi() { useEffect(() => { const ham = new URLSearchParams(window.location.search).get("kaynak"); const kaynak = KAYNAKLAR.find((k) => k === ham) ?? "diger"; // Oturum başına kaynak başına 1 kez: yenileme sayıyı şişirmesin olayBirKez("paket_goruntulendi", { kaynak }, kaynak); }, []); return null; }