69 lines
4.1 KiB
Markdown
69 lines
4.1 KiB
Markdown
# Demo Workflow Refresh Implementation Plan
|
||
|
||
> **For agentic workers:** REQUIRED: Use superpowers:subagent-driven-development (if subagents available) or superpowers:executing-plans to implement this plan. Steps use checkbox (`- [ ]`) syntax for tracking.
|
||
|
||
**Goal:** Обновить demo-режим под согласованную модель ролей, статусов заказа, статусов согласования доставки и этапных уведомлений.
|
||
|
||
**Architecture:** Демо-данные остаются главным источником состояния в UI, но статусная модель выносится в константы и сервисные хелперы, чтобы моковые сценарии, таблицы, карточка заказа и панель уведомлений использовали одну и ту же бизнес-логику. UI не получает новые backend-зависимости: меняются только локальные данные, чистые функции и React-компоненты.
|
||
|
||
**Tech Stack:** React 18, Vite, Vitest, demo state via hooks, existing UI kit.
|
||
|
||
---
|
||
|
||
## Chunk 1: Workflow Model
|
||
|
||
### Task 1: Зафиксировать новую статусную модель в тестах и константах
|
||
|
||
**Files:**
|
||
- Modify: `src/services/orderService.test.js`
|
||
- Modify: `src/constants/orderStatuses.js`
|
||
- Create: `src/constants/deliveryWorkflow.js`
|
||
|
||
- [ ] Добавить тесты на новую основную линейку статусов, метрики и доступные переходы.
|
||
- [ ] Прогнать только `orderService` тесты и убедиться, что они падают по старой модели.
|
||
- [ ] Вынести статусы, комментарии и переходы в workflow-константы.
|
||
- [ ] Повторно прогнать `orderService` тесты.
|
||
|
||
## Chunk 2: Demo State
|
||
|
||
### Task 2: Перевести моковые заказы, пользователей и уведомления на новую схему
|
||
|
||
**Files:**
|
||
- Modify: `src/data/mockAppData.js`
|
||
- Modify: `src/services/orderService.js`
|
||
- Modify: `src/hooks/useOrders.js`
|
||
|
||
- [ ] Добавить роль водителя и новые demo-заказы с разными этапами процесса.
|
||
- [ ] Добавить в заказы статус согласования доставки, пояснения и этапные уведомления.
|
||
- [ ] Обновить сервисные функции создания заказа, смены статуса, метрик и уведомлений.
|
||
- [ ] Прогнать таргетированные тесты на демо-логику.
|
||
|
||
## Chunk 3: UI
|
||
|
||
### Task 3: Поднять интерфейс под новую модель
|
||
|
||
**Files:**
|
||
- Modify: `src/pages/DashboardPage.jsx`
|
||
- Modify: `src/components/orders/OrderDetailPanel.jsx`
|
||
- Modify: `src/components/orders/OrdersTable.jsx`
|
||
- Modify: `src/components/dashboard/ProductionQueuePanel.jsx`
|
||
- Modify: `src/components/logistics/BotControlPanel.jsx`
|
||
- Modify: `src/constants/roles.js`
|
||
|
||
- [ ] Обновить реестр, канбан и производственную панель под новые статусы.
|
||
- [ ] Показать в карточке заказа комментарий к статусу, статус согласования доставки и доступные переходы по роли.
|
||
- [ ] Подтянуть новую роль водителя и актуальные подписи разделов.
|
||
- [ ] Актуализировать демо-уведомления на экране обзора.
|
||
|
||
## Chunk 4: Verification
|
||
|
||
### Task 4: Полная проверка
|
||
|
||
**Files:**
|
||
- No code changes expected
|
||
|
||
- [ ] Запустить `npm test -- --watchAll=false`.
|
||
- [ ] Запустить `npm run lint`.
|
||
- [ ] Запустить `npm run build`.
|
||
- [ ] Кратко зафиксировать, что именно изменилось в demo-режиме и что ещё осталось вне объёма.
|