From 1f11a8a6ea46867e2ad199c987bf14696a1b91d8 Mon Sep 17 00:00:00 2001
From: Adam <2363879+adamdotdevin@users.noreply.github.com>
Date: Thu, 15 Jan 2026 13:32:15 -0600
Subject: feat(app): improved session layout
---
packages/ui/src/components/hover-card.css | 5 ++-
packages/ui/src/components/message-nav.css | 4 ++
packages/ui/src/components/message-nav.tsx | 24 ++++++++---
.../ui/src/components/session-message-rail.css | 44 ---------------------
.../ui/src/components/session-message-rail.tsx | 46 ----------------------
5 files changed, 27 insertions(+), 96 deletions(-)
delete mode 100644 packages/ui/src/components/session-message-rail.css
delete mode 100644 packages/ui/src/components/session-message-rail.tsx
(limited to 'packages/ui/src/components')
diff --git a/packages/ui/src/components/hover-card.css b/packages/ui/src/components/hover-card.css
index 43a26c98f..f1172dfc7 100644
--- a/packages/ui/src/components/hover-card.css
+++ b/packages/ui/src/components/hover-card.css
@@ -1,5 +1,7 @@
[data-slot="hover-card-trigger"] {
- display: inline-flex;
+ display: flex;
+ width: 100%;
+ min-width: 0;
}
[data-component="hover-card-content"] {
@@ -8,6 +10,7 @@
max-width: 320px;
border-radius: var(--radius-md);
background-color: var(--surface-raised-stronger-non-alpha);
+ pointer-events: auto;
border: 1px solid color-mix(in oklch, var(--border-base) 50%, transparent);
background-clip: padding-box;
diff --git a/packages/ui/src/components/message-nav.css b/packages/ui/src/components/message-nav.css
index 465bd66fe..9c2116b90 100644
--- a/packages/ui/src/components/message-nav.css
+++ b/packages/ui/src/components/message-nav.css
@@ -10,6 +10,10 @@
width: 240px;
gap: 4px;
}
+
+ &[data-size="compact"] {
+ width: 24px;
+ }
}
[data-slot="message-nav-item"] {
diff --git a/packages/ui/src/components/message-nav.tsx b/packages/ui/src/components/message-nav.tsx
index 7416cfd93..0dd7c42b0 100644
--- a/packages/ui/src/components/message-nav.tsx
+++ b/packages/ui/src/components/message-nav.tsx
@@ -9,9 +9,10 @@ export function MessageNav(
current?: UserMessage
size: "normal" | "compact"
onMessageSelect: (message: UserMessage) => void
+ getLabel?: (message: UserMessage) => string | undefined
},
) {
- const [local, others] = splitProps(props, ["messages", "current", "size", "onMessageSelect"])
+ const [local, others] = splitProps(props, ["messages", "current", "size", "onMessageSelect", "getLabel"])
const content = () => (
@@ -19,23 +20,36 @@ export function MessageNav(
{(message) => {
const handleClick = () => local.onMessageSelect(message)
+ const handleKeyPress = (event: KeyboardEvent) => {
+ if (event.key !== "Enter" && event.key !== " ") return
+ event.preventDefault()
+ local.onMessageSelect(message)
+ }
+
return (
-
-
+
-