supersam/docs/superpowers/plans/2026-03-14-driver-route-wor...

4.0 KiB
Raw Permalink Blame History

Driver Route Workspace 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: Сделать для водителя понятный экран плана доставок с фильтрами по датам, городу и половине дня, ручной перестановкой очередности и упрощённой карточкой доставки.

Architecture: Добавить отдельный набор helper-функций для фильтрации и группировки водительских доставок, затем собрать для роли водителя отдельный UI-модуль планировщика и упрощённую карточку. Навигацию роли водителя сузить до обзорного экрана и раздела доставок, чтобы убрать лишнюю сложность.

Tech Stack: React 18, Vite, локальное состояние через hooks, Vitest.


Chunk 1: Driver planning helpers

Files:

  • Create: src/services/driverDeliveries.js

  • Test: src/services/driverDeliveries.test.js

  • Modify: src/data/mockAppData.js

  • Добавить тесты на фильтрацию водительских доставок по диапазону дат, городу, половине дня и режиму просмотра.

  • Добавить тест на группировку доставок по дням с сортировкой по ручному маршруту.

  • Добавить тест на перестановку порядка доставок внутри одного дня.

  • Реализовать helper-функции для фильтрации, группировки и перестановки.

  • Обогатить демоданные полями порядка маршрута и достаточным количеством назначенных доставок для показа сценария.

Chunk 2: Driver workspace UI

Files:

  • Create: src/components/driver/DriverDeliveryPlanner.jsx

  • Create: src/components/driver/DriverDeliveryDetail.jsx

  • Modify: src/pages/DashboardPage.jsx

  • Собрать новый экран Мои доставки с фильтрами, дневными секциями и карточками.

  • Добавить ручную перестановку карточек внутри дня.

  • Показать на карточке только полезные водителю данные: адрес, клиент, телефон, окно доставки, состав, комментарий логиста, статус.

  • Сделать отдельную простую карточку доставки для водителя вместо общего перегруженного order detail.

Chunk 3: State wiring and simplification

Files:

  • Modify: src/hooks/useOrders.js

  • Modify: src/services/orderService.js

  • Modify: src/pages/DashboardPage.jsx

  • Modify: src/components/dashboard/RoleWorkspacePanel.jsx

  • Добавить действие для сохранения порядка маршрута в demo-state.

  • Сузить навигацию роли водителя до реально нужных разделов.

  • Сделать overview для водителя более прикладным и связанным с текущими доставками.

  • Проверить, что быстрые действия водителя по статусам по-прежнему работают.

Chunk 4: Verification

Files:

  • Test: src/services/driverDeliveries.test.js

  • Test: src/services/orderService.test.js

  • Прогнать npm test.

  • Прогнать npm run lint.

  • Прогнать npm run build.