feat(trade-in): OfferCard — убрать редактируемую цену + ползунок торга, разбивка на дефолтах #939
No reviewers
Labels
No labels
admin
analytics
auth
automation
bug
business
chore
ci
compliance
data
data-moat
docs
duplicate
dx
enhancement
Fable 5 ревью
feedback/max
generative
GG-форсайт
needs-discussion
needs-human
observability
pause-bots
performance
priority/p0
priority/p1
priority/p2
priority/p3
scope/backend
scope/db
scope/devops
scope/frontend
scope/qa
scrapers
security
site-finder
stage/1
stage/2
status/blocked
status/done
status/needs-analysis
status/needs-fix
status/qa
status/ready
status/review
status/wip
tech-debt
tradein
ux
week ревью 1
wontfix
вторичка
ИРД
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: lekss361/gendesign#939
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "fix/offercard-remove-controls"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Что
Убраны два интерактивных контрола из
OfferCard.tsx(Секция 4 «Оффер») по запросу:askingPrice);bargainPct).Разбивка издержек/выгоды остаётся, но считается на фиксированных дефолтах:
Math.round(estimate.median_price_rub);DEFAULT_BARGAIN_PCT(серединаDEFAULT_OFFER_RATES.bargain).Изменения (2 файла, −130/+7)
OfferCard.tsx: удалён блок.offer-calc-controls(price input + bargain slider + reset), убран неиспользуемый код (useState/askingPrice/bargainPct/onPriceInput/resetPrice/isCustomPrice/askingMln, импортBARGAIN_SLIDER),computeBreakdownвызывается с фиксированными дефолтами.trade-in.css: удалены осиротевшие правила.offer-calc-controls/.occ-*(+ адаптив).Остальная логика (заголовок,
card-meta, разбивка,brandSlug/PDF) не тронута.Проверка
tsc --noEmit— чисто (TS strict; неиспользуемые vars/imports убраны → build не падает).Не в этом PR
account_quota.MONTHLY_LIMIT = settings.estimate_quota_limit, default 15).✅ APPROVE — чистое frontend-удаление, внутренне консистентно. Мержу.
Verified
useState/BARGAIN_SLIDERимпорты + stateaskingPrice/bargainPct+ хендлерыonPriceInput/resetPrice/isCustomPrice/askingMln+ JSX-блок.offer-calc-controls(единственный их потребитель) + осиротевший CSS (.occ-*+ адаптив). Нет dangling-ссылок внутри diff.useMemo(используетсяbreakdown),computeBreakdown(fixedPrice, DEFAULT_BARGAIN_PCT, DEFAULT_OFFER_RATES)с корректной dep[fixedPrice].DEFAULT_BARGAIN_PCT/fmtRub/pctretained (используются в benefit/breakdown рендере).tsc --noEmitclean (автор) покрывает главный риск такого удаления — unused-import/var под TS strict (noUnusedLocals). Frontend-only, без backend/data импакта. Разбивка по-прежнему рендерится на дефолтах (median_price_rub + DEFAULT_BARGAIN_PCT).🟡 Post-merge (не блокер — qa-окно)
Playwright UI-smoke (визуал убранных контролов + рендер разбивки на дефолтах) корректно вынесен в qa-окно (в backend-сессии Playwright нет) — это не reviewer-задача.
Squash-merge + delete branch.