Дмитрий
44a18c2e3d
fix/deals: реальное время сделки в шапке карточки V1 вместо захардкоженных 28 мин
...
Шапка показывала formatRelative(28) — всегда 28 мин назад у любой сделки.
Теперь deal.receivedMinutesAgo. Тест DealDetailHero 13/13.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-25 12:54:32 +03:00
Дмитрий
ae286b9a0d
WIP чекпойнт: lead-region/supplier бэкенд + фронт-редизайн + Pint + тесты
...
92 файла одной пачкой. Исключены чужие зоны: CLAUDE.md, .claude/settings.json, docs/observer/.pii-counters.json.
gitleaks staged: no leaks found. Не верифицировано тестами - сохранение труда в историю.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 05:17:12 +03:00
Дмитрий
889717a479
fix(deals): читать проекты из конверта { data } + чинить фикстуры LeadStatus
...
DealsView крашился (Cannot read properties of undefined reading 'map'): listProjects() читал data.projects, но ProjectController::index() отдаёт { data: [...] } после миграции на JsonResource — availableProjects=undefined ломал .map, фильтр «Проект» был пуст. Фикс: читать data.data ?? []. + deals-api.spec.ts тест на новый конверт + защитный []. + DealDetailHero.spec.ts: фикстуры LeadStatus (isSystem/sortOrder вместо order) — устранён pre-existing type-check error.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-20 15:20:53 +03:00
Дмитрий
9ada842bdc
feat(deals/drawer): inline status picker — статус-chip кликабельный, без мутации props
...
UX-request 18.05.2026 (п.3):
- DealDetailHero: v-chip → v-menu со списком всех статусов из lead_statuses
store; форма и цвет chip'а не меняются
- DealDetailBody: emit 'status-changed' наверх (без мутации props.deal)
- DealDetailDrawer: forward события наружу
- DealsView: onDrawerStatusChanged → optimistic update dealsState + PATCH
/api/deals/{id} + rollback
- KanbanView: onDrawerStatusChanged → перенос карточки между колонками
dealsByStatus + transitionDeals + rollback на ошибку
Vue правило vue/no-mutating-props соблюдено (логика в parent'е, не в Body).
Vitest 5 файлов / 38 passed на затронутых; build 2.29s.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-18 15:34:07 +03:00