Skip to content

Commit 1a1aee8

Browse files
committed
Group message action buttons
1 parent 5384ff8 commit 1a1aee8

File tree

2 files changed

+42
-19
lines changed

2 files changed

+42
-19
lines changed

packages/ui/src/components/message-item.tsx

Lines changed: 24 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -196,28 +196,33 @@ interface MessageItemProps {
196196
<Show when={agentMeta()}>{(meta) => <span class="message-agent-meta">{meta()}</span>}</Show>
197197
</div>
198198
<div class="message-item-actions">
199-
<Show when={isUser() && props.onRevert}>
200-
<button
201-
class="bg-transparent border border-[var(--border-base)] text-[var(--text-muted)] cursor-pointer px-3 py-0.5 rounded text-xs font-semibold leading-none transition-all duration-200 flex items-center justify-center h-6 hover:bg-[var(--surface-hover)] hover:border-[var(--accent-primary)] hover:text-[var(--accent-primary)] active:scale-95"
202-
onClick={handleRevert}
203-
title="Revert to this message"
204-
aria-label="Revert to this message"
205-
>
206-
Revert to
207-
</button>
208-
</Show>
209-
<Show when={isUser() && props.onFork}>
210-
<button
211-
class="bg-transparent border border-[var(--border-base)] text-[var(--text-muted)] cursor-pointer px-3 py-0.5 rounded text-xs font-semibold leading-none transition-all duration-200 flex items-center justify-center h-6 hover:bg-[var(--surface-hover)] hover:border-[var(--accent-primary)] hover:text-[var(--accent-primary)] active:scale-95"
212-
onClick={() => props.onFork?.(props.record.id)}
213-
title="Fork from this message"
214-
aria-label="Fork from this message"
215-
>
216-
Fork
217-
</button>
199+
<Show when={isUser()}>
200+
<div class="message-action-group">
201+
<Show when={props.onRevert}>
202+
<button
203+
class="message-action-button"
204+
onClick={handleRevert}
205+
title="Revert to this message"
206+
aria-label="Revert to this message"
207+
>
208+
Revert
209+
</button>
210+
</Show>
211+
<Show when={props.onFork}>
212+
<button
213+
class="message-action-button"
214+
onClick={() => props.onFork?.(props.record.id)}
215+
title="Fork from this message"
216+
aria-label="Fork from this message"
217+
>
218+
Fork
219+
</button>
220+
</Show>
221+
</div>
218222
</Show>
219223
<time class="message-timestamp" dateTime={timestampIso()}>{timestamp()}</time>
220224
</div>
225+
221226
</header>
222227

223228
<div class="pt-1 whitespace-pre-wrap break-words leading-[1.1]">

packages/ui/src/styles/messaging/message-base.css

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,24 @@
3131
@apply flex items-center gap-2;
3232
}
3333

34+
.message-action-group {
35+
@apply flex items-center gap-2;
36+
}
37+
38+
.message-action-button {
39+
@apply bg-transparent border border-[var(--border-base)] text-[var(--text-muted)] cursor-pointer px-3 py-0.5 rounded text-xs font-semibold leading-none transition-all duration-200 flex items-center justify-center h-6;
40+
}
41+
42+
.message-action-button:hover {
43+
background-color: var(--surface-hover);
44+
border-color: var(--accent-primary);
45+
color: var(--accent-primary);
46+
}
47+
48+
.message-action-button:active {
49+
transform: scale(0.95);
50+
}
51+
3452
.message-timestamp {
3553
@apply text-[11px] text-[var(--text-muted)];
3654
}

0 commit comments

Comments
 (0)