feat(web): виды сообщений, автокомплиты композера и ссылки на комнаты

- лента оформляет виды сообщений от сервера: action (/me) — имя акцентом и
  курсив, whisper — приглушённый блок с бейджем, scream — крупнее и жирнее,
  private (/ls) — рамка, замок и бейдж «лично», system — центрированная строка
  без аватара и панели действий; реакции, ответы, правка и удаление работают
  как раньше, группировка не сливает нестандартные виды с обычными;
- автокомплиты в поле ввода с навигацией ↑/↓, Enter/Tab, Escape и мышью:
  @ — участники сервера (в DM собеседник), # — видимые текстовые комнаты,
  : — словарь на 113 эмодзи, / — команды с описанием; подсказки не появляются
  внутри слова и в блоках кода, вставка восстанавливает каретку и не расходится
  со слоем подсветки;
- `<#id>` рендерится как #имя комнаты из снапшота (иначе #id);
- 287 тестов Vitest (было 262), check/lint/test/build зелёные.
This commit is contained in:
2026-09-20 12:06:22 +03:00
parent 65d0bafe0e
commit a126f50468
22 changed files with 1826 additions and 116 deletions
+20 -1
View File
@@ -304,6 +304,12 @@
"pending": "отправляется…",
"newMessages": "Новые сообщения",
"adminBadge": "админ",
"types": {
"whisper": "шёпот",
"scream": "громко",
"private": "лично",
"system": "Системное сообщение"
},
"unknownAuthor": "неизвестный",
"start": {
"title": "Это начало комнаты #{{name}}",
@@ -365,7 +371,20 @@
"denied": "Нет права отправлять сообщения в эту комнату.",
"readOnly": "В эту комнату нельзя писать.",
"directLabel": "Сообщение для {{name}}",
"directPlaceholder": "Написать {{name}}"
"directPlaceholder": "Написать {{name}}",
"autocomplete": {
"hint": "↑/↓ — выбор, Enter — вставить, Escape — закрыть",
"mentions": "Участники сервера",
"channels": "Комнаты сервера",
"emoji": "Эмодзи",
"commands": "Команды"
},
"commands": {
"me": "действие: имя и текст курсивом",
"whisper": "шёпот: приглушённое сообщение",
"scream": "громко: крупный акцентный текст",
"ls": "личное сообщение: /ls логин текст"
}
},
"typing_one": "{{names}} печатает…",
"typing_few": "{{names}} печатают…",