diff --git a/src/features/odeme/components/paket-satinal.tsx b/src/features/odeme/components/paket-satinal.tsx
index d5cb8d6..fcca771 100644
--- a/src/features/odeme/components/paket-satinal.tsx
+++ b/src/features/odeme/components/paket-satinal.tsx
@@ -154,7 +154,7 @@ async function PaketCta() {
{/* ?uret=1: rapor varsa /listem raporu gösterir (bayrak yok
sayılır), yoksa bekleyen seçimlerle üretim başlar; seçim
de yoksa boş durum sihirbaza yönlendirir. */}
-
+
listeni oluştur
diff --git a/src/features/sihirbaz/components/sihirbaz-cagri-karti.tsx b/src/features/sihirbaz/components/sihirbaz-cagri-karti.tsx
index 888128e..a89c8fc 100644
--- a/src/features/sihirbaz/components/sihirbaz-cagri-karti.tsx
+++ b/src/features/sihirbaz/components/sihirbaz-cagri-karti.tsx
@@ -17,7 +17,14 @@ import { SihirbazModal } from "./sihirbaz-modal";
// Üretim /listem'de koşar (bkz. listem/liste-uretici.tsx); sihirbaz
// tamamlanınca seçimler storage'a yazılıp kullanıcı buraya yönlendirilir.
-const LISTEM_URET_HREF = "/listem?uret=1";
+// `kaynak` denemenin hangi yüzeyden başladığını ölçer (bkz.
+// rapor/components/uretim-basladi-olayi.tsx — izinli değerler orada).
+// `uret=1` HER ZAMAN ilk parametre kalmalı: giris-karti.tsx:31 funnel
+// metnini `callbackURL.startsWith("/listem?uret=1")` ile seçiyor, sıra
+// bozulursa girişteki "Seçimlerin hazır" metni kaybolur.
+function listemUretHref(kaynak: string) {
+ return `/listem?uret=1&kaynak=${kaynak}`;
+}
// SSR'da false, client'ta true — storage'a ancak mount sonrası dokunuruz
const bosAbone = () => () => {};
@@ -182,10 +189,12 @@ export function SihirbazBolumu({
await modalCikisiniOynat();
setElleAcik(false);
if (!girisliMi) {
- router.push(`/giris?callback=${encodeURIComponent(LISTEM_URET_HREF)}`);
+ router.push(
+ `/giris?callback=${encodeURIComponent(listemUretHref("sihirbaz"))}`,
+ );
return;
}
- router.push(LISTEM_URET_HREF);
+ router.push(listemUretHref("sihirbaz"));
}
/**
@@ -213,7 +222,7 @@ export function SihirbazBolumu({
if (otomatikGonder && !otomatikBasladi.current) {
otomatikBasladi.current = true;
// replace: geri tuşu bu sayfaya dönünce tekrar /listem'e sekmesin
- router.replace(LISTEM_URET_HREF);
+ router.replace(listemUretHref("giris_donusu"));
}
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [otomatikGonder]);
@@ -242,7 +251,7 @@ export function SihirbazBolumu({
// kaydedilmesi olarak sunulur. Girişten dönüşte üretim /listem'de başlar.
// Sinyal URL'den (?hazir=1) gelir ki SSR'da doğru panel render edilsin.
const girisBekliyor = Boolean(!girisliMi && secimlerHazir && !raporVar);
- const girisUrl = `/giris?callback=${encodeURIComponent(LISTEM_URET_HREF)}`;
+ const girisUrl = `/giris?callback=${encodeURIComponent(listemUretHref("hazir_cta"))}`;
// Kapı 1 ölçümü: panel yalnızca girisBekliyor dalında render edilir; ref
// başka dalda bağlanmadığından observer da yalnızca o durumda kurulur.
const hazirPanelRef = useGorunumOlayi("hazir_panel_goruntulendi");