diff --git a/tradein-mvp/frontend/src/components/trade-in/EstimateForm.tsx b/tradein-mvp/frontend/src/components/trade-in/EstimateForm.tsx index 59f5074a..d84ae807 100644 --- a/tradein-mvp/frontend/src/components/trade-in/EstimateForm.tsx +++ b/tradein-mvp/frontend/src/components/trade-in/EstimateForm.tsx @@ -105,6 +105,9 @@ export function EstimateForm({ const [form, setForm] = useState(INITIAL); const [touched, setTouched] = useState(false); const [mapOpen, setMapOpen] = useState(false); + // CRM-блок свёрнут по умолчанию — экономит ~190px высоты, чтобы форма влезала + // на ноутбуки без скролла (поля для менеджера опциональны, открываются по клику). + const [crmOpen, setCrmOpen] = useState(false); const valError = validate(form); const canSubmit = !valError && !isPending && !blocked; @@ -328,11 +331,24 @@ export function EstimateForm({ - {/* CRM — для менеджера (#395) */} + {/* CRM — для менеджера (#395) — сворачиваемый, по умолчанию закрыт */}
-
+
+ + {crmOpen ? "скрыть" : "опц."} + + + {crmOpen && ( + <>
+ + )} {touched && valError && ( diff --git a/tradein-mvp/frontend/src/components/trade-in/trade-in.css b/tradein-mvp/frontend/src/components/trade-in/trade-in.css index 7384e270..ad228826 100644 --- a/tradein-mvp/frontend/src/components/trade-in/trade-in.css +++ b/tradein-mvp/frontend/src/components/trade-in/trade-in.css @@ -267,13 +267,14 @@ letter-spacing: 0.08em; } .form-body { - padding: 16px 18px 8px; + padding: 14px 18px 6px; /* overflow-y:visible — скроллом владеет .form-card целиком (см. выше); вложенный auto-скролл тут не нужен (flex-shrink тела в max-height-контейнере не работал). */ overflow-y: visible; flex: 1; } - .field { margin-bottom: 12px; } + /* margin-bottom 12→9 — лёгкое уплотнение, чтобы форма помещалась на ноутбуках. */ + .field { margin-bottom: 9px; } .field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; } .field-row.triple { grid-template-columns: 1fr 1fr 1fr; } label.field-label { @@ -371,7 +372,7 @@ } .file-drop b { color: var(--fg-2); font-weight: 500; } .form-foot { - padding: 12px 18px 16px; + padding: 10px 18px 12px; border-top: 1px solid var(--border); background: linear-gradient(to bottom, transparent, color-mix(in oklch, var(--surface-2) 60%, transparent) 40%); /* flex-shrink:0 — футер с кнопкой «Оценить» не сжимается при скролле карточки. */