diff --git a/docs/tasarim/DESIGN.md b/docs/tasarim/DESIGN.md index 358712c..c0a6e6b 100644 --- a/docs/tasarim/DESIGN.md +++ b/docs/tasarim/DESIGN.md @@ -352,8 +352,8 @@ aşağı kaymış, kare boyları farklı — ne tepeler ne bitişler hizalı.** Başlığın altında kurumun kimliği; navbar haplarının ölçüsünde: `inline-flex h-10 items-center gap-2 rounded-full border border-slate-200 bg-white px-4 text-sm font-semibold text-slate-800` + başta `size-4 text-primary` ikon (`Landmark` devlet, `Building2` vakıf, `MapPin` il). Tür -renkle değil ikonla ayrılır. Rozet (§4.2) değildir. Tür hapı etkileşimsizdir; **il hapı şehir -sayfasına link**tir (Bilal, 24 Eyl 2026: "şehirlerin geçtiği her yer tıklanabilir") — aynı +renkle değil ikonla ayrılır. Rozet (§4.2) değildir. **Devlet/vakıf hapı tür sayfasına** +(§4.18), **il hapı şehir sayfasına link**tir (Bilal, 24 Eyl 2026: "şehirlerin geçtiği her yer tıklanabilir") — aynı sınıf + `hover:border-orange-500 hover:bg-orange-50/60 hover:text-orange-500 active:scale-[0.97]`. Kural genel: bir şehir adı nerede geçerse geçsin (`/universiteler` listesi, bölüm/sonuç/listem/ tadımlık satırlarındaki tür-il-süre metası) `ilSayfaHref(il)` ile `/universiteler/[il]`'e @@ -493,6 +493,22 @@ bulunulan şehir `border-primary bg-primary text-white` + `aria-current="page"`. üst satır). Kareler büyür, il kadraja gelir; ısı fırçası viewBox'ı canlı okur. Hareketi azalt açıkken kutuya doğrudan atlanır. Sayfa başına tek yakınlaşma. +### 4.18 Tür sayfaları — `/universiteler/devlet`, `/universiteler/vakif` (`tur-icerik.tsx`) +Bilal (24 Eyl 2026): "vakıf ve devlet de tıklanabilir olmalı, özel sayfalar yapabilirsin, +kreatif". Şehir sayfasının iskeleti (§4.17) ile: yol satırı, `SehirYuzeyi` başlık yüzeyi, +kimlik hapları (tür + öteki türe geçiş hapı), özet paragraf, kompakt `CtaSiraForm`, üç +`OzetKart` (üniversite / program / şehir; `grid grid-cols-2 gap-4 lg:grid-cols-3`, üçüncü +telefonda tam genişlik), "Şehre göre" çipleri (sayfa içi `#sehir-…` çapaları), şehir şehir +§4.15 `UniSatirlari`, altta mavi CTA bandı. +- **Kreatif:** başlık yüzeyindeki dot-matrix Türkiye'de bu türden üniversitesi olan **her il** + turuncu yanar (`TurkiyePikselHaritasi iller=[…]`), yakınlaşma yok — "devlet üniversiteleri + Türkiye'nin neresinde" tek bakışta. Vakıfta harita seyrek yanar; bu bilginin kendisidir. +- Tür çipi tek kaynak `TurCipi` (`src/components/tur-cipi.tsx`): devlet/vakıf (ve Vakıf MYO) + tür sayfasına link, KKTC/yurt dışı düz çip; `/sonuc`, `/listem`, tadımlık, bölüm sayfası ve + şehir/tür satırları bunu kullanır. Satırın tamamı link olan yerde kullanılmaz. +- `/universiteler` dizinindeki "Devlet Üniversiteleri" / "Vakıf Üniversiteleri" başlıkları da + tür sayfasına link. + ## 5. Yerleşim ### 5.1 Genel @@ -812,3 +828,14 @@ yok** (Bilal, 24 Eyl 2026: kaldırıldı); `FUNNEL_METINLERI` yalnız arama penc - Çekmece başlığında denenen "gerçek liste" pikseli (12×2, her kare tercihin riski) **kaldırıldı**: başlığı çok dolu gösteriyordu (Bilal, 24 Eyl 2026). Başlık sayı + ilerleme çubuğu + risk dağılımı metniyle kalır. + +### 10.9 Kayıtlı sıra satırı (katalog üstü, profilli) — `cta-sira-form.tsx` kompakt +Bilal (24 Eyl 2026): "bu kısım UI kötü, Apple görünümü yok, yazılar küçük". §1.1 "sayı +kahramandır" uygulanır: mavi bantta (§10.8 kompakt kabuk + `PikselZemin`) **iri kupa kutusu** +(`flex size-14 items-center justify-center rounded-2xl bg-white/15` + `Trophy size-7`), yanında +sıra `font-heading text-3xl font-bold leading-none tracking-tight sm:text-4xl` (Cal Sans'ta +tabular-nums yok, §3) ve +altında `text-sm font-semibold text-white/80` "sıra · Sayısal"; başlık `font-heading text-xl +font-bold leading-tight text-balance sm:text-2xl`; buton 48 px turuncu, ok sonda. Telefonda +başlık → sayı → buton alt alta ortalı; lg'de tek satır (sayı · başlık · buton). Yükseklik her +iki hâlde formu aşmaz (CLS). diff --git a/src/app/sitemap.ts b/src/app/sitemap.ts index e2e3164..f44539e 100644 --- a/src/app/sitemap.ts +++ b/src/app/sitemap.ts @@ -23,6 +23,18 @@ const staticEntries: MetadataRoute.Sitemap = [ priority: 0.8, changeFrequency: "weekly", }, + { + url: `${SITE_URL}/universiteler/devlet`, + lastModified: KATALOG_VERI_TARIHI, + priority: 0.7, + changeFrequency: "monthly", + }, + { + url: `${SITE_URL}/universiteler/vakif`, + lastModified: KATALOG_VERI_TARIHI, + priority: 0.7, + changeFrequency: "monthly", + }, { url: `${SITE_URL}/universite-siralamasi`, priority: 0.7, diff --git a/src/app/universiteler/devlet/page.tsx b/src/app/universiteler/devlet/page.tsx new file mode 100644 index 0000000..61d3ae5 --- /dev/null +++ b/src/app/universiteler/devlet/page.tsx @@ -0,0 +1,22 @@ +import { Suspense } from "react"; +import type { Metadata } from "next"; +import { SiteFooter } from "@/components/site-footer"; +import { + TurIcerik, + TurIcerikSkeleton, + turSayfaMetadata, +} from "@/features/katalog/components/tur-icerik"; + +// Statik segment: /universiteler/[il] dinamik rotasından önce eşleşir. +export const metadata: Metadata = turSayfaMetadata("devlet"); + +export default function DevletPage() { + return ( + <> + }> + + + + + ); +} diff --git a/src/app/universiteler/vakif/page.tsx b/src/app/universiteler/vakif/page.tsx new file mode 100644 index 0000000..a37bd67 --- /dev/null +++ b/src/app/universiteler/vakif/page.tsx @@ -0,0 +1,22 @@ +import { Suspense } from "react"; +import type { Metadata } from "next"; +import { SiteFooter } from "@/components/site-footer"; +import { + TurIcerik, + TurIcerikSkeleton, + turSayfaMetadata, +} from "@/features/katalog/components/tur-icerik"; + +// Statik segment: /universiteler/[il] dinamik rotasından önce eşleşir. +export const metadata: Metadata = turSayfaMetadata("vakif"); + +export default function VakifPage() { + return ( + <> + }> + + + + + ); +} diff --git a/src/components/tur-cipi.tsx b/src/components/tur-cipi.tsx new file mode 100644 index 0000000..149932a --- /dev/null +++ b/src/components/tur-cipi.tsx @@ -0,0 +1,41 @@ +import Link from "next/link"; +import { SATIR_CIP } from "@/components/liste-satiri"; +import { UNITUR_ETIKET, turSayfaHref } from "@/lib/unitur"; +import { cn } from "@/lib/utils"; + +/** + * Liste satırlarındaki tür çipi (DESIGN.md §4.15) — tek kaynak. Devlet ve + * vakıf tür sayfasına link (Bilal, 24 Eyl 2026: "vakıf ve devlet de + * tıklanabilir olmalı"); KKTC/yurt dışı gibi tür sayfası olmayanlar düz çip. + * Hover §2.1 tek turuncu. Satırın tamamı link olan yerde kullanılmaz + * (iç içe ). + */ +export function TurCipi({ + unitur, + className, + onClick, +}: { + unitur: string | null | undefined; + className?: string; + /** Tıklanabilir satırın içinde olayın satıra yayılmasını kesmek için */ + onClick?: (e: React.MouseEvent) => void; +}) { + if (!unitur) return null; + const etiket = UNITUR_ETIKET[unitur]?.cip ?? unitur; + const href = turSayfaHref(unitur); + if (!href) return {etiket}; + return ( + + {etiket} + + ); +} diff --git a/src/features/katalog/components/bolum-program-listesi.tsx b/src/features/katalog/components/bolum-program-listesi.tsx index 311bb9a..ec0f29c 100644 --- a/src/features/katalog/components/bolum-program-listesi.tsx +++ b/src/features/katalog/components/bolum-program-listesi.tsx @@ -5,8 +5,8 @@ import Link from "next/link"; import { ChevronDown, ChevronUp } from "lucide-react"; import type { Program } from "@/types/yokatlas"; import { ilSayfaHref, trBaslikDuzeni } from "@/lib/slug"; +import { TurCipi } from "@/components/tur-cipi"; import { cn } from "@/lib/utils"; -import { UNITUR_ETIKET } from "@/lib/unitur"; import { VERI_YIL_SAYISI } from "@/lib/veri-yillari"; import { Sayfalama, SAYFA_BOYU } from "./sayfalama"; import { @@ -22,7 +22,6 @@ import { SATIR_BUTON_BASLIK, SATIR_BUTON_HUCRE, SATIR_BUTON_KABI, - SATIR_CIP, SATIR_GRUP, SATIR_IKINCIL_LINK, SATIR_META, @@ -242,12 +241,7 @@ export function BolumProgramListesi({ )} - {p.unitur ? ( - - {UNITUR_ETIKET[p.unitur]?.cip ?? - trBaslikDuzeni(p.unitur)} - - ) : null} + {p.il ? ( n.toLocaleString("tr-TR"); @@ -55,57 +46,6 @@ 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 ( -
    - {uniler.map((u) => { - const tur = u.unitur ? UNITUR_ETIKET[u.unitur]?.cip : null; - const digerIl = u.il && u.il !== buIl ? trBaslikDuzeni(u.il) : null; - return ( -
  1. - - - - - - {u.ad} - - - {tur ? {tur} : null} - {digerIl ? {digerIl} : null} - {sayi(u.programSayisi)} program - - - - - -
  2. - ); - })} -
