Смоук: фикс мобильной пагинации маркетплейса
PR #298 · development → master · сравнение prod (itboat.com) ↔ stage (stage.itboat.com) · компонент PaginationControls.tsx
✅ FIX OK — на мобильном пагинатор перестал переполнять экран; десктоп и края не изменились
Ключевая метрика — ширина пагинатора (px)
| Кейс | viewport | prod | stage | вывод |
| Средняя страница (p4) — тут был баг | mobile 390 | 491 | 358 | stage уже на 133px, помещается в 390 |
| Первая страница (p1) — край | mobile 390 | 358 | 358 | идентично (края всегда были ок) |
| Любая страница | desktop 1440 | 944 | 944 | идентично (ПК-алгоритм не тронут) |
491px на 390px-экране = переполнение (стрелку «вперёд» и последнюю страницу срезает). 358px = помещается. Значения одинаковы для EN и RU.
Средняя страница на мобильном 390×844 — EN
prod — БАГ (491px, вылезает)

stage — ФИКС (358px, компактно)

Средняя страница на мобильном 390×844 — RU
prod — БАГ

stage — ФИКС

Регрессии нет: десктоп 1440 (p4) не изменился
prod

stage

Регрессии нет: край (p1) на мобильном не изменился
prod

stage

Методика. Сравнивается сам элемент пагинатора (locator.screenshot() берёт полный bbox даже при overflow), а не вся страница — потому что контент маркетплейса на prod и stage различается (разные лоты), и full-page pixel-diff был бы шумным не из-за пагинации. Штатный 33-страничный интеграционный смоук этот фикс не покрывает: маркетплейса нет в его наборе и он снимает только первую страницу, а баг живёт на средней странице мобильного. Регрессия по остальным страницам ≈ нулевая: PaginationControls используется только маркетплейсом.