Files
openclaw/ui/src/styles/layout.mobile.css
Val Alexander e697ec273a UI: polish dashboard — agents overview, chat toolbar, debug & login UX (#23553)
* 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
2026-02-22 07:56:17 -06:00

381 lines
5.4 KiB
CSS

/* ===========================================
Mobile Layout
=========================================== */
/* Tablet: keep side nav vertical, narrow sidebar */
@media (max-width: 1100px) {
.shell {
--shell-nav-width: 200px;
}
}
/* Mobile-specific styles */
@media (max-width: 600px) {
.shell {
--shell-pad: 8px;
--shell-gap: 8px;
--shell-nav-width: 180px;
}
/* Topbar */
.topbar {
padding: 10px 12px;
gap: 8px;
flex-direction: row;
flex-wrap: nowrap;
justify-content: space-between;
align-items: center;
}
.sidebar-brand__title {
font-size: 14px;
}
.dashboard-header__breadcrumb-link,
.dashboard-header__breadcrumb-sep {
display: none;
}
.topbar-search {
min-width: 0;
max-width: none;
flex: 1;
}
.topbar-search__label {
display: none;
}
.topbar-search__kbd {
display: none;
}
.topbar-connection__label {
display: none;
}
.topbar-divider {
display: none;
}
.topbar-status {
gap: 6px;
flex-wrap: nowrap;
}
/* Nav */
.sidebar-nav {
padding: 8px 10px;
gap: 4px;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;
}
.sidebar-nav::-webkit-scrollbar {
display: none;
}
.nav-group {
display: contents;
}
.nav-group__label {
display: none;
}
.nav-item {
padding: 6px 10px;
font-size: 12px;
border-radius: var(--radius-md);
white-space: nowrap;
flex-shrink: 0;
}
/* Content — compact header on chat, hide on other tabs */
.content-header {
height: 64px;
min-height: 64px;
padding: 12px 0;
/* This controls the height of the content header on mobile */
max-height: 64px;
margin-top: 24px;
}
.content:not(.content--chat) .content-header {
display: none;
}
.content--chat .page-title {
font-size: 16px;
}
.content--chat .page-sub {
display: none;
}
.content {
padding: 4px 6px 12px;
gap: 10px;
}
/* Cards */
.card {
padding: 12px;
border-radius: var(--radius-md);
}
.card-title {
font-size: 13px;
}
/* Stats */
.stat-grid {
gap: 8px;
grid-template-columns: repeat(2, 1fr);
}
.stat {
padding: 10px;
border-radius: var(--radius-md);
}
.stat-label {
font-size: 11px;
}
.stat-value {
font-size: 18px;
}
/* Notes */
.note-grid {
grid-template-columns: 1fr;
gap: 8px;
}
/* Forms */
.form-grid {
grid-template-columns: 1fr;
gap: 10px;
}
.field input,
.field textarea,
.field select {
padding: 8px 10px;
border-radius: var(--radius-md);
font-size: 14px;
}
/* Buttons */
.btn {
padding: 8px 12px;
font-size: 12px;
}
/* Pills */
.pill {
padding: 4px 10px;
font-size: 12px;
}
/* Chat */
.chat-agent-bar {
padding: 2px 6px;
}
.chat-header {
flex-direction: column;
align-items: stretch;
gap: 6px;
}
.chat-header__left {
flex-direction: column;
align-items: stretch;
}
.chat-header__right {
justify-content: space-between;
}
.chat-session {
min-width: unset;
width: 100%;
}
.chat-thread {
margin-top: 6px;
padding: 10px 6px;
}
.chat-msg {
max-width: 92%;
}
.chat-bubble {
padding: 6px 10px;
border-radius: var(--radius-md);
}
.chat-compose {
gap: 6px;
}
.chat-compose__field textarea {
min-height: 52px;
padding: 6px 10px;
border-radius: var(--radius-md);
font-size: 14px;
}
.agent-chat__input {
margin: 0 8px 10px;
}
.agent-chat__toolbar {
padding: 4px 8px;
}
.agent-chat__input-btn,
.agent-chat__toolbar .btn-ghost {
width: 28px;
height: 28px;
}
.agent-chat__input-btn svg,
.agent-chat__toolbar .btn-ghost svg {
width: 14px;
height: 14px;
}
/* Log stream */
.log-stream {
border-radius: var(--radius-md);
max-height: 320px;
}
.log-row {
grid-template-columns: 1fr;
gap: 2px;
padding: 6px;
}
.log-time {
font-size: 10px;
}
.log-level {
font-size: 9px;
}
.log-subsystem {
font-size: 11px;
}
.log-message {
font-size: 11px;
word-break: break-word;
}
.ov-log-tail-content {
max-height: 200px;
font-size: 10px;
padding: 8px;
line-height: 1.5;
}
/* Lists */
.list-item {
padding: 10px;
border-radius: var(--radius-md);
}
.list-title {
font-size: 13px;
}
.list-sub {
font-size: 11px;
}
/* Code blocks */
.code-block {
padding: 8px;
border-radius: var(--radius-md);
font-size: 11px;
}
.theme-select {
height: 26px;
min-width: 78px;
font-size: 11px;
}
}
/* Small mobile */
@media (max-width: 400px) {
.shell {
--shell-pad: 4px;
}
.topbar {
padding: 8px 10px;
}
.sidebar-brand__title {
font-size: 13px;
}
.sidebar-nav {
padding: 6px 8px;
}
.nav-item {
padding: 6px 8px;
font-size: 11px;
}
.content {
padding: 4px 4px 12px;
gap: 10px;
}
.card {
padding: 10px;
}
.stat {
padding: 8px;
}
.stat-value {
font-size: 16px;
}
.chat-bubble {
padding: 8px 10px;
}
.chat-compose__field textarea {
min-height: 52px;
padding: 8px 10px;
font-size: 13px;
}
.btn {
padding: 6px 10px;
font-size: 11px;
}
.topbar-connection {
padding: 3px 6px;
}
.theme-select {
height: 24px;
min-width: 72px;
font-size: 10px;
}
}