From 65e8c5bea4f68d0a49335313f0170073747e147c Mon Sep 17 00:00:00 2001 From: Brendan Allan Date: Sun, 23 Aug 2026 01:01:57 +0800 Subject: [PATCH] fix(app): align conversation typography --- packages/app/src/composer/editor/editor.tsx | 2 +- .../session-ui/src/components/basic-tool.css | 66 +++++++------------ .../session-ui/src/components/basic-tool.tsx | 2 - .../src/components/message-part.css | 56 +++++++++++----- .../session-ui/src/tools/tool-renderer.tsx | 9 ++- 5 files changed, 69 insertions(+), 66 deletions(-) diff --git a/packages/app/src/composer/editor/editor.tsx b/packages/app/src/composer/editor/editor.tsx index 77ba13391b65..b02288ae566b 100644 --- a/packages/app/src/composer/editor/editor.tsx +++ b/packages/app/src/composer/editor/editor.tsx @@ -162,7 +162,7 @@ export function ComposerEditor(props: ComposerEditorProps) { spellcheck={state.mode === "normal"} // @ts-expect-error autocomplete="off" - class="relative z-10 block min-h-[60px] max-h-[180px] w-full overflow-y-auto whitespace-pre-wrap bg-transparent px-4 pt-4 pb-2 text-[13px] font-[440] leading-5 text-v2-text-text-base focus:outline-none [&_[data-mention=file]]:text-syntax-property [&_[data-mention=agent]]:text-syntax-type [&_[data-mention=reference]]:text-syntax-keyword" + class="relative z-10 block min-h-[60px] max-h-[180px] w-full overflow-y-auto whitespace-pre-wrap bg-transparent px-4 pt-4 pb-2 text-[13px] font-[440] leading-5 tracking-[-0.04px] text-v2-text-text-base [font-family:var(--v2-font-family-sans)] focus:outline-none [&_[data-mention=file]]:text-syntax-property [&_[data-mention=agent]]:text-syntax-type [&_[data-mention=reference]]:text-syntax-keyword" classList={{ "font-mono!": state.mode === "shell", "opacity-50": props.disabled }} style={{ "unicode-bidi": state.mode === "normal" ? "plaintext" : undefined, diff --git a/packages/session-ui/src/components/basic-tool.css b/packages/session-ui/src/components/basic-tool.css index 9bd2f94dd461..df2cabee63ee 100644 --- a/packages/session-ui/src/components/basic-tool.css +++ b/packages/session-ui/src/components/basic-tool.css @@ -4,7 +4,7 @@ display: flex; align-items: center; align-self: stretch; - gap: 0px; + gap: 6px; justify-content: flex-start; &[data-clickable="true"] { @@ -19,7 +19,7 @@ display: flex; align-items: center; align-self: stretch; - gap: 8px; + gap: 6px; } [data-slot="basic-tool-tool-indicator"] { @@ -59,7 +59,7 @@ flex: 0 1 auto; min-width: 0; max-width: 100%; - font-size: 14px; + font-size: 13px; } [data-slot="basic-tool-tool-info-structured"] { @@ -69,26 +69,26 @@ min-width: 0; display: inline-flex; align-items: center; - gap: 8px; + gap: 6px; justify-content: flex-start; } [data-slot="basic-tool-tool-info-main"] { display: flex; align-items: baseline; - gap: 8px; + gap: 6px; min-width: 0; overflow: hidden; } [data-slot="basic-tool-tool-title"] { flex-shrink: 0; - font-family: var(--font-family-sans); - font-size: 14px; + font-family: var(--v2-font-family-sans); + font-size: 13px; font-style: normal; - font-weight: var(--font-weight-medium); - line-height: var(--line-height-large); - letter-spacing: var(--letter-spacing-normal); + font-weight: 530; + line-height: var(--v2-line-height-compact, 16px); + letter-spacing: -0.04px; color: var(--v2-text-text-base); &.capitalize { @@ -107,13 +107,13 @@ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; - font-family: var(--font-family-sans); + font-family: var(--v2-font-family-sans); font-variant-numeric: tabular-nums; - font-size: 14px; + font-size: 13px; font-style: normal; - font-weight: var(--font-weight-regular); - line-height: var(--line-height-large); - letter-spacing: var(--letter-spacing-normal); + font-weight: 440; + line-height: var(--v2-line-height-compact, 16px); + letter-spacing: -0.04px; color: var(--v2-text-text-muted); &.clickable:not(.webfetch-link) { @@ -153,13 +153,13 @@ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; - font-family: var(--font-family-sans); + font-family: var(--v2-font-family-sans); font-variant-numeric: tabular-nums; - font-size: 14px; + font-size: 13px; font-style: normal; - font-weight: var(--font-weight-regular); - line-height: var(--line-height-large); - letter-spacing: var(--letter-spacing-normal); + font-weight: 440; + line-height: var(--v2-line-height-compact, 16px); + letter-spacing: -0.04px; color: var(--v2-text-text-muted); } @@ -170,29 +170,13 @@ } } -[data-component="collapsible"].tool-collapsible[data-compact="true"] > [data-slot="collapsible-trigger"] { +[data-component="collapsible"].tool-collapsible > [data-slot="collapsible-trigger"] { height: 28px; +} - [data-component="tool-trigger"], - [data-slot="basic-tool-tool-info-main"] { - gap: 6px; - } - - [data-slot="basic-tool-tool-title"] { - font-family: var(--v2-font-family-sans); - font-size: 13px; - font-weight: 530; - line-height: var(--v2-line-height-compact, 16px); - letter-spacing: -0.04px; - } - - [data-slot="basic-tool-tool-subtitle"] { - font-family: var(--v2-font-family-sans); - font-size: 13px; - font-weight: 440; - line-height: var(--v2-line-height-compact, 16px); - letter-spacing: -0.04px; - } +[data-component="collapsible"].tool-collapsible + > [data-slot="collapsible-trigger"]:has([data-component="task-tool-card"]) { + height: auto; } [data-component="task-tool-card"] { diff --git a/packages/session-ui/src/components/basic-tool.tsx b/packages/session-ui/src/components/basic-tool.tsx index 5c88022cffb2..ac8302823d56 100644 --- a/packages/session-ui/src/components/basic-tool.tsx +++ b/packages/session-ui/src/components/basic-tool.tsx @@ -43,7 +43,6 @@ export interface BasicToolProps { triggerHref?: string triggerAsLink?: boolean clickable?: boolean - compact?: boolean } const SPRING = { type: "spring" as const, visualDuration: 0.35, bounce: 0 } @@ -261,7 +260,6 @@ export function BasicTool(props: BasicToolProps) { open={open()} onOpenChange={props.locked ? undefined : handleOpenChange} class="tool-collapsible" - data-compact={props.compact ? "true" : undefined} data-rail={props.rail === false ? "false" : undefined} > @@ -1288,7 +1288,6 @@ ToolRegistry.register({ {...props} icon="console" rail={false} - compact allowOpenWhilePending trigger={(open) => (
@@ -1581,7 +1580,7 @@ ToolRegistry.register({