feat(funnel): navbar'da kalıcı Yapay Zeka listesi girişi

Girişli kullanıcının /listem'e navbar'dan ulaşacak yolu yoktu: çekmece
butonu (Kendi Listem) manuel liste boşken tamamen gizleniyor, kredi pill'i
de /paket'e gidiyor. Girişli 14 oturumun 7'si /listem'i hiç görmedi.

Kredi pill'iyle birebir aynı sınıf setinde bir /listem girişi eklendi;
ikon ClipboardList (çekmecenin ListChecks'i ve kredinin Coins'i ile
karışmasın). Rapor var mı diye ek DB sorgusu yok — navbar'ın TTFB'si
bozulmasın, boş sayfada ListemBosCta karşılıyor.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
bilalgursen
2026-09-22 01:21:16 +03:00
parent e21cda4d6f
commit cb22faf628

View File

@@ -1,5 +1,5 @@
import Link from "next/link"; import Link from "next/link";
import { Coins } from "lucide-react"; import { ClipboardList, Coins } from "lucide-react";
import { getCurrentUser } from "@/lib/session"; import { getCurrentUser } from "@/lib/session";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { ListemButonu } from "@/features/liste/components/listem-butonu"; import { ListemButonu } from "@/features/liste/components/listem-butonu";
@@ -47,6 +47,24 @@ export async function UserNav() {
<RybbitIdentify kullaniciId={u.id} eposta={u.email} isim={u.name} /> <RybbitIdentify kullaniciId={u.id} eposta={u.email} isim={u.name} />
<ListeSenkron userId={u.id} /> <ListeSenkron userId={u.id} />
<ListemButonu /> <ListemButonu />
{/* Yapay Zeka raporunun kalıcı kapısı: girişli kullanıcı /listem'i
navbar'dan bulamıyordu (çekmece butonu manuel liste boşken hiç
görünmüyor). Rapor var mı diye DB'ye sorulmuyor — navbar'ın TTFB'si
bozulmasın; liste boşsa sayfadaki ListemBosCta karşılıyor.
Sınıf seti kredi pill'iyle birebir aynı (tek kaynak). */}
<Link
href="/listem"
aria-label="Yapay Zeka Listem"
title="Yapay Zeka'nın kurduğu 24 tercihlik listen"
className="inline-flex h-9 items-center gap-1.5 whitespace-nowrap rounded-full border border-slate-200 bg-white px-3 text-xs font-semibold text-slate-700 transition-colors duration-200 hover:border-slate-300 hover:bg-slate-50 sm:h-12 sm:gap-2 sm:px-5 sm:text-sm"
>
<ClipboardList className="size-3.5 text-primary sm:size-4" aria-hidden />
{/* ListemButonu:39 ile aynı görünürlük deseni: 375 px'te ve lg–xl
arasında metin gizli, ikon+aria-label anlamı taşıyor. */}
<span className="hidden sm:inline lg:hidden xl:inline">
Yapay Zeka Listem
</span>
</Link>
<Link <Link
href="/paket?kaynak=nav" href="/paket?kaynak=nav"
className="inline-flex h-9 items-center gap-1.5 whitespace-nowrap rounded-full border border-slate-200 bg-white px-3 text-xs font-semibold text-slate-700 transition-colors duration-200 hover:border-slate-300 hover:bg-slate-50 sm:h-12 sm:gap-2 sm:px-5 sm:text-sm" className="inline-flex h-9 items-center gap-1.5 whitespace-nowrap rounded-full border border-slate-200 bg-white px-3 text-xs font-semibold text-slate-700 transition-colors duration-200 hover:border-slate-300 hover:bg-slate-50 sm:h-12 sm:gap-2 sm:px-5 sm:text-sm"