Replace sections with tabs, add device card to grid
Some checks failed
Validate / validate (push) Failing after 9s
Some checks failed
Validate / validate (push) Failing after 9s
- Switch Devices/Displays from collapsible sections to tab layout - Remember active tab in localStorage - Re-render display layout when switching to Displays tab - Replace floating "+" button with dashed add-device card in grid - Rename sections to "Devices" and "Displays" Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -168,6 +168,41 @@ section {
|
||||
grid-column: 1 / -1;
|
||||
}
|
||||
|
||||
.add-device-card {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
cursor: pointer;
|
||||
border: 2px dashed var(--border-color);
|
||||
background: transparent;
|
||||
min-height: 160px;
|
||||
transition: border-color 0.2s, background 0.2s;
|
||||
}
|
||||
|
||||
.add-device-card:hover {
|
||||
border-color: var(--primary-color);
|
||||
background: rgba(33, 150, 243, 0.05);
|
||||
}
|
||||
|
||||
.add-device-icon {
|
||||
font-size: 2.5rem;
|
||||
font-weight: 300;
|
||||
color: var(--text-secondary);
|
||||
line-height: 1;
|
||||
transition: color 0.2s;
|
||||
}
|
||||
|
||||
.add-device-card:hover .add-device-icon {
|
||||
color: var(--primary-color);
|
||||
}
|
||||
|
||||
.add-device-label {
|
||||
font-size: 0.85rem;
|
||||
color: var(--text-secondary);
|
||||
margin-top: 8px;
|
||||
}
|
||||
|
||||
.card {
|
||||
background: var(--card-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
@@ -374,40 +409,43 @@ section {
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
|
||||
/* Collapsible sections */
|
||||
.collapsible-header {
|
||||
/* Tabs */
|
||||
.tab-bar {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
border-bottom: 2px solid var(--border-color);
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.tab-btn {
|
||||
background: none;
|
||||
border: none;
|
||||
padding: 10px 18px;
|
||||
font-size: 1rem;
|
||||
font-weight: 500;
|
||||
color: var(--text-secondary);
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
border-bottom: 2px solid transparent;
|
||||
margin-bottom: -2px;
|
||||
transition: color 0.2s, border-color 0.2s;
|
||||
}
|
||||
|
||||
.collapsible-header:hover {
|
||||
opacity: 0.8;
|
||||
.tab-btn:hover {
|
||||
color: var(--text-color);
|
||||
}
|
||||
|
||||
.collapsible-header .collapse-chevron {
|
||||
display: inline-block;
|
||||
font-size: 0.6em;
|
||||
margin-left: 6px;
|
||||
transition: transform 0.2s ease;
|
||||
vertical-align: middle;
|
||||
.tab-btn.active {
|
||||
color: var(--primary-color);
|
||||
border-bottom-color: var(--primary-color);
|
||||
}
|
||||
|
||||
.collapsible-header.collapsed .collapse-chevron {
|
||||
transform: rotate(-90deg);
|
||||
.tab-panel {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.collapsible-content {
|
||||
overflow: hidden;
|
||||
transition: max-height 0.3s ease, opacity 0.2s ease;
|
||||
max-height: 2000px;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.collapsible-content.collapsed {
|
||||
max-height: 0;
|
||||
opacity: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
.tab-panel.active {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* Display Layout Visualization */
|
||||
|
||||
Reference in New Issue
Block a user