Skip to content

Commit 8839bbf

Browse files
committed
fix(ui): refine tool error card styling
1 parent 3b9aea9 commit 8839bbf

2 files changed

Lines changed: 80 additions & 1 deletion

File tree

ui/src/styles/chat/tool-cards.css

Lines changed: 70 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
.chat-tool-card--expanded {
2121
max-height: none;
22-
overflow: visible;
22+
overflow: hidden;
2323
}
2424

2525
.chat-tool-card:hover {
@@ -63,10 +63,13 @@
6363
display: inline-flex;
6464
align-items: center;
6565
gap: 6px;
66+
flex: 1 1 auto;
6667
font-weight: 600;
6768
font-size: var(--control-ui-text-md);
6869
line-height: 1.2;
6970
min-width: 0;
71+
max-width: 100%;
72+
overflow-wrap: anywhere;
7073
}
7174

7275
.chat-tool-card__icon {
@@ -95,7 +98,9 @@
9598
align-items: center;
9699
justify-content: center;
97100
gap: 4px;
101+
flex-shrink: 0;
98102
font-size: 11px;
103+
white-space: nowrap;
99104
color: var(--muted);
100105
opacity: 1;
101106
transition:
@@ -196,6 +201,34 @@
196201

197202
.chat-tool-card--error {
198203
border-color: color-mix(in srgb, var(--destructive, var(--danger, #c0392b)) 35%, var(--border));
204+
background:
205+
linear-gradient(
206+
90deg,
207+
color-mix(in srgb, var(--destructive, var(--danger, #c0392b)) 8%, transparent),
208+
transparent 36%
209+
),
210+
color-mix(in srgb, var(--card) 86%, var(--secondary) 14%);
211+
}
212+
213+
.chat-tool-card--error:hover {
214+
border-color: color-mix(
215+
in srgb,
216+
var(--destructive, var(--danger, #c0392b)) 44%,
217+
var(--border-strong)
218+
);
219+
background:
220+
linear-gradient(
221+
90deg,
222+
color-mix(in srgb, var(--destructive, var(--danger, #c0392b)) 11%, transparent),
223+
transparent 38%
224+
),
225+
color-mix(in srgb, var(--card) 78%, var(--bg-hover) 22%);
226+
}
227+
228+
.chat-tool-card--error .chat-tool-card__icon,
229+
.chat-tool-msg-summary.chat-tool-msg-summary--error .chat-tool-msg-summary__icon {
230+
color: var(--destructive, var(--danger, #c0392b));
231+
opacity: 0.9;
199232
}
200233

201234
.chat-tool-msg-summary__error-badge {
@@ -429,6 +462,12 @@
429462
max-height: min(520px, 60vh);
430463
}
431464

465+
.chat-tool-card__block-content code {
466+
white-space: inherit;
467+
overflow-wrap: anywhere;
468+
word-break: inherit;
469+
}
470+
432471
.chat-tool-card__inline {
433472
margin-top: 10px;
434473
white-space: pre-wrap;
@@ -651,6 +690,13 @@
651690

652691
.chat-tool-msg-summary.chat-tool-msg-summary--error {
653692
border-color: color-mix(in srgb, var(--destructive, var(--danger, #c0392b)) 30%, var(--border));
693+
background:
694+
linear-gradient(
695+
90deg,
696+
color-mix(in srgb, var(--destructive, var(--danger, #c0392b)) 11%, transparent),
697+
transparent 36%
698+
),
699+
color-mix(in srgb, var(--card) 86%, var(--secondary) 14%);
654700
}
655701

656702
.chat-tool-msg-summary::-webkit-details-marker {
@@ -686,6 +732,21 @@
686732
border-color: color-mix(in srgb, var(--border-strong) 70%, transparent);
687733
}
688734

735+
.chat-tool-msg-summary.chat-tool-msg-summary--error:hover {
736+
background:
737+
linear-gradient(
738+
90deg,
739+
color-mix(in srgb, var(--destructive, var(--danger, #c0392b)) 14%, transparent),
740+
transparent 38%
741+
),
742+
color-mix(in srgb, var(--card) 78%, var(--bg-hover) 22%);
743+
border-color: color-mix(
744+
in srgb,
745+
var(--destructive, var(--danger, #c0392b)) 38%,
746+
var(--border-strong)
747+
);
748+
}
749+
689750
.chat-tool-msg-collapse--manual.is-open > .chat-tool-msg-summary,
690751
.chat-tool-msg-collapse[open] > .chat-tool-msg-summary {
691752
border-bottom-right-radius: 0;
@@ -858,6 +919,10 @@
858919
max-height: 100px;
859920
}
860921

922+
.chat-tool-card--expanded {
923+
max-height: none;
924+
}
925+
861926
.chat-tool-card__title {
862927
font-size: 12px;
863928
}
@@ -894,6 +959,10 @@
894959
max-height: 80px;
895960
}
896961

962+
.chat-tool-card--expanded {
963+
max-height: none;
964+
}
965+
897966
.chat-tool-card__preview {
898967
padding: 4px 6px;
899968
max-height: 28px;

ui/src/styles/chat/tool-cards.test.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,14 @@ describe("chat tool card styles", () => {
2020
expect(css).toContain("white-space: normal;");
2121
expect(css).not.toContain("max-width: 42%;");
2222
});
23+
24+
it("keeps expanded tool cards and actions usable on narrow screens", () => {
25+
const css = readToolCardsCss();
26+
27+
expect(css).toContain(".chat-tool-card--expanded {");
28+
expect(css).toContain("max-height: none;");
29+
expect(css).toContain("overflow: hidden;");
30+
expect(css).toContain("white-space: nowrap;");
31+
expect(css).toContain(".chat-tool-card__block-content code");
32+
});
2333
});

0 commit comments

Comments
 (0)