Skip to content

ConversationList

Stable

Past chats grouped by day, with a New chat button, for the side bar.

Also known as chat history, conversation history, threads list, sidebar history

Install with npm install @tattva/ui (setup), or copy the code from the kit in Downloads.

Grouped history

Each chat has a group name. Groups show in the order they first appear.

When to use it

The history of past chats for the side panel. A New chat button sits on top, so starting fresh is always one press away.

Made of: New chat button · Group name · Chat title

Use it for

  • Past chats in the AppShell side panel, grouped by day.
  • Switching between chats, with the open one highlighted.
  • Starting a new chat from the side panel.

Not for

  • The main site menu or links to other parts of the app.
  • The messages inside one chat: use MessageList.

Do and avoid

Do. Past chats, grouped by date, with New chat on top.
Avoid. Site links mixed into chat history make both hard to find.

Do

  • Use groups such as Today and Yesterday, newest first.
  • Keep titles short. Long ones wrap onto a second line and make the list harder to scan.
  • Place it in the side bar of AppShell, which sets the width.
  • Keep the highlight matching the chat that is open.

Avoid

  • Do not use it as the main site menu. It lists chats only.
  • Do not expect it to sort. It keeps the order you give it.
  • Do not add extra actions inside a row. Each row is one button.

On a phone

  • Each row title is a full-width button with a tap area at least 44px tall on a touch screen, and long titles wrap instead of being cut off.
  • The row menu button grows from 32px to 44px on a touch screen, and the menu opens as a bottom sheet.
  • Delete asks in place with Keep and Delete side by side, each with a 44px tap area.

Build your next AI screen with Tattva.

Free and open, with the code. Start in one line.

Get started