feat(katalog+tasarim): devlet/vakıf tür sayfaları, tür çipleri link; kayıtlı-sıra satırı şişko ve sade
All checks were successful
Deploy / deploy (push) Successful in 5m1s
All checks were successful
Deploy / deploy (push) Successful in 5m1s
- /universiteler/devlet ve /universiteler/vakif: şehir sayfası iskeleti, haritada bu türden üniversitesi olan her il turuncu (yakınlaşma yok), üç özet kartı, şehir çipleri (sayfa içi çapa), şehir şehir §4.15 satırları, öteki türe geçiş hapı; metadata + sitemap. - TurCipi tek kaynak: devlet/vakıf çipi tür sayfasına link (sonuç, listem, tadımlık, bölüm, şehir/tür satırları); üniversite sayfası tür hapı ve /universiteler başlıkları da link. UniSatirlari ortak dosyada: ad, tür ve il ayrı linkler. - Kompakt profilli satır (DESIGN.md §10.9): iri kupa kutusu + text-3xl/4xl sıra, text-xl/2xl başlık, 48 px buton; telefonda alt alta, lg'de tek satır. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
41
src/components/tur-cipi.tsx
Normal file
41
src/components/tur-cipi.tsx
Normal file
@@ -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 <a>).
|
||||
*/
|
||||
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<HTMLAnchorElement>) => void;
|
||||
}) {
|
||||
if (!unitur) return null;
|
||||
const etiket = UNITUR_ETIKET[unitur]?.cip ?? unitur;
|
||||
const href = turSayfaHref(unitur);
|
||||
if (!href) return <span className={cn(SATIR_CIP, className)}>{etiket}</span>;
|
||||
return (
|
||||
<Link
|
||||
href={href}
|
||||
title={`Tüm ${etiket.toLocaleLowerCase("tr-TR")} üniversiteleri`}
|
||||
onClick={onClick}
|
||||
className={cn(
|
||||
SATIR_CIP,
|
||||
"transition-colors hover:bg-orange-50/60 hover:text-orange-500",
|
||||
className,
|
||||
)}
|
||||
>
|
||||
{etiket}
|
||||
</Link>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user