feat(ai-chat): role cards start the chat and show role identity #121

Merged
vvzvlad merged 1 commits from feat/ai-chat-role-cards-ux into develop 2026-06-21 16:28:51 +03:00

Что меняется

Переработка empty-state «карточек ролей» в плавающем окне AI-чата.

  • Убрана карточка Universal assistant: универсальный ассистент теперь — неявный дефолт, который пользователь получает, просто набрав текст без выбора карточки.
  • На каждой карточке роли показывается её описание (под emoji и именем).
  • Клик по карточке сразу запускает чат: привязывает роль к новому чату и отправляет дефолтный промпт «Take a look at the current document» (один клик, без отдельного шага выбора). roleIdRef выставляется синхронно до sendMessage, поэтому create-запрос уносит роль.
  • Название текущей роли показывается в бейдже заголовка окна и как имя ассистента (метка в транскрипте + «… is typing…»), с фолбэком на «AI agent» для чата без роли. selectChat сбрасывает выбранную роль, чтобы она не «протекала» в чужой чат.
  • Добавлен i18n-ключ Take a look at the current document (en-US, ru-RU).

Затронутые файлы

  • apps/client/src/features/ai-chat/components/role-cards.tsx (rewrite)
  • apps/client/src/features/ai-chat/components/role-cards.module.css
  • apps/client/src/features/ai-chat/components/role-cards.test.tsx (rewrite)
  • apps/client/src/features/ai-chat/components/chat-thread.tsx
  • apps/client/src/features/ai-chat/components/ai-chat-window.tsx
  • apps/client/public/locales/{en-US,ru-RU}/translation.json

Проверки

  • tsc --noEmit — без ошибок.
  • vitest run src/features/ai-chat — 8 файлов, 53 теста зелёные.
  • Оба translation.json валидны.

🤖 Generated with Claude Code

## Что меняется Переработка empty-state «карточек ролей» в плавающем окне AI-чата. - Убрана карточка **Universal assistant**: универсальный ассистент теперь — неявный дефолт, который пользователь получает, просто набрав текст без выбора карточки. - На каждой карточке роли показывается её **описание** (под emoji и именем). - **Клик по карточке сразу запускает чат**: привязывает роль к новому чату и отправляет дефолтный промпт «Take a look at the current document» (один клик, без отдельного шага выбора). `roleIdRef` выставляется синхронно до `sendMessage`, поэтому create-запрос уносит роль. - **Название текущей роли** показывается в бейдже заголовка окна и как имя ассистента (метка в транскрипте + «… is typing…»), с фолбэком на «AI agent» для чата без роли. `selectChat` сбрасывает выбранную роль, чтобы она не «протекала» в чужой чат. - Добавлен i18n-ключ `Take a look at the current document` (en-US, ru-RU). ## Затронутые файлы - `apps/client/src/features/ai-chat/components/role-cards.tsx` (rewrite) - `apps/client/src/features/ai-chat/components/role-cards.module.css` - `apps/client/src/features/ai-chat/components/role-cards.test.tsx` (rewrite) - `apps/client/src/features/ai-chat/components/chat-thread.tsx` - `apps/client/src/features/ai-chat/components/ai-chat-window.tsx` - `apps/client/public/locales/{en-US,ru-RU}/translation.json` ## Проверки - `tsc --noEmit` — без ошибок. - `vitest run src/features/ai-chat` — 8 файлов, 53 теста зелёные. - Оба `translation.json` валидны. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Ghost added 1 commit 2026-06-21 16:28:24 +03:00
Rework the new-chat role-card empty state:
- Remove the "Universal assistant" card; universal assistant is now the
  implicit default the user gets by typing without picking a card.
- Show each role's description on its card (under the emoji and name).
- Clicking a card immediately starts the chat: it binds the role to the
  new chat and sends the default opening prompt "Take a look at the
  current document" (one click, no separate select step). roleIdRef is
  set synchronously before sendMessage so the create request carries the
  role.
- Show the current role's name in the window header badge and as the
  assistant's display name (transcript label + "… is typing…"), falling
  back to "AI agent" for a role-less chat. selectChat resets the picked
  role so it cannot leak into an unrelated existing chat.
- Add the "Take a look at the current document" i18n key (en-US, ru-RU).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
vvzvlad merged commit 4a22cc1955 into develop 2026-06-21 16:28:51 +03:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: vvzvlad/gitmost#121