import Link from "next/link"; import { redirect } from "next/navigation"; import { getSession } from "@/lib/session"; import { PixelCorner } from "@/components/pixel-decor"; import { Skeleton } from "@/components/ui/skeleton"; import { GirisForm } from "./giris-form"; import { GirisBaslik } from "./giris-baslik"; export async function GirisKarti({ callback, hata, }: { callback?: string; hata?: string; }) { // Yalnız site içi yol: "//evil.com" ve "/\\evil.com" protokol-göreli adres // sayılır, açık yönlendirmeye izin verme (dogrula-karti.tsx ile aynı kalkan). const callbackURL = callback && /^\/(?![/\\])/.test(callback) ? callback : "/"; // Magic link doğrulaması başarısız olunca errorCallbackURL buraya düşürür // (bkz. giris-form.tsx ve /giris/dogrula) — ham INVALID_TOKEN yerine // dostça bir mesaj gösterip yeni bağlantı istemeye yönlendiriyoruz. const baglantiHatasi = hata === "gecersiz-baglanti"; const session = await getSession(); if (session) redirect(callbackURL); // Sihirbaz funnel'ı: seçimler yapıldı, listeye giriş kaldı. /listem?uret=1 // callback'i de aynı vaadi taşır (girişten dönüşte üretim orada başlar). const funnel = callbackURL.startsWith("/sonuc") || callbackURL.startsWith("/listem?uret=1"); return ( <>
{baglantiHatasi && (

Giriş bağlantısı geçersiz ya da süresi dolmuş

Bağlantılar 15 dakika geçerli ve tek kullanımlık. Aşağıdan yeni bir bağlantı isteyebilirsin.

)}

{funnel ? ( <> Seçimlerin hazır — giriş yap,{" "} 5 deneme kredinle listen hemen üretilsin. ) : ( <> Kayıt olduğunda{" "} 5 deneme kredisi{" "} hesabına tanımlanır — Yapay Zeka danışmana ücretsiz soru sorabilirsin. )}

Giriş yaparak verilerinin tercih önerileri üretmek amacıyla{" "} gizlilik metnindeki {" "} gibi işlenmesini ve{" "} kullanım koşullarını {" "} kabul etmiş olursun. KolayTercih yerleşme garantisi vermez.

); } // Kart, başlık, Google butonu, ayraç, e-posta alanı ve gönder butonu aynı // yerde belirir — içerik gelince zıplama olmaz. export function GirisKartiSkeleton() { return ( <>
{/* Başlık + alt metin */} {/* Google ile devam et */} {/* "veya" ayracı */}
{/* E-posta alanı + gönder butonu */}
{/* Kart altındaki yasal metin */}
); }