diff --git a/packages/ui/src/components/message-part.css b/packages/ui/src/components/message-part.css index 5b0a3cc17..ede7f5c90 100644 --- a/packages/ui/src/components/message-part.css +++ b/packages/ui/src/components/message-part.css @@ -120,6 +120,7 @@ align-items: center; justify-content: flex-end; gap: 10px; + width: 100%; opacity: 0; pointer-events: none; transition: opacity 0.15s ease; @@ -134,6 +135,27 @@ [data-slot="user-message-meta"] { user-select: none; text-align: right; + flex: 1 1 auto; + min-width: 0; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + + [data-slot="user-message-meta-wrap"] { + flex: 1 1 auto; + min-width: 0; + display: flex; + align-items: center; + justify-content: flex-end; + overflow: hidden; + } + + [data-slot="user-message-meta-tail"] { + user-select: none; + flex: 0 0 auto; + white-space: nowrap; + text-align: right; } [data-slot="user-message-copy-wrapper"][data-interrupted] { diff --git a/packages/ui/src/components/message-part.tsx b/packages/ui/src/components/message-part.tsx index 8e74b14ba..cd0d8c779 100644 --- a/packages/ui/src/components/message-part.tsx +++ b/packages/ui/src/components/message-part.tsx @@ -560,16 +560,15 @@ export function UserMessageDisplay(props: { message: UserMessage; parts: PartTyp return `${hour12}:${minute} ${hours < 12 ? "AM" : "PM"}` }) - const meta = createMemo(() => { + const metaHead = createMemo(() => { const agent = props.message.agent - const items = [ - agent ? agent[0]?.toUpperCase() + agent.slice(1) : "", - provider(), - model(), - stamp(), - props.interrupted ? i18n.t("ui.message.interrupted") : "", - ] - return items.filter((x) => !!x).join(" \u00B7 ") + const items = [agent ? agent[0]?.toUpperCase() + agent.slice(1) : "", provider(), model()] + return items.filter((x) => !!x).join("\u00A0\u00B7\u00A0") + }) + + const metaTail = createMemo(() => { + const items = [stamp(), props.interrupted ? i18n.t("ui.message.interrupted") : ""] + return items.filter((x) => !!x).join("\u00A0\u00B7\u00A0") }) const openImagePreview = (url: string, alt?: string) => { @@ -619,14 +618,30 @@ export function UserMessageDisplay(props: { message: UserMessage; parts: PartTyp -
-
- + <> +
+
+ +
- - - {meta()} + + + + + {metaHead()} + + + + + {"\u00A0\u00B7\u00A0"} + + + + + {metaTail()} + +
-
+
)