Skip to content

Caruselul de categorii își ține locul cât timp se încarcă

Vitalie requested to merge 33_category-rail-cls into main

Continuarea lui !35 (merged). Rezervarea grilei a dus /collections/shop-all de la 0,2999 la 0,112 pe producție — mult mai bine, dar tot peste pragul de 0,1 din checklistul de lansare. /collections/accessories, care n-are carusel de categorii, a ajuns la 0.

Ce rămăsese era un singur shift, al întregului <main>, care se mișcă doar dacă ceva de deasupra lui își schimbă înălțimea. Raportul Lighthouse îl arăta direct: body > div#root > div.flex > main#main, scor 0,112.

ShopCategoryRail stă în banda de deasupra lui <main> și aplatiza null în [] exact ca grila: rândul avea înălțime zero până răspundea /api/shop-categories, apoi își lua înălțimea și împingea pagina în jos.

De ce o singură celulă e exactă, nu aproximativă

Caruselul e un rând, iar înălțimea lui vine din cutia cardului, nu din câte carduri sunt. Măsurat pe build-ul real, la 375px:

în încărcare după
celule în carusel 1 6
înălțime carusel 160px 160px
top <main> 476px 476px

<main> nu se mai mișcă deloc.

O cerere picată lasă caruselul strâns, exact ca azi, în loc să țină un rând pentru carduri care nu mai vin.

Testul a fost verificat că poate cădea: cu rezervarea scoasă, devine roșu.

Frontend: tsc --noEmit -p tsconfig.app.json curat, oxlint cu singurul avertisment preexistent din src/App.tsx:69, 215 teste în 27 de fișiere, build curat.

Part of #33 (closed)

Merge request reports