qwen-code/packages/web-shell/client/components/messages/tools/SubAgentPanel.module.css
ytahdn 0f98842ff2
fix(web-shell): refine tool detail cards (#6399)
Co-authored-by: ytahdn <ytahdn@gmail.com>
2026-07-06 14:58:22 +00:00

171 lines
3 KiB
CSS

.panel {
background: var(--secondary);
border: 0.5px solid var(--border);
border-radius: var(--radius);
width: 100%;
min-width: 0;
max-width: 100%;
overflow: hidden;
}
.header {
display: flex;
align-items: center;
gap: 8px;
min-width: 0;
cursor: pointer;
}
.header:hover {
opacity: 0.85;
}
.desc {
font-size: 12px;
color: var(--muted-foreground);
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.toggle {
font-size: 10px;
color: var(--muted-foreground);
flex-shrink: 0;
}
.meta {
font-size: 11px;
color: var(--muted-foreground);
flex-shrink: 0;
}
.body {
margin-top: 8px;
padding-left: 10px;
display: flex;
flex-direction: column;
gap: 6px;
min-width: 0;
max-width: 100%;
overflow: hidden;
}
.content {
font-size: 13px;
line-height: 1.6;
min-width: 0;
max-width: 100%;
overflow-x: auto;
}
.content pre {
white-space: pre-wrap;
word-break: break-word;
font-size: 13px;
color: var(--foreground);
}
.stream {
white-space: pre-wrap;
word-break: break-word;
font-size: 13px;
color: var(--foreground);
max-height: 400px;
overflow-y: auto;
}
/* Compact live stream: 5-line window pinned to the tail via JS. */
.streamCollapsed {
max-height: calc(5 * 1.6em);
overflow: hidden;
}
/* Result and sub-tool list: scroll within the same cap as the live
stream so the enclosing panel never grows past a screen. */
.scrollWindow {
max-height: 400px;
overflow-y: auto;
}
.expandToggle {
display: block;
margin: 2px 0 0 auto;
background: none;
border: none;
color: color-mix(in srgb, var(--muted-foreground) 60%, transparent);
font-size: 12px;
cursor: pointer;
padding: 0 4px;
}
.expandToggle:hover {
color: var(--muted-foreground);
}
.tabBar {
display: flex;
gap: 0;
border-bottom: 1px solid var(--border);
margin-bottom: 6px;
}
.tab {
padding: 4px 12px;
font-size: 12px;
color: var(--muted-foreground);
background: none;
border: none;
border-bottom: 2px solid transparent;
cursor: pointer;
font-family: inherit;
}
.tab:hover {
color: var(--muted-foreground);
}
.tabActive {
color: var(--foreground);
border-bottom-color: var(--agent-blue-500);
}
.tools {
display: flex;
flex-direction: column;
gap: 6px;
}
.tools .panel {
border-left-width: 2px;
}
/*
* Per-sub-tool hover time. Deliberately a *separate* class pair from the
* message-level MessageTimestamp (.row/.tip): the Tools list nests inside a
* message that is already wrapped by MessageTimestamp, and reusing the same
* hover rule across both layers couples them. These scoped names keep the
* sub-tool tooltip independent of the surrounding message's time tooltip.
*/
.toolTimeRow {
position: relative;
}
.toolTimeRow > .toolTimeTip {
position: absolute;
top: 2px;
right: 4px;
z-index: 5;
color: var(--muted-foreground);
font-size: 11px;
line-height: 1.4;
white-space: nowrap;
pointer-events: none;
opacity: 0;
transition: opacity 0.12s ease;
}
.toolTimeRow:hover > .toolTimeTip {
opacity: 1;
}