feat(katalog+tasarim): şehir adları her yerde link; piksel yüzeylere beyaz ton

- ilSayfaHref: üniversite sayfası il hapı, /universiteler listesi, bölüm /
  sonuç / listem / tadımlık satırlarındaki il metası şehir sayfasına gider.
- Şehir kümeleri tüm (üniversite, il) çiftlerinden: DB'deki her il değerinin
  sayfası var (ODTÜ Ankara + KKTC); dev'de eski globalThis önbelleğine dayanıklı.
- PikselZemin ton="acik", CtaBandi/CtaSiraForm ton="beyaz": /universiteler
  altı ve /meraklisina kapanışı beyaz, diğer bantlar mavi (dönüşümlü).
- ilUlkeHaritasi: il değerinden ülke haritası + şehir konumu.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
bilalgursen
2026-09-24 14:56:11 +03:00
parent c27f24e6a6
commit 259534fa9c
13 changed files with 193 additions and 49 deletions

View File

@@ -18,7 +18,7 @@ import {
getUniversiteBySlug,
bolumSlugFromIsim,
} from "../katalog-queries";
import { trBaslikDuzeni } from "@/lib/slug";
import { ilSayfaHref, trBaslikDuzeni } from "@/lib/slug";
import { UNITUR_ETIKET, uniturDevletMi } from "@/lib/unitur";
import {
JsonLd,
@@ -579,10 +579,16 @@ export function UniversiteIcerik({
</span>
) : null}
{uni.il ? (
<span className="inline-flex h-10 min-w-0 items-center gap-2 rounded-full border border-slate-200 bg-white px-4 text-sm font-semibold text-slate-800">
// İl hapı şehir sayfasına gider (Bilal, 24 Eyl 2026: "şehirlerin
// geçtiği her yer tıklanabilir"); hover §2.1 tek turuncu.
<Link
href={ilSayfaHref(uni.il)}
title={`${trBaslikDuzeni(uni.il)} üniversiteleri`}
className="inline-flex h-10 min-w-0 items-center gap-2 rounded-full border border-slate-200 bg-white px-4 text-sm font-semibold text-slate-800 transition-[background-color,border-color,color,transform] duration-150 hover:border-orange-500 hover:bg-orange-50/60 hover:text-orange-500 active:scale-[0.97]"
>
<MapPin className="size-4 shrink-0 text-primary" aria-hidden />
<span className="truncate">{trBaslikDuzeni(uni.il)}</span>
</span>
</Link>
) : null}
</p>
) : null}