fix(navbar): pill etiketleri her genişlikte gizli — çakışma kapanır

Konteyner max-w-6xl = 1152 px'te kilitli; xl (1280 px) içeriğe yeni yer
açmıyor ama eski görünürlük deseni tam orada iki etiketi birden geri
getiriyordu (+229 px). Orta nav absolute (katalog-arama.tsx:270), sağ küme
shrink-0 — flex çakışmayı göremiyor, koyu "Ara" butonu pill'in üstüne
boyanıyor (konumlanmış eleman statik elemanın üstünde).

user-nav.tsx ve listem-butonu.tsx etiket span'lerinden hem xl hem sm
görünürlük sınıfları kaldırıldı; anlamı ikon + aria-label + title taşıyor
(ikisi de yerinde, erişilebilirlik değişmedi).

Tasarımcı ölçümü (36-tasarimci-g1-ve-navbar.md, gerçek font metriği):
375 px → 284,5/351 tek satır · 768 px → 555,8/736 tek satır ·
1280+ → boşluk +15,5 … +110 px, çakışma yok.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
bilalgursen
2026-09-22 23:17:28 +03:00
parent 9bd448bd16
commit 9abfdf4aa9
2 changed files with 12 additions and 7 deletions

View File

@@ -54,11 +54,14 @@ export async function UserNav() {
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>
{/* 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). */}
<span className="hidden">Yapay Zeka Listem</span>
</Link>
<Link
href="/paket?kaynak=nav"

View File

@@ -35,8 +35,10 @@ export function ListemButonu() {
className="relative inline-flex h-9 cursor-pointer 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-[color,background-color,border-color,transform] duration-200 hover:border-slate-300 hover:bg-slate-50 active:scale-[0.97] sm:h-12 sm:gap-2 sm:px-5 sm:text-sm"
>
<ListChecks className="size-3.5 text-primary sm:size-4" aria-hidden />
{/* lg–xl: ortadaki nav ile yer dar — metin gizli, ikon+rozet kalır */}
<span className="hidden sm:inline lg:hidden xl:inline">Kendi Listem</span>
{/* Etiket her genişlikte gizli: konteyner 1152 px'te sabit olduğu için
hiçbir kırılma noktasında etikete yer yok — ikon + rozet + yukarıdaki
aria-label anlamı taşıyor. UserNav'daki pill'le aynı desen. */}
<span className="hidden">Kendi Listem</span>
{liste.length > 0 ? (
// key=length: her eklemede rozet yeniden doğar ve spring ile oturur
<motion.span