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,
PixelField,
SectionEyebrow,
} from "@/components/pixel-decor";
import { MAX_REVIZYON, URUNLER } from "@/lib/credits";
import { 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:
"23.000'den fazla lisans 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 bakarak yapılan tercih, boşta kalmanın en yaygın sebebi.",
},
{
icon: Wallet,
title: "Danışman lüks haline geldi",
description:
"İyi bir tercih danışmanı 1.000–3.000 TL istiyor. Ü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: "Yapay zekâ veriyi tarasın",
description: `Son ${VERI_YIL_SAYISI} yılın YÖK Atlas verisi — taban sıralaması trendleri, kontenjan değişimleri, doluluk oranları — senin için analiz edilsin.`,
},
{
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 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?",
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{" "}
{/* 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 */}
{/* Final CTA — tam genişlik bant yerine yüzen, köşeleri yumuşak panel */}
{/* Hero'nun piksel dokusu koyu zeminde: ortası boş, kenarlara doğru yoğun */}
{/* Piksel zemin panel içinde geride kalır; taşma payı için dikeyde büyütülür */}