feat(tasarim): /sonuc program tablosu "şişko ve sade" dile göre

- Liste satırı sınıfları src/components/liste-satiri.ts'e çıkarıldı;
  üniversite, bölüm ve /sonuc tabloları oradan okuyor
- /sonuc satırı: ad sarar, üniversite adı ayrı satırda ve düzgün
  harfle, telefonda risk + taban sıra adın altında, 44 px butonlar,
  "boş kaldı" 12 px altından çıktı
- Dilim sekmeleri 375 px'te taşıyordu (418 px); telefonda üç eşit hap
- Tercih kapısında büyük harfli etiketler SectionEyebrow'a, harita
  şeridinde 10 px yazılar 12 px'e

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
bilalgursen
2026-09-24 00:44:59 +03:00
parent 5b51fd16e0
commit f02494ef78
7 changed files with 255 additions and 112 deletions

View File

@@ -0,0 +1,45 @@
/**
* Liste satırının (DESIGN.md §4.15) sınıf dizileri — tek kaynak. Üniversite,
* bölüm ve /sonuc program tabloları (ileride rapor listesi) aynı satırı
* çizer; sınıflar her dosyada ayrı yazılınca ölçüler kayıyordu. "use client"
* yok: sunucu bileşenleri de değer olarak okuyabilsin (§9.3).
*/
/** Satırın adı (bölüm/üniversite sayfasına link): sarar, hover mavi (§2.1 istisnası). */
export const SATIR_AD =
"block text-base font-semibold leading-snug text-slate-900 transition-colors hover:text-primary hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring";
/** Link olmayan ad (slug yoksa). */
export const SATIR_AD_DUZ =
"block text-base font-semibold leading-snug text-slate-900";
/** Adın altındaki ikinci satır (varyant ya da üniversite adı). */
export const SATIR_ALT_AD = "mt-0.5 block text-sm leading-snug text-slate-600";
/** Satırdaki ikincil link (ör. üniversite adı) — §2.1 tek turuncu. */
export const SATIR_IKINCIL_LINK =
"transition-colors hover:text-orange-500 hover:underline";
/** Tür/il/süre satırı. */
export const SATIR_META =
"mt-2 flex flex-wrap items-center gap-x-2 gap-y-1 text-sm text-slate-500";
/** Tür çipi (Devlet, Vakıf, SAY…). */
export const SATIR_CIP =
"shrink-0 rounded-full bg-slate-100 px-2.5 py-0.5 text-xs font-semibold text-slate-700";
/** Telefonda sayısal sütunun adın altına indiği satır. */
export const SATIR_MOBIL_SAYI =
"mt-1.5 flex flex-wrap items-center gap-x-1.5 gap-y-1 text-sm text-slate-500 sm:hidden";
/** Tablo başlık hücresi. */
export const SATIR_BASLIK = "h-12 text-sm font-semibold text-slate-500";
/** Adın bulunduğu hücre. */
export const SATIR_AD_HUCRE = "w-full whitespace-normal py-4 pl-4 sm:pl-5";
/** Butonların hücresi ve kabı: telefonda alt alta, sm'den yan yana. */
export const SATIR_BUTON_HUCRE = "py-4 pr-4 text-right sm:pr-5";
export const SATIR_BUTON_KABI =
"inline-flex flex-col items-center gap-2 sm:flex-row";
export const SATIR_BUTON_BASLIK = "h-12 w-14 text-right sm:w-28";