/sonuc'taki otomatik üretim kaynağı sabit "giris_donusu" yazıyordu; oysa ?sihirbaz=1 üreten hiçbir yer giriş dönüşü değil — gerçek giriş dönüşü /listem'e doğrudan iniyor, /sonuc'a uğramıyor. Hero, CTA formu, arama kartı, + kapısı, boş liste ekranı ve rapor-yok CTA'sı tek yanlış kovada toplanıyordu, yani P2'nin ölçmek istediği soru ölçülmüyordu. Etiket artık ?sihirbaz=1'i üreten tarafta kuruluyor ve /sonuc üzerinden geçiriliyor; kapıdan gelenler tetikten türetiliyor. giris_donusu yalnız gerçek callback yolunda kalıyor. Güvenlik denetimi G3 · docs/ekip-raporlari/2026-09-22/07-guvenlik-denetimi.md Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
37 lines
1.3 KiB
TypeScript
37 lines
1.3 KiB
TypeScript
"use client";
|
||
|
||
import Link from "next/link";
|
||
import { ArrowRight } from "lucide-react";
|
||
import { Button } from "@/components/ui/button";
|
||
import { useTercihProfili } from "@/features/liste/hooks/use-tercih-profili";
|
||
import { sonucHref } from "@/features/sihirbaz/sihirbaz-sabitler";
|
||
|
||
/**
|
||
* Ödeme başarılı ama henüz Yapay Zeka listesi yokken gösterilen CTA: kayıtlı tercih
|
||
* profili olan adayı sihirbazı açık hâlde sonuç sayfasına götürür ve
|
||
* "sıralamanı gir" metni gösterilmez; profil yoksa ana sayfadaki sıralama
|
||
* formuna yönlendirir.
|
||
*/
|
||
export function RaporYokCta() {
|
||
const profil = useTercihProfili();
|
||
|
||
return (
|
||
<>
|
||
<Button
|
||
asChild
|
||
className="h-11 cursor-pointer bg-orange-500 text-white transition-colors duration-200 hover:bg-orange-600"
|
||
>
|
||
<Link href={profil ? sonucHref({ sihirbaz: "1", kaynak: "rapor_yok" }) : "/"}>
|
||
24'lük listeni oluştur
|
||
<ArrowRight className="size-4" aria-hidden />
|
||
</Link>
|
||
</Button>
|
||
<p className="text-center text-xs text-slate-500">
|
||
{profil
|
||
? "Sıralaman kayıtlı — sonuç sayfasındaki sihirbazla listeni kur."
|
||
: "Sıralamanı girip sonuç sayfasındaki sihirbazla listeni kur."}
|
||
</p>
|
||
</>
|
||
);
|
||
}
|