diff --git a/src/features/katalog/components/bolum-icerik.tsx b/src/features/katalog/components/bolum-icerik.tsx index c676d43..d9b5bbf 100644 --- a/src/features/katalog/components/bolum-icerik.tsx +++ b/src/features/katalog/components/bolum-icerik.tsx @@ -14,9 +14,10 @@ import { sayfaMetadata, ustSegmentOgGorseli, } from "@/lib/seo"; -import { SAYFA_BOYU, sayfaDilimi } from "./sayfalama"; +import { KATALOG_CTA_ACIKLAMA, SAYFA_BOYU, sayfaDilimi } from "./sayfalama"; import { BolumProgramListesi } from "./bolum-program-listesi"; import { VeriKaynagi } from "./veri-kaynagi"; +import { CtaSiraForm } from "@/features/sihirbaz/components/cta-sira-form"; import { SiteFooter } from "@/components/site-footer"; import { Skeleton } from "@/components/ui/skeleton"; @@ -252,6 +253,14 @@ export function BolumIcerik({ slug, sayfa }: { slug: string; sayfa: number }) { /> + + {/* Üniversite sayfasıyla aynı konum ve aynı kart: liste + sayfalama altı */} +
+ +
diff --git a/src/features/katalog/components/sayfalama.tsx b/src/features/katalog/components/sayfalama.tsx index 5cd3c52..f86685f 100644 --- a/src/features/katalog/components/sayfalama.tsx +++ b/src/features/katalog/components/sayfalama.tsx @@ -13,6 +13,17 @@ export function sayfaDilimi(liste: readonly T[], sayfa: number): T[] { return liste.slice((sayfa - 1) * SAYFA_BOYU, sayfa * SAYFA_BOYU); } +/** + * Üniversite ve bölüm tablo sayfalarının altındaki CtaSiraForm kartının köprü + * cümlesi — iki sayfa birebir aynı metni kullansın diye tek kaynak. Sunucu + * bileşenlerinden okunduğu için "use client" olan cta-sira-form.tsx'te + * duramaz (istemci modülünün sabitleri sunucuda değer olarak okunamaz). + * Vaat içermez: tablo geçmiş veridir, ürün sıralamaya yakın programları + * risk seviyesine göre ayırıp listeler. + */ +export const KATALOG_CTA_ACIKLAMA = + "Bu tablodaki tabanlar geçmiş yerleştirmelerin sonucu; bu yıl değişebilir. Sıralamanı gir, tabanı sıralamana yakın programları risk seviyesine göre ayrılmış hâlde listeleyelim. Ücretsiz, üyelik gerekmez."; + /** * Statik path tabanlı sayfalama navigasyonu. 1. sayfa taban URL'in * kendisidir (/bolum/x), sonrakiler /bolum/x/sayfa/2 ... — hepsi gerçek diff --git a/src/features/katalog/components/universite-icerik.tsx b/src/features/katalog/components/universite-icerik.tsx index c473a84..207f9b7 100644 --- a/src/features/katalog/components/universite-icerik.tsx +++ b/src/features/katalog/components/universite-icerik.tsx @@ -18,7 +18,12 @@ import { } from "@/lib/seo"; import { CtaSiraForm } from "@/features/sihirbaz/components/cta-sira-form"; import { SiteFooter } from "@/components/site-footer"; -import { Sayfalama, SAYFA_BOYU, sayfaDilimi } from "./sayfalama"; +import { + KATALOG_CTA_ACIKLAMA, + Sayfalama, + SAYFA_BOYU, + sayfaDilimi, +} from "./sayfalama"; import { PagePixelDivider } from "@/components/pixel-decor"; import { UniversiteKonumHaritasi } from "./universite-konum-haritasi"; import { uniUlkeKonum } from "@/lib/harita-ulkeler"; @@ -351,7 +356,8 @@ export function UniversiteIcerik({
diff --git a/src/features/sihirbaz/components/cta-sira-form.tsx b/src/features/sihirbaz/components/cta-sira-form.tsx index 6003c8f..5044d41 100644 --- a/src/features/sihirbaz/components/cta-sira-form.tsx +++ b/src/features/sihirbaz/components/cta-sira-form.tsx @@ -60,8 +60,19 @@ const KANITLAR = [ * Profilsiz CTA adayı ana sayfaya göndermez: buton alttan bir çekmece açar, * sıralama girişi ve sihirbaz adayın bulunduğu sayfanın bağlamında akar. * Tasarım gerekçesi için bkz. docs/tasarim/cta-cekmece-tasarimi.md. + * + * `baslik` iki kartın (profilli/profilsiz) başlığını, `aciklama` yalnız + * profilsiz karttaki paragrafı değiştirir — katalog sayfaları kartı üstündeki + * tabloya bağlayan köprü cümlesini buradan verir. Başlık ve açıklamalar + * yerleşme vaadi içermez: ürün sıralamaya yakın programları listeler. */ -export function CtaSiraForm({ baslik }: { baslik?: string }) { +export function CtaSiraForm({ + baslik, + aciklama, +}: { + baslik?: string; + aciklama?: string; +}) { const profil = useTercihProfili(); const router = useRouter(); @@ -146,7 +157,7 @@ export function CtaSiraForm({ baslik }: { baslik?: string }) { return (

- {baslik ?? "Sıralamanla nereye yerleşirsin? Saniyede gör."} + {baslik ?? "Sıralamana yakın programlar hangileri? Saniyede gör."}

Sıralaman kayıtlı ({profil.sira.toLocaleString("tr-TR")}. sıra) — @@ -170,12 +181,11 @@ export function CtaSiraForm({ baslik }: { baslik?: string }) { className="rounded-2xl border border-primary/20 bg-primary/5 p-6 sm:p-8" >

- {baslik ?? "Sıralamanla nereye yerleşirsin? Saniyede gör."} + {baslik ?? "Sıralamana yakın programlar hangileri? Saniyede gör."}

- YKS başarı sıralamanı gir; gerçek YÖK Atlas verisiyle sıralamana uygun - hayal, dengeli ve garanti dilimlerindeki programları anında listele. - Ücretsiz, üyelik gerekmez. + {aciklama ?? + "YKS başarı sıralamanı gir; gerçek YÖK Atlas verisiyle sıralamana uygun hayal, dengeli ve garanti dilimlerindeki programları anında listele. Ücretsiz, üyelik gerekmez."}