import {
ArrowRight,
ArrowUpRight,
BarChart3,
Coins,
Compass,
FileText,
ListChecks,
MessageCircleQuestion,
RefreshCcw,
ShieldCheck,
TrendingUp,
Wallet,
} from "lucide-react";
import Link from "next/link";
import { Suspense } from "react";
import { ComparisonCell } from "@/features/pazarlama/components/landing-parcalari";
import { HeroBaslik } from "@/features/pazarlama/components/hero-baslik";
import { KapanisCta } from "@/features/pazarlama/components/hero-focus-button";
import { HeroForm } from "@/features/sihirbaz/components/hero-form";
import { Parallax } from "@/components/parallax";
import { Reveal } from "@/features/pazarlama/components/reveal";
import { SosyalKanitBandi } from "@/features/pazarlama/components/sosyal-kanit";
import { TurkeyPixelMap } from "@/features/pazarlama/components/turkey-pixel-map";
import {
PixelCorner,
PixelDivider,
SectionEyebrow,
} from "@/components/pixel-decor";
import { PikselCtaYuzeyi } from "@/components/piksel-cta-yuzeyi";
import { MAX_REVIZYON, URUNLER } from "@/lib/credits";
import {
PROGRAM_SAYISI_CUMLE,
PROGRAM_SAYISI_METNI,
VERI_YIL_SAYISI,
} from "@/lib/veri-kapsami";
import {
Accordion,
AccordionContent,
AccordionItem,
AccordionTrigger,
} from "@/components/ui/accordion";
import { Button } from "@/components/ui/button";
import {
Card,
CardDescription,
CardHeader,
CardTitle,
} from "@/components/ui/card";
import {
Table,
TableBody,
TableCell,
TableHead,
TableHeader,
TableRow,
} from "@/components/ui/table";
import type { Metadata } from "next";
import {
JsonLd,
KATALOG_VERI_TARIHI,
faqPageJsonLd,
softwareApplicationJsonLd,
} from "@/lib/seo";
import { KATALOG_TARIH_METNI } from "@/features/katalog/components/veri-kaynagi";
import { SiteFooter } from "@/components/site-footer";
export const metadata: Metadata = {
alternates: { canonical: "/" },
};
const PAKET_FIYATI = (URUNLER.paket.amountKurus / 100).toLocaleString("tr-TR", {
maximumFractionDigits: 0,
});
const TOPUP_FIYATI = (URUNLER.topup.amountKurus / 100).toLocaleString("tr-TR", {
maximumFractionDigits: 0,
});
const problems = [
{
icon: ListChecks,
title: "24 tercih, binlerce ihtimal",
description: `${PROGRAM_SAYISI_CUMLE} lisans ve önlisans programı arasından sana uyan 24 tanesini doğru sırayla dizmek, tablolarla boğuşarak günler alıyor.`,
},
{
icon: TrendingUp,
title: "Geçen yılın puanı yetmiyor",
description:
"Taban sıralamaları her yıl kayıyor; tek yıla bakmak riski gizler.",
},
{
icon: Wallet,
title: "Danışman lüks haline geldi",
description:
"Armut'ta tercih danışmanlığı ilanları ortalama 1.000–3.000 TL (Eylül 2026). Ücretsiz robotların çoğu ise yalnızca liste filtreliyor; listeyi kurup gerekçesini yazmıyor.",
},
];
const steps = [
{
icon: Compass,
step: "1",
title: "Sıralamanı ve hedeflerini anlat",
description:
"YKS başarı sıralamanı gir; sıralamana uygun ilgi alanı, şehir ve üniversite tercihlerini birkaç adımda işaretle.",
},
{
icon: BarChart3,
step: "2",
title: `Son ${VERI_YIL_SAYISI} yılın resmî verisi taransın`,
description:
"YÖK Atlas'ın taban sıralaması trendleri, kontenjan değişimleri ve doluluk oranları sıralamana göre elensin; yapay zekâ yalnızca bu havuzdan seçer, dışına çıkamaz.",
},
{
icon: ShieldCheck,
step: "3",
title: "Dengeli 24'lük listeni al",
description:
"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.",
},
];
const faqs = [
{
question: "KolayTercih'in önerileri neye dayanıyor?",
answer: `Tüm öneriler YÖK Atlas'ın resmî verisine dayanır: son ${VERI_YIL_SAYISI} yılın taban başarı sıralamaları, kontenjanlar, yerleşme istatistikleri ve doluluk oranları. Yapay zekâ bu veriyi yorumlar; veri olmadan tahmin yürütmez.`,
},
{
question: "Ücretsiz tercih robotlarından farkı ne?",
answer:
"Ücretsiz robotların çoğu puan aralığına göre bölüm listeler ve gerisini sana bırakır; bazıları yapay zekâ sohbeti de sunar. KolayTercih listenin kendisini kurar: hangi tercihi kaçıncı sıraya, neden koyduğunu açıklar, riskini geçmiş taban verisinden hesaplar ve sorularını cevaplar. Yapay zekâ yalnızca sıralamanla açılan gerçek programlardan seçer; bu havuzun dışına çıkamaz.",
},
{
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/güvenli dilimleriyle kurarak boşta kalma riskini satır satır görünür kılarız. Tercih listenin son hali ve ÖSYM başvurusu her zaman senin sorumluluğundadır.",
},
{
question: "KolayTercih ücretsiz mi?",
answer:
"Katalog ücretsiz: bölüm, üniversite ve il sayfalarındaki taban puanları, sıralamalar ve kontenjanlar herkese açık, üye olmadan da bakılır. Sıralamana göre programları görmek de ücretsiz. Ücretli olan tek şey yapay zekâ destekli 24'lük liste, gerekçeleri ve soru hakkı paketi.",
},
{
question: "KolayTercih güvenilir mi, ÖSYM ya da YÖK ile bağlantısı var mı?",
answer:
"KolayTercih bağımsız bir üründür; ÖSYM ya da YÖK ile hiçbir bağlantısı yoktur. Veri kaynağı herkese açık YÖK Atlas yerleştirme sonuçlarıdır ve her katalog sayfasında kaynak ile son güncelleme tarihi yazılır. Yerleşme garantisi vermez, riski satır satır gösterir. Resmî bilgi için tek kaynak ÖSYM kılavuzu ve duyurularıdır.",
},
{
question: "Fiyatlandırma nasıl çalışıyor?",
answer: `Abonelik yok. Tercih dönemi boyunca geçerli tek seferlik ${PAKET_FIYATI} TL'lik paket alırsın: yapay zekâ destekli kişisel 24'lük liste, risk analizi, liste revizyonları ve ${URUNLER.paket.credits} soru hakkı dahil. Soru hakların biterse ${TOPUP_FIYATI} TL'ye +${URUNLER.topup.credits} soru ekleyebilirsin. Temel program arama ise herkes için ücretsiz.`,
},
];
const comparison = [
{
feature: "Sıralamana uygun program listesi",
robot: true,
danisman: true,
tercihai: true,
},
// Rakip hücreleri genelleme yapmaz: bazı ücretsiz robotlar artık yapay zekâ
// sohbeti/dengeli liste de sunuyor, bazı danışmanlar 7/24 yazışıyor. Emin
// olmadığımız yerde ✗ yerine metin ("Bazılarında" vb.) kullanılır.
{
feature: `Son ${VERI_YIL_SAYISI} yılın taban trendi, her tercihte`,
robot: "Bazılarında",
danisman: true,
tercihai: true,
},
{
feature: "Gerekçeli, dengeli 24'lük liste",
robot: "Bazılarında",
danisman: true,
tercihai: true,
},
{
feature: "Her öneri resmî YÖK Atlas kaydına dayanır (uydurma bölüm yok)",
robot: "Sohbet botlarında belirsiz",
danisman: true,
tercihai: true,
},
{
feature: "Nasıl çalıştığı herkese açık yazılı",
robot: "Genelde yok",
danisman: "Danışmana göre",
tercihai: true,
},
{
feature: "7/24 soru-cevap",
robot: "Bazılarında",
danisman: "Danışmana göre",
tercihai: true,
},
{
feature: "Fiyat",
robot: "Ücretsiz",
danisman: "1.000–3.000 TL*",
tercihai: `${PAKET_FIYATI} TL · tek seferlik`,
},
];
const paketOzellikleri = [
{
icon: ListChecks,
text: "Sıralamana özel, gerekçeli 24 tercihlik dengeli liste",
},
{
icon: ShieldCheck,
text: `Her tercih için yerleşme riski ve trend analizi (son ${VERI_YIL_SAYISI} yıl)`,
},
{ icon: FileText, text: "Veliyle paylaşılabilir PDF rapor" },
{ icon: RefreshCcw, text: `${MAX_REVIZYON} liste revizyon hakkı` },
{
icon: MessageCircleQuestion,
text: `${URUNLER.paket.credits} yapay zekâ danışman sorusu`,
},
] as const;
export default function Home() {
return (
{/* Hero */}
{/* Arka katman: harita scroll'un gerisinde kalır, derinlik verir */}
{/* Harita orta ekranlarda nefes payı bırakır, ekranla birlikte
ölçeklenir ve çok geniş ekranda 1665px tavanına oturur;
mobilde tümüyle gizli. */}
Veri: YÖK Atlas
{" "}
· son güncelleme{" "}
{/* Markayı tek cümlede tanımlayan görünür metin: sitedeki SSS ve
/kosullar ifadelerinin toplamı, yeni vaat yok. Meta/OG'de zaten
var; yapay zekâ cevap motorları gövde metnini önceliklendirdiği
için burada da durur (docs/arastirma/2026-09-24-geo-seo). */}
KolayTercih, YÖK Atlas'ın resmî yerleştirme verisiyle
sıralamana uygun 24 tercihlik dengeli liste kuran, yapay zekâ
destekli bir karar destek aracıdır. ÖSYM ya da YÖK ile bağlantılı
değildir; yerleşme garantisi vermez.
{/* Hero → Problem geçişi: border yerine piksel ayraç */}
{/* Problem */}
{/* Başlık gövdeden hafif hızlı akar — katman derinliği */}
Sorun
Tercih dönemi neden bu kadar stresli?
Her yıl iki milyondan fazla aday aynı üç duvara çarpıyor.
{problems.map((p, i) => (
{p.title}
{p.description}
))}
{/* Problem → Nasıl çalışır geçişi */}
{/* How it works */}
Nasıl çalışır?
{/* Kuralların şeffaf anlatımına köprü: /meraklisina */}
Meraklısına
Üç adımda listen hazır
Sıralamandan dengeli 24'lük listeye giden yol üç adım
sürer.
{steps.map((s, i) => (
{s.step}
{s.title}
{s.description}
))}
{/* Veriye dayalı güven + garanti vaadine karşı dürüst konumlandırma */}
{[
{
value: PROGRAM_SAYISI_METNI,
label: "Taranan lisans ve önlisans programı",
},
{
value: `${VERI_YIL_SAYISI} yıl`,
label: "Taban sıralaması trend verisi",
},
{ value: "%100", label: "Resmî YÖK Atlas kaynağı" },
].map((stat) => (
// Sayı kahramandır (DESIGN.md §1.1): iri sayı üstte, etiket
// altında; dt anlam için DOM'da önce, görsel sıra order ile.
{stat.label}
{stat.value}
))}
Dürüstlük notu
Yerleşme garantisi vermiyoruz — çünkü kimse veremez.
Taban sıralamaları her yıl değişir. Biz sonuç vaadi satmak
yerine riski satır satır gösterir, daha güvenli bir liste
kurmana yardımcı oluruz.
{/* Nasıl çalışır → Karşılaştırma geçişi */}
{/* Comparison */}
Karşılaştır
Robot mu, danışman mı, KolayTercih mi?
Kim ne yapıyor, neyle, kaça — yan yana bak.
{/* Tablo yatay kaydırmaz (DESIGN.md §5.1): lg altında her özellik
kendi satırında, üç cevap altında üç sütun; sütun adları
üstte yapışık durur (site başlığının hemen altında: telefonda 96 px,
sm'den itibaren 128 px — ölçüldü).
lg'de klasik dört sütunlu tablo. */}
Robotlar ve botlarİnsan danışman
KolayTercih
{comparison.map((row) => (
{row.feature}
Robotlar ve botlar
İnsan danışman
KolayTercih
))}
Özellik
Robotlar ve sohbet botları
İnsan danışman
KolayTercih
{comparison.map((row) => (
{row.feature}
))}
* Danışman fiyat aralığı: Armut ortalama fiyatı, Eylül 2026.
{/* Karşılaştırma → Fiyat geçişi */}
{/* Fiyat */}
Tek seferlik · Abonelik yok
Ne kadar? Ne dahil?
İnsan danışmanın 1.000–3.000 TL aldığı işi tek seferlik{" "}
{PAKET_FIYATI} TL'ye alırsın. Abonelik yok, gizli ücret
yok.
Danışman fiyat aralığı: Armut ortalama fiyatı, Eylül 2026.
{URUNLER.paket.label}
{PAKET_FIYATI} TL
{paketOzellikleri.map((o) => (
{o.text}
))}
{/* Boşluk sarmalayıcıda: sosyal kanıt eşik altında kalıp hiç
çizilmediğinde buton yine listeden mt-8 uzakta durur. */}
{/* Karar butonun başında veriliyor; kanıt da orada dursun.
İstek anında okunuyor, o yüzden Suspense içinde. */}
Temel program arama herkes için ücretsiz · iyzico güvenli
ödeme
Kredi bitti mi?
+{URUNLER.topup.credits} soru hakkı, {TOPUP_FIYATI} TL. Pakete
ek olarak, istediğin zaman.
{/* Final CTA — tam genişlik bant yerine yüzen, köşeleri yumuşak panel */}
{/* Kapanış yüzeyi (DESIGN.md §10.8): koyu kart + 24'lük
listenin interaktif kreatifi. Bilal'in kararı (24 Eyl 2026):
bu yüzey yalnız burada; diğer CTA'lar mavi CtaBandi. */}