fix(tradein/v2): mobile layout — remove overflow floor + honest stacked mobile block (#2275) #2389

Merged
lekss361 merged 1 commit from fix/tradein-v2-mobile-layout into main 2026-07-04 07:02:56 +00:00

1 commit

Author SHA1 Message Date
bot-backend
4055bde378 fix(tradein/v2): mobile layout — remove overflow floor + honest stacked mobile block (#2275)
All checks were successful
CI / changes (pull_request) Successful in 12s
CI Trade-In / changes (pull_request) Successful in 13s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Successful in 1m8s
Root cause: scale-to-fit formula had a 0.88 floor that defeated the fit
on viewports narrower than ~1350px, so the 1536px-wide artboard always
rendered wider than the screen. Removed the floor + height-ratio term:
scale is now purely innerWidth/1536 clamped to 1, so the artboard never
exceeds viewport width.

Added an honest fluid mobile block (HeroBar compact + ObjectSummary)
rendered above the (still-scaled) artboard on viewports <768px, instead
of illegible tiny text inside the transform. HeroBar gained a `compact`
prop for the column layout; default (desktop) path unchanged.

Review fixup: the outer return was a bare Fragment, so on mobile its two
root children (quick-view block + artboard) became siblings of
layout.tsx's row-direction flex container and laid out side-by-side
instead of stacked. Wrapped in a single flex-column div to restore the
"one flex child, centered" contract layout.tsx expects.

Verified live: injected an iframe (window.innerWidth genuinely 390-ish,
since the shared browser session's own viewport can't be resized) —
scrollWidth === clientWidth === innerWidth, zero horizontal overflow.
Console errors are pre-existing /api/v1/me 500s (no backend in this
dev instance), not layout-related.

Follow-up (not in scope): ParamsPanel/ResultPanel/TopNav/overlays have
no dedicated mobile layout yet — still inside the scaled artboard,
smaller on phones but no longer overflowing.
2026-07-04 09:59:15 +03:00