KDS — Настройки устройства
Когда показывается: при тапе на «⋮» в header списка заказов или PIN-экрана.
Источник
BR 5.1 §1.1 «Settings», §2.12, §2.14 Бизнес-спека: Кухонный экран §2.7, §2.12, §2.14
Локальные настройки KDS-устройства + переопределения per-франшиза + действия с устройством (logout, смена ТТ, обновление).
Layout
Полноэкранный экран на белом фоне, разделён на секции:
┌─ ⋮ Настройки ──────────────────────[ Закрыть ]─┐
│ │
│ ━━━ Звук ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
│ Громкость [▬▬▬▬▬▬▬▬░░░░] 80% │
│ Звук нового заказа [Bell ▼] [▶ Прослушать]│
│ Повтор каждые [30 сек ▼] │
│ Заглушить временно [▢] (на 10 минут) │
│ │
│ ━━━ Цвета карточек ━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
│ Жёлтый порог [5 мин ▼] (default из админки)│
│ Красный порог [0 мин ▼] │
│ Сбросить к настройкам франшизы │
│ │
│ ━━━ Отображение ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
│ Layout заказов ⦿ Карточки ◯ Список │
│ Подтверждать «Готово» [▢] │
│ Держать экран включённым [▣] │
│ │
│ ━━━ Подключение ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
│ Транспорт ⦿ Облако (текущий) │
│ ◯ Локальная сеть (BR 5.2 — будет) │
│ ◯ Авто │
│ Адрес сервера: erp-test.nirbi.ru (только чтение)│
│ │
│ ━━━ Обновления ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
│ Текущая версия: 0.1.0 │
│ [🔄 Проверить обновления] │
│ Авто-проверка каждые 24 часа [▣] │
│ │
│ ━━━ Устройство ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
│ Имя: «Планшет горячего цеха» │
│ ID: 7f2a3... ТТ: «Кафе на Ленина» │
│ Версия Android: 13 │
│ [Сменить ТТ] (требует подтверждения админа) │
│ │
│ ━━━ Сессия ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
│ Сотрудник: Иван П. │
│ Сменить станции [→] │
│ [⏏ Logout] │
│ │
│ ━━━ О приложении ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
│ ERP KDS v0.1.0 © Nirbi │
└───────────────────────────────────────────────────┘
Секции
Звук
| Поле | Local override | Source default |
|---|---|---|
| Громкость | Slider 0–100 | kds_franchise_settings.sound_volume |
| Звук нового заказа | Dropdown из встроенных мелодий | kds_franchise_settings.new_order_sound |
| Повтор каждые | Dropdown 5–120 сек (шаг 5) | kds_franchise_settings.new_order_repeat_seconds |
| Заглушить временно | Checkbox + лейбл «На 10 мин» | — (только локально) |
Кнопка «🔄 Сбросить к настройкам франшизы» — обнуляет все локальные оверрайды этой секции.
Цвета карточек
Локальные override порогов цвета (изначально берутся из выбранных кухонных станций). Полезно для тестирования и если повар хочет персонализировать.
Кнопка «Сбросить к настройкам франшизы» — обнуляет.
Отображение
| Поле | Описание |
|---|---|
| Layout | cards / list, default cards |
| Подтверждать «Готово» | Checkbox — диалог подтверждения перед ready (для антифрод). Default off для скорости. |
| Держать экран включённым | Checkbox — screen-wake-lock API запрашивается, экран не гасится. Default on. |
Подключение
| Поле | Описание |
|---|---|
| Транспорт | Radio: Облако (default), Локальная сеть (disabled, P1), Авто (disabled, P1) |
| Адрес сервера | Read-only, показывает базовый URL (для отладки) |
В P0 переключатели LAN/Auto показаны но disabled — с подсказкой «Будет в BR 5.2».
Обновления
| Поле | Описание |
|---|---|
| Текущая версия | app_version из tauri.conf.json |
| Кнопка «Проверить обновления» | GET /api/v1/kds/updates/latest → если есть новая → диалог «Доступна версия X.Y.Z» с release notes → тап «Обновить» → Tauri-updater скачивает APK + ставит |
| Авто-проверка | Checkbox — каждые 24 часа в фоне; если есть обновление — toast в header списка |
Manifest format
{
"version": "0.2.0",
"url": "https://updates.nirbi.ru/kds/0.2.0.apk",
"signature": "...",
"release_notes": "# 0.2.0\n- Поддержка нескольких станций\n- Звуки настраиваются",
"min_required_version": "0.1.0",
"released_at": "2026-04-29T10:00:00Z"
}Поведение updater
- Плагин Tauri скачивает в Tauri scope (внутренняя папка приложения)
- Запускается Android intent для установки APK
- Пользователь подтверждает «Установить из этого источника» (один раз; Android запоминает разрешение)
- После установки приложение перезапускается, продолжает с текущей сессией (JWT в SQLite)
Устройство
| Поле | Описание |
|---|---|
| Имя | Read-only — задано в админке («Настройки KDS» → список устройств) |
| ID | Первые 8 символов device_id, для саппорта |
| ТТ | Название текущей привязанной ТТ |
| Версия Android | Из system info |
| Кнопка «Сменить ТТ» | Открывает re-registration flow: запрашивает email+password владельца → выбор новой ТТ → POST /admin/kds/devices/register с тем же device_id |
Сессия
| Поле | Описание |
|---|---|
| Сотрудник | user_name из текущей сессии |
| Кнопка «Сменить станции» | Возврат на шаг 2 PIN-экрана (выбор станций без re-PIN) |
| Кнопка «⏏ Logout» | Закрывает WS, очищает JWT в SQLite, возврат на шаг 1 PIN |
О приложении
- Версия + copyright
- Линк на политику конфиденциальности (если есть)
- Линк на «Сообщить о проблеме» (mailto или JIRA-форма) — P1
Permissions
- Большинство секций видны и редактируемы при
kds.access - «Сменить ТТ» — требует
kds.settings.edit(через re-auth) - «Logout» — всегда доступен
Что НЕ входит в P0
- Импорт/экспорт настроек устройства
- Темизация (light / dark / auto) — фикс на dark
- Локализация (только русский)
- Отладочный режим (показ raw JSON event’ов)
Связи
- Список заказов — entry point
- PIN-логин — Logout идёт сюда
- Регистрация — через «Сменить ТТ»
- Catalog Service — KDS settings
- Бизнес-спека §2.12, §2.14