This commit is contained in:
fuenmao
2026-09-22 14:16:58 +08:00
parent 0f97d8cba3
commit 426eaca97f
3 changed files with 381 additions and 41 deletions
+199 -9
View File
@@ -245,6 +245,23 @@ button { cursor: pointer; }
text-overflow: ellipsis;
min-width: 0;
}
.preset-toggle-btn {
font-size: 11px;
font-weight: 500;
color: var(--green);
background: #edf7f3;
padding: 3px 9px;
border-radius: 12px;
border: 1px solid rgba(12, 80, 69, 0.15);
cursor: pointer;
transition: all 0.2s;
white-space: nowrap;
flex-shrink: 0;
}
.preset-toggle-btn:active {
background: var(--green);
color: #fff;
}
.scene-status-badge {
font-size: 11px;
font-weight: 500;
@@ -267,6 +284,27 @@ button { cursor: pointer; }
.device-mini-status.yellow { background: #fef7ec; color: #b8860b; }
.device-mini-status.gray { background: #f1f3f2; color: #82908c; }
.sensor-mini-sync-btn {
font-size: 11px;
font-weight: 500;
padding: 3px 9px;
border-radius: 10px;
border: 1px solid rgba(18, 63, 55, 0.15);
background: #fff;
color: var(--green);
cursor: pointer;
white-space: nowrap;
flex-shrink: 0;
transition: all 0.2s;
}
.sensor-mini-sync-btn:active {
background: #edf7f3;
}
.sensor-mini-sync-btn:disabled {
opacity: 0.5;
cursor: not-allowed;
}
.scene-row {
display: flex;
align-items: center;
@@ -327,7 +365,7 @@ button { cursor: pointer; }
display: flex;
align-items: center;
gap: 6px;
padding: 7px 10px;
padding: 6px 9px;
background: #fff;
border: 1px solid rgba(18, 63, 55, 0.06);
border-radius: 10px;
@@ -354,16 +392,112 @@ button { cursor: pointer; }
overflow: hidden;
text-overflow: ellipsis;
}
.scene-device-chip .desc {
font-size: 11px;
flex-shrink: 0;
.chip-toggle-btn {
font-size: 10px;
font-weight: 600;
padding: 2px 7px;
border-radius: 6px;
border: 1px solid rgba(12, 80, 69, 0.2);
background: #f1f3f2;
color: #73817d;
cursor: pointer;
white-space: nowrap;
flex-shrink: 0;
transition: all 0.2s;
}
.chip-toggle-btn.on {
background: #0c5045;
color: #ffffff;
border-color: #0c5045;
}
.chip-toggle-btn.disabled {
opacity: 0.45;
cursor: not-allowed;
background: #f1f3f2;
color: #9aa4a1;
border-color: #e2e5e3;
}
/* 场景联动执行参数详情面板 */
.scene-presets-panel {
margin-top: 12px;
padding-top: 10px;
border-top: 1px dashed rgba(18, 63, 55, 0.12);
}
.preset-panel-header {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 8px;
}
.preset-panel-header span {
font-size: 12px;
font-weight: 600;
color: var(--deep);
}
.preset-panel-header small {
font-size: 10px;
color: #82908c;
font-variant-numeric: tabular-nums;
}
.preset-items-grid {
display: flex;
flex-direction: column;
gap: 6px;
}
.preset-card-item {
background: #ffffff;
border: 1px solid rgba(18, 63, 55, 0.06);
border-radius: 10px;
padding: 8px 10px;
box-shadow: 0 1px 2px rgba(18, 63, 55, 0.02);
}
.preset-card-item.unavailable {
background: #f7f8f7;
opacity: 0.72;
}
.preset-card-top {
display: flex;
align-items: center;
gap: 6px;
}
.preset-icon {
font-size: 13px;
flex-shrink: 0;
}
.preset-name {
font-size: 12px;
font-weight: 600;
color: var(--deep);
flex: 1;
min-width: 0;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.preset-action {
font-size: 10px;
font-weight: 500;
padding: 1px 6px;
border-radius: 6px;
background: #edf7f3;
color: var(--green);
white-space: nowrap;
flex-shrink: 0;
}
.preset-detail {
margin: 3px 0 0 20px;
font-size: 11px;
color: #657470;
line-height: 1.4;
}
.preset-availability {
margin: 4px 0 0 20px;
font-size: 10px;
color: var(--green);
}
.preset-availability.unavailable {
color: #9a6a38;
}
.scene-device-chip.green .desc { color: var(--green); font-weight: 500; }
.scene-device-chip.yellow .desc { color: #b8860b; font-weight: 500; }
.scene-device-chip.gray .desc { color: #9aa4a1; }
/* Environment Health */
.env-container {
@@ -554,10 +688,66 @@ button { cursor: pointer; }
display: flex;
flex-direction: column;
align-items: flex-end;
gap: 2px;
gap: 3px;
flex-shrink: 0;
margin-left: 10px;
}
.device-switch-pill {
display: flex;
align-items: center;
gap: 4px;
padding: 2px 8px 2px 5px;
border-radius: 12px;
border: 1px solid rgba(18, 63, 55, 0.15);
background: #f1f3f2;
color: #6b7774;
cursor: pointer;
transition: all 0.2s;
font-size: 11px;
font-weight: 600;
white-space: nowrap;
}
.device-switch-pill .switch-knob {
width: 9px;
height: 9px;
border-radius: 50%;
background: #9aa4a1;
transition: all 0.2s;
}
.device-switch-pill.on {
background: #edf7f3;
border-color: rgba(16, 185, 129, 0.4);
color: var(--green);
}
.device-switch-pill.on .switch-knob {
background: #10b981;
box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.2);
}
.device-switch-pill.disabled {
opacity: 0.45;
cursor: not-allowed;
}
.sensor-sync-pill {
font-size: 11px;
font-weight: 500;
padding: 2px 8px;
border-radius: 10px;
border: 1px solid rgba(18, 63, 55, 0.15);
background: #fff;
color: var(--green);
cursor: pointer;
white-space: nowrap;
transition: all 0.2s;
}
.sensor-sync-pill:active {
background: #edf7f3;
}
.sensor-sync-pill:disabled {
opacity: 0.5;
cursor: not-allowed;
}
.status-pill {
font-size: 11px;
font-weight: 500;