Danışman araçları, TÜİK mezun istihdamı ve Jev çıktı denetimi
- Danışman: program_netleri, program_karsilastir ve bolum_istihdam araçları; program_ara'ya devlet/vakıf, öğretim türü ve sıralama parametreleri; program_detay'a trend cümlesi; bozuk araç argümanı modele hata döner. - TÜİK Yükseköğretim İstihdam Göstergeleri 2025: bölüm bazında istihdam oranı, ilk işi bulma süresi ve kazanç grubu (src/lib/bolum-istihdam.ts, üretici scripts/tuik-istihdam-uret.py, kaynak Excel'ler data/kaynak/). - Bölüm sayfasında "Mezun istihdamı" ayrıntı satırı ve alt sayfası; AkademikAyrinti başlık/ikon alır. - Jev (TypeSafe AI) ile danışman cevabında garanti/olasılık dili denetimi; ihlalde cevabın sonuna düzeltme notu. Anahtar yoksa denetim atlanır. - /gizlilik: TypeSafe AI (ABD) sağlayıcı satırı. KARARLAR.md: 5 Ekim kaydı. - Üç katalog dosyasındaki bg-white → bg-card değişiklikleri de bu commit'te. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -13,8 +13,9 @@ import {
|
||||
} from "@/components/ui/drawer";
|
||||
|
||||
/**
|
||||
* Üniversite sayfasında özet kartlarının altındaki "Akademik göstergeler ›"
|
||||
* satırı (Apple Sağlık'taki "Tüm verileri göster" gibi): sık bakılan sayılar
|
||||
* Üniversite ve bölüm sayfasında özet kartlarının altındaki ayrıntı satırı
|
||||
* ("Akademik göstergeler ›", "Mezun istihdamı ›"; Apple Sağlık'taki "Tüm
|
||||
* verileri göster" gibi): sık bakılan sayılar
|
||||
* kartlarda, ayrıntı bir dokunuş derinde. İkinci satır içeride ne olduğunu
|
||||
* önceden söyler. Ayrıntı alttan açılan çekmecede; çekmece ve kapatma
|
||||
* çarpısı cta-sira-form.tsx'teki çekmeceyle birebir aynı sınıf setinde.
|
||||
@@ -22,12 +23,18 @@ import {
|
||||
* AcilisSahnesi oynatır.
|
||||
*/
|
||||
export function AkademikAyrinti({
|
||||
universite,
|
||||
baglam,
|
||||
onizleme,
|
||||
baslik = "Akademik göstergeler",
|
||||
ikon,
|
||||
children,
|
||||
}: {
|
||||
universite: string;
|
||||
/** Çekmece başlığının altındaki bağlam satırı (üniversite ya da bölüm adı) */
|
||||
baglam: string;
|
||||
onizleme: string;
|
||||
baslik?: string;
|
||||
/** İkon kutusunun içi; verilmezse mezuniyet kepi */
|
||||
ikon?: ReactNode;
|
||||
children: ReactNode;
|
||||
}) {
|
||||
return (
|
||||
@@ -35,14 +42,16 @@ export function AkademikAyrinti({
|
||||
<DrawerTrigger asChild>
|
||||
<button
|
||||
type="button"
|
||||
className="mt-4 flex w-full cursor-pointer items-center gap-4 group rounded-2xl border border-slate-200 bg-white p-4 text-left transition-[background-color,border-color,transform] duration-150 hover:border-orange-500 hover:bg-orange-50/60 active:scale-[0.99] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring sm:p-5"
|
||||
className="mt-4 flex w-full cursor-pointer items-center gap-4 group rounded-2xl border border-slate-200 bg-card p-4 text-left transition-[background-color,border-color,transform] duration-150 hover:border-orange-500 hover:bg-orange-50/60 active:scale-[0.99] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring sm:p-5"
|
||||
>
|
||||
<span className="flex size-11 shrink-0 items-center justify-center rounded-xl bg-primary/10">
|
||||
<GraduationCap className="size-5 text-primary" aria-hidden />
|
||||
{ikon ?? (
|
||||
<GraduationCap className="size-5 text-primary" aria-hidden />
|
||||
)}
|
||||
</span>
|
||||
<span className="min-w-0 flex-1">
|
||||
<span className="block font-heading text-lg font-bold text-slate-900">
|
||||
Akademik göstergeler
|
||||
{baslik}
|
||||
</span>
|
||||
<span className="block truncate text-sm text-slate-500">
|
||||
{onizleme}
|
||||
@@ -54,17 +63,17 @@ export function AkademikAyrinti({
|
||||
/>
|
||||
</button>
|
||||
</DrawerTrigger>
|
||||
<DrawerContent className="max-h-[92dvh] bg-white sm:mx-auto sm:max-w-2xl sm:border-x sm:border-slate-200 sm:shadow-2xl">
|
||||
<DrawerContent className="max-h-[92dvh] bg-card sm:mx-auto sm:max-w-2xl sm:border-x sm:border-slate-200 sm:shadow-2xl">
|
||||
<DrawerClose className="absolute top-3 right-3 z-10 flex size-9 cursor-pointer items-center justify-center rounded-full border border-slate-200 bg-popover text-slate-500 transition-[background-color,transform] duration-150 hover:bg-slate-100 hover:text-slate-800 active:scale-[0.96]">
|
||||
<X className="size-4" aria-hidden />
|
||||
<span className="sr-only">Kapat</span>
|
||||
</DrawerClose>
|
||||
<div className="min-h-0 flex-1 overflow-y-auto px-4 pt-5 pb-[max(1.25rem,env(safe-area-inset-bottom))] sm:px-6">
|
||||
<DrawerTitle className="px-10 text-center font-heading text-2xl font-bold text-slate-900">
|
||||
Akademik göstergeler
|
||||
{baslik}
|
||||
</DrawerTitle>
|
||||
<DrawerDescription className="mt-1 px-10 text-center text-sm text-slate-500">
|
||||
{universite}
|
||||
{baglam}
|
||||
</DrawerDescription>
|
||||
<AcilisSahnesi>{children}</AcilisSahnesi>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user