import Link from "next/link";
import { ClipboardList, Coins } from "lucide-react";
import { getCurrentUser } from "@/lib/session";
import { ListemButonu } from "@/features/liste/components/listem-butonu";
import { ListeSenkron } from "@/features/liste/components/liste-senkron";
import { RybbitIdentify } from "@/components/rybbit-identify";
import { GirisLinki } from "./giris-linki";
import { SignOutButton } from "./sign-out-button";
/**
* Suspense fallback'i: girişsiz görünümle aynı yükseklik/genişlikte sessiz
* bir pill — session sorgusu akarken header zıplamasın (CLS yok).
*/
export function UserNavFallback() {
return (
);
}
export async function UserNav() {
const u = await getCurrentUser();
// Manuel liste localStorage'ta yaşadığı için Listem girişsiz de çalışır
if (!u) {
return (
);
}
return (
{/* 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). */}
{/* Etiket her genişlikte gizli; anlamı yukarıdaki aria-label + title
taşıyor. Konteyner `max-w-6xl` = 1152 px'te kilitli olduğu için
`xl` (1280 px) yeni yer AÇMIYOR, ama eski görünürlük deseni tam
orada iki etiketi birden geri getiriyordu (+229 px) ve ortadaki
`absolute` nav ile çakışma üretiyordu. Sağ kümenin bütçesi ~304 px
= dört ikon-pill; bir etiket bile fazla. ListemButonu:38 ile aynı
desen (tek kaynak). */}
Yapay Zeka Listem{u.creditBalance}
{/* Etiket yalnızca md–lg arası: daha darda logo kesiliyor, lg üstünde
ortadaki nav ile yer dar (konteyner 1152'de sabit). İkon+sayı ve
title her genişlikte anlamı taşıyor. */}
kredi