fix(tradein/v2): смонтировать форму лида (#2377) в живое v2-дерево (#2395) #2398

Merged
lekss361 merged 2 commits from fix/tradein-2395-lead-form-v2 into main 2026-07-04 08:46:11 +00:00
Owner

Summary

  • Форма лида из #2377 (HeroTransparency.tsx) корректно работает, но рендерится только в недостижимом legacy-дереве (HeroSummary.tsxpage.tsx в корне) — /trade-in/v2 единственный живой прод-роут, форма там отсутствовала (обнаружено QA-смоуком после мержа #2393).
  • Новый v2-native LeadForm.tsx: переиспользует useCreateLeadMutation() as-is, портирует валидацию/state-machine (не JSX/CSS) из HeroTransparency.tsx, стилизован через tokens.ts (HUD/blueprint эстетика v2).
  • Монтируется в page.tsx условно на hasEstimate=true, снаружи transform: scale(...) артборда, внутри общего центрирующего flex — не задевает мутацию #2275/#2081 (bare Fragment → flex div wrapper).
  • Ревью fixups (отдельный коммит): aria-disabled на submit-кнопке (screen-reader parity с visual opacity-дизейблом), убран неиспользуемый default export.

Test plan

  • code-reviewer — MINOR (оба замечания зафикшены), no blockers
  • TS strict / no any, useCreateLeadMutation() reused, критичный паттерн из ревью #2377 (disabled={leadMutation.isPending} only, не !canSubmit) сохранён
  • CI green (pending)
  • qa-tester: форма реально видна и отправляется на живом /trade-in/v2 после реальной оценки, строка появляется в trade_in_leads

Refs #2395, #2377

## Summary - Форма лида из #2377 (`HeroTransparency.tsx`) корректно работает, но рендерится только в недостижимом legacy-дереве (`HeroSummary.tsx` → `page.tsx` в корне) — `/trade-in/v2` единственный живой прод-роут, форма там отсутствовала (обнаружено QA-смоуком после мержа #2393). - Новый v2-native `LeadForm.tsx`: переиспользует `useCreateLeadMutation()` as-is, портирует валидацию/state-machine (не JSX/CSS) из `HeroTransparency.tsx`, стилизован через `tokens.ts` (HUD/blueprint эстетика v2). - Монтируется в `page.tsx` условно на `hasEstimate=true`, снаружи `transform: scale(...)` артборда, внутри общего центрирующего flex — не задевает мутацию #2275/#2081 (bare Fragment → flex div wrapper). - Ревью fixups (отдельный коммит): `aria-disabled` на submit-кнопке (screen-reader parity с visual opacity-дизейблом), убран неиспользуемый default export. ## Test plan - [x] `code-reviewer` — MINOR (оба замечания зафикшены), no blockers - [x] TS strict / no `any`, `useCreateLeadMutation()` reused, критичный паттерн из ревью #2377 (`disabled={leadMutation.isPending}` only, не `!canSubmit`) сохранён - [ ] CI green (pending) - [ ] qa-tester: форма реально видна и отправляется на живом `/trade-in/v2` после реальной оценки, строка появляется в `trade_in_leads` Refs #2395, #2377
lekss361 added 2 commits 2026-07-04 08:44:46 +00:00
Форма из #2377 рендерилась только в недостижимом legacy HeroTransparency/
HeroSummary; /trade-in/v2 — единственный живой прод-роут. Новый v2-native
LeadForm.tsx переиспользует useCreateLeadMutation as-is, портирует
валидацию/state-machine из HeroTransparency (не JSX), монтируется после
результата оценки (hasEstimate=true) вне scaled artboard.

Refs #2395, #2377
fix(tradein/v2): review fixups для LeadForm (#2395)
All checks were successful
CI / frontend-tests (pull_request) Has been skipped
CI Trade-In / changes (pull_request) Successful in 7s
CI / changes (pull_request) Successful in 7s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Successful in 1m0s
6a8d588731
aria-disabled на submit-кнопке (сопровождает существующий visual
opacity-дизейбл, screen-reader parity с disabled); убран неиспользуемый
default export (page.tsx импортирует named, default export был dead code).
lekss361 merged commit 155d5ec3a9 into main 2026-07-04 08:46:11 +00:00
lekss361 deleted branch fix/tradein-2395-lead-form-v2 2026-07-04 08:46:12 +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#2398
No description provided.