feat(tradein/ui): manual-review banner + premium-building badge on estimate (#2002) #2022

Merged
lekss361 merged 1 commit from feat/tradein-manual-review-ui into main 2026-06-27 19:09:47 +00:00
Owner

Summary

Surfaces the new estimate signals (shipped backend: #2019 manual-review, #2021 premium curation) in the trade-in estimate result UI. Additive only — +166 lines, 0 deletions, tsc --noEmit clean.

  • Manual-review banner (HeroSummary.tsx): when manual_review_recommended, an amber role="note" card above the headline — "Рекомендуется ручная оценка" + manual_review_reasons as bullets. Reuses the existing mock-address-disclaimer amber tokens (--accent-2), no new colors.
  • Premium-building badge: when premium_building, a brand-accent badge under the address labelled by premium_building_class ("Элит" / "Премиум" / "Бизнес-класс", capitalized) or "Премиальный дом" fallback. Reuses precision-badge shape.
  • Types (types/trade-in.ts): +5 optional fields. Preview fixture (ui-preview/estimate/fixture.ts): both states set so they render at /ui-preview/estimate.

Test plan

  • npx tsc --noEmit clean (the real type gate)
  • additive JSX/CSS, reuses existing badge/alert patterns
  • visual: not rendered (local next build exceeded 6 min on Windows, aborted) → will eyeball the live /ui-preview/estimate post-deploy
  • note: this frontend has no committed ESLint config (next lint not runnable); the Docker build is the deploy-time gate

Notes

next lint is unavailable (no flat-config ESLint in repo) — pre-existing; the Dockerfile next build is the gate. Code follows repo prettier conventions (pre-commit prettier ran clean).

Refs #2002

## Summary Surfaces the new estimate signals (shipped backend: #2019 manual-review, #2021 premium curation) in the trade-in estimate result UI. **Additive only — +166 lines, 0 deletions, `tsc --noEmit` clean.** - **Manual-review banner** (`HeroSummary.tsx`): when `manual_review_recommended`, an amber `role="note"` card above the headline — "Рекомендуется ручная оценка" + `manual_review_reasons` as bullets. Reuses the existing mock-address-disclaimer amber tokens (`--accent-2`), no new colors. - **Premium-building badge**: when `premium_building`, a brand-accent badge under the address labelled by `premium_building_class` ("Элит" / "Премиум" / "Бизнес-класс", capitalized) or "Премиальный дом" fallback. Reuses `precision-badge` shape. - **Types** (`types/trade-in.ts`): +5 optional fields. **Preview fixture** (`ui-preview/estimate/fixture.ts`): both states set so they render at `/ui-preview/estimate`. ## Test plan - [x] `npx tsc --noEmit` clean (the real type gate) - [x] additive JSX/CSS, reuses existing badge/alert patterns - [ ] visual: not rendered (local `next build` exceeded 6 min on Windows, aborted) → will eyeball the live `/ui-preview/estimate` post-deploy - note: this frontend has no committed ESLint config (`next lint` not runnable); the Docker build is the deploy-time gate ## Notes `next lint` is unavailable (no flat-config ESLint in repo) — pre-existing; the Dockerfile `next build` is the gate. Code follows repo prettier conventions (pre-commit prettier ran clean). Refs #2002
lekss361 added 1 commit 2026-06-27 19:09:32 +00:00
feat(tradein/ui): manual-review banner + premium-building badge on estimate (#2002)
All checks were successful
CI / changes (pull_request) Successful in 8s
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
482d3caf08
lekss361 merged commit 3187419eb8 into main 2026-06-27 19:09:47 +00:00
lekss361 deleted branch feat/tradein-manual-review-ui 2026-06-27 19:09:47 +00:00
lekss361 added the
priority/p2
tradein
labels 2026-06-27 19:09:47 +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#2022
No description provided.