affectUI › Screens › App screens

AI Chat / Overview

The AI workspace start page with your numbers under the composer – activity day by day, recent chats, usage, the files it made and this month against the last.

Part of affectUI Pro. Install: npx shadcn@latest add https://www.affectui.com/r/assistant-overview.json · Import from @/components/ui/assistant-overview

When to use

  • The start page of an AI workspace for people who come back every day – what they did, what's left of their plan, what it made for them
  • A home that doubles as a dashboard: one composer to start, the numbers right below

When not to use

  • A first visit or an empty workspace – AI Chat / Start with its quick prompts helps more

Usage

import { AssistantOverviewScreen } from "@/components/ui/assistant-overview";

export default function Page() {
  return <AssistantOverviewScreen workspace="Acme" user={{ name: "Alex Morgan" }} onNavigate={(label) => router.push(routes[label])} />;
}

Props

NameTypeDefaultDescription
onNavigate(label: string) => voidCalled with the label of a sidebar item – and with Chat or Folders from the cards' rows and their “N more”
workspacestring"Acme"Workspace name in the sidebar
user{ name: string; avatar?: string }{ name: "Alex Morgan" }Account at the bottom of the sidebar
classNamestringExtra class on the root

Keyboard

  • Tab: From the composer through the activity grid, each card's “N more” and its rows
  • ← / →: In the activity grid: a week back or on – the tip says the day and its chats
  • ↑ / ↓: In the activity grid: the day before or after
  • Home / End: In the activity grid: the first and the last day
  • Esc: In the activity grid: hides the tip

Accessibility

  • Every card is a section named by its heading; the rows of chats and files are buttons
  • The activity grid is one image with its sum as its label – hovering or tapping a square, or walking the days with the arrow keys, shows its day and count in a small tip – said aloud from the keyboard; the usage bar is a meter with its value; each trend says what it compares, e.g. “+12 on last month”
  • Color is never the only signal: the trends carry their sign, the grid its label, and usage over the limit says so in words
  • Long names end in “…” before the time; file names keep their extension, so files that differ at the end stay apart

Responsive

  • Four columns under the composer: activity and recent chats on top, usage, files and this month below
  • Narrower, two columns – the wide cards stay wide; on a phone they stack; the activity grid always fills its card
  • Dark mode built in: switches when an ancestor (usually <html>) has the class dark or data-theme="dark"

Requirements

  • React 19
  • @hugeicons/react
  • @hugeicons/core-free-icons
  • App Shell and AI Chat / Start (installed with it)