refactor(dashboard): extract component-specific mobile rules from styles.css
Sweep 1 of the styles.css split. Rules where the desktop counterpart already lived in a component CSS file have been moved out of the global mobile @media block in styles.css and appended to the matching component file's mobile block. styles.css 4551 → 4488. Affected components: Header, AgentsView, DocumentsView, ListView, QuickChatFAB, QuickEntryBox, ScriptsModal, TaskDetailModal, TerminalModal, WorkflowResultsTab. Truly global mobile rules (input font-size for iOS auto-zoom, html/body overflow, root safe-area padding, base .btn touch targets, bare element selectors) intentionally stay in styles.css. The remaining bulk of the mobile block (settings, auth, board/card, inline-create) cannot move yet because their desktop rules are still in styles.css — those will fall out as part of the cards and settings extraction sweeps. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -956,4 +956,10 @@
|
|||||||
height: 32px;
|
height: 32px;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Touch target for agent tree toggle */
|
||||||
|
.agent-tree__toggle {
|
||||||
|
min-width: 36px;
|
||||||
|
min-height: 36px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -936,5 +936,11 @@
|
|||||||
.document-card-key-text {
|
.document-card-key-text {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Document mode toggle: ensure adequate touch target on mobile */
|
||||||
|
.document-mode-toggle {
|
||||||
|
min-width: 36px;
|
||||||
|
min-height: 36px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -843,6 +843,47 @@
|
|||||||
min-width: unset;
|
min-width: unset;
|
||||||
min-height: unset;
|
min-height: unset;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Touch targets for header controls */
|
||||||
|
.view-toggle-btn,
|
||||||
|
.header-search-clear {
|
||||||
|
min-width: 36px;
|
||||||
|
min-height: 36px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Overflow menu and overflow split-toggle touch targets */
|
||||||
|
.mobile-overflow-item,
|
||||||
|
.mobile-overflow-split-toggle {
|
||||||
|
min-height: 36px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Mobile header: collapsible search trigger */
|
||||||
|
.mobile-search-trigger {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Mobile search expanded — inside header-floating-search container */
|
||||||
|
.mobile-search-expanded {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Mobile: compact node label, no dropdown */
|
||||||
|
.header-node-selector--mobile {
|
||||||
|
margin-right: var(--space-xs);
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header-node-selector--mobile .node-status-indicator {
|
||||||
|
font-size: 11px;
|
||||||
|
padding: 2px var(--space-xs);
|
||||||
|
}
|
||||||
|
|
||||||
|
.header-node-selector--mobile .node-status-indicator__name {
|
||||||
|
max-width: 80px;
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (min-width: 769px) and (max-width: 1024px) {
|
@media (min-width: 769px) and (max-width: 1024px) {
|
||||||
|
|||||||
@@ -852,5 +852,10 @@
|
|||||||
min-width: 140px;
|
min-width: 140px;
|
||||||
flex: 1;
|
flex: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* List column dropdown items: touch target on mobile */
|
||||||
|
.list-column-dropdown-item {
|
||||||
|
min-height: 36px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -711,3 +711,11 @@
|
|||||||
@keyframes quick-chat-cursor-blink {
|
@keyframes quick-chat-cursor-blink {
|
||||||
50% { opacity: 0; }
|
50% { opacity: 0; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
/* Quick chat send button: touch target on mobile */
|
||||||
|
.quick-chat-panel-input button {
|
||||||
|
min-width: 36px;
|
||||||
|
min-height: 36px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -480,4 +480,12 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
/* Quick entry toggle: touch target on mobile */
|
||||||
|
.quick-entry-toggle {
|
||||||
|
min-width: 36px;
|
||||||
|
min-height: 36px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3618,4 +3618,27 @@
|
|||||||
min-height: auto;
|
min-height: auto;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Git Manager remote edit buttons: always visible on mobile (no hover) */
|
||||||
|
.gm-remote-edit-btn {
|
||||||
|
opacity: 1;
|
||||||
|
width: 36px;
|
||||||
|
height: 36px;
|
||||||
|
margin-right: -8px;
|
||||||
|
margin-top: -8px;
|
||||||
|
margin-bottom: -8px;
|
||||||
|
border-radius: var(--radius-md);
|
||||||
|
}
|
||||||
|
|
||||||
|
.gm-remote-edit-btn svg {
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Touch targets for git manager icon buttons and activity log clear */
|
||||||
|
.gm-icon-btn,
|
||||||
|
.activity-log-clear {
|
||||||
|
min-width: 36px;
|
||||||
|
min-height: 36px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1357,4 +1357,10 @@
|
|||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
-webkit-overflow-scrolling: touch;
|
-webkit-overflow-scrolling: touch;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Modal edit button: touch target on mobile */
|
||||||
|
.modal-edit-btn {
|
||||||
|
min-width: 36px;
|
||||||
|
min-height: 36px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -883,6 +883,12 @@
|
|||||||
below the visible area while xterm re-fits. */
|
below the visible area while xterm re-fits. */
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Terminal tab close button: touch target on mobile */
|
||||||
|
.terminal-tab-close {
|
||||||
|
min-width: 36px;
|
||||||
|
min-height: 36px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -516,3 +516,11 @@
|
|||||||
[data-theme="light"] .workflow-output-modal-overlay {
|
[data-theme="light"] .workflow-output-modal-overlay {
|
||||||
background: rgba(31, 35, 40, 0.5);
|
background: rgba(31, 35, 40, 0.5);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
/* Workflow results edit toggle: touch target on mobile */
|
||||||
|
.workflow-results-edit-toggle {
|
||||||
|
min-width: 36px;
|
||||||
|
min-height: 36px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -4009,32 +4009,13 @@ input[type="range"]:focus-visible {
|
|||||||
min-height: 36px;
|
min-height: 36px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Dropdown items and overflow menu actions */
|
/* Dropdown items touch target — dep-dropdown-item desktop rule lives in styles.css */
|
||||||
.dep-dropdown-item,
|
.dep-dropdown-item {
|
||||||
.mobile-overflow-item,
|
|
||||||
.mobile-overflow-split-toggle,
|
|
||||||
.list-column-dropdown-item {
|
|
||||||
min-height: 36px;
|
min-height: 36px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Small tappable controls — adequate touch sizing for mobile */
|
/* Inline create toggle: desktop rule lives in styles.css */
|
||||||
.view-toggle-btn,
|
.inline-create-toggle {
|
||||||
.header-search-clear,
|
|
||||||
.inline-create-toggle,
|
|
||||||
.quick-entry-toggle,
|
|
||||||
.modal-edit-btn,
|
|
||||||
.gm-icon-btn,
|
|
||||||
.activity-log-clear,
|
|
||||||
.terminal-tab-close,
|
|
||||||
.workflow-results-edit-toggle,
|
|
||||||
.agent-tree__toggle,
|
|
||||||
.quick-chat-panel-input button {
|
|
||||||
min-width: 36px;
|
|
||||||
min-height: 36px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Document mode toggle: ensure adequate touch target on mobile */
|
|
||||||
.document-mode-toggle {
|
|
||||||
min-width: 36px;
|
min-width: 36px;
|
||||||
min-height: 36px;
|
min-height: 36px;
|
||||||
}
|
}
|
||||||
@@ -4073,34 +4054,6 @@ input[type="range"]:focus-visible {
|
|||||||
min-width: 28px;
|
min-width: 28px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Mobile header: collapsible search and overflow menu */
|
|
||||||
.mobile-search-trigger {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Mobile search expanded - inside header-floating-search container */
|
|
||||||
.mobile-search-expanded {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Mobile: compact node label, no dropdown */
|
|
||||||
.header-node-selector--mobile {
|
|
||||||
margin-right: var(--space-xs);
|
|
||||||
cursor: default;
|
|
||||||
}
|
|
||||||
|
|
||||||
.header-node-selector--mobile .node-status-indicator {
|
|
||||||
font-size: 11px;
|
|
||||||
padding: 2px var(--space-xs);
|
|
||||||
}
|
|
||||||
|
|
||||||
.header-node-selector--mobile .node-status-indicator__name {
|
|
||||||
max-width: 80px;
|
|
||||||
font-weight: 400;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Modal: full-screen on mobile (cross-cutting overlay/modal base chrome) */
|
/* Modal: full-screen on mobile (cross-cutting overlay/modal base chrome) */
|
||||||
.modal-overlay,
|
.modal-overlay,
|
||||||
.agent-detail-overlay,
|
.agent-detail-overlay,
|
||||||
@@ -4354,22 +4307,6 @@ input[type="range"]:focus-visible {
|
|||||||
height: 16px;
|
height: 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Git Manager remote edit buttons: always visible on mobile (no hover) */
|
|
||||||
.gm-remote-edit-btn {
|
|
||||||
opacity: 1;
|
|
||||||
width: 36px;
|
|
||||||
height: 36px;
|
|
||||||
margin-right: -8px;
|
|
||||||
margin-top: -8px;
|
|
||||||
margin-bottom: -8px;
|
|
||||||
border-radius: var(--radius-md);
|
|
||||||
}
|
|
||||||
|
|
||||||
.gm-remote-edit-btn svg {
|
|
||||||
width: 16px;
|
|
||||||
height: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Card: always show action buttons on mobile (no hover state) */
|
/* Card: always show action buttons on mobile (no hover state) */
|
||||||
.card-header-actions {
|
.card-header-actions {
|
||||||
gap: 4px;
|
gap: 4px;
|
||||||
|
|||||||
Reference in New Issue
Block a user