ui chat #UI

Chat

Чат

(UI-секція) — центральна зона workspace у режимі Chat. Переписка між RU і TU в реальному часі.

Див. також: Mail, Email.


Верхня панель

  • Аватар RU (ліворуч) + ім’я + id — клік на аватар відкриває профіль. Ім’я та id клікабельні окремо для копіювання.
  • Аватар TU (поруч) + ім’я + id — так само.
  • Profit: N$ — прибуток по цій парі RU↔TU.
  • LT day: N — поточний LT (днів відколи RU вперше написав TU).
  • Перемикач режиму: Chat / Mail (для деяких діалогів також Email). Перемикання перезавантажує з нуля — скрол і контекст поточного режиму не зберігаються.

Стрічка повідомлень

Повідомлення показуються хронологічно, згруповані по датах (розділювачі-дати типу Today, 27 Jul 2025).

Типи повідомлень

  • Текст
  • Фото — може бути позначка «оплачене/прочитане»
  • Відео
  • Прев’ю листа — коли в рамках чату відбувся обмін листом (з позначкою «прочитаний»)

TODO: перелік візуальних бейджів/індикаторів на повідомленні (оплачено/прочитано/інше) — уточнити повний набір.

Системні розділювачі

  • Today / дата — поділ по днях
  • chat started — початок платного чату. Все між цим маркером і наступним chat stopped (якщо є) — це платний чат і тригерить таски типу Chat: active* (див. Tasks Column).

Переклад повідомлень

Перекладач працює в обидва боки:

  • Для вхідних — при наведенні на повідомлення з’являється іконка → клік → під оригіналом з’являється переклад (показується зв’язка оригінал + переклад)
  • Для вихідних — оператор перекладає перед відправкою

Мова перекладу вибирається в полі вводу (EN у правому куті). Див. DeepLService.

Індикатори доставки

Поруч з повідомленням — час відправки/отримання. Інші явні статус-значки (доставлено / не доставлено / помилка) поки не видно в UI.

Поле вводу

Внизу — поле з placeholder Напишіть повідомлення.... Елементи:

  • Смайлики
  • Прикріпити фото
  • Перекладач
  • Вибір мови перекладу
  • Кнопка відправки

Коли вводити не можна

  • RU offline — знизу з’являється «RU наразі не онлайн. Надсилання повідомлень недоступне, доки він не буде онлайн.»
  • RU у whitelist — писати вручну не можна (ведеться автоматично через ChatSender).

Ліміти відправки (Chat only)

СитуаціяЛіміт
Звичайний (безкоштовний) чат, один і той самий RU1 повідомлення на 60 с
Між різними RU (одна TU)мінімум 5 с між відправками
Активний (платний) чатбез обмежень

Mail має окремий ліміт (1 запит/5с, спільний з сендером) — див. Mail. Технічні деталі черги Chat — ChatQueue.

Платний vs безкоштовний чат

  • Безкоштовний — дефолтний стан. Повідомлення йдуть, chat started ще не спрацював.
  • Платний — починається по подієвому маркеру chat started (часто коли RU пише TU або відповідає у чаті). Платний може бути зупинений RU, або завершитись природним шляхом.
  • Таски формуються з урахуванням стану: Chat: active, active-unanswered, finished-unanswered, finished-write-again (див. Tasks Column).

Нюанси

  • Перемикач Chat/Mail/Email — повний reset переглядуваного контексту.
  • Клік на аватар RU і TU відкриває ту саму модалку (Profile) — поля можуть відрізнятись, візуально подібно.
  • Кольори повідомлень — RU і TU візуально розрізняються (різний відтінок фону). Системні маркери (chat started, дата) йдуть окремим стилем.

Зв’язки