автоматизация · готовые ответы
Библиотека шаблонов, которые оператор вставляет в поле ввода вместо того, чтобы печатать заново (в треде их открывает «/»). Список + FAB + отдельный экран-редактор — вместо десктопной «пустой строки снизу», которая не работает с экранной клавиатурой. Открывается из Ещё → Автоматизация, только у обладателя site:configure.
У готового ответа нет идентификатора — сервер хранит всю библиотеку одним значением на сайте и заменяет её целиком. Любое изменение — добавить, отредактировать, удалить — это правка списка в памяти и один PUT всего списка, после чего состояние пересеивается из ответа сервера, а не из запроса. Порядок сохраняется, потому что его задал оператор, а не потому что он что-то значит: с этим списком ничего не сопоставляется (в отличие от «Автоответа вне смены», где порядок — это поведение).
Каждая строка — заголовок и превью текста; тап открывает редактор. FAB добавляет новый ответ. Загрузка и ошибка чтения — общие тела LoadingBody / RefusalBody.
6 шаблонов. Заголовок — жирным, обрезается многоточием; вторая строка — превью тела в одну строку. Тап по строке открывает редактор именно этого ответа.
Добавьте первый шаблон — он появится в поле ввода по «/».
Пустой список — это нормальное загруженное состояние с FAB, а не отказ. Оператору сразу понятно, что делать.
Заголовок (одна строка, до 100) и текст (много строк, до 8000) со счётчиками. Сохранение отправляет весь список и пересеивает состояние из ответа сервера. У существующего ответа внизу — «Удалить» с подтверждением.
Кнопка «Сохранить» неактивна, пока заголовок или текст пусты. При сохранении — «Сохранение…», затем PUT всего списка и возврат к списку.
У существующего ответа появляется «Удалить». И правка, и удаление — это тот же PUT всего списка: элемент заменяется на своей позиции или выбрасывается, список отправляется целиком.
«Часы работы» будет удалён из библиотеки. Это действие нельзя отменить.
Material AlertDialog по центру. Системная кнопка «Назад» закрывает сначала диалог, потом экран (контракт кнопки «Назад»).