Update UI components and database schema
All checks were successful
Deploy / deploy (push) Successful in 2m38s
All checks were successful
Deploy / deploy (push) Successful in 2m38s
- Updated the `page.tsx` component to enhance user experience with new UI elements and improved layout. - Modified the `funnel-banner.tsx` to include dynamic text and improved styling for better engagement. - Adjusted the `liste-paneli.tsx` to provide clearer information on user credits and package details. - Enhanced the `rapor-listesi.tsx` to display additional data points for better insights. - Updated the database schema in `app.db` to reflect recent changes in the application logic. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -9,6 +9,8 @@ import { UNI_KOORDINAT, IL_MERKEZ, type LatLng } from "./uni-koordinatlar";
|
||||
|
||||
export const HARITA_GENISLIK = 1050;
|
||||
export const HARITA_YUKSEKLIK = 585;
|
||||
/** Ülke çizimi y≈144'te başlıyor; üstteki ölü bant her haritada kırpılır. */
|
||||
export const HARITA_UST_KIRPMA = 138;
|
||||
|
||||
export function latLngToXy([lat, lng]: LatLng): { x: number; y: number } {
|
||||
return {
|
||||
|
||||
@@ -1,31 +1,18 @@
|
||||
// Paketsiz kullanıcıya giden raporun sunucu tarafı maskesi.
|
||||
// Blur yalnızca CSS olduğundan kilitli satırların gerçek içeriği client'a
|
||||
// hiç inmemeli: ilk ACIK_SATIR tercih gerçek kalır, gerisinin metinleri
|
||||
// makul görünen placeholder'larla değiştirilir. Risk rengini besleyen
|
||||
// dilim + il gerçek kalır ki blur altındaki dağılım adayı yansıtsın;
|
||||
// taban sıralaması (efektifSira) sızdırılmaz.
|
||||
// YÖK Atlas'ın ham program ve taban sıralaması verileri ücretsiz kalır.
|
||||
// Yalnızca AI'ın ürettiği kişisel gerekçe/risk/trend yorumu maskelenir;
|
||||
// böylece istemciye ücretli analiz metni hiç inmez.
|
||||
|
||||
import type { RaporSonuc } from "./ai/rapor";
|
||||
|
||||
export const ACIK_SATIR = 3;
|
||||
|
||||
const SAHTE_ISIMLER = [
|
||||
"Bilgisayar Mühendisliği (İngilizce)",
|
||||
"Elektrik-Elektronik Mühendisliği",
|
||||
"Endüstri Mühendisliği",
|
||||
"Yazılım Mühendisliği (Burslu)",
|
||||
"Makine Mühendisliği",
|
||||
"İşletme (İngilizce)",
|
||||
"Psikoloji",
|
||||
"Mimarlık",
|
||||
];
|
||||
|
||||
const SAHTE_GEREKCE =
|
||||
"Sıralamana ve seçtiğin önceliklere göre dengeli bir aday; ayrıntılı gerekçe kilidin ardında.";
|
||||
"Bu tercih için kişisel gerekçe paketle açılır.";
|
||||
const SAHTE_RISK =
|
||||
"Yerleşme ihtimali değerlendirmesi paketi aktive edince görünür.";
|
||||
"Sıralamana özel yerleşme riski paketle açılır.";
|
||||
const SAHTE_TREND =
|
||||
"Son 4 yılın taban sıralaması hareketi paketi aktive edince görünür.";
|
||||
"Ham trend verisi ücretsizdir; AI yorumu paketle açılır.";
|
||||
|
||||
/** genelDegerlendirme'nin yalnızca ilk 1-2 cümlesini bırakır. */
|
||||
function degerlendirmeKirp(metin: string): string {
|
||||
@@ -46,28 +33,11 @@ export function raporMaskele(rapor: RaporSonuc): RaporSonuc {
|
||||
},
|
||||
);
|
||||
|
||||
const programlar: RaporSonuc["programlar"] = {};
|
||||
rapor.tercihler.forEach((t, i) => {
|
||||
const p = rapor.programlar[t.programId];
|
||||
if (!p) return;
|
||||
programlar[t.programId] =
|
||||
i < ACIK_SATIR
|
||||
? p
|
||||
: {
|
||||
isim: SAHTE_ISIMLER[i % SAHTE_ISIMLER.length],
|
||||
universite: "•••••••• Üniversitesi",
|
||||
il: p.il,
|
||||
unitur: p.unitur,
|
||||
efektifSira: null,
|
||||
};
|
||||
});
|
||||
|
||||
return {
|
||||
tercihler,
|
||||
genelDegerlendirme: degerlendirmeKirp(rapor.genelDegerlendirme),
|
||||
// Uyarılar liste geneline dair, satır sırrı taşımaz: paketsizde de kalır.
|
||||
// Satır bazlı siraGecmisi ise kilitli satırlarda hiç kopyalanmaz (üstte).
|
||||
uyarilar: rapor.uyarilar,
|
||||
programlar,
|
||||
// Program adı, üniversite ve 2021–2025 taban sıralamaları ham veridir.
|
||||
programlar: rapor.programlar,
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user