fix(site-finder): §4.3 — укомпановать 3 колонки в единообразные карточки
All checks were successful
CI / changes (pull_request) Successful in 8s
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Successful in 1m0s
CI / openapi-codegen-check (pull_request) Successful in 2m4s

Средняя колонка «Будущее предложение» рисовала СВОЮ карточку с красной рамкой
severity (border = c.border) и дублировала заголовок → визуально «вылезала» из
ряда, три колонки выглядели разнородно (white-card / red-card / голый текст).

- Pipeline24moBlock → content-only (убрана внешняя рамка/фон/паддинг и дубль
  заголовка); severity теперь только бейджем справа, не цветом всей рамки.
- Section33MarketSales §4.3 — все три колонки (Темп продаж / Будущее предложение /
  Динамика цен) обёрнуты в ОДНУ И ТУ ЖЕ карточку (--bg-card + --border-card,
  radius 10, padding 14/18). alignItems:start сохранён (без «уплыло»-пустоты).

Frontend-only.
This commit is contained in:
Light1YT 2026-06-30 21:48:31 +05:00
parent a2ec1fbc90
commit 4bf337e1e2
2 changed files with 33 additions and 30 deletions

View file

@ -59,12 +59,12 @@ export function Pipeline24moBlock({ data }: Props) {
); );
return ( return (
// Content-only: внешнюю карточку (рамка/фон/паддинг) даёт колонка §4.3
// в Section33MarketSales — чтобы все три колонки были единообразными
// карточками. Severity передаётся бейджем справа, а не цветом рамки всей
// карточки (иначе блок «вылезает» красным из ряда).
<div <div
style={{ style={{
border: `1px solid ${c.border}`,
background: "#fff",
borderRadius: 10,
padding: "14px 18px",
display: "flex", display: "flex",
flexDirection: "column", flexDirection: "column",
gap: 12, gap: 12,
@ -80,33 +80,18 @@ export function Pipeline24moBlock({ data }: Props) {
> >
<span <span
style={{ style={{
display: "flex", padding: "1px 6px",
alignItems: "center", borderRadius: 6,
gap: 6, fontSize: 10,
fontSize: 11, fontWeight: 600,
fontWeight: 700, letterSpacing: "0.02em",
color: "var(--fg-secondary, #5B6066)", color: "var(--fg-tertiary, #73767E)",
textTransform: "uppercase", background: "var(--bg-card-alt, #FAFBFC)",
letterSpacing: "0.06em", border: "1px solid var(--border-card, #E6E8EC)",
}} }}
title="Прогноз будущего предложения: ЖК-конкуренты со сроком сдачи в ближайшие 24 месяца в радиусе 5 км. Это оценка, а не факт продаж." title="Прогноз будущего предложения: ЖК-конкуренты со сроком сдачи в ближайшие 24 месяца в радиусе 5 км. Это оценка, а не факт продаж."
> >
Будущее предложение конкурентов (24 мес) прогноз
<span
style={{
padding: "1px 6px",
borderRadius: 6,
fontSize: 10,
fontWeight: 600,
letterSpacing: "0.02em",
color: "var(--fg-tertiary, #73767E)",
background: "var(--bg-card-alt, #FAFBFC)",
border: "1px solid var(--border-card, #E6E8EC)",
textTransform: "none",
}}
>
прогноз
</span>
</span> </span>
<span <span
style={{ style={{

View file

@ -487,13 +487,31 @@ function Section33MarketSales({ data }: { data: ParcelAnalysis }) {
<SubBlockLabel> <SubBlockLabel>
Будущее предложение конкурентов (24 мес) Будущее предложение конкурентов (24 мес)
</SubBlockLabel> </SubBlockLabel>
<Pipeline24moBlock data={data.pipeline_24mo!} /> <div
style={{
background: "var(--bg-card, #FFFFFF)",
border: "1px solid var(--border-card, #E6E8EC)",
borderRadius: 10,
padding: "14px 18px",
}}
>
<Pipeline24moBlock data={data.pipeline_24mo!} />
</div>
</div> </div>
)} )}
{hasTrend && ( {hasTrend && (
<div> <div>
<SubBlockLabel>Динамика цен</SubBlockLabel> <SubBlockLabel>Динамика цен</SubBlockLabel>
<MarketTrendBlock trend={data.market_trend} /> <div
style={{
background: "var(--bg-card, #FFFFFF)",
border: "1px solid var(--border-card, #E6E8EC)",
borderRadius: 10,
padding: "14px 18px",
}}
>
<MarketTrendBlock trend={data.market_trend} />
</div>
</div> </div>
)} )}
</div> </div>