fix: refine session report and live activity layout

This commit is contained in:
2026-07-24 00:21:36 +02:00
parent 6ca4275ff2
commit 18233d59af
6 changed files with 40 additions and 6 deletions
+5 -5
View File
@@ -39,7 +39,7 @@ export function formatModelActivity(text: string): string {
function MarkdownBody({ entry }: { entry: ActivityEntry }) {
const tone = entry.kind === "thinking" ? "text-muted-foreground" : "text-foreground";
return (
<div className={`thot-prose thot-activity-prose max-w-[74ch] text-sm ${tone}`}>
<div className={`thot-prose thot-activity-prose min-w-0 w-full max-w-none text-sm ${tone}`}>
<ReactMarkdown remarkPlugins={[remarkGfm]}>{formatModelActivity(entry.text)}</ReactMarkdown>
</div>
);
@@ -47,7 +47,7 @@ function MarkdownBody({ entry }: { entry: ActivityEntry }) {
function ActivityRow({ entry }: { entry: ActivityEntry }) {
return (
<article className="border-b border-border/50 py-2 last:border-b-0">
<article className="w-full min-w-0 border-b border-border/50 py-2 last:border-b-0">
<div className="mb-1 flex flex-wrap items-center gap-1 text-[0.65rem] font-semibold uppercase tracking-[0.08em] text-muted-foreground">
<span className="text-foreground/80">{ACTIVITY_LABELS[entry.kind]}</span>
{entry.phase && <span aria-label={`Phase ${entry.phase}`}>{entry.phase}</span>}
@@ -79,8 +79,8 @@ export function ModelActivityPanel({
return (
<aside className={desktopSplit
? "static z-auto flex w-[var(--activity-panel-width)] shrink-0 flex-col border-r-0 bg-sidebar"
: "fixed inset-y-0 left-0 z-30 flex w-[min(90vw,24rem)] shrink-0 flex-col border-r border-border bg-sidebar"
? "static z-auto flex min-w-0 w-[var(--activity-panel-width)] shrink-0 flex-col border-r-0 bg-sidebar"
: "fixed inset-y-0 left-0 z-30 flex min-w-0 w-[min(90vw,24rem)] shrink-0 flex-col border-r border-border bg-sidebar"
}>
<div className="flex items-center justify-between border-b border-border/60 px-3 py-2">
<h2 className="font-heading text-sm font-semibold text-foreground">Model activity</h2>
@@ -93,7 +93,7 @@ export function ModelActivityPanel({
data-testid="activity-scroll"
tabIndex={0}
aria-label="Model activity timeline"
className="flex-1 overflow-y-auto px-3 py-2 outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring/40"
className="w-full min-w-0 flex-1 overflow-y-auto px-3 py-2 outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring/40"
onScroll={(event) => {
followRef.current = isNearBottom(event.currentTarget);
}}