* UI: polish dashboard — agents overview, chat toolbar, debug simplification, login UX * fix(ui): restore chat draft ordering, remove extra toolbar buttons * UI: replace agent avatar fallback with lobster emoji * style(ui): update layout styles for sidebar and shell, adjusting navigation widths for improved responsiveness * feat(ui): implement sidebar resizing functionality and enhance navigation with new search and sorting features for sessions * fix(ui): update references from ClawDash to OpenClaw in checklist and dashboard header * style(ui): adjust sidebar minimum width and add responsive behavior for narrow states * UI: minimal chat agent bar — remove sessions panel, strip chrome * style(ui): update light theme colors and add ambient gradient for Luxe Cream & Coral * UI: replace sparkle with OpenClaw lobster logo in chat * style(ui): rename theme toggle to theme select and update related styles; adjust layout and spacing for agents and chat components * style(ui): enhance agents panel layout with grid system, update toolbar styles, and refine usage chart presentation * style(ui): adjust sessions table column width and refine agent model fields layout for better responsiveness * style(ui): refine component styles for improved layout and responsiveness; adjust gradients, spacing, and element alignment across chat and agent interfaces * ui: align chat-controls session container * ui: enlarge agent controls for better touch targets * ui: pass basePath to avatar renderer in grouped chat * ui: formatting fixups from pre-commit hooks * style(ui): update layout and spacing for chat controls; enhance select component styles and improve responsiveness * UI: tighten chat header spacing and icon sizes * UI: widen chat attachment gap * style(ui): refine chat header layout and adjust icon sizes for improved visual consistency * style(ui): enhance component styles and layout; introduce new inline field styles, update overview card design, and improve session filters for better usability * style(ui): improve CSS formatting and consistency across components; adjust gradients, spacing, and layout for better readability and visual appeal * fix(ui): correct rendering of empty state in overview cards by replacing 'nothing' with an empty string
157 lines
3.0 KiB
CSS
157 lines
3.0 KiB
CSS
/* Split View Layout */
|
|
.chat-split-container {
|
|
display: flex;
|
|
gap: 0;
|
|
flex: 1;
|
|
min-height: 0;
|
|
height: 100%;
|
|
}
|
|
|
|
.chat-main {
|
|
min-width: 400px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
/* Smooth transition when sidebar opens/closes */
|
|
transition: flex 250ms ease-out;
|
|
}
|
|
|
|
.chat-sidebar {
|
|
flex: 1;
|
|
min-width: 200px;
|
|
container-type: inline-size;
|
|
border-left: 1px solid color-mix(in srgb, var(--border) 90%, transparent);
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
animation: slide-in 200ms ease-out;
|
|
background: color-mix(in srgb, var(--panel) 94%, transparent);
|
|
}
|
|
|
|
@keyframes slide-in {
|
|
from {
|
|
opacity: 0;
|
|
transform: translateX(20px);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: translateX(0);
|
|
}
|
|
}
|
|
|
|
/* Sidebar Panel */
|
|
.sidebar-panel {
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
background: var(--panel);
|
|
}
|
|
|
|
.sidebar-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: 12px 16px;
|
|
border-bottom: 1px solid color-mix(in srgb, var(--border) 88%, transparent);
|
|
flex-shrink: 0;
|
|
position: sticky;
|
|
top: 0;
|
|
z-index: 10;
|
|
background: color-mix(in srgb, var(--panel) 95%, transparent);
|
|
backdrop-filter: blur(6px);
|
|
}
|
|
|
|
/* Smaller close button for sidebar */
|
|
.sidebar-header .btn {
|
|
padding: 4px 8px;
|
|
font-size: 14px;
|
|
min-width: auto;
|
|
line-height: 1;
|
|
}
|
|
|
|
.sidebar-title {
|
|
font-weight: 600;
|
|
font-size: 14px;
|
|
}
|
|
|
|
.sidebar-content {
|
|
flex: 1;
|
|
overflow: auto;
|
|
padding: 16px;
|
|
min-width: 0;
|
|
}
|
|
|
|
.sidebar-markdown {
|
|
font-size: 14px;
|
|
line-height: 1.6;
|
|
overflow-wrap: break-word;
|
|
word-break: break-word;
|
|
}
|
|
|
|
.sidebar-markdown pre {
|
|
background: color-mix(in srgb, var(--secondary) 90%, transparent);
|
|
border-radius: var(--radius-md);
|
|
border: 1px solid color-mix(in srgb, var(--border) 88%, transparent);
|
|
padding: 12px;
|
|
overflow-x: auto;
|
|
}
|
|
|
|
.sidebar-markdown code {
|
|
font-family: var(--mono);
|
|
font-size: 13px;
|
|
}
|
|
|
|
/* Minimal state when sidebar is narrow: hide content, show expand hint */
|
|
@container (max-width: 260px) {
|
|
.chat-sidebar .sidebar-header {
|
|
padding: 6px 8px;
|
|
border-bottom: none;
|
|
justify-content: flex-end;
|
|
}
|
|
|
|
.chat-sidebar .sidebar-title {
|
|
display: none;
|
|
}
|
|
|
|
.chat-sidebar .sidebar-content {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 8px;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.chat-sidebar .sidebar-content > * {
|
|
display: none;
|
|
}
|
|
|
|
.chat-sidebar .sidebar-content::before {
|
|
content: "← Drag to expand";
|
|
font-size: 11px;
|
|
color: var(--muted);
|
|
white-space: nowrap;
|
|
}
|
|
}
|
|
|
|
/* Mobile: Full-screen modal */
|
|
@media (max-width: 768px) {
|
|
.chat-split-container--open {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
z-index: 1000;
|
|
}
|
|
|
|
.chat-split-container--open .chat-main {
|
|
display: none; /* Hide chat on mobile when sidebar open */
|
|
}
|
|
|
|
.chat-split-container--open .chat-sidebar {
|
|
width: 100%;
|
|
min-width: 0;
|
|
border-left: none;
|
|
}
|
|
}
|