fix(tradein/v2): пометка «В ОФФЕР» + сузить реестровую карточку (#1991) (#2321)
All checks were successful
Deploy Trade-In / changes (push) Successful in 9s
Deploy Trade-In / test (push) Has been skipped
Deploy Trade-In / build-browser (push) Has been skipped
Deploy Trade-In / build-backend (push) Has been skipped
Deploy Trade-In / build-frontend (push) Successful in 2m6s
Deploy Trade-In / deploy (push) Successful in 52s

This commit is contained in:
lekss361 2026-07-03 21:28:50 +00:00
parent a7677b0fba
commit 279e7de778

View file

@ -15,6 +15,7 @@ import type { ResultPanelData } from "./mappers";
const {
accent,
accentDeep,
onAccent,
ink,
body,
body2,
@ -172,7 +173,14 @@ export default function ResultPanel({
<div
style={{
display: "grid",
gridTemplateColumns: "1fr 1fr 1fr",
// #1991 — the registry (ДКП) tile is an external anchor, not a peer
// of the two prices that actually matter (asking / expected). Equal
// 1fr columns still read as "three equivalent options" even with
// the demoted colors/type-scale below, so the two primary cards get
// ~50% more width and the registry tile narrows into a visibly
// secondary, reference-only column (closer to a convergence strip
// than a full-size card, per audit acceptance criteria).
gridTemplateColumns: "1.3fr 1.3fr 0.85fr",
gap: 14,
flex: "0 0 auto",
}}
@ -186,6 +194,8 @@ export default function ResultPanel({
// value so the user can't confuse it with the registry figure; the
// registry card is demoted to a softer, smaller, muted "СПРАВОЧНО"
// tile. Value scale reads expected(40) ≫ asking(30) > ДКП(28).
// #1991 — column width above is the third, independent axis: asking
// and expected visually dominate the row, ДКП is narrow/secondary.
//
// H1 — when the expected card has no prediction (emptyNote), it drops
// to an honest empty-state and the accent frame moves onto the asking
@ -230,6 +240,14 @@ export default function ResultPanel({
borderTop: `1.5px solid ${isHeadline ? accent : bracket}`,
}}
/>
<div
style={{
display: "flex",
alignItems: "flex-start",
justifyContent: "space-between",
gap: 8,
}}
>
<div
style={{
fontSize: 9.5,
@ -246,6 +264,27 @@ export default function ResultPanel({
>
{lines(card.title)}
</div>
{/* #1991 explicit "this is the figure that goes into the offer"
mark on the headline card, so the two dominant prices are not
just visually bigger but literally labelled which one to quote. */}
{isHeadline && !isEmptyCard && (
<span
style={{
flex: "0 0 auto",
fontSize: 8,
fontWeight: 700,
letterSpacing: 1,
color: onAccent,
background: accentDeep,
borderRadius: 3,
padding: "3px 6px",
whiteSpace: "nowrap",
}}
>
В ОФФЕР
</span>
)}
</div>
{isRegistry && (
<div
style={{