Integrate Rybbit analytics and enhance user tracking features
All checks were successful
Deploy / deploy (push) Successful in 16m7s

- Added Rybbit analytics configuration in .mcp.json for improved data collection.
- Updated layout.tsx to conditionally load the Rybbit analytics script in production.
- Enhanced user interaction tracking in various components, including GirisForm, RevizyonKutusu, and SatinAlForm, by logging specific events.
- Updated privacy policy page to reflect new data handling practices and added a section on service providers and data transfer.
- Improved user navigation and experience by integrating Rybbit's live visitor widget in the site footer.
This commit is contained in:
bilalgursen
2026-08-02 19:29:42 +03:00
parent cc9686147e
commit 0b92f999bc
22 changed files with 499 additions and 16 deletions

View File

@@ -0,0 +1,35 @@
"use client";
// Rybbit'e giriş yapan kullanıcıyı bildirir.
//
// Neden burada: oturum zaten UserNav'da (sunucu bileşeni, Suspense içinde)
// çözülüyor. Layout'a authClient.useSession() kullanan global bir bileşen
// koymak landing'i statik olmaktan çıkarır ve ziyaret başına gereksiz bir
// auth turu attırırdı — bkz. hero-form.tsx'teki aynı gerekçe.
import { useEffect } from "react";
import { kullaniciTanit, kullaniciTemizle } from "@/lib/analitik";
export function RybbitIdentify({
kullaniciId,
eposta,
isim,
}: {
/** null = oturum yok; o cihazdaki kimlik temizlenir (çıkış sonrası) */
kullaniciId: string | null;
eposta?: string | null;
isim?: string | null;
}) {
useEffect(() => {
if (!kullaniciId) {
kullaniciTemizle();
return;
}
const traits: Record<string, string> = {};
if (eposta) traits.email = eposta;
if (isim) traits.name = isim;
kullaniciTanit(kullaniciId, traits);
}, [kullaniciId, eposta, isim]);
return null;
}