- ); -} - function UniGrubu({ baslik, uniler, @@ -124,7 +64,7 @@ function UniGrubu({ {sayi(uniler.length)}
- + ); } diff --git a/src/features/katalog/components/sehir-piksel-haritasi.tsx b/src/features/katalog/components/sehir-piksel-haritasi.tsx index 4721c5c..0c7efe6 100644 --- a/src/features/katalog/components/sehir-piksel-haritasi.tsx +++ b/src/features/katalog/components/sehir-piksel-haritasi.tsx @@ -237,14 +237,23 @@ function PikselSvg({ const TUM_IL_HUCRELERI = Object.values(IL_HUCRELERI).flat(); -/** Türkiye; `il` (DB biçimi, ör. "İZMİR") turuncu karelerle yanar. */ +/** + * Türkiye; `il` (DB biçimi, ör. "İZMİR") turuncu karelerle yanar. `iller` + * verilirse hepsi yanar (tür sayfası: devlet üniversitesi olan her il) ve + * yakınlaşma yapılmaz — ülkenin tamamı görünür. + */ export function TurkiyePikselHaritasi({ il, + iller, ...props -}: HaritaProps & { il: string }) { - const harita = markup(`tr:${il}`, () => - markupUret(TUM_IL_HUCRELERI, IL_HUCRELERI[il] ?? [], null), - ); +}: HaritaProps & { il?: string; iller?: readonly string[] }) { + const liste = iller ?? (il ? [il] : []); + const anahtar = `tr:${liste.join("|")}`; + const harita = markup(anahtar, () => { + const vurgu = liste.flatMap((ad) => IL_HUCRELERI[ad] ?? []); + const h = markupUret(TUM_IL_HUCRELERI, vurgu, null); + return iller ? { ...h, sinir: null } : h; + }); return ; } diff --git a/src/features/katalog/components/tur-icerik.tsx b/src/features/katalog/components/tur-icerik.tsx new file mode 100644 index 0000000..5649e1a --- /dev/null +++ b/src/features/katalog/components/tur-icerik.tsx @@ -0,0 +1,279 @@ +import type { Metadata } from "next"; +import Link from "next/link"; +import { + Building2, + ChevronRight, + Landmark, + LayoutList, + MapPin, +} from "lucide-react"; +import { getAllUniversiteler, type UniOzet } from "../katalog-queries"; +import { CtaSiraForm } from "@/features/sihirbaz/components/cta-sira-form"; +import { PagePixelDivider } from "@/components/pixel-decor"; +import { OzetKart } from "@/components/ozet-kart"; +import { Skeleton } from "@/components/ui/skeleton"; +import { + JsonLd, + breadcrumbJsonLd, + sayfaMetadata, + ustSegmentOgGorseli, +} from "@/lib/seo"; +import { ilSayfaHref, trBaslikDuzeni, turkishSlugify } from "@/lib/slug"; +import { TUR_SAYFALARI, type TurSlug } from "@/lib/unitur"; +import { BASLIK_YILI, SON_YIL, TERCIH_YILI } from "@/lib/veri-yillari"; +import { NavBaslik } from "./nav-baslik"; +import { TurkiyePikselHaritasi } from "./sehir-piksel-haritasi"; +import { SehirYuzeyi } from "./sehir-yuzeyi"; +import { UniSatirlari } from "./uni-satirlari"; + +const sayi = (n: number) => n.toLocaleString("tr-TR"); + +function turUnileri(tur: TurSlug): UniOzet[] { + const set = new Set(TUR_SAYFALARI[tur].uniturler); + return getAllUniversiteler().filter((u) => u.unitur && set.has(u.unitur)); +} + +export function turSayfaMetadata(tur: TurSlug): Metadata { + const t = TUR_SAYFALARI[tur]; + const uniler = turUnileri(tur); + const program = uniler.reduce((a, u) => a + u.programSayisi, 0); + return sayfaMetadata({ + title: `${t.ad} Taban Puanları ve Sıralamaları ${BASLIK_YILI}`, + description: `Türkiye'deki ${uniler.length} ${t.tekil}nin ${SON_YIL} YKS yerleştirme verileri: ${sayi(program)} programın taban puanları, başarı sıralamaları ve kontenjanları, şehir şehir. ${TERCIH_YILI} tercih rehberi.`, + path: `/universiteler/${t.slug}`, + openGraph: { + images: ustSegmentOgGorseli( + "/universiteler", + "Üniversitelerin taban puanları ve sıralamaları — KolayTercih", + ), + }, + }); +} + +/** + * /universiteler/devlet ve /universiteler/vakif (DESIGN.md §4.18). Şehir + * sayfasıyla aynı iskelet; kreatif fark: başlık yüzeyindeki dot-matrix + * Türkiye'de bu türden üniversitesi olan **her il** turuncu yanar, yakınlaşma + * yok — "devlet üniversiteleri Türkiye'nin neresinde" tek bakışta. Altında + * üç özet kartı, şehir çipleri (bu türün il başına sayısı) ve şehir şehir + * §4.15 liste satırları. + */ +export function TurIcerik({ tur }: { tur: TurSlug }) { + const t = TUR_SAYFALARI[tur]; + const uniler = turUnileri(tur); + const program = uniler.reduce((a, u) => a + u.programSayisi, 0); + // Şehir öbekleri: üniversitenin ana ili (UniOzet.il); ili boş olan sona. + const ilOzet = new Map(); + const ilsiz: UniOzet[] = []; + for (const u of uniler) { + if (!u.il) { + ilsiz.push(u); + continue; + } + let k = ilOzet.get(u.il); + if (!k) { + k = { il: u.il, ad: trBaslikDuzeni(u.il), uniler: [] }; + ilOzet.set(u.il, k); + } + k.uniler.push(u); + } + const sehirler = [...ilOzet.values()].sort((a, b) => + a.ad.localeCompare(b.ad, "tr-TR"), + ); + const cipSehirler = [...sehirler].sort( + (a, b) => + b.uniler.length - a.uniler.length || a.ad.localeCompare(b.ad, "tr-TR"), + ); + const Ikon = tur === "devlet" ? Landmark : Building2; + const DigerIkon = tur === "devlet" ? Building2 : Landmark; + const ctaBaslik = `Sıralaman ${t.tekil} tabanlarının neresinde?`; + const digerTur = tur === "devlet" ? TUR_SAYFALARI.vakif : TUR_SAYFALARI.devlet; + + return ( +
+ + + + + + s.il)} + etiket={`${t.ad} Türkiye haritasında: ${sehirler.length} il`} + doldur + /> + } + metin={ +
+

+ {t.ad} Taban Puanları {BASLIK_YILI} +

+ {/* Kimlik hapları (§4.12): tür + öteki türe geçiş */} +

+ + + {tur === "devlet" ? "Devlet" : "Vakıf"} + + + + {digerTur.ad} + +

+

+ Türkiye'de {SON_YIL} YKS yerleştirmesinde öğrenci alan{" "} + + {sayi(uniler.length)} {t.tekil} + + , {sayi(sehirler.length)} şehirde toplam{" "} + {sayi(program)} program açtı. Haritada turuncu + yanan her ilde en az bir {t.tekil} var. Üniversiteye tıklayınca + programlarının taban puanlarını, başarı sıralamalarını ve + kontenjanlarını fakülte fakülte görürsün; {TERCIH_YILI} tercihleri + için rehber niteliğindedir. +

+
+ } + /> + +
+ +
+ +
+ + + +
+ + + +
+

+ Şehre göre + + {sayi(sehirler.length)} şehir + +

+
+
+ + {sehirler.map((s) => ( +
+

+ + {s.ad} + + + {sayi(s.uniler.length)} + +

+ +
+ ))} + {ilsiz.length > 0 ? ( +
+

+ Diğer +

+ +
+ ) : null} + +
+ +
+
+ ); +} + +export function TurIcerikSkeleton() { + return ( +
+ + +
+ + + +
+
+ ); +} diff --git a/src/features/katalog/components/uni-satirlari.tsx b/src/features/katalog/components/uni-satirlari.tsx new file mode 100644 index 0000000..d53032f --- /dev/null +++ b/src/features/katalog/components/uni-satirlari.tsx @@ -0,0 +1,67 @@ +import Link from "next/link"; +import { + SATIR_AD, + SATIR_GRUP, + SATIR_IKINCIL_LINK, + SATIR_META, +} from "@/components/liste-satiri"; +import { TurCipi } from "@/components/tur-cipi"; +import { UniLogo } from "@/components/uni-logo"; +import { ilSayfaHref, trBaslikDuzeni } from "@/lib/slug"; +import type { UniOzet } from "../katalog-queries"; + +const sayi = (n: number) => n.toLocaleString("tr-TR"); + +/** + * Şehir ve tür sayfalarının üniversite satırları — DESIGN.md §4.15 liste + * satırı (Bilal, 24 Eyl 2026: "il kısmında üniler küçük gözüküyor"): 48 px + * logo, `SATIR_AD` ad (hover mavi, §2.1 istisnası), altında tür çipi + * (tür sayfasına link) + il (şehir sayfasına link) + program sayısı. Satırın + * tamamı link değildir: tür ve il ayrı hedeflere gider (iç içe olmaz). + * `gizliIl`: bulunulan şehir sayfasında aynı il yazılmaz. + */ +export function UniSatirlari({ + uniler, + gizliIl, +}: { + uniler: UniOzet[]; + gizliIl?: string | null; +}) { + return ( +
    + {uniler.map((u) => { + const il = u.il && u.il !== gizliIl ? u.il : null; + return ( +
  1. + + + + + + + {u.ad} + + + + {il ? ( + + {trBaslikDuzeni(il)} + + ) : null} + {sayi(u.programSayisi)} program + + + +
  2. + ); + })} +
+ ); +} diff --git a/src/features/katalog/components/universite-icerik.tsx b/src/features/katalog/components/universite-icerik.tsx index 86b3f1e..6b6d3e6 100644 --- a/src/features/katalog/components/universite-icerik.tsx +++ b/src/features/katalog/components/universite-icerik.tsx @@ -19,7 +19,7 @@ import { bolumSlugFromIsim, } from "../katalog-queries"; import { ilSayfaHref, trBaslikDuzeni } from "@/lib/slug"; -import { UNITUR_ETIKET, uniturDevletMi } from "@/lib/unitur"; +import { UNITUR_ETIKET, turSayfaHref, uniturDevletMi } from "@/lib/unitur"; import { JsonLd, breadcrumbJsonLd, @@ -569,14 +569,31 @@ export function UniversiteIcerik({ {turEtiketi || uni.il ? (

{turEtiketi ? ( - - {uniturDevletMi(uni.unitur) ? ( + // Devlet/vakıf hapı tür sayfasına gider (DESIGN.md §4.12); KKTC + // ve yurt dışında tür sayfası yok, hap düz kalır. + (() => { + const href = turSayfaHref(uni.unitur); + const ikon = uniturDevletMi(uni.unitur) ? ( ) : ( - )} - {turEtiketi.cip} - + ); + return href ? ( + + {ikon} + {turEtiketi.cip} + + ) : ( + + {ikon} + {turEtiketi.cip} + + ); + })() ) : null} {uni.il ? ( // İl hapı şehir sayfasına gider (Bilal, 24 Eyl 2026: "şehirlerin diff --git a/src/features/katalog/components/universite-listesi.tsx b/src/features/katalog/components/universite-listesi.tsx index 8faa447..a9c22e8 100644 --- a/src/features/katalog/components/universite-listesi.tsx +++ b/src/features/katalog/components/universite-listesi.tsx @@ -107,7 +107,12 @@ export function UniversiteKatalogu() {

- Devlet Üniversiteleri + + Devlet Üniversiteleri + {sayi(devlet.length)} @@ -117,7 +122,12 @@ export function UniversiteKatalogu() {

- Vakıf Üniversiteleri + + Vakıf Üniversiteleri + {sayi(vakif.length)} diff --git a/src/features/liste/components/program-tablosu.tsx b/src/features/liste/components/program-tablosu.tsx index 9398c4e..f3ebbe5 100644 --- a/src/features/liste/components/program-tablosu.tsx +++ b/src/features/liste/components/program-tablosu.tsx @@ -22,6 +22,7 @@ import type { } from "@/types/yokatlas"; import { DILIM_ETIKET, riskHesapla } from "@/lib/risk"; import { bolumSayfaSlug, ilSayfaHref, trBaslikDuzeni, uniSayfaSlug } from "@/lib/slug"; +import { TurCipi } from "@/components/tur-cipi"; import { cn } from "@/lib/utils"; import { VERI_YIL_SAYISI } from "@/lib/veri-yillari"; import { @@ -52,7 +53,6 @@ import { SATIR_BUTON_BASLIK, SATIR_BUTON_HUCRE, SATIR_BUTON_KABI, - SATIR_CIP, SATIR_ALT_GRUP, SATIR_IKINCIL_LINK, SATIR_META, @@ -334,7 +334,6 @@ function ProgramSatiri({ }) { const taban = programEtkinSira(p); const risk = riskHesapla(taban, adaySira); - const devlet = p.unitur === "DEVLET"; const tabanMetni = taban != null ? `~${taban.toLocaleString("tr-TR")}.` : "—"; const bosKaldi = p.kontenjanSon != null && @@ -373,7 +372,10 @@ function ProgramSatiri({ - {devlet ? "Devlet" : "Vakıf"} + e.stopPropagation()} + /> {p.il ? ( @@ -263,9 +262,10 @@ export function RaporListesi({ ) : null} - {p?.unitur ? ( - {devlet ? "Devlet" : "Vakıf"} - ) : null} + e.stopPropagation()} + /> {p?.il ? ( - {p.unitur ? ( - {devlet ? "Devlet" : "Vakıf"} - ) : null} + {p.il ? ( {siraFormu} {profil ? ( -
-
-

- {kompaktBaslik} -

- -
-