This commit is contained in:
Mateusz Gruszczyński
2026-08-25 19:05:18 +02:00
parent 3ee93b7225
commit dce9ef7270
14 changed files with 132 additions and 93 deletions
+51 -46
View File
@@ -732,19 +732,41 @@ body.simulation-standalone [data-view="simulation"] { min-height:calc(100vh - 36
.dashboard-disclosure-body .device-grid,
.dashboard-disclosure-body .list-grid,
.dashboard-disclosure-body .automation-plan-grid { gap:10px; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); }
#dashboardZones .list-card, #dashboardDevices .device-card { padding:15px; }
#dashboardZones .preset-row,
#dashboardZones .mode-row,
#dashboardDevices .mode-row,
#dashboardDevices .fan-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(70px,1fr)); gap:5px; overflow:visible; padding:2px 0 6px; }
#dashboardZones .preset-row button,
#dashboardZones .mode-row button,
#dashboardDevices .mode-row button,
#dashboardDevices .fan-row button { min-width:0; min-height:32px; padding:6px 7px; font-size:10px; }
#dashboardDevices .temperature-control { gap:16px; padding:18px 0 14px; }
#dashboardDevices .target-temp { min-width:92px; font-size:40px; }
#dashboardDevices .current-line { margin:-6px 0 13px; }
#dashboardZones .thermostat-main { margin:12px 0 8px; }
/* Dashboard quick controls share one compact visual language. */
.quick-control-card {
--quick-control-height:28px;
--quick-control-gap:4px;
padding:14px;
}
.quick-control-card .quick-control-row {
display:grid;
gap:var(--quick-control-gap);
overflow:visible;
padding:2px 0 5px;
}
.quick-control-card .quick-control-row-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.quick-control-card .quick-control-row-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.quick-control-card .quick-control-row-5 { grid-template-columns:repeat(5,minmax(0,1fr)); }
.quick-control-card .quick-control-row button {
min-width:0;
min-height:var(--quick-control-height);
padding:4px 5px;
font-size:9px;
line-height:1.05;
white-space:nowrap;
}
.quick-control-card .power-button { width:38px; height:38px; font-size:18px; }
.quick-control-card .temperature-control button { width:34px; height:34px; font-size:18px; }
.quick-control-card .target-temp { min-width:80px; font-size:32px; }
.quick-control-card .device-title h3,
.quick-control-card .list-card-head h3 { font-size:16px; }
.quick-control-card .device-title p,
.quick-control-card .list-card-head p { font-size:11px; }
.quick-device-control .temperature-control { gap:12px; padding:12px 0 10px; }
.quick-device-control .current-line { margin:-3px 0 10px; font-size:11px; }
.quick-device-control .device-toggles.quick-control-row { margin-top:1px; }
.quick-thermostat-control .thermostat-main { margin:8px 0 7px; }
.quick-thermostat-control .zone-enable-toggle { min-height:28px; padding:4px 8px; font-size:10px; }
@media (max-width: 700px) {
[data-view="dashboard"] .hero { min-height:145px; padding:20px; }
@@ -785,26 +807,26 @@ body.simulation-standalone [data-view="simulation"] { min-height:calc(100vh - 36
/* Quick thermostat: target control gets its own row, readings no longer collide with it. */
#dashboardZones { grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); }
#dashboardZones .zone-thermostat { min-width:0; }
#dashboardZones .thermostat-main {
.quick-thermostat-control { min-width:0; }
.quick-thermostat-control .thermostat-main {
grid-template-columns:minmax(0,1fr) minmax(0,1fr);
grid-template-areas:"control control" "room device";
gap:5px 10px;
margin:8px 0 7px;
}
#dashboardZones .thermostat-main > div:first-child { grid-area:room; min-width:0; text-align:left; }
#dashboardZones .thermostat-main > .temperature-control { grid-area:control; }
#dashboardZones .thermostat-main > div:last-child { grid-area:device; min-width:0; text-align:right; }
#dashboardZones .thermostat-main small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#dashboardZones .thermostat-main strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; }
#dashboardZones .thermostat-main .temperature-control.compact { gap:12px; padding:0 0 2px; }
#dashboardZones .thermostat-main .temperature-control.compact button { width:36px; height:36px; font-size:18px; }
#dashboardZones .thermostat-main .target-temp.compact { min-width:80px; font-size:30px; }
#dashboardZones .list-card-head h3 { font-size:16px; }
#dashboardZones .list-card-head p { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; }
#dashboardZones .zone-enable-toggle { flex:0 0 auto; }
#dashboardZones .zone-state-line { gap:8px; font-size:10px; }
#dashboardZones .zone-state-line span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.quick-thermostat-control .thermostat-main > div:first-child { grid-area:room; min-width:0; text-align:left; }
.quick-thermostat-control .thermostat-main > .temperature-control { grid-area:control; }
.quick-thermostat-control .thermostat-main > div:last-child { grid-area:device; min-width:0; text-align:right; }
.quick-thermostat-control .thermostat-main small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.quick-thermostat-control .thermostat-main strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; }
.quick-thermostat-control .thermostat-main .temperature-control.compact { gap:12px; padding:0 0 2px; }
.quick-thermostat-control .thermostat-main .temperature-control.compact button { width:34px; height:34px; font-size:18px; }
.quick-thermostat-control .thermostat-main .target-temp.compact { min-width:80px; font-size:32px; }
.quick-thermostat-control .list-card-head h3 { font-size:16px; }
.quick-thermostat-control .list-card-head p { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; }
.quick-thermostat-control .zone-enable-toggle { flex:0 0 auto; }
.quick-thermostat-control .zone-state-line { gap:8px; font-size:10px; }
.quick-thermostat-control .zone-state-line span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
/* Smaller Node-RED/simulator-like plan blocks with explicit group context. */
#controlPlan.automation-plan-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr)); gap:8px; }
@@ -854,21 +876,4 @@ body.simulation-standalone [data-view="simulation"] { min-height:calc(100vh - 36
}
#zoneList .zone-thermostat .card-menu { flex:0 0 auto; }
@media (min-width: 701px) {
#dashboardDevices .mode-row {
grid-template-columns:repeat(5,minmax(0,1fr));
gap:4px;
}
#dashboardDevices .fan-row {
grid-template-columns:repeat(4,minmax(0,1fr));
gap:4px;
}
#dashboardDevices .mode-row button,
#dashboardDevices .fan-row button {
min-height:26px;
padding:4px 3px;
font-size:9px;
line-height:1.05;
white-space:nowrap;
}
}
/* 0.7.1: quick thermostats and quick manual control now use the shared quick-control classes above. */