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:
@@ -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"
|
||||||
|
|||||||
Reference in New Issue
Block a user