KDS — Frontend Specs

Фронтенд-спецификации экранов KDS-приложения (Android-планшет на кухне). Tauri 2 + React + TypeScript, target Android (production) + Windows (для разработки).

Источники


Структура приложения

[Регистрация устройства] (один раз)
        ↓
[PIN-логин] ⇄ [Выбор станций]
        ↓
[Список заказов] (главный экран)
        ↓
[Карточка заказа] (модалка / push)
[Settings] (модалка / push)

Экраны

#ЭкранНазначениеСпека
1Регистрация устройстваПервый запуск: admin-login по email+password → выбор ТТРегистрация устройства
2PIN-логин и выбор станцийПовар вводит PIN, ставит галочки на станции (1+)PIN-логин
3Список заказовГлавный экран: карточки/список с цветом по времени, звук на новыеСписок заказов
4Карточка заказаПолноэкранный просмотр позиций сгруппированных по станциям, кнопки «Готово»Карточка заказа
5Настройки устройстваЗвук, громкость, layout, transport, in-app updater, logout, смена ТТНастройки устройства

Модалка техкарты

Описана как часть Карточки заказа §«Просмотр техкарты», не выделена в отдельный экран.


Стек и хранилище

  • UI: React 18 + TypeScript
  • State: React state + custom hooks (useOrders, useSession)
  • Транспорт: @erp-kds/api-client package с IKdsTransport interface (CloudTransport / MockTransport / [P1] LanTransport)
  • Локальное хранилище: SQLite через tauri-plugin-sql (P0 — только конфиг устройства; полная репликация заказов — P1)
  • WebSocket: native browser WebSocket API через CloudTransport
  • Звуки: встроенные mp3-файлы в APK assets, проигрываются через HTML Audio API
  • Updater: tauri-plugin-updater

Targets

  • Production: Android 10+ (API 29+), 10–13” планшет
  • Development: Windows (cargo tauri dev) — для работы фронта без планшета

Связь с админкой франшизы

Настройки KDS-приложения и список зарегистрированных устройств — управляются из админки франшизы:


Ссылки