From 26959d56d1c8b7093911efbe0b81884137f3270f Mon Sep 17 00:00:00 2001 From: nns Date: Sat, 30 May 2026 10:22:06 +0500 Subject: [PATCH] =?UTF-8?q?docs(sprint7):=20=D0=BF=D1=83=D0=BD=D0=BA=D1=82?= =?UTF-8?q?=201=20=E2=9C=93=20(demo-seeder)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.7 --- docs/sprint7-progress.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 docs/sprint7-progress.md diff --git a/docs/sprint7-progress.md b/docs/sprint7-progress.md new file mode 100644 index 0000000..6a82563 --- /dev/null +++ b/docs/sprint7-progress.md @@ -0,0 +1,35 @@ +# Sprint 7 — UX-полировка stage + демо-данные + +Цель: `https://test.admin.food-market.kz` открывается → наполненные модули видны сразу, UI удобен (confirm на destructive, toast'ы, скелеты, empty-states, breadcrumbs, shortcuts). + +Старт: 2026-05-29. Исполнитель: Claude Opus 4.7 (автономный режим). + +## Принципы + +- Каждый пункт: build + тесты + `~/deploy-stage.sh` + Playwright-скриншот retest на стенде + коммит + `[x]` в этом доке. +- НЕ трогать: global.json, прод-стек (admin.food-market.kz), POS WPF. +- Команды для теста UI на стенде: `cd src/food-market.web && pnpm dev` локально к API; либо Playwright против `https://test.admin.food-market.kz` после деплоя. + +## Чек-лист + +- [x] **1. Demo-data seeder для stage** — POST /api/admin/seed-demo + admin-кнопка «Заполнить демо-данными». 50 товаров / 5 групп / 10 контрагентов / 5 приёмок / 30 продаж / 1 опт / 1 списание / 1 перемещение / 1 инвентаризация. Идемпотентно (маркер DEMO-). E2E 5/5 ✓ на стейдже. +- [ ] **2. ConfirmDialog на destructive actions** — общий компонент. Удаление товара / контрагента / документа, archive org, unpost, disable 2FA, удаление сотрудника. Esc=cancel. +- [ ] **3. Toast-система ошибок** — замена console.error в `src/lib/api.ts`. 4xx/5xx → error toast c message из API; мутации 2xx → success. Top-right, 5s autoclose. +- [ ] **4. Loading skeletons** — на DataTable и edit-pages вместо «Загрузка…» — shimmer-скелет. Reusable ``. +- [ ] **5. Empty states с CTA** — list-страницы при `items.length === 0` показывают центрированный блок с иконкой, текстом и кнопкой «Создать первый …». +- [ ] **6. Breadcrumbs** — на edit-страницах Reusable ``. +- [ ] **7. Keyboard shortcuts** — edit: Ctrl+S = save, Esc = cancel/back; list: `/` = focus search, `n` = create. Hint в footer / `?` overlay. + +## Журнал + +### 2026-05-29 — старт + +- Stage-testing спринта 6 закрыт (`docs/stage-testing-progress.md`, 13 сценариев / 94/94 шага ✓). +- Создан этот файл, перехожу к пункту 1. + +### 2026-05-30 — пункт 1 ✓ + +- `DemoTenantSeeder` + `DemoSeedController` + UI-секция «Демо-данные» в OrganizationSettingsPage. +- Идемпотентность через маркер `Article startsWith "DEMO-"`. +- E2E `stage-demo-seed` (5 шагов) — green локально + на `test.admin.food-market.kz` (после deploy-stage.sh). +- Коммит: `ad09b56 feat(stage): demo-data seeder для test.admin.food-market.kz`.