diff --git a/docs/tasarim/DESIGN.md b/docs/tasarim/DESIGN.md index 18df9ce..358712c 100644 --- a/docs/tasarim/DESIGN.md +++ b/docs/tasarim/DESIGN.md @@ -453,8 +453,11 @@ bulunulan şehir `border-primary bg-primary text-white` + `aria-current="page"`. "İstanbul Üniversiteleri Taban Puanları 2026", kimlik hapları (`MapPin` il + üniversite sayısı), özet paragraf; sağda (lg, 24rem sütun) ya da altta (telefon) **şehri temsil eden piksel harita** `SehirPikselHaritasi`. Sonra kompakt `CtaSiraForm`, `PagePixelDivider` - (seed 71), devlet / vakıf / KKTC-yurt dışı öbekleri (`UniLinkleri`), "Diğer şehirler" - çipleri ve mavi CTA bandı. Şehir adı `trBaslikDuzeni` + tire sonrası baş harf + (seed 71), devlet / vakıf / KKTC-yurt dışı öbekleri — her biri §4.15 **liste satırı** + (`UniSatirlari`: kenarlıklı `rounded-xl` liste, 48 px logo, `SATIR_AD_DUZ` ad, `SATIR_META` + içinde tür çipi + program sayısı, satırın tamamı link, sağda kayan ok; Bilal, 24 Eyl 2026: + "il kısmında üniler küçük gözüküyor" — `/universiteler` dizinindeki iki sütunlu kompakt + `UniLinkleri` burada kullanılmaz), "Diğer şehirler" çipleri ve mavi CTA bandı. Şehir adı `trBaslikDuzeni` + tire sonrası baş harf (Bakü-Azerbaycan). Bir üniversite programı olan her ilde sayılır (ODTÜ Ankara + KKTC). - **Şehir piksel haritası** — `sehir-piksel-haritasi.tsx`: **hero'daki dot-matrix Türkiye'nin kendisi** (Bilal, 24 Eyl 2026: ince taramalı ilk sürüm "oyunsu Apple/Duolingo hissine diff --git a/src/features/katalog/components/il-icerik.tsx b/src/features/katalog/components/il-icerik.tsx index da25165..a4c53ea 100644 --- a/src/features/katalog/components/il-icerik.tsx +++ b/src/features/katalog/components/il-icerik.tsx @@ -2,6 +2,16 @@ import type { Metadata } from "next"; import Link from "next/link"; import { notFound } from "next/navigation"; import { Building2, ChevronRight, Landmark, MapPin } from "lucide-react"; +import { + SATIR_AD_DUZ, + SATIR_CIP, + SATIR_GRUP, + SATIR_META, +} from "@/components/liste-satiri"; +import { UniLogo } from "@/components/uni-logo"; +import { trBaslikDuzeni } from "@/lib/slug"; +import { UNITUR_ETIKET } from "@/lib/unitur"; +import { cn } from "@/lib/utils"; import { getAllIller, getAllIlSlugs, @@ -22,7 +32,6 @@ import { NavBaslik } from "./nav-baslik"; import { SehirCipleri, oneCikanIller } from "./sehir-cipleri"; import { SehirPikselHaritasi } from "./sehir-piksel-haritasi"; import { SehirYuzeyi } from "./sehir-yuzeyi"; -import { UniLinkleri } from "./universite-listesi"; const sayi = (n: number) => n.toLocaleString("tr-TR"); @@ -46,12 +55,65 @@ export function ilSayfaMetadata(slug: string): Metadata { }); } +/** + * Şehir sayfasının üniversite satırları — DESIGN.md §4.15 liste satırı + * (Bilal, 24 Eyl 2026: "il kısmında bulunan üniler küçük gözüküyor"): 48 px + * logo, `text-base font-semibold` ad, altında tür çipi + program sayısı, + * satırın tamamı üniversite sayfasına link (44 px'ten iri dokunma hedefi). + * Ad hover'ı §2.1 istisnasıyla mavi, satır zemini turuncuya döner, sağdaki + * ok kayar. Üniversitenin ana ili bu sayfadan farklıysa (ODTÜ KKTC sayfasında) + * il de metada yazar. + */ +function UniSatirlari({ uniler, buIl }: { uniler: UniOzet[]; buIl: string }) { + return ( +