refactor: restyle panels via tokens
This commit is contained in:
@@ -1123,4 +1123,226 @@
|
||||
|
||||
.kbd-separator {
|
||||
@apply opacity-50;
|
||||
}
|
||||
|
||||
/* Panel component utilities */
|
||||
.panel {
|
||||
@apply rounded-lg shadow-sm border overflow-hidden;
|
||||
background-color: var(--surface-base);
|
||||
border-color: var(--border-base);
|
||||
color: var(--text-primary);
|
||||
}
|
||||
|
||||
.panel-header {
|
||||
@apply px-4 py-3 border-b;
|
||||
border-color: var(--border-base);
|
||||
background-color: var(--surface-secondary);
|
||||
}
|
||||
|
||||
.panel-title {
|
||||
@apply text-base font-semibold;
|
||||
color: var(--text-primary);
|
||||
}
|
||||
|
||||
.panel-subtitle {
|
||||
@apply text-xs mt-0.5;
|
||||
color: var(--text-muted);
|
||||
}
|
||||
|
||||
.panel-body {
|
||||
@apply p-4;
|
||||
background-color: var(--surface-base);
|
||||
}
|
||||
|
||||
.panel-section {
|
||||
@apply border-t;
|
||||
border-color: var(--border-base);
|
||||
}
|
||||
|
||||
.panel-section-header {
|
||||
@apply px-4 py-3 flex items-center justify-between transition-colors cursor-pointer;
|
||||
background-color: var(--surface-secondary);
|
||||
}
|
||||
|
||||
.panel-section-header:hover {
|
||||
background-color: var(--surface-hover);
|
||||
}
|
||||
|
||||
.panel-section-content {
|
||||
@apply px-4 py-3 border-t overflow-visible space-y-4;
|
||||
border-color: var(--border-base);
|
||||
background-color: var(--surface-secondary);
|
||||
}
|
||||
|
||||
.panel-list {
|
||||
@apply max-h-[400px] overflow-y-auto;
|
||||
}
|
||||
|
||||
.panel-list-item {
|
||||
@apply border-b last:border-b-0 transition-colors;
|
||||
border-color: var(--border-base);
|
||||
}
|
||||
|
||||
.panel-list-item:hover {
|
||||
background-color: var(--surface-hover);
|
||||
}
|
||||
|
||||
.panel-list-item-content {
|
||||
@apply flex-1 text-left px-4 py-3 flex items-center justify-between gap-3 outline-none transition-colors;
|
||||
}
|
||||
|
||||
.panel-list-item-content:hover {
|
||||
background-color: var(--surface-hover);
|
||||
}
|
||||
|
||||
.panel-list-item-highlight {
|
||||
background-color: rgba(0, 102, 255, 0.1);
|
||||
}
|
||||
|
||||
[data-theme="dark"] .panel-list-item-highlight {
|
||||
background-color: rgba(0, 128, 255, 0.2);
|
||||
}
|
||||
|
||||
.panel-empty-state {
|
||||
@apply p-6 text-center;
|
||||
}
|
||||
|
||||
.panel-empty-state-icon {
|
||||
@apply text-gray-400 dark:text-gray-600 mb-2;
|
||||
color: var(--text-muted);
|
||||
}
|
||||
|
||||
.panel-empty-state-title {
|
||||
@apply font-medium text-sm mb-1;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.panel-empty-state-description {
|
||||
@apply text-xs;
|
||||
color: var(--text-muted);
|
||||
}
|
||||
|
||||
.panel-footer {
|
||||
@apply px-4 py-3 border-t;
|
||||
border-color: var(--border-base);
|
||||
background-color: var(--surface-secondary);
|
||||
}
|
||||
|
||||
.panel-footer-hints {
|
||||
@apply flex items-center justify-center flex-wrap gap-3 text-xs;
|
||||
color: var(--text-muted);
|
||||
}
|
||||
|
||||
/* Log view specific utilities */
|
||||
.log-container {
|
||||
@apply flex flex-col h-full;
|
||||
background-color: var(--surface-base);
|
||||
}
|
||||
|
||||
.log-header {
|
||||
@apply flex items-center justify-between px-4 py-3 border-b;
|
||||
border-color: var(--border-base);
|
||||
background-color: var(--surface-secondary);
|
||||
}
|
||||
|
||||
.log-content {
|
||||
@apply flex-1 overflow-y-auto p-4 font-mono text-xs leading-relaxed;
|
||||
background-color: var(--surface-secondary);
|
||||
color: var(--text-primary);
|
||||
}
|
||||
|
||||
.log-entry {
|
||||
@apply flex gap-3 py-0.5 px-2 -mx-2 rounded transition-colors;
|
||||
}
|
||||
|
||||
.log-entry:hover {
|
||||
background-color: var(--surface-hover);
|
||||
}
|
||||
|
||||
.log-timestamp {
|
||||
@apply select-none shrink-0;
|
||||
color: var(--text-muted);
|
||||
}
|
||||
|
||||
.log-message {
|
||||
@apply break-all;
|
||||
}
|
||||
|
||||
.log-level-error {
|
||||
color: var(--status-error);
|
||||
}
|
||||
|
||||
.log-level-warn {
|
||||
color: var(--status-warning);
|
||||
}
|
||||
|
||||
.log-level-debug {
|
||||
color: var(--text-muted);
|
||||
}
|
||||
|
||||
.log-level-default {
|
||||
color: var(--text-primary);
|
||||
}
|
||||
|
||||
.log-empty-state {
|
||||
@apply text-center py-8;
|
||||
color: var(--text-muted);
|
||||
}
|
||||
|
||||
/* Environment variables display */
|
||||
.env-vars-container {
|
||||
@apply px-4 py-3 border-b;
|
||||
background-color: rgba(0, 102, 255, 0.1);
|
||||
border-color: rgba(0, 102, 255, 0.2);
|
||||
}
|
||||
|
||||
[data-theme="dark"] .env-vars-container {
|
||||
background-color: rgba(0, 128, 255, 0.2);
|
||||
border-color: rgba(0, 128, 255, 0.3);
|
||||
}
|
||||
|
||||
.env-vars-title {
|
||||
@apply text-xs font-medium mb-2;
|
||||
color: #0066ff;
|
||||
}
|
||||
|
||||
[data-theme="dark"] .env-vars-title {
|
||||
color: #0080ff;
|
||||
}
|
||||
|
||||
.env-var-item {
|
||||
@apply flex items-center gap-2 text-xs;
|
||||
}
|
||||
|
||||
.env-var-key {
|
||||
@apply font-mono font-medium min-w-0 flex-1;
|
||||
color: #0066ff;
|
||||
}
|
||||
|
||||
[data-theme="dark"] .env-var-key {
|
||||
color: #0080ff;
|
||||
}
|
||||
|
||||
.env-var-separator {
|
||||
color: #0066ff;
|
||||
}
|
||||
|
||||
[data-theme="dark"] .env-var-separator {
|
||||
color: #0080ff;
|
||||
}
|
||||
|
||||
.env-var-value {
|
||||
@apply font-mono min-w-0 flex-1;
|
||||
color: #0066ff;
|
||||
}
|
||||
|
||||
[data-theme="dark"] .env-var-value {
|
||||
color: #0080ff;
|
||||
}
|
||||
|
||||
/* Session view utility */
|
||||
.session-view {
|
||||
@apply flex flex-col h-full;
|
||||
background-color: var(--surface-base);
|
||||
color: inherit;
|
||||
}
|
||||
Reference in New Issue
Block a user