# Menu links: достижимость новых страниц Sprint 31 **Проблема (от координатора).** Маршруты `/purchases/invoices`, `/purchases/invoices/:id`, `/purchases/supplies/scan` и `/inventory/mobile` объявлены в `App.tsx`, но пользователь к ним никак не доберётся: ни в sidebar (`AppLayout.tsx`), ни в `CommandPalette`, ни в `QuickActionsPalette` ссылок нет. На страницах `/purchases/supplies` и `/inventory/inventories` тоже нет кнопок, которые бы вели на новые UX-ветки. **Условия задачи.** - Админ + Кладовщик видят новые пункты; Кассир — нет. - Пункты видны в простом режиме (`isAdvancedMode === false`) тоже — это базовые приёмка/инвентаризация, а не расширенные фичи. - i18n: ru обязательно, en — потому что меню переводится. - Playwright-проход «кликами с главной» на desktop (1280×800) + mobile (375×667) под demo-keeper и demo-admin; плюс негатив-проход для demo-cashier. - Аудит сирот: диффим `` из `App.tsx` против фактических точек входа. **Границы.** Не трогаем прод, `global.json`, `deploy/*/nginx`. ## Чек-лист - [x] 1. Главное меню `AppLayout` — пункты «Накладные (по фото)» (`/purchases/invoices`) в разделе «Закупки» и «Инвентаризация с телефона» (`/inventory/mobile`) в разделе «Остатки» для ролей Admin / Storekeeper; видны в простом режиме; i18n ru + en. - [x] 2. Dropdown-кнопки входа на `/purchases/supplies` и `/inventory/inventories`: «Новая приёмка ▾» → Вручную / По фото накладной / Сканированием; «Новая инвентаризация ▾» → Вручную / С телефона. - [x] 3. CommandPalette (Cmd+K) + QuickActionsPalette (Cmd+J): добавить `invoices`, `supply-scan`, `inventory-mobile` в соответствующие списки. - [x] 4. ПРОВЕРКА ГЛАЗАМИ — Playwright `stage-ui-menu-links.spec.ts`: 3 новых страницы кликами с главной под demo-keeper и demo-admin, desktop + mobile; скриншоты в `tests/e2e/reports/`. Негатив для demo-cashier. - [x] 5. Аудит «сирот» — скрипт `tests/scripts/menu-orphans-audit.mjs`, отчёт в `docs/menu-orphans-report.md`. - [x] 6. `~/deploy-stage.sh` + ретест п.4 на свежем stage. ## Протокол выполнения (заполняется построчно; номера шагов — из чек-листа выше.)