fix(tradein/v2): аналитика — 2 графика в ряд, чтобы Цена×срок влезала на экран #2480

Merged
bot-backend merged 1 commit from fix/v2-analytics-2col-layout into main 2026-07-12 14:56:08 +00:00
Collaborator

Проблема

В overlay "АНАЛИТИКА ДОМА" (v2) блоки "История цен в этом доме" и "Цена × срок продажи" стояли друг под другом и переполняли фиксированную высоту scrollable-панели артборда (~847px): контент растягивался до 1041px, scatter-график ("Цена × срок продажи") обрезался снизу / требовал скролла.

Фикс

Обернул оба графика в единый grid-контейнер display:grid; grid-template-columns:1fr 1fr; gap:16px; align-items:start — теперь они идут в один ряд вместо стека. Живьём в браузере измерено: это освобождает ровно ~194px по вертикали (scrollHeight 1041 → 847), весь оверлей помещается без скролла, scatter полностью виден.

Высоты SVG, viewBox и preserveAspectRatio НЕ трогал — только layout-обёртка (inline-style, по конвенции файла — компонент не использует CSS-модули). KPI-плитки и карточка "Срок продажи в зависимости от цены" остались full-width, без изменений.

Тесты

  • npm run type-check — green
  • npm run lint (next lint) — green (только preexisting warnings в других файлах, не в AnalyticsView.tsx)

Файл: tradein-mvp/frontend/src/components/trade-in/v2/AnalyticsView.tsx

## Проблема В overlay "АНАЛИТИКА ДОМА" (v2) блоки "История цен в этом доме" и "Цена × срок продажи" стояли друг под другом и переполняли фиксированную высоту scrollable-панели артборда (~847px): контент растягивался до 1041px, scatter-график ("Цена × срок продажи") обрезался снизу / требовал скролла. ## Фикс Обернул оба графика в единый grid-контейнер `display:grid; grid-template-columns:1fr 1fr; gap:16px; align-items:start` — теперь они идут в один ряд вместо стека. Живьём в браузере измерено: это освобождает ровно ~194px по вертикали (scrollHeight 1041 → 847), весь оверлей помещается без скролла, scatter полностью виден. Высоты SVG, viewBox и preserveAspectRatio НЕ трогал — только layout-обёртка (inline-style, по конвенции файла — компонент не использует CSS-модули). KPI-плитки и карточка "Срок продажи в зависимости от цены" остались full-width, без изменений. ## Тесты - `npm run type-check` — green - `npm run lint` (`next lint`) — green (только preexisting warnings в других файлах, не в AnalyticsView.tsx) Файл: `tradein-mvp/frontend/src/components/trade-in/v2/AnalyticsView.tsx`
bot-backend added 1 commit 2026-07-12 14:54:24 +00:00
fix(tradein/v2): аналитика — 2 графика в ряд, чтобы Цена×срок влезала на экран
All checks were successful
CI / backend-tests (pull_request) Has been skipped
CI Trade-In / changes (pull_request) Successful in 7s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI / changes (pull_request) Successful in 7s
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 58s
a575f59378
"История цен в этом доме" и "Цена × срок продажи" стояли друг под другом и
переполняли фиксированную высоту v2-панели (scrollHeight 1041px vs ~847px
видимой области) — scatter-график обрезался, требовался скролл. Ставим оба
блока в один ряд (grid 1fr 1fr, gap 16, align-items start) — освобождает
ровно ~194px по вертикали, весь оверлей помещается без скролла. Высоты и
viewBox самих SVG не трогали.
bot-backend merged commit a88e755403 into main 2026-07-12 14:56:08 +00:00
bot-backend deleted branch fix/v2-analytics-2col-layout 2026-07-12 14:56:08 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#2480
No description provided.