Веб-чат

Чат в стиле Discord с military-tech интерфейсом и входом по ссылке VPN-подписки.

Задача
Собрать пространство для общения с простым доступом, персонализацией и текстовыми и голосовыми каналами.
Критерии успеха
Простой анонимный вход, обмен сообщениями и медиа, звонки и демонстрация экрана в одном интерфейсе.

Общение в одном пространстве

Веб-чат объединяет текстовые и голосовые каналы, видеосвязь и демонстрацию экрана в интерфейсе в стиле Discord. В переписке доступны медиавложения и пользовательские эмодзи, а темы меняют оформление.

Визуальный стиль опирается на military-tech. Особенность проекта: анонимный вход по ссылке VPN-подписки с простым доступом к общению.

WebChat
general

Что показывает открытая демоверсия

В репозитории опубликован отдельный локальный интерфейс на React и TypeScript. Можно переключать каналы с независимыми списками сообщений и выбрать отправку по Enter или Ctrl / Cmd + Enter.

Режим отправки сохраняется в браузере. Из исходного проекта также взяты форматирование вложений и индикатор набора; компоненты проверяются тестами.

Сообщения живут в памяти вкладки. Сервер, авторизация, WebSocket и голосовые интеграции в публичную демоверсию не входят.

source
type SendMode = "enter" | "modifier-enter";function shouldSend(  event: KeyboardEvent,  mode: SendMode,) {  if (event.isComposing || event.key !== "Enter") {    return false;  }  return mode === "enter"    ? !event.shiftKey    : event.ctrlKey || event.metaKey;}