qwen-code/packages/web-shell/client/components/messages/UserMessage.module.css
ytahdn a384c4a21a
feat(web-shell): polish chat UI (#5893)
* style(web-shell): polish chat UI

* fix(web-shell): address chat polish review feedback

---------

Co-authored-by: ytahdn <ytahdn@gmail.com>
2026-06-26 15:38:23 +00:00

116 lines
1.8 KiB
CSS

.message {
margin-bottom: 12px;
display: flex;
gap: 8px;
align-items: baseline;
padding: 5px 0;
background: var(--accent);
}
.prefix {
color: var(--success-color);
font-weight: 700;
flex-shrink: 0;
}
.body {
flex: 1 1 auto;
min-width: 0;
color: var(--foreground);
white-space: pre-wrap;
word-break: break-word;
}
.images {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-bottom: 8px;
}
.imageThumb {
max-width: 200px;
max-height: 200px;
border-radius: 8px;
object-fit: contain;
border: 1px solid var(--border);
}
/* ---- Chat mode: right-aligned bubble layout ---- */
.chatMessageRow {
display: flex;
width: 100%;
justify-content: flex-end;
margin: 30px 0;
}
.chatBubble {
display: inline-block;
max-width: 80%;
padding: 8px 12px;
border-radius: 6px;
background: var(--accent);
color: var(--foreground);
font-family: var(--font-sans, system-ui, sans-serif);
font-size: 14px;
line-height: 1.5;
text-align: left;
}
.chatContent {
white-space: pre-wrap;
word-break: break-word;
}
.chatContentCollapsed {
max-height: 400px;
overflow: hidden;
}
.toggleButton {
display: inline-flex;
align-items: center;
gap: 6px;
margin-top: 10px;
padding: 0;
border: 0;
background: transparent;
color: var(--muted-foreground);
cursor: pointer;
font: inherit;
font-size: 14px;
line-height: 1.4;
}
.toggleButton:hover,
.toggleButton:focus-visible {
color: var(--foreground);
outline: none;
}
.toggleIcon {
width: 15px;
height: 15px;
stroke-width: 1.8;
transition: transform 120ms ease;
}
.toggleIconExpanded {
transform: rotate(180deg);
}
.chatImages {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-bottom: 8px;
}
.chatImageThumb {
max-width: 150px;
max-height: 150px;
border-radius: 8px;
object-fit: contain;
border: 1px solid var(--border);
}