merge: entegrasyon/guvenli-etiket — görünen 'Garanti' dilim adı 'Güvenli'
# Conflicts: # src/features/sihirbaz/components/cta-sira-form.tsx
This commit is contained in:
@@ -25,5 +25,5 @@ Funnel CTA butonlarında ("Listemi oluştur", "Tercihlerimi belirle", giriş/öd
|
||||
|
||||
# Meraklısına'daki mermaid şeması mimariyle senkron kalmalı
|
||||
|
||||
`/meraklisina` sayfasındaki sihirbaz akış şeması (`src/features/pazarlama/components/huni-semasi.tsx` içindeki `SEMA` sabiti) ürünün gerçek davranışının belgesidir, dekor değildir. Sihirbaz/listeleme mimarisinde davranış değiştiren her değişiklikte bu şema da aynı PR/commit içinde güncellenmeli: sihirbaz adımlarının sayısı-sırası-içeriği (alan → il → devlet/vakıf), aday havuzu kuralları, 24'lük liste iskeleti (hayal/dengeli/garanti dağılımı), havuz 24'ün altına düşünce filtre gevşetme sırası ve yapay zekânın havuz-dışına-çıkamama kuralı. Şemayı güncellerken çevresindeki unsurları da eşitle: bölümdeki anlatım metni (`src/features/pazarlama/components/meraklisina-icerik.tsx`, 4. bölüm), kabın `aria-label`'ı ve figcaption. Şema öğrenci diliyle kalmalı (SQL/prompt/teknik detay yok) ve ürünün risk renk dilini korumalı — kırmızı/sarı/yeşil her zaman metin etiketiyle birlikte, renk tek başına anlam taşımaz.
|
||||
`/meraklisina` sayfasındaki sihirbaz akış şeması (`src/features/pazarlama/components/huni-semasi.tsx` içindeki `SEMA` sabiti) ürünün gerçek davranışının belgesidir, dekor değildir. Sihirbaz/listeleme mimarisinde davranış değiştiren her değişiklikte bu şema da aynı PR/commit içinde güncellenmeli: sihirbaz adımlarının sayısı-sırası-içeriği (alan → il → devlet/vakıf), aday havuzu kuralları, 24'lük liste iskeleti (hayal/dengeli/güvenli dağılımı — üçüncü dilimin kullanıcıya görünen adı "Güvenli"dir; iç anahtar, tip, DB değeri, mermaid `classDef` ve analitik değeri `garanti` olarak kalır, görünen etiketin tek kaynağı `src/lib/risk.ts` içindeki `DILIM_ETIKET`), havuz 24'ün altına düşünce filtre gevşetme sırası ve yapay zekânın havuz-dışına-çıkamama kuralı. Şemayı güncellerken çevresindeki unsurları da eşitle: bölümdeki anlatım metni (`src/features/pazarlama/components/meraklisina-icerik.tsx`, 4. bölüm), kabın `aria-label`'ı ve figcaption. Şema öğrenci diliyle kalmalı (SQL/prompt/teknik detay yok) ve ürünün risk renk dilini korumalı — kırmızı/sarı/yeşil her zaman metin etiketiyle birlikte, renk tek başına anlam taşımaz.
|
||||
<!-- END:nextjs-agent-rules -->
|
||||
|
||||
@@ -51,8 +51,8 @@ flowchart TD
|
||||
|
||||
1. **Her satırın koşulunu okudun mu?** Yaş, cinsiyet, sağlık raporu gibi [özel koşullar](/rehber/ozel-kosullu-programlar) ve [başarı sırası şartları](/rehber/siralama-sartlari-2026) sağlanmıyorsa o satır ya boşa gider ya da yerleşsen bile kayıtta yanar.
|
||||
2. **Üst sıralarda ölü tercih var mı?** Tabanı senden çok iyi programı listenin *sonuna* yazmak satırı çöpe atar ([ölü tercih nedir](/rehber/olu-tercih-nedir)).
|
||||
3. **Listenin sonu gerçekten garanti mi?** Son 4-6 satır, yerleşirsen kayıt yaptıracağın programlar olmalı ([hayal/dengeli/garanti dağılımı](/rehber/tercih-listesi-nasil-yapilir)).
|
||||
3. **Listenin sonu gerçekten güvenli mi?** Son 4-6 satır — halk arasındaki adıyla "garanti tercihler" — yerleşirsen kayıt yaptıracağın programlar olmalı ([hayal/dengeli/güvenli dağılımı](/rehber/tercih-listesi-nasil-yapilir)).
|
||||
4. **Kayıt yaptırmayacağın satır var mı?** Varsa sil: oraya yerleşirsen hem yılın gider hem [ek yerleştirmeye](/rehber/ek-yerlestirme-2026) başvuramazsın.
|
||||
5. **Kodları tek tek doğruladın mı?** Ekrandaki program adı + üniversite + şehir üçlüsünü kendi listenle satır satır karşılaştır.
|
||||
|
||||
Listen henüz oturmadıysa önce evreni gör: [tercih robotuna](/tercih-robotu) sıralamanı gir, sıralamana düşen programları hayal/dengeli/garanti dilimleriyle çıkar, sonra AİS'e kodları bu listeden aktar. AİS'te düşünülmez — AİS'e *bitmiş* liste girilir.
|
||||
Listen henüz oturmadıysa önce evreni gör: [tercih robotuna](/tercih-robotu) sıralamanı gir, sıralamana düşen programları hayal/dengeli/güvenli dilimleriyle çıkar, sonra AİS'e kodları bu listeden aktar. AİS'te düşünülmez — AİS'e *bitmiş* liste girilir.
|
||||
|
||||
@@ -68,6 +68,6 @@ En son adım bu, çünkü ilk dördü olmadan sorduğun sorular yüzeysel kalır
|
||||
|
||||
## Cevap belirsiz kaldıysa ne yapmalı?
|
||||
|
||||
Bazı alanlarda dört yıl sonrası dürüstçe belirsizdir — ve bu, o bölümü kötü yapmaz. Belirsizlikle baş etmenin tercih listesindeki karşılığı şu: **listeye alternatif de koy.** İstediğin bölümü üst bloğa yaz, ama alt bloğa da seni memnun edecek ikinci ve üçüncü seçenekleri diz. [Tercih listesi nasıl yapılır](/rehber/tercih-listesi-nasil-yapilir) yazısındaki hayal–dengeli–garanti dağılımı tam olarak bu belirsizliği yönetmek için var.
|
||||
Bazı alanlarda dört yıl sonrası dürüstçe belirsizdir — ve bu, o bölümü kötü yapmaz. Belirsizlikle baş etmenin tercih listesindeki karşılığı şu: **listeye alternatif de koy.** İstediğin bölümü üst bloğa yaz, ama alt bloğa da seni memnun edecek ikinci ve üçüncü seçenekleri diz. [Tercih listesi nasıl yapılır](/rehber/tercih-listesi-nasil-yapilir) yazısındaki hayal–dengeli–güvenli (halk arasında "garanti tercih") dağılımı tam olarak bu belirsizliği yönetmek için var.
|
||||
|
||||
Bir de bölümlerin kendi sayfalarına bak: [bölüm kataloğunda](/bolumler) her bölümün hangi üniversitelerde açık olduğunu, taban sıralamalarını ve program sayısını görebilir, araştırmanın dördüncü adımını dakikalar içinde tamamlayabilirsin. Sıralamana hangi bölümlerin düştüğünü görmek içinse [tercih robotuna](/tercih-robotu) sıralamanı gir.
|
||||
|
||||
@@ -8,13 +8,13 @@ guncelleme: 2026-09-21
|
||||
"Sıralamam X, nereyi kazanırım?" tercih döneminin en çok sorulan sorusu. Aşağıdaki bantlar 2025 YKS yerleştirme verilerine (YÖK Atlas) dayanır ve **kabaca bir harita** çizer — kesin sınır değildir; aynı bölümün tabanı üniversiteye, şehre ve burs durumuna göre çok geniş bir aralığa yayılır.
|
||||
|
||||
```mermaid
|
||||
%% aria: Sıralama bandı okuma şeması: önce kendi puan türünün sıralama bandını bulursun; bant sana hangi bölümlere bakmaya değer olduğunu söyler ama hangi üniversitede tutacağını söylemez. Sonra bölüm sayfasındaki tabloya inip kendi sıralamanın düştüğü programları görürsün; en hızlı yol tercih robotuna sıralamanı girip hayal, dengeli ve garanti dilimlerini tek bakışta almaktır. Bant pusuladır, garanti değildir.
|
||||
%% aria: Sıralama bandı okuma şeması: önce kendi puan türünün sıralama bandını bulursun; bant sana hangi bölümlere bakmaya değer olduğunu söyler ama hangi üniversitede tutacağını söylemez. Sonra bölüm sayfasındaki tabloya inip kendi sıralamanın düştüğü programları görürsün; en hızlı yol tercih robotuna sıralamanı girip hayal, dengeli ve güvenli dilimlerini tek bakışta almaktır. Bant pusuladır, garanti değildir.
|
||||
%% altyazi: Bant "nereye bakayım" der; kesin satırı bölüm tablosu ve tercih robotu söyler.
|
||||
flowchart TD
|
||||
B("Sıralama bandını bul<br/>SAY, EA, sözel veya dil") --> N("Bant sana hangi bölümlere<br/>bakmaya değer olduğunu söyler")
|
||||
N --> T{"Nasıl netleşir?"}
|
||||
T -- "bölüm tablosuna in" --> TAB("Aynı bölümde tabanlar<br/>üniversiteye göre çok açılır")
|
||||
T -- "tercih robotuna gir" --> R("Hayal / dengeli / garanti<br/>dilimleri saniyede çıkar")
|
||||
T -- "tercih robotuna gir" --> R("Hayal / dengeli / güvenli<br/>dilimleri saniyede çıkar")
|
||||
TAB --> K("Bandına düşen satırları<br/>istek sırana göre diz")
|
||||
R --> K
|
||||
|
||||
@@ -50,7 +50,7 @@ Sözel ve Dil tarafında bantlar daha da geniştir; öğretmenlikler için ayrı
|
||||
|
||||
1. **Bandını bul, ama banda güvenme.** Bant sana "hangi bölümlere bakmaya değer" der; hangi üniversitede tutacağını söylemez. Aynı bölüm içinde tabanlar 10 kat oynayabilir.
|
||||
2. **Bölüm sayfasının tablosuna in.** Örneğin [Psikoloji taban puanları](/bolum/psikoloji) sayfasında 380'e yakın programın tek tek tabanını görürsün — senin sıralaman listenin neresine düşüyorsa gerçekçi bölgen orasıdır.
|
||||
3. **Kendi sıralamanla tara.** [Tercih robotuna](/tercih-robotu) sıralamanı gir; robot 23.000+ programın içinden senin bandına düşenleri hayal/dengeli/garanti dilimleriyle ayırıp önüne koyar. Tablo ezberlemekten hızlıdır.
|
||||
3. **Kendi sıralamanla tara.** [Tercih robotuna](/tercih-robotu) sıralamanı gir; robot 23.000+ programın içinden senin bandına düşenleri hayal, dengeli ve güvenli (halk arasında "garanti tercih") dilimleriyle ayırıp önüne koyar. Tablo ezberlemekten hızlıdır.
|
||||
4. **Henüz sıralaman yoksa tersinden git.** Seneye hazırlanıyorsan istediğin bölümden başlayıp kaçıncı olman gerektiğini [hedef sıralama nasıl belirlenir?](/rehber/hedef-siralama-nasil-belirlenir) yazısındaki yöntemle çıkar.
|
||||
|
||||
## Unutma
|
||||
|
||||
@@ -31,7 +31,7 @@ flowchart TD
|
||||
|
||||
## Bu mantıktan çıkan üç altın kural
|
||||
|
||||
**1) Üst sıradaki "hayal" tercihi alttakilere zarar veremez.** Sistem 1. tercihinde yer bulamazsa hiç duraksamadan 2.'ye geçer. Hayal bölümünü en üste yazmanın tek "maliyeti" bir satırdır; alttaki dengeli ve garanti tercihlerinin ihtimali kılını bile kıpırdatmaz. Bu yüzden listenin başı gönlüne göre, sonu aklına göre kurulur — dilim mantığının tamamı [tercih listesi rehberinde](/rehber/tercih-listesi-nasil-yapilir) var.
|
||||
**1) Üst sıradaki "hayal" tercihi alttakilere zarar veremez.** Sistem 1. tercihinde yer bulamazsa hiç duraksamadan 2.'ye geçer. Hayal bölümünü en üste yazmanın tek "maliyeti" bir satırdır; alttaki dengeli ve güvenli (halk arasında "garanti") tercihlerinin ihtimali kılını bile kıpırdatmaz. Bu yüzden listenin başı gönlüne göre, sonu aklına göre kurulur — dilim mantığının tamamı [tercih listesi rehberinde](/rehber/tercih-listesi-nasil-yapilir) var.
|
||||
|
||||
**2) Yerleştiğin satırın altı yok hükmündedir.** 3. tercihine yerleştiysen 4-24 arası hiç okunmaz. Bu yüzden listeyi *yerleşme ihtimaline göre değil, istek sırana göre* dizmelisin: en çok istediğin hep daha üstte durmalı. "Daha çok istediğim bölüm alttaydı, keşke" cümlesinin telafisi yoktur.
|
||||
|
||||
@@ -44,7 +44,7 @@ Sistemin yukarıdan aşağı okuması, sıralamanın çok üstünde kapatan bir
|
||||
## Pratik sonuç
|
||||
|
||||
- Listenin başına puanın "yetmeyecek gibi" duran ama çok istediğin programları çekinmeden yaz.
|
||||
- Ortayı sıralamana yakın programlarla doldur, sona gerçekten razı olacağın garantileri koy.
|
||||
- Ortayı sıralamana yakın programlarla doldur, sona gerçekten razı olacağın güvenli tercihleri koy.
|
||||
- Sıralamanla hangi dilime neyin girdiğini görmek için [tercih robotuna](/tercih-robotu) sıralamanı girmen yeterli.
|
||||
|
||||
Sistemi bilen aday, listeyi korkuyla değil stratejiyle kurar. Korku listesi hep aşağı yığılır; strateji listesi yukarıdan kazanır.
|
||||
|
||||
@@ -39,7 +39,7 @@ Pratik kontrol yöntemi:
|
||||
- Tabanı, senin sıralamandan iyiyse → o satır ancak listenin *üst bloğunda* (hayal) anlamlıdır.
|
||||
- Tabanı üstündeki satırdan da iyiyse → sıra hatası var; satırları taban gevşekliğine göre yeniden diz.
|
||||
|
||||
[Tercih robotuna](/tercih-robotu) sıralamanı girdiğinde programlar hayal/dengeli/garanti dilimleriyle etiketlenir; bir programın senin sıralamana göre hangi bölgede olduğunu tek bakışta görürsün. Popüler bölümlerde tabanların ne kadar geniş bir aralığa yayıldığını görmek için [Psikoloji](/bolum/psikoloji) veya [Hukuk](/bolum/hukuk) tablolarına bak — aynı bölümün tabanı üniversiteye göre yüz binlerce sıra oynayabilir; yani bölüm ölü değildir, *yanlış üniversite-satır eşleşmesi* ölüdür.
|
||||
[Tercih robotuna](/tercih-robotu) sıralamanı girdiğinde programlar hayal, dengeli ve güvenli (halk arasında "garanti tercih") dilimleriyle etiketlenir; bir programın senin sıralamana göre hangi bölgede olduğunu tek bakışta görürsün. Popüler bölümlerde tabanların ne kadar geniş bir aralığa yayıldığını görmek için [Psikoloji](/bolum/psikoloji) veya [Hukuk](/bolum/hukuk) tablolarına bak — aynı bölümün tabanı üniversiteye göre yüz binlerce sıra oynayabilir; yani bölüm ölü değildir, *yanlış üniversite-satır eşleşmesi* ölüdür.
|
||||
|
||||
## Ölü tercihten temizlenmiş liste nasıl görünür?
|
||||
|
||||
|
||||
@@ -45,4 +45,4 @@ flowchart TD
|
||||
|
||||
24 tercih hakkı lisans ve önlisansta **ortaktır** — aynı listeye ikisini de yazabilirsin. Ama farklı puan türlerinin sıralamaları karışacağı için düzeni şöyle kur: önce gitmeye razı olduğun lisans programları (kendi türünün sıralamasıyla), sonra önlisans bloğu (TYT sıralamasıyla). Her iki blokta da [ölü tercih](/rehber/olu-tercih-nedir) kuralları aynen geçerli.
|
||||
|
||||
TYT sıralamanı [tercih robotuna](/tercih-robotu) girip türü "TYT" seçersen önlisans evrenini hayal/dengeli/garanti dilimleriyle görürsün; lisans sıralamanla da ayrı bir tarama yapıp iki listeyi yan yana koyman en sağlıklısı.
|
||||
TYT sıralamanı [tercih robotuna](/tercih-robotu) girip türü "TYT" seçersen önlisans evrenini hayal, dengeli ve güvenli (halk arasında "garanti tercih") dilimleriyle görürsün; lisans sıralamanla da ayrı bir tarama yapıp iki listeyi yan yana koyman en sağlıklısı.
|
||||
|
||||
@@ -69,4 +69,4 @@ Pratik sonuç: özel yetenek hedefliyorsan **iki paralel süreç** yürütürsü
|
||||
- Koşulunu sağlamadığın programı hiç yazma. Bu satır, [ölü tercihten](/rehber/olu-tercih-nedir) daha kötüdür: ölü tercih sadece yer kaplar, koşulu sağlanmayan tercih ise yerleşirsen yılını götürür.
|
||||
- Özel yetenek programlarını merkezi listene yazmaya çalışma; ayrı süreçtir.
|
||||
|
||||
Kılavuz koşullarını okuduktan sonra sıralamana hangi programların gerçekten açık olduğunu görmek için [tercih robotuna](/tercih-robotu) sıralamanı gir; listeyi kurarken [tercih listesi nasıl yapılır](/rehber/tercih-listesi-nasil-yapilir) yazısındaki hayal–dengeli–garanti dağılımını temel al.
|
||||
Kılavuz koşullarını okuduktan sonra sıralamana hangi programların gerçekten açık olduğunu görmek için [tercih robotuna](/tercih-robotu) sıralamanı gir; listeyi kurarken [tercih listesi nasıl yapılır](/rehber/tercih-listesi-nasil-yapilir) yazısındaki hayal–dengeli–güvenli (halk arasında "garanti tercih") dağılımını temel al.
|
||||
|
||||
@@ -14,7 +14,7 @@ flowchart TD
|
||||
S -- "hayır" --> K("Listeye yazamazsın:<br/>alternatif rotaya yönel")
|
||||
S -- "evet" --> A("Kapı açık — ama bu yerleşmek değil")
|
||||
A --> T("Gözünü tabana çevir:<br/>kendi sıralamanın düştüğü bandı bul")
|
||||
T --> L("Gerçekçi satırları<br/>hayal / dengeli / garanti diz")
|
||||
T --> L("Gerçekçi satırları<br/>hayal / dengeli / güvenli diz")
|
||||
|
||||
classDef hayal fill:#fee2e2,stroke:#ef4444,color:#991b1b
|
||||
classDef uyari fill:#fef3c7,stroke:#f59e0b,color:#92400e
|
||||
|
||||
@@ -48,4 +48,4 @@ Liste kurarken açtığın her tabloda gözün **sıralama kolonunda** olmalı.
|
||||
|
||||
Seneye hazırlanıyorsan aynı mantık hedef koyarken de geçerli: hedefini netle ya da puanla değil sıralamayla koy — yöntemi [hedef sıralama nasıl belirlenir?](/rehber/hedef-siralama-nasil-belirlenir) yazısında.
|
||||
|
||||
Sıralamanı biliyorsan gerisi mekanik: [tercih robotuna](/tercih-robotu) gir, sıralamana uygun programları hayal/dengeli/garanti dilimleriyle gör, listeni veriyle kur.
|
||||
Sıralamanı biliyorsan gerisi mekanik: [tercih robotuna](/tercih-robotu) gir, sıralamana uygun programları hayal, dengeli ve güvenli (halk arasında "garanti tercih") dilimleriyle gör, listeni veriyle kur.
|
||||
|
||||
@@ -41,10 +41,10 @@ flowchart TD
|
||||
|
||||
Tek yılın tabanı **fotoğraf**, 5 yılın (2021–2025) tabanı **film**dir. Film izle:
|
||||
|
||||
- **İstikrarlı taban** (5 yıl üst üste dar bantta): güvenilir referans. Sıralaman tabana yakınsa "dengeli", belirgin gerisindeyse "garanti" davranabilirsin.
|
||||
- **İstikrarlı taban** (5 yıl üst üste dar bantta): güvenilir referans. Sıralaman tabana yakınsa "dengeli", belirgin gerisindeyse "güvenli" (halk arasında "garanti tercih") davranabilirsin.
|
||||
- **Tek yönlü trend** (her yıl sıkılaşıyor): geçen yılın tabanına güvenme; bu yıl daha da sıkılaşacağını varsayıp payla yaklaş. Popüler bölümlerde sık görülür — [Psikoloji](/bolum/psikoloji) ve [Bilgisayar Mühendisliği](/bolum/bilgisayar-muhendisligi) tablolarında 2024-2025 kolonlarını yan yana koyup bak.
|
||||
- **Testere dişi** (bir sıkı bir gevşek): sürü etkisi işliyor demektir; ortalamayı referans al, uç yıla değil.
|
||||
- **Veri boşluğu** (bazı yıllar "—"): yeni ya da o yıl dolmamış program; belirsizlik yüksek, listende dengeli değil garanti bölgesine koyma, hayal bölgesine koy.
|
||||
- **Veri boşluğu** (bazı yıllar "—"): yeni ya da o yıl dolmamış program; belirsizlik yüksek, listende dengeli değil güvenli bölgeye koyma, hayal bölgesine koy.
|
||||
|
||||
Bölüm sayfalarımızdaki tablolarda 2025 sıralamasının yanında 2024 kolonu ve değişim yönü işareti (▲/▼) tam bu iş için var.
|
||||
|
||||
@@ -53,6 +53,6 @@ Bölüm sayfalarımızdaki tablolarda 2025 sıralamasının yanında 2024 kolonu
|
||||
1. Her satır için son 5 yılın (2021–2025) tabanına bak; tek yıl asla yeterli değil.
|
||||
2. Sıkılaşma trendindeki programları bir kademe yukarı say ("dengeli" sandığın aslında "hayal" olabilir).
|
||||
3. Gevşeme trendindeki programlara erken sevinme; sürü geri dönebilir.
|
||||
4. Belirsizliği [dengeli bir listeyle](/rehber/tercih-listesi-nasil-yapilir) yönet: trend ne yaparsa yapsın, hayal/dengeli/garanti dağılımı düzgün kurulmuş bir liste boşta bırakmaz.
|
||||
4. Belirsizliği [dengeli bir listeyle](/rehber/tercih-listesi-nasil-yapilir) yönet: trend ne yaparsa yapsın, hayal/dengeli/güvenli dağılımı düzgün kurulmuş bir liste boşta bırakmaz.
|
||||
|
||||
[Tercih robotu](/tercih-robotu) işin mekanik kısmını üstlenir: sıralamanı girdiğinde her programı **son yılın tabanına** göre (2025; o yıl veri yoksa 2024) hayal, dengeli ya da güvenli (halk arasında "garanti") dilimine yerleştirir ve satırda geçmiş yılların tabanlarını da gösterir. Dilim tek yılın fotoğrafıdır; filmi yukarıdaki kalıplarla sen okursun. Aynı okumayı seneye tek bir hedef bölüm için yapmak istersen [hedef sıralama nasıl belirlenir?](/rehber/hedef-siralama-nasil-belirlenir) yazısına bak.
|
||||
[Tercih robotu](/tercih-robotu) işin mekanik kısmını üstlenir: sıralamanı girdiğinde her programı **son yılın tabanına** göre (2025; o yıl veri yoksa 2024) hayal, dengeli ya da güvenli dilimine yerleştirir ve satırda geçmiş yılların tabanlarını da gösterir. Dilim tek yılın fotoğrafıdır; filmi yukarıdaki kalıplarla sen okursun. Aynı okumayı seneye tek bir hedef bölüm için yapmak istersen [hedef sıralama nasıl belirlenir?](/rehber/hedef-siralama-nasil-belirlenir) yazısına bak.
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
---
|
||||
baslik: YKS Tercih Listesi Nasıl Yapılır? (2026 Rehberi)
|
||||
aciklama: 24 tercihlik listeyi dilim dilim kurmanın adım adım yöntemi — hayal, dengeli ve garanti bölgeleri tek şemada.
|
||||
aciklama: 24 tercihlik listeyi dilim dilim kurmanın adım adım yöntemi — hayal, dengeli ve güvenli ("garanti") bölgeleri tek şemada.
|
||||
tarih: 2026-07-25
|
||||
---
|
||||
|
||||
Tercih listesi kurmanın tek doğru yolu yok; ama boşta bırakan yanlış yolları belli. Bu rehber, ÖSYM'nin tanıdığı 24 tercih hakkını **hayal / dengeli / garanti** mantığıyla nasıl dağıtacağını anlatıyor.
|
||||
Tercih listesi kurmanın tek doğru yolu yok; ama boşta bırakan yanlış yolları belli. Bu rehber, ÖSYM'nin tanıdığı 24 tercih hakkını **hayal / dengeli / güvenli** mantığıyla nasıl dağıtacağını anlatıyor. Güvenli dilim, halk arasında "garanti tercih" diye anılan bölgedir.
|
||||
|
||||
## Önce ölçüyü düzelt: puan değil, sıralama
|
||||
|
||||
@@ -13,12 +13,12 @@ Tercihin tek sağlam ölçüsü **başarı sıralamandır**. Puanlar her yıl s
|
||||
## Listenin üç bölgesi
|
||||
|
||||
```mermaid
|
||||
%% aria: Tercih listesi dilim şeması: 24 satırlık liste yukarıdan aşağı üç bölgeye ayrılır. İlk 4-8 satır hayal tercihleri — tabanı senden daha iyi kapatan ama çok istediğin programlar; tutmazsa alttakilere zarar vermez. Orta 8-12 satır dengeli tercihler — sıralamana yakın programlar, yerleşme ihtimalinin en yüksek olduğu bölge. Son 4-6 satır garanti tercihler — tabanı belirgin geniş programlar; buraya yalnızca gerçekten kayıt yaptıracağın programları yazarsın.
|
||||
%% altyazi: Üstte hayal (kırmızı), ortada dengeli (sarı), altta garanti (yeşil) — her satır istek sırana göre dizilir, yerleşme ihtimaline göre değil.
|
||||
%% aria: Tercih listesi dilim şeması: 24 satırlık liste yukarıdan aşağı üç bölgeye ayrılır. İlk 4-8 satır hayal tercihleri — tabanı senden daha iyi kapatan ama çok istediğin programlar; tutmazsa alttakilere zarar vermez. Orta 8-12 satır dengeli tercihler — sıralamana yakın programlar, yerleşme ihtimalinin en yüksek olduğu bölge. Son 4-6 satır güvenli tercihler — tabanı belirgin geniş programlar; buraya yalnızca gerçekten kayıt yaptıracağın programları yazarsın.
|
||||
%% altyazi: Üstte hayal (kırmızı), ortada dengeli (sarı), altta güvenli (yeşil) — her satır istek sırana göre dizilir, yerleşme ihtimaline göre değil.
|
||||
flowchart TD
|
||||
L("24 tercihlik listen<br/>yukarıdan aşağı okunur") --> H("Hayal · ilk 4-8 satır<br/>çok istediğin, tabanı daha sıkı programlar")
|
||||
H --> D("Dengeli · orta 8-12 satır<br/>sıralamana yakın programlar")
|
||||
D --> G("Garanti · son 4-6 satır<br/>gerçekten razı olacağın programlar")
|
||||
D --> G("Güvenli · son 4-6 satır<br/>gerçekten razı olacağın programlar")
|
||||
H -. "tutmazsa sıradakine geçer<br/>alttakilere zarar vermez" .-> D
|
||||
G --> K{"Kayıt yaptırır mısın?"}
|
||||
K -- "evet, severek giderim" --> OK("Listeye yaz")
|
||||
@@ -37,7 +37,7 @@ flowchart TD
|
||||
|
||||
**2) Dengeli tercihler (orta blok, 8-12 sıra).** Taban sıralaması senin sıralamana yakın programlar. Listenin kalbi burasıdır; yerleşme ihtimalinin en yüksek olduğu bölge. Aynı bölümün farklı şehirlerdeki/üniversitelerdeki versiyonlarını sıralama sırasıyla diz.
|
||||
|
||||
**3) Garanti tercihleri (son 4-6 sıra).** Taban sıralaması seninkinden belirgin şekilde geniş programlar. Buradaki altın kural: **yerleşsen kayıt yaptırmayacağın hiçbir programı yazma.** Garanti dilimi "razı olacağın en makul seçenek" demektir, "ne olursa olsun bir yere gireyim" demek değil. Kayıt yaptırmayacağın bir yere yerleşirsen hem bir yılın gider hem de ek yerleştirmeye başvuramazsın.
|
||||
**3) Güvenli tercihler (son 4-6 sıra).** Taban sıralaması seninkinden belirgin şekilde geniş programlar. Buradaki altın kural: **yerleşsen kayıt yaptırmayacağın hiçbir programı yazma.** Güvenli dilim "razı olacağın en makul seçenek" demektir, "ne olursa olsun bir yere gireyim" demek değil. Kayıt yaptırmayacağın bir yere yerleşirsen hem bir yılın gider hem de ek yerleştirmeye başvuramazsın.
|
||||
|
||||
## Sık yapılan hatalar
|
||||
|
||||
@@ -49,9 +49,9 @@ flowchart TD
|
||||
## Pratik akış
|
||||
|
||||
1. Sıralamanı ve puan türünü not et.
|
||||
2. Sıralamana uygun program evrenini çıkar — [tercih robotuna](/tercih-robotu) sıralamanı girerek hayal/dengeli/garanti dilimlerini saniyede görebilirsin.
|
||||
2. Sıralamana uygun program evrenini çıkar — [tercih robotuna](/tercih-robotu) sıralamanı girerek hayal/dengeli/güvenli dilimlerini saniyede görebilirsin.
|
||||
3. İstemediklerini ele, kalanları *istek sırana* göre diz (yerleşme ihtimaline göre değil).
|
||||
4. Son kontrol: listenin başı hayal mi, ortası dengeli mi, sonu gerçekten garanti mi? Sonunda kayıt yaptırmayacağın program var mı?
|
||||
4. Son kontrol: listenin başı hayal mi, ortası dengeli mi, sonu gerçekten güvenli mi? Sonunda kayıt yaptırmayacağın program var mı?
|
||||
5. ÖSYM AİS'e girerken listeyi bir kez daha kod kod doğrula.
|
||||
|
||||
Listeyi kurarken her satırın "neden burada" sorusuna cevabı olmalı. Cevabı yoksa o satır ya yanlış yerde ya da listede fazla.
|
||||
|
||||
@@ -11,7 +11,7 @@ Tercih döneminin en çok aranan araçlarından biri "tercih robotu". Ama iki fa
|
||||
Özünde her tercih robotu aynı işi yapar: **başarı sıralamanı** alır, geçmiş yılların taban sıralamalarıyla karşılaştırır ve 23.000'i aşkın programın içinden senin bandına düşenleri süzer. Elle günler süren tarama işini saniyelere indirir. İyi bir robot bunun üstüne üç şey daha katar:
|
||||
|
||||
- Programları tek yılın tabanına göre değil, **çok yıllı trende** göre dilimlemek ([tabanlar yıldan yıla nasıl oynuyor](/rehber/taban-siralamalar-nasil-degisir)),
|
||||
- Sonuçları **hayal / dengeli / garanti** mantığıyla ayırmak ([listenin üç bölgesi](/rehber/tercih-listesi-nasil-yapilir)),
|
||||
- Sonuçları **hayal / dengeli / güvenli** (halk arasında "garanti tercih") mantığıyla ayırmak ([listenin üç bölgesi](/rehber/tercih-listesi-nasil-yapilir)),
|
||||
- Kılavuzdaki [özel koşulları ve sıralama şartlarını](/rehber/siralama-sartlari-2026) süzgece dahil etmek.
|
||||
|
||||
Robotun yapamayacağı şey ise senin yerine **istemek**: hangi bölümü gerçekten okuyacağını, hangi şehirde dört yıl yaşayabileceğini, bütçenin neye yettiğini robot bilemez. Robot evreni daraltır; sırayı sen kurarsın.
|
||||
@@ -28,11 +28,11 @@ YÖK Atlas (yokatlas.yok.gov.tr), YÖK'ün resmî yerleştirme verilerini açtı
|
||||
## Robot çıktısını okurken dört tuzak
|
||||
|
||||
```mermaid
|
||||
%% aria: Tercih robotu kullanım akışı şeması. Doğru akış şöyledir: başarı sıralamanı girersin, filtrelerle aday havuzunu daraltırsın, robot programları hayal, dengeli ve garanti dilimlerine ayırır, sonra son kontrol sana geçer: kılavuz koşullarını, çok yıllı taban trendini ve kendi isteklerini kendin doğrularsın; bu kontrol sarı ile işaretlidir çünkü atlanması en sık hatadır. Akışın dışında dört tuzak kutusu kırmızı ile işaretlidir: puanla arama yapmak, tek yılın tabanına güvenmek, listeyi robotun verdiği sırayla göndermek ve kılavuz koşullarını hiç okumamak. Bu dört hatadan herhangi biri listeyi çürütür. Son kontrolden geçen liste yeşil ile işaretlenmiş sağlam liste kutusuna ulaşır.
|
||||
%% aria: Tercih robotu kullanım akışı şeması. Doğru akış şöyledir: başarı sıralamanı girersin, filtrelerle aday havuzunu daraltırsın, robot programları hayal, dengeli ve güvenli dilimlerine ayırır, sonra son kontrol sana geçer: kılavuz koşullarını, çok yıllı taban trendini ve kendi isteklerini kendin doğrularsın; bu kontrol sarı ile işaretlidir çünkü atlanması en sık hatadır. Akışın dışında dört tuzak kutusu kırmızı ile işaretlidir: puanla arama yapmak, tek yılın tabanına güvenmek, listeyi robotun verdiği sırayla göndermek ve kılavuz koşullarını hiç okumamak. Bu dört hatadan herhangi biri listeyi çürütür. Son kontrolden geçen liste yeşil ile işaretlenmiş sağlam liste kutusuna ulaşır.
|
||||
%% altyazi: Robot evreni daraltır, sırayı sen kurarsın — son kontrol devredilemez.
|
||||
flowchart TD
|
||||
A("Başarı sıralamanı gir<br/>puanı değil") --> B("Filtrele:<br/>şehir, devlet/vakıf,<br/>öğretim dili")
|
||||
B --> C("Robot dilimler:<br/>hayal / dengeli / garanti")
|
||||
B --> C("Robot dilimler:<br/>hayal / dengeli / güvenli")
|
||||
C --> D{"Son kontrol sende:<br/>kılavuz koşulları,<br/>çok yıllı trend,<br/>gerçek isteklerin"}
|
||||
D -- "kontrolü yaptın" --> E("Sağlam liste:<br/>her satırın gerekçesi var")
|
||||
D -- "atladın" --> F("Tuzaklar devrede")
|
||||
@@ -59,4 +59,4 @@ flowchart TD
|
||||
|
||||
## YÖK Atlas mı, tercih robotu mu?
|
||||
|
||||
İkisi rakip değil, ardışık: robot tarama işini saniyeye indirir, YÖK Atlas tek programın derinine iner. Verimli akış şöyle: [tercih robotuna](/tercih-robotu) sıralamanı gir, hayal/dengeli/garanti dilimlerine ayrılmış aday havuzunu çıkar; sonra listende ciddi yer verdiğin programların YÖK Atlas sayfalarını açıp kadro, doluluk geçmişi ve koşulları tek tek doğrula. Robotla dakikada evreni gör, Atlas'la satır satır emin ol — liste ikisinin kesişiminden çıkar.
|
||||
İkisi rakip değil, ardışık: robot tarama işini saniyeye indirir, YÖK Atlas tek programın derinine iner. Verimli akış şöyle: [tercih robotuna](/tercih-robotu) sıralamanı gir, hayal/dengeli/güvenli dilimlerine ayrılmış aday havuzunu çıkar; sonra listende ciddi yer verdiğin programların YÖK Atlas sayfalarını açıp kadro, doluluk geçmişi ve koşulları tek tek doğrula. Robotla dakikada evreni gör, Atlas'la satır satır emin ol — liste ikisinin kesişiminden çıkar.
|
||||
|
||||
@@ -60,4 +60,4 @@ Ek yerleştirmede en büyük hata kılavuzu bekleyip son gün panikle liste kurm
|
||||
|
||||
## Beklerken yapılacak en akıllıca iş
|
||||
|
||||
Sonuç ekranı açılana kadar elindeki en değerli veri hâlâ **başarı sıralaman**. Hangi senaryoda olursan ol — ek yerleştirme ihtimaline hazırlık ya da sadece "nereye yerleşmiş olabilirim" merakı — [tercih robotuna](/tercih-robotu) sıralamanı girerek sıralamana düşen programları hayal/dengeli/garanti dilimleriyle görebilirsin. Sonuç günü geldiğinde sürpriz değil, doğrulama yaşarsın.
|
||||
Sonuç ekranı açılana kadar elindeki en değerli veri hâlâ **başarı sıralaman**. Hangi senaryoda olursan ol — ek yerleştirme ihtimaline hazırlık ya da sadece "nereye yerleşmiş olabilirim" merakı — [tercih robotuna](/tercih-robotu) sıralamanı girerek sıralamana düşen programları hayal, dengeli ve güvenli (halk arasında "garanti tercih") dilimleriyle görebilirsin. Sonuç günü geldiğinde sürpriz değil, doğrulama yaşarsın.
|
||||
|
||||
@@ -49,7 +49,7 @@ Velinin listeyi "düzeltmesi" genelde şuraya varır: üst sıralara ailenin pre
|
||||
Öğrenci bir bölümü çok istiyor, siz riskli buluyorsunuz. Tartışmak yerine:
|
||||
|
||||
- **Adım 1 — İddiaları yazıya dökün.** "Bu bölüm iş bulamaz" ya da "bu bölüm harika" cümlelerinin ikisi de kanıtsız. İkiniz de iddianızı somut bir kaynağa dayandırın: ders katalogu, akreditasyon, mezunların gittiği yerler. [Bir bölümün iş imkânını nasıl araştırırsın](/rehber/bolumun-is-imkanini-nasil-arastirirsin) yazısı bunun yöntemini veriyor.
|
||||
- **Adım 2 — Listede ikisine de yer açın.** 24 satırlık liste tam da bunun için var. Öğrencinin çok istediği bölüm üst bloğa, sizin daha güvenli bulduğunuz alternatifler alt bloğa girebilir. İkisi çatışmaz, sıralanır. [Tercih listesi nasıl yapılır](/rehber/tercih-listesi-nasil-yapilir) yazısındaki hayal–dengeli–garanti dağılımı bu pazarlığın zeminidir.
|
||||
- **Adım 2 — Listede ikisine de yer açın.** 24 satırlık liste tam da bunun için var. Öğrencinin çok istediği bölüm üst bloğa, sizin daha güvenli bulduğunuz alternatifler alt bloğa girebilir. İkisi çatışmaz, sıralanır. [Tercih listesi nasıl yapılır](/rehber/tercih-listesi-nasil-yapilir) yazısındaki hayal–dengeli–güvenli (halk arasında "garanti tercih") dağılımı bu pazarlığın zeminidir.
|
||||
- **Adım 3 — Kararı öğrenciye bırakın, gerekçenizi bir kez söyleyin.** Bir kez. Tekrar etmek ikna etmez, sadece kararı duygusallaştırır.
|
||||
|
||||
## Son iki hatırlatma
|
||||
|
||||
@@ -77,4 +77,4 @@ Tek cümleyle: **hesaba katılmaz.** Listeyi, "buraya yerleşirsem burada okurum
|
||||
|
||||
Somut kural: kayıt yaptırmayacağın bir programı "nasıl olsa geçerim" diye listeye yazma — bu tam olarak [ölü tercih](/rehber/olu-tercih-nedir) mantığındaki hatadır ve yerleşirsen ek yerleştirme hakkın da yanar.
|
||||
|
||||
Sıralamanın gerçekten nereye yettiğini görüp listeyi baştan doğru kurmak için [tercih robotuna](/tercih-robotu) sıralamanı gir; hayal, dengeli ve garanti bloklarını tek ekranda görürsün.
|
||||
Sıralamanın gerçekten nereye yettiğini görüp listeyi baştan doğru kurmak için [tercih robotuna](/tercih-robotu) sıralamanı gir; hayal, dengeli ve güvenli (halk arasında "garanti tercih") bloklarını tek ekranda görürsün.
|
||||
|
||||
@@ -53,4 +53,4 @@ Gelecek yıl tekrar sınava girmek meşru bir plan. Kayıt olup denemek, kaydı
|
||||
|
||||
## Bir dahaki listeye ders
|
||||
|
||||
Bu durumların neredeyse tamamı, liste kurulurken önlenebilir: sonuna gerçekten razı olacağın garantiler koymak, kayıt yaptırmayacağın satırı hiç yazmamak ve [ölü tercihleri](/rehber/olu-tercih-nedir) temizlemek. Ek yerleştirme listesi kuracaksan da aynı disiplin geçerli — sıralamana göre gerçekçi seçenekleri [tercih robotunda](/tercih-robotu) saniyeler içinde görebilirsin.
|
||||
Bu durumların neredeyse tamamı, liste kurulurken önlenebilir: sonuna gerçekten razı olacağın güvenli tercihleri (halk arasında "garanti tercih") koymak, kayıt yaptırmayacağın satırı hiç yazmamak ve [ölü tercihleri](/rehber/olu-tercih-nedir) temizlemek. Ek yerleştirme listesi kuracaksan da aynı disiplin geçerli — sıralamana göre gerçekçi seçenekleri [tercih robotunda](/tercih-robotu) saniyeler içinde görebilirsin.
|
||||
|
||||
@@ -46,7 +46,7 @@ Boş kalan kontenjanlar için ikinci tur. Kritik kural: ilk yerleştirmede bir p
|
||||
|
||||
- **1. gün:** Sıralamanı doğrula, puan türünü netleştir.
|
||||
- **2-3. gün:** Program evrenini çıkar. [Bölüm taban puanları](/bolumler) tablolarında ilgilendiğin bölümlerin son yıllardaki tabanlarını incele; [Psikoloji](/bolum/psikoloji) gibi geniş bölümlerde aralığın ne kadar açıldığını görmek ufuk açar.
|
||||
- **4-5. gün:** Taslak listeyi kur: üstte hayal, ortada dengeli, altta gerçekten gideceğin garanti.
|
||||
- **4-5. gün:** Taslak listeyi kur: üstte hayal, ortada dengeli, altta gerçekten gideceğin güvenli tercihler (halk arasında "garanti tercih").
|
||||
- **6. gün:** Ölü tercih taraması yap ([nasıl yapılır](/rehber/olu-tercih-nedir)), aile onayını al, üniversitelerin özel şartlarını (kılavuz dipnotlarını) oku.
|
||||
- **Son gün değil, son günden önce:** AİS'e gir, listeyi kod kod işle, onayla, çıktısını sakla. Sistem son saatlerde yoğunluktan yavaşlar — son güne bırakma.
|
||||
|
||||
|
||||
@@ -70,6 +70,8 @@ KURALLAR (kesin):
|
||||
- riskNotu: geçmiş taban verisine dayalı risk değerlendirmesi (TEK kısa cümle).
|
||||
ASLA garanti/kesin/yüzde/olasılık/ihtimal deme; "güvenli / az riskli /
|
||||
riskli" etiketleriyle konuş.
|
||||
- Programın "dilim" alanındaki "garanti" değeri teknik anahtardır; adaya dönük
|
||||
hiçbir metinde bu kelimeyi kullanma, o dilimi "güvenli" diye an.
|
||||
- trendOzeti: son 5 yılın taban sıralaması hareketi, TEK cümle (ör. "2022'den
|
||||
beri taban 45B'den 38B'ye indi, bölüm zorlaşıyor").
|
||||
- Adayın sıralaması yaklaşıktır; kesin sıra telaffuz etme, banda göre konuş.`;
|
||||
|
||||
@@ -41,6 +41,9 @@ iş imkânları, tercih sırası) net ve dürüst yanıtlamak.
|
||||
KURALLAR:
|
||||
- Cevaplarını adayın 24'lük listesi ve seçimleri bağlamında ver; listedeki
|
||||
programlara referans verebilirsin.
|
||||
- Dilimlerin adı Hayal, Dengeli ve Güvenli'dir. Üçüncü dilime her zaman
|
||||
"Güvenli" de; "garanti dilimi", "garanti tercih" gibi ifadeler KULLANMA
|
||||
(aday ya da eski mesajlar böyle dese bile sen "güvenli" diye düzelt).
|
||||
- Listedeki her satırda dilim ve risk etiketi var: Güvenli (yeşil) = taban
|
||||
sıralaması adayın belirgin altında, Az riskli (sarı) = adayın sıralaması
|
||||
civarında, Riskli (kırmızı) = geçen yıl adayın sıralamasının üzerinde
|
||||
|
||||
@@ -112,7 +112,7 @@ const steps = [
|
||||
step: "3",
|
||||
title: "Dengeli 24'lük listeni al",
|
||||
description:
|
||||
"Hayal, dengeli ve garanti dilimlerine dağıtılmış, her satırı gerekçeli tercih listeni indir; aklına takılanı listen üzerinden yapay zekâya sor.",
|
||||
"Hayal, dengeli ve güvenli dilimlerine dağıtılmış, her satırı gerekçeli tercih listeni indir; aklına takılanı listen üzerinden yapay zekâya sor.",
|
||||
},
|
||||
];
|
||||
|
||||
@@ -129,7 +129,7 @@ const faqs = [
|
||||
{
|
||||
question: "Yerleşme garantisi veriyor musunuz?",
|
||||
answer:
|
||||
"Hayır — ve verdiğini iddia eden herkesten uzak dur. Taban sıralamaları her yıl adayların davranışına göre değişir; kimse garanti veremez. Biz riski şeffaf gösterir, listeyi hayal/dengeli/garanti dilimleriyle kurarak boşta kalma ihtimalini en aza indiririz. Tercih listenin son hali ve ÖSYM başvurusu her zaman senin sorumluluğundadır.",
|
||||
"Hayır — ve verdiğini iddia eden herkesten uzak dur. Taban sıralamaları her yıl adayların davranışına göre değişir; kimse garanti veremez. Biz riski şeffaf gösterir, listeyi hayal/dengeli/güvenli dilimleriyle kurarak boşta kalma ihtimalini en aza indiririz. Tercih listenin son hali ve ÖSYM başvurusu her zaman senin sorumluluğundadır.",
|
||||
},
|
||||
{
|
||||
question: "Fiyatlandırma nasıl çalışıyor?",
|
||||
|
||||
@@ -20,7 +20,7 @@ import type {
|
||||
PuanTuruKey,
|
||||
RankResultsListe,
|
||||
} from "@/types/yokatlas";
|
||||
import { riskHesapla, type RiskSeviyesi } from "@/lib/risk";
|
||||
import { DILIM_ETIKET, riskHesapla, type RiskSeviyesi } from "@/lib/risk";
|
||||
import { bolumSayfaSlug, uniSayfaSlug } from "@/lib/slug";
|
||||
import {
|
||||
ProgramSiraGecmisi,
|
||||
@@ -51,21 +51,21 @@ const DILIMLER: {
|
||||
}[] = [
|
||||
{
|
||||
key: "hayal",
|
||||
etiket: "Hayal",
|
||||
etiket: DILIM_ETIKET.hayal,
|
||||
icon: Rocket,
|
||||
renk: "text-red-500",
|
||||
renkAktif: "text-red-400",
|
||||
},
|
||||
{
|
||||
key: "dengeli",
|
||||
etiket: "Dengeli",
|
||||
etiket: DILIM_ETIKET.dengeli,
|
||||
icon: Scale,
|
||||
renk: "text-amber-500",
|
||||
renkAktif: "text-amber-400",
|
||||
},
|
||||
{
|
||||
key: "garanti",
|
||||
etiket: "Garanti",
|
||||
etiket: DILIM_ETIKET.garanti,
|
||||
icon: ShieldCheck,
|
||||
renk: "text-emerald-600",
|
||||
renkAktif: "text-emerald-400",
|
||||
|
||||
@@ -13,7 +13,7 @@ import {
|
||||
X,
|
||||
} from "lucide-react";
|
||||
import { Button } from "@/components/ui/button";
|
||||
import { RISK_ETIKET, type RiskSeviyesi } from "@/lib/risk";
|
||||
import { DILIM_ETIKET, RISK_ETIKET, type RiskSeviyesi } from "@/lib/risk";
|
||||
import { sonucHref } from "@/features/sihirbaz/sihirbaz-sabitler";
|
||||
import {
|
||||
tercihDegerlendir,
|
||||
@@ -156,9 +156,12 @@ export function SecimlerimPaneli() {
|
||||
|
||||
{ozet ? (
|
||||
<dl className="mt-4 grid grid-cols-2 gap-3 sm:grid-cols-4">
|
||||
<Istatistik etiket="Hayal" deger={ozet.hayal} />
|
||||
<Istatistik etiket="Dengeli" deger={ozet.dengeli} />
|
||||
<Istatistik etiket="Daha güvenli" deger={ozet.dahaGuvenli} />
|
||||
<Istatistik etiket={DILIM_ETIKET.hayal} deger={ozet.hayal} />
|
||||
<Istatistik etiket={DILIM_ETIKET.dengeli} deger={ozet.dengeli} />
|
||||
<Istatistik
|
||||
etiket={DILIM_ETIKET.garanti}
|
||||
deger={ozet.dahaGuvenli}
|
||||
/>
|
||||
<Istatistik etiket="Dikkat" deger={ozet.dikkat} />
|
||||
</dl>
|
||||
) : null}
|
||||
@@ -272,7 +275,9 @@ const SecimSatiri = memo(function SecimSatiri({
|
||||
/>
|
||||
) : null}
|
||||
{degerlendirme.riskEtiketi}
|
||||
{risk ? (
|
||||
{/* Dilim adı ile risk etiketi aynı kelimeyse ("Güvenli")
|
||||
parantez yazılmaz — "Güvenli (Güvenli)" olmasın. */}
|
||||
{risk && RISK_ETIKET[risk] !== degerlendirme.riskEtiketi ? (
|
||||
<span className="font-normal text-slate-500">
|
||||
({RISK_ETIKET[risk]})
|
||||
</span>
|
||||
|
||||
@@ -6,6 +6,8 @@ import { ElCizimiSema } from "@/features/rehber/components/el-cizimi-sema";
|
||||
|
||||
// Renkler ürünün risk dilinden (kırmızı/sarı/yeşil) ve slate paletinden;
|
||||
// renk tek başına anlam taşımaz, her düğüm metinle etiketlidir.
|
||||
// Üçüncü dilimin görünen adı "güvenli"dir; `classDef garanti` yalnızca iç
|
||||
// renk sınıfıdır (render edilmez), iç anahtarla aynı kalır.
|
||||
const SEMA = `---
|
||||
config:
|
||||
look: handDrawn
|
||||
@@ -25,7 +27,7 @@ flowchart TD
|
||||
R --> L("En fazla 24 tercihlik liste")
|
||||
L --> L1("üstte hayal — hedef 5, havuz elverdiğince")
|
||||
L --> L2("ortada dengeli — hedef 13, havuz elverdiğince")
|
||||
L --> L3("sonda garanti — hedef 6, havuz elverdiğince")
|
||||
L --> L3("sonda güvenli — hedef 6, havuz elverdiğince")
|
||||
|
||||
classDef havuz fill:#eff6ff,stroke:#3b82f6,color:#1e3a8a
|
||||
classDef uyari fill:#fffbeb,stroke:#f59e0b,color:#92400e
|
||||
@@ -42,7 +44,7 @@ export function HuniSemasi() {
|
||||
return (
|
||||
<ElCizimiSema
|
||||
tanim={SEMA}
|
||||
ariaLabel="Sihirbaz akış şeması: sıralamanla açılan programlar alan, il ve devlet/vakıf adımlarıyla aday havuzuna daraltılır; alanlar bölümün adına ve bağlı olduğu fakülteye göre belirlenir, il adımında programı olan tüm iller listelenir; havuz 24'ün altına düşerse filtreler gevşetilir, yine de dar kalırsa liste eldeki programlarla kurulur ve dağılım havuza uyarlanır; yapay zekâ havuzdan üstte hayal, ortada dengeli, sonda garanti olacak şekilde en fazla 24 tercih seçip her satıra gerekçe yazar; risk notu ve trend özeti gerçek sıralama geçmişinden hesaplanır."
|
||||
ariaLabel="Sihirbaz akış şeması: sıralamanla açılan programlar alan, il ve devlet/vakıf adımlarıyla aday havuzuna daraltılır; alanlar bölümün adına ve bağlı olduğu fakülteye göre belirlenir, il adımında programı olan tüm iller listelenir; havuz 24'ün altına düşerse filtreler gevşetilir, yine de dar kalırsa liste eldeki programlarla kurulur ve dağılım havuza uyarlanır; yapay zekâ havuzdan üstte hayal, ortada dengeli, sonda güvenli olacak şekilde en fazla 24 tercih seçip her satıra gerekçe yazar; risk notu ve trend özeti gerçek sıralama geçmişinden hesaplanır."
|
||||
figcaption={
|
||||
<>
|
||||
Her adım havuzu biraz daha daraltır; yapay zekâ listeyi bu havuzun{" "}
|
||||
|
||||
@@ -20,6 +20,7 @@ import { useTercihProfili } from "@/features/liste/hooks/use-tercih-profili";
|
||||
import { PUAN_TURU_ETIKET, sonucHref } from "@/features/sihirbaz/sihirbaz-sabitler";
|
||||
import type { DilimKey, SihirbazFacetleri } from "@/types/yokatlas";
|
||||
import { onbellekliJsonGetir } from "@/lib/istek-cache";
|
||||
import { DILIM_ETIKET } from "@/lib/risk";
|
||||
|
||||
export type DemoVeri = {
|
||||
facetler: SihirbazFacetleri;
|
||||
@@ -146,7 +147,7 @@ export function DilimSeridiCanli() {
|
||||
<svg
|
||||
viewBox="0 0 640 168"
|
||||
role="img"
|
||||
aria-label={`Sıralama ekseni: ${fmt(sira)}. sıradaki aday için Hayal diliminde ${fmt(t.hayal)}, Dengeli diliminde ${fmt(t.dengeli)}, Garanti diliminde ${fmt(t.garanti)} program var.`}
|
||||
aria-label={`Sıralama ekseni: ${fmt(sira)}. sıradaki aday için ${DILIM_ETIKET.hayal} diliminde ${fmt(t.hayal)}, ${DILIM_ETIKET.dengeli} diliminde ${fmt(t.dengeli)}, ${DILIM_ETIKET.garanti} diliminde ${fmt(t.garanti)} program var.`}
|
||||
className="w-full"
|
||||
>
|
||||
{/* eksen */}
|
||||
@@ -174,7 +175,7 @@ export function DilimSeridiCanli() {
|
||||
{/* hayal */}
|
||||
<rect x="20" y="70" width="150" height="32" rx="4" className="fill-red-100" />
|
||||
<text x="95" y="40" textAnchor="middle" className="fill-red-600 text-[12px] font-semibold">
|
||||
Hayal
|
||||
{DILIM_ETIKET.hayal}
|
||||
</text>
|
||||
<text x="95" y="56" textAnchor="middle" className="fill-slate-600 text-[11px] font-medium tabular-nums">
|
||||
{fmt(t.hayal)} program
|
||||
@@ -192,7 +193,7 @@ export function DilimSeridiCanli() {
|
||||
{/* dengeli */}
|
||||
<rect x="174" y="70" width="120" height="32" rx="4" className="fill-amber-100" />
|
||||
<text x="234" y="40" textAnchor="middle" className="fill-amber-600 text-[12px] font-semibold">
|
||||
Dengeli
|
||||
{DILIM_ETIKET.dengeli}
|
||||
</text>
|
||||
<text x="234" y="56" textAnchor="middle" className="fill-slate-600 text-[11px] font-medium tabular-nums">
|
||||
{fmt(t.dengeli)} program
|
||||
@@ -204,7 +205,7 @@ export function DilimSeridiCanli() {
|
||||
{/* garanti */}
|
||||
<rect x="296" y="70" width="324" height="32" rx="4" className="fill-emerald-100" />
|
||||
<text x="458" y="40" textAnchor="middle" className="fill-emerald-700 text-[12px] font-semibold">
|
||||
Garanti
|
||||
{DILIM_ETIKET.garanti}
|
||||
</text>
|
||||
<text x="458" y="56" textAnchor="middle" className="fill-slate-600 text-[11px] font-medium tabular-nums">
|
||||
{fmt(t.garanti)} program
|
||||
|
||||
@@ -68,12 +68,12 @@ export function MeraklisinaIcerik() {
|
||||
(listenin bel kemiği — sıralamanın yaklaşık yüzde kırk fazlasına
|
||||
kadar pay bırakılır), tabanı{" "}
|
||||
<strong>belirgin şekilde altında</strong> kalan her şey ise{" "}
|
||||
<span className="font-semibold text-emerald-600">Garanti</span>{" "}
|
||||
<span className="font-semibold text-emerald-600">Güvenli</span>{" "}
|
||||
dilimidir.
|
||||
</p>
|
||||
<DilimSeridiCanli />
|
||||
<p className="mt-4">
|
||||
Garanti diliminin bir sonu yok: 87. sıradaki bir adayın da 500
|
||||
Güvenli diliminin bir sonu yok: 87. sıradaki bir adayın da 500
|
||||
bininci sıradaki bir adayın da ulaşabildiği <em>bütün</em>{" "}
|
||||
programlar listededir. Liste sana en yakın tabandan başlar; aşağı
|
||||
indikçe ve “Daha fazla göster”e bastıkça senden
|
||||
@@ -131,7 +131,7 @@ export function MeraklisinaIcerik() {
|
||||
<p className="mt-2">
|
||||
Tüm bu hesaplar <strong>geçen yılların</strong>{" "}
|
||||
yerleştirme sonuçlarına dayanır. Kontenjanlar, tercih davranışları
|
||||
ve puanlar her yıl değişir; geçen yıl “garanti”
|
||||
ve puanlar her yıl değişir; geçen yıl “güvenli”
|
||||
görünen bir bölüm bu yıl dolabilir. Bu yüzden satırlarda son beş
|
||||
yılın taban seyrini de gösteririz — çizgi yukarı tırmanıyorsa
|
||||
bölüm zorlaşıyor demektir. KolayTercih karar <em>destek</em>{" "}
|
||||
|
||||
@@ -29,17 +29,14 @@ import {
|
||||
import { bolumSayfaSlug, uniSayfaSlug } from "@/lib/slug";
|
||||
import type { RaporSonuc } from "@/features/rapor/types/rapor";
|
||||
import {
|
||||
DILIM_ETIKET,
|
||||
RISK_ETIKET,
|
||||
dilimdenFarkliRiskEtiketi,
|
||||
dilimdenRisk,
|
||||
riskHesapla,
|
||||
type RiskSeviyesi,
|
||||
} from "@/lib/risk";
|
||||
|
||||
export const DILIM_ETIKET: Record<string, string> = {
|
||||
hayal: "Hayal",
|
||||
dengeli: "Dengeli",
|
||||
garanti: "Garanti",
|
||||
};
|
||||
import type { Dilim } from "@/lib/rapor-havuzu";
|
||||
|
||||
// Risk renk dili: yeşil = güvenli, sarı = az riskli, kırmızı = riskli.
|
||||
// Nokta hiçbir yerde tek başına durmaz; yanındaki etiket dar ekranda sr-only
|
||||
@@ -75,12 +72,16 @@ export function RaporSatirDetayi({
|
||||
trendOzeti: string;
|
||||
}) {
|
||||
const stil = RISK_STIL[risk];
|
||||
// Risk etiketi yalnızca dilimin varsayılanından farklıysa yazılır; yoksa
|
||||
// üçüncü dilimde başlık "Güvenli · Güvenli" olurdu (bkz. risk.ts).
|
||||
const farkliRisk = dilimdenFarkliRiskEtiketi(dilim, risk);
|
||||
return (
|
||||
<>
|
||||
<div className="mb-2 flex flex-wrap items-center gap-2 text-xs text-slate-500">
|
||||
<stil.icon className="size-3.5" aria-hidden />
|
||||
<span className="font-medium">
|
||||
{DILIM_ETIKET[dilim]} · {RISK_ETIKET[risk]}
|
||||
{DILIM_ETIKET[dilim as Dilim] ?? dilim}
|
||||
{farkliRisk ? ` · ${farkliRisk}` : null}
|
||||
</span>
|
||||
{unitur ? <span>· {unitur}</span> : null}
|
||||
</div>
|
||||
@@ -345,7 +346,7 @@ export function RaporListesi({
|
||||
<p className="mt-3 rounded-lg border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900">
|
||||
Tercihlerine göre {rapor.kapsam.toplam} uygun program bulundu; listen{" "}
|
||||
{rapor.kapsam.dagilim.hayal} hayal · {rapor.kapsam.dagilim.dengeli}{" "}
|
||||
dengeli · {rapor.kapsam.dagilim.garanti} garanti olarak kuruldu. Daha
|
||||
dengeli · {rapor.kapsam.dagilim.garanti} güvenli olarak kuruldu. Daha
|
||||
fazla seçenek için alan veya il filtreni genişletebilirsin.
|
||||
</p>
|
||||
) : null}
|
||||
|
||||
@@ -2,16 +2,19 @@ import Image from "next/image";
|
||||
import { redirect } from "next/navigation";
|
||||
import { verifySession, getCurrentUser } from "@/lib/session";
|
||||
import { kullanicininRaporu } from "../rapor-queries";
|
||||
import { PUAN_TURLERI } from "@/types/yokatlas";
|
||||
import { PUAN_TURLERI, type DilimKey } from "@/types/yokatlas";
|
||||
import { DILIM_ETIKET, RISK_ETIKET, dilimdenRisk } from "@/lib/risk";
|
||||
import type { RaporParams, RaporSonuc } from "../types/rapor";
|
||||
import { Skeleton } from "@/components/ui/skeleton";
|
||||
import { YazdirButonu } from "./yazdir-butonu";
|
||||
|
||||
const DILIM_LABEL: Record<string, string> = {
|
||||
hayal: "Hayal (Riskli)",
|
||||
dengeli: "Dengeli (Az riskli)",
|
||||
garanti: "Garanti (Güvenli)",
|
||||
};
|
||||
// Dilim sütunu: dilim adı + varsayılan riski. Üçüncü dilimde ikisi aynı
|
||||
// kelime ("Güvenli") olduğu için parantez düşer — "Güvenli (Güvenli)" yazmaz.
|
||||
function dilimLabel(dilim: DilimKey): string {
|
||||
const ad = DILIM_ETIKET[dilim] ?? dilim;
|
||||
const risk = RISK_ETIKET[dilimdenRisk(dilim)];
|
||||
return ad === risk ? ad : `${ad} (${risk})`;
|
||||
}
|
||||
|
||||
export async function RaporYazdir() {
|
||||
const session = await verifySession("/rapor/yazdir");
|
||||
@@ -50,7 +53,7 @@ export async function RaporYazdir() {
|
||||
Not: Tercihlerine göre {rapor.kapsam.toplam} uygun program bulundu;
|
||||
liste {rapor.kapsam.dagilim.hayal} hayal ·{" "}
|
||||
{rapor.kapsam.dagilim.dengeli} dengeli ·{" "}
|
||||
{rapor.kapsam.dagilim.garanti} garanti olarak kuruldu.
|
||||
{rapor.kapsam.dagilim.garanti} güvenli olarak kuruldu.
|
||||
</p>
|
||||
) : null}
|
||||
</header>
|
||||
@@ -91,7 +94,7 @@ export async function RaporYazdir() {
|
||||
{p?.universite} · {p?.il ?? "—"}
|
||||
</span>
|
||||
</td>
|
||||
<td className="py-2 pr-2">{DILIM_LABEL[t.dilim]}</td>
|
||||
<td className="py-2 pr-2">{dilimLabel(t.dilim)}</td>
|
||||
<td className="py-2 pr-2">{t.gerekce}</td>
|
||||
<td className="py-2 pr-2">{t.riskNotu}</td>
|
||||
<td className="py-2">{t.trendOzeti}</td>
|
||||
|
||||
@@ -76,7 +76,7 @@ export function RevizyonKutusu({ kalanHak }: { kalanHak: number }) {
|
||||
onChange={(e) => setFeedback(e.target.value)}
|
||||
rows={2}
|
||||
maxLength={1000}
|
||||
placeholder="ör. İlk 5 tercihte daha fazla İstanbul olsun, garanti dilimini genişlet…"
|
||||
placeholder="ör. İlk 5 tercihte daha fazla İstanbul olsun, güvenli dilimi genişlet…"
|
||||
disabled={pending}
|
||||
className="w-full rounded-lg border border-slate-200 bg-white px-3 py-2 text-sm shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50"
|
||||
/>
|
||||
|
||||
@@ -161,7 +161,7 @@ export function CtaSiraForm({
|
||||
</h2>
|
||||
<p className="mt-2 text-sm leading-6 text-slate-600">
|
||||
Sıralaman kayıtlı ({profil.sira.toLocaleString("tr-TR")}. sıra) —
|
||||
gerçek YÖK Atlas verisiyle hayal, dengeli ve garanti dilimlerindeki
|
||||
gerçek YÖK Atlas verisiyle hayal, dengeli ve güvenli dilimlerindeki
|
||||
programların hazır.
|
||||
</p>
|
||||
<Link
|
||||
@@ -185,7 +185,7 @@ export function CtaSiraForm({
|
||||
</h2>
|
||||
<p className="mt-2 text-sm leading-6 text-slate-600">
|
||||
{aciklama ??
|
||||
"YKS başarı sıralamanı gir; gerçek YÖK Atlas verisiyle sıralamana uygun hayal, dengeli ve garanti dilimlerindeki programları anında listele. Ücretsiz, üyelik gerekmez."}
|
||||
"YKS başarı sıralamanı gir; gerçek YÖK Atlas verisiyle sıralamana uygun hayal, dengeli ve güvenli dilimlerindeki programları anında listele. Ücretsiz, üyelik gerekmez."}
|
||||
</p>
|
||||
<Button
|
||||
type="button"
|
||||
@@ -227,7 +227,7 @@ export function CtaSiraForm({
|
||||
</h2>
|
||||
<p className="mt-2 max-w-xl text-sm leading-6 text-slate-600">
|
||||
Puan türünü seç, başarı sıralamanı yaz; hayal, dengeli ve
|
||||
garanti dilimlerindeki programları bu sayfadan ayrılmadan
|
||||
güvenli dilimlerindeki programları bu sayfadan ayrılmadan
|
||||
gör. Ücretsiz, üyelik gerekmez.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -322,7 +322,7 @@ export function SihirbazBolumu({
|
||||
<p className="relative mx-auto mt-3 max-w-xl text-white/90">
|
||||
Tablodan elle eklemek her zaman serbest. Ama üç adımda ilgi
|
||||
alanlarını ve şehirlerini söylersen, yapay zekâ hayal, dengeli
|
||||
ve garanti dilimlerine dağıtılmış 24 tercihi — her satırı
|
||||
ve güvenli dilimlerine dağıtılmış 24 tercihi — her satırı
|
||||
yerleşme riski ve gerekçesiyle — senin yerine dizer.
|
||||
</p>
|
||||
<Button
|
||||
|
||||
@@ -19,6 +19,7 @@ import {
|
||||
} from "../rapor-havuzu";
|
||||
import { secimOzeti } from "@/features/sihirbaz/sihirbaz-sabitler";
|
||||
import {
|
||||
DILIM_ETIKET,
|
||||
RISK_ETIKET,
|
||||
dilimdenRisk,
|
||||
riskHesapla,
|
||||
@@ -77,6 +78,11 @@ KURALLAR (kesin):
|
||||
- METİN DİYETİ: aday ${toplam} satır okuyacak; gerekce TEK kısa cümle (en fazla ~15
|
||||
kelime, Türkçe): bu programın bu aday için neden mantıklı olduğu. Dolgu söz
|
||||
yok; ASLA "garanti", "kesin", "yüzde yüz" deme.
|
||||
- SÖZLÜK: "garanti" yalnızca üçüncü listenin teknik JSON alan adı ve havuzdaki
|
||||
"dilim" değeridir. Adaya dönük HİÇBİR metinde (gerekce, genelDegerlendirme,
|
||||
uyarilar) "garanti" kelimesini kullanma; bu dilimi adaya "güvenli dilim" /
|
||||
"güvenli tercihler" diye an. Aday ya da önceki liste özeti "güvenli dilim"
|
||||
derse kastedilen "garanti" listesidir.
|
||||
- Adayın notlarındaki şehir/bölüm tercihlerine saygı göster ama dengeyi bozma.
|
||||
- genelDegerlendirme: listenin genel stratejisi, EN FAZLA 2 cümle. Uyarıları
|
||||
buraya yazma.
|
||||
@@ -209,12 +215,12 @@ function mockRapor(
|
||||
tercihler,
|
||||
genelDegerlendirme: `(Dev mock — Yapay Zeka anahtarı tanımlı değil, bu rapor gerçek Yapay Zeka çıktısı değildir.) ${params.sira.toLocaleString(
|
||||
"tr-TR",
|
||||
)}. sıra için hayal/dengeli/garanti dağılımlı ${toplamHedef} tercihlik örnek liste kuruldu.${
|
||||
)}. sıra için hayal/dengeli/güvenli dağılımlı ${toplamHedef} tercihlik örnek liste kuruldu.${
|
||||
revizyonNotu ? ` Revizyon isteğin not alındı: "${revizyonNotu}".` : ""
|
||||
}`,
|
||||
uyarilar: [
|
||||
"(Dev mock) Tercih dönemi kapanmadan listeyi ÖSYM sistemine kendin gir.",
|
||||
"(Dev mock) Garanti dilimindeki son tercihleri asla silme.",
|
||||
"(Dev mock) Güvenli dilimindeki son tercihleri asla silme.",
|
||||
],
|
||||
programlar,
|
||||
kapsam: kapsamUret(hedef),
|
||||
@@ -406,7 +412,7 @@ export async function raporUret(
|
||||
tercihler,
|
||||
genelDegerlendirme:
|
||||
genel.trim() ||
|
||||
`Listen ${toplamHedef} tercihten oluşuyor; hayal, dengeli ve garanti dilimleri sıralamana göre dengelendi.`,
|
||||
`Listen ${toplamHedef} tercihten oluşuyor; hayal, dengeli ve güvenli dilimleri sıralamana göre dengelendi.`,
|
||||
uyarilar: uyarilar.length > 0 ? uyarilar : undefined,
|
||||
programlar,
|
||||
kapsam: kapsamUret(hedef),
|
||||
@@ -424,7 +430,10 @@ export function listeOzetiCikar(rapor: RaporSonuc, adaySira?: number): string {
|
||||
p?.efektifSira != null
|
||||
? ` (taban sırası ~${p.efektifSira.toLocaleString("tr-TR")})`
|
||||
: "";
|
||||
return `${t.sira}. [${t.dilim} | ${RISK_ETIKET[risk]}] ${p?.isim ?? "?"} — ${p?.universite ?? "?"}${taban}`;
|
||||
// Modele ham `garanti` anahtarı değil görünen dilim adı gider; yoksa
|
||||
// sohbet cevaplarına "garanti dilimi" sızıyor. Dilim ve risk aynı kelime
|
||||
// olabildiği için ("Güvenli") alanlar adlandırılır.
|
||||
return `${t.sira}. [dilim: ${DILIM_ETIKET[t.dilim] ?? t.dilim} | risk: ${RISK_ETIKET[risk]}] ${p?.isim ?? "?"} — ${p?.universite ?? "?"}${taban}`;
|
||||
})
|
||||
.join("\n");
|
||||
}
|
||||
|
||||
@@ -12,6 +12,18 @@ export const RISK_ETIKET: Record<RiskSeviyesi, string> = {
|
||||
riskli: "Riskli",
|
||||
};
|
||||
|
||||
/**
|
||||
* Dilimin kullanıcıya GÖRÜNEN adı — tek kaynak. Üçüncü dilimin iç anahtarı
|
||||
* (tip, DB değeri, API parametresi, mermaid classDef, analitik) `garanti`
|
||||
* olarak kalır; ekranda "Güvenli" yazar. Ham anahtarı kullanıcıya basma,
|
||||
* buradan oku.
|
||||
*/
|
||||
export const DILIM_ETIKET: Record<Dilim, string> = {
|
||||
hayal: "Hayal",
|
||||
dengeli: "Dengeli",
|
||||
garanti: "Güvenli",
|
||||
};
|
||||
|
||||
/** Harita pinlerinin SVG dolgu renkleri — risk renk dilinin oklch karşılığı. */
|
||||
export const RISK_PIN_RENK: Record<RiskSeviyesi, string> = {
|
||||
guvenli: "oklch(0.696 0.17 162.5)", // emerald-500
|
||||
@@ -43,6 +55,19 @@ export function dilimdenRisk(dilim: Dilim | string): RiskSeviyesi {
|
||||
return "riskli";
|
||||
}
|
||||
|
||||
/**
|
||||
* Dilim başlığının yanına yazılacak risk etiketi. Yalnızca satırın riski
|
||||
* dilimin varsayılanından FARKLIYSA döner; aynıysa null. Üçüncü dilimin adı
|
||||
* risk etiketiyle aynı kelime olduğu için aksi hâlde "Güvenli · Güvenli"
|
||||
* görünürdü.
|
||||
*/
|
||||
export function dilimdenFarkliRiskEtiketi(
|
||||
dilim: Dilim | string,
|
||||
risk: RiskSeviyesi,
|
||||
): string | null {
|
||||
return dilimdenRisk(dilim) === risk ? null : RISK_ETIKET[risk];
|
||||
}
|
||||
|
||||
/**
|
||||
* Risk seviyesinin tek cümlelik açıklaması (rapor satırları + tadımlık).
|
||||
* Ürün yerleşme olasılığı HESAPLAMAZ; yalnızca son taban sıralamasını adayın
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { kategoriEslesir } from "./kategoriler";
|
||||
import { riskHesapla, type RiskSeviyesi } from "./risk";
|
||||
import { DILIM_ETIKET, riskHesapla, type RiskSeviyesi } from "./risk";
|
||||
import type { TercihProfili } from "@/features/sihirbaz/sihirbaz-sabitler";
|
||||
|
||||
export type DegerlendirilecekProgram = {
|
||||
@@ -11,7 +11,8 @@ export type DegerlendirilecekProgram = {
|
||||
|
||||
export type TercihDegerlendirmesi = {
|
||||
risk: RiskSeviyesi | null;
|
||||
riskEtiketi: "Hayal" | "Dengeli" | "Daha güvenli" | "Veri yetersiz";
|
||||
/** Görünen dilim adı (DILIM_ETIKET) ya da "Veri yetersiz". */
|
||||
riskEtiketi: string;
|
||||
riskMetni: string;
|
||||
olumlu: string[];
|
||||
celiskiler: string[];
|
||||
@@ -65,11 +66,11 @@ export function tercihDegerlendir(
|
||||
|
||||
const riskEtiketi =
|
||||
risk === "riskli"
|
||||
? "Hayal"
|
||||
? DILIM_ETIKET.hayal
|
||||
: risk === "az-riskli"
|
||||
? "Dengeli"
|
||||
? DILIM_ETIKET.dengeli
|
||||
: risk === "guvenli"
|
||||
? "Daha güvenli"
|
||||
? DILIM_ETIKET.garanti
|
||||
: "Veri yetersiz";
|
||||
const riskMetni =
|
||||
risk === "riskli"
|
||||
|
||||
Reference in New Issue
Block a user