frontend: chat/meetings/messages/settings UX fixes

- settings: keep tab nav on its own row so "Developers" no longer wraps
- chat: show the "Veil active" chip once per conversation, not every turn
- chat: record cards only offer "Click for more" when they have detail
- chat: chat-history panel (pill + sheet) top-left of the AI chat with
  "Start new chat"; rename sidebar "New chat" -> "Ask temetro" (Sparkles)
- meetings: disable past dates, add an Upcoming Meetings list, and use the
  Empty component for empty days; scheduler can be pre-targeted via ?with
- messages: add a call button left of each inbox row -> Meetings (?with)
- toast: add a dismiss (x) button; call invites now ring 30s with "Accept"

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Khalid Abdi
2026-06-20 18:34:48 +03:00
parent 913a217e1d
commit 1d9b1b1d22
11 changed files with 360 additions and 30 deletions
+15 -4
View File
@@ -110,7 +110,7 @@
}
},
"nav": {
"newChat": "New chat",
"newChat": "Ask temetro",
"patients": "Patients",
"appointments": "Appointments",
"invoices": "Invoices",
@@ -749,7 +749,9 @@
"ring": "Ring",
"invited": "Invited",
"join": "Join",
"toastTitle": "{{name}} invited you to a call"
"toastTitle": "{{name}} invited you to a call",
"accept": "Accept",
"decline": "Decline"
},
"schedule": {
"cta": "Schedule meeting",
@@ -764,6 +766,11 @@
"saving": "Scheduling…",
"failedTitle": "Couldn't schedule meeting",
"failedBody": "Please try again."
},
"calendarEmptyHint": "Schedule a meeting to see it on this day.",
"upcoming": {
"title": "Upcoming",
"empty": "No upcoming meetings."
}
},
"messages": {
@@ -816,7 +823,8 @@
"apptProvider": "Provider",
"apptPatient": "Patient",
"apptStatus": "Status"
}
},
"startCall": "Start a call with {{name}}"
},
"analysis": {
"title": "Overview",
@@ -1020,7 +1028,10 @@
"title": "Chats",
"untitled": "New chat",
"empty": "No saved chats yet.",
"delete": "Delete chat"
"delete": "Delete chat",
"open": "Chat history",
"search": "Search chats",
"startNew": "Start new chat"
},
"suggestions": {
"schedule": "Show today's schedule",
+2 -2
View File
@@ -10,9 +10,9 @@ import {
Mail,
NotebookPen,
Pill,
Plus,
Receipt,
Settings,
Sparkles,
Users,
Video,
} from "lucide-react";
@@ -54,7 +54,7 @@ export const navItems: NavItem[] = [
{
id: "new-chat",
labelKey: "nav.newChat",
icon: Plus,
icon: Sparkles,
link: "/",
access: "clinical",
},