fix(sonuc): ilk ekran ödeme öncesi tek gerçek önizlemeyi gösterir #5

Merged
bilal merged 8 commits from funnel/sonuc-ilk-ekran into main 2026-09-22 23:33:58 +03:00
2 changed files with 13 additions and 2 deletions
Showing only changes of commit 72ef3b8669 - Show all commits

View File

@@ -25,7 +25,7 @@ import { useGorunumOlayi } from "@/components/use-gorunum-olayi";
import { olay, siraKovasi } from "@/lib/analitik"; import { olay, siraKovasi } from "@/lib/analitik";
import { dilimdenRisk, riskHesapla } from "@/lib/risk"; import { dilimdenRisk, riskHesapla } from "@/lib/risk";
import { turkishSlugify } from "@/lib/slug"; import { turkishSlugify } from "@/lib/slug";
import { PROFIL_DEGISTI_EVENT, sonucHref } from "@/features/sihirbaz/sihirbaz-sabitler"; import { listemUretHref, PROFIL_DEGISTI_EVENT } from "@/features/sihirbaz/sihirbaz-sabitler";
import { tercihProfiliOku } from "@/features/sihirbaz/sihirbaz-profil"; import { tercihProfiliOku } from "@/features/sihirbaz/sihirbaz-profil";
import type { TadimlikSatir, TadimlikTip } from "@/lib/tadimlik-havuzu"; import type { TadimlikSatir, TadimlikTip } from "@/lib/tadimlik-havuzu";
@@ -97,6 +97,13 @@ export function TadimlikSatiri({
return () => window.removeEventListener(PROFIL_DEGISTI_EVENT, guncelle); return () => window.removeEventListener(PROFIL_DEGISTI_EVENT, guncelle);
}, [sira, tur, ilk]); }, [sira, tur, ilk]);
// SERİ KIRILMASI (22 Eyl 2026): bu olay bu değişiklikten önce /sonuc'un
// ~2.200 px altında, tablonun arkasında yaşıyordu; artık tadımlık ilk
// ekranda. Adet bir gecede 0'dan yukarı fırlayacak — kırık ölçüm değil,
// kazanılan payda. Öncesi ve sonrası KARŞILAŞTIRILAMAZ; anlamlı ölçüt
// bundan sonra "tadımlık CTA tıklaması / tadımlık görüntülenmesi" oranıdır.
// (Not analitik.ts'e değil buraya yazıldı: o dosya aynı gece başka bir
// dalın altında — CTO şartnamesi, çakışma kararı #1.)
const gorunumRef = useGorunumOlayi<HTMLElement>("tadimlik_goruntulendi", { const gorunumRef = useGorunumOlayi<HTMLElement>("tadimlik_goruntulendi", {
kova: siraKovasi(sira), kova: siraKovasi(sira),
}); });
@@ -108,7 +115,9 @@ export function TadimlikSatiri({
const seri = raporSiraSerisi(p.siraGecmisi, p.ilkYil); const seri = raporSiraSerisi(p.siraGecmisi, p.ilkYil);
const taban = p.efektifSira ?? programEtkinSira(seri); const taban = p.efektifSira ?? programEtkinSira(seri);
const devlet = p.unitur === "DEVLET"; const devlet = p.unitur === "DEVLET";
const girisUrl = `/giris?callback=${encodeURIComponent(sonucHref())}`; // Giriş dönüşü kullanıcıyı /sonuc'a geri bırakmaz: callback doğrudan
// üretimin koştuğu /listem'e iner, liste ek tık olmadan orada başlar.
const girisUrl = `/giris?callback=${encodeURIComponent(listemUretHref("tadimlik"))}`;
return ( return (
// first:mt-0 — /sonuc'ta manuel liste boşken ManuelHarita null döndüğü // first:mt-0 — /sonuc'ta manuel liste boşken ManuelHarita null döndüğü

View File

@@ -29,6 +29,8 @@ const IZINLI_KAYNAKLAR = new Set([
"giris_donusu", "giris_donusu",
"bos_durum", "bos_durum",
"odeme_sonrasi", "odeme_sonrasi",
// /sonuc'taki girişsiz tadımlık CTA'sı (tadimlik-satiri.tsx).
"tadimlik",
// /sonuc'ta ?sihirbaz=1 ile otomatik başlayan üretimin gerçek yüzeyleri. // /sonuc'ta ?sihirbaz=1 ile otomatik başlayan üretimin gerçek yüzeyleri.
// Eskiden hepsi "giris_donusu" sayılıyordu (güvenlik denetimi G3). // Eskiden hepsi "giris_donusu" sayılıyordu (güvenlik denetimi G3).
"hero", "hero",