Raum-Modal: Heizung in einen eigenen Reiter, Spalten buendig

Die Heizung stand ueber den Tabs und war in jedem Raum sichtbar, auch wenn
man wegen der Rollladen gekommen war. Sie ist jetzt eine Gruppe wie die
anderen - nur baut sie sich nicht aus einer Geraeteliste, sondern ist ein
Regler fuer den Raum. zeichneGruppen() nimmt dafuer fertige Inhalte
entgegen. Bei einem Raum mit nur einem Thermostat bleibt die Leiste weg,
dort sieht es aus wie vorher.

Aus den Pillen sind Reiter geworden - sie sehen jetzt aus wie das, was sie
sind, und nicht wie eine Knopfreihe.

Position und Neigung standen um 0,35 rem versetzt: die Regel fuer
gestapelte Regler (Helligkeit ueber Farbe) griff auch auf die zweite
Spalte, die aber danebensteht. Sie gilt jetzt nur noch fuer Regler, die
keine Spalte sind - nachgemessen stehen beide Bahnen auf 181/104.

Das Fensterbild ist von "so breit wie moeglich" auf 5 rem zurueckgenommen;
der uebrige Platz verteilt sich auf die Zwischenraeume, statt das Bild
breitzuziehen. Zwischen ihm und den Bedienelementen liegt jetzt Luft.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-31 22:11:42 +02:00
co-authored by Claude Opus 5
parent 18557021b0
commit e8612bebb8
3 changed files with 55 additions and 34 deletions
+14 -5
View File
@@ -147,6 +147,7 @@ function raumGruppenTitel()
{
return [
"beschattung" => ["Beschattung", "bi-blinds"],
"heizung" => ["Heizung", "bi-thermometer-half"],
"licht" => ["Licht", "bi-lightbulb"],
"schalter" => ["Schalten", "bi-toggle-on"],
"sonstiges" => ["Geräte", "bi-sliders"],
@@ -160,12 +161,16 @@ function raumGruppenTitel()
* Vorher standen sie untereinander, und man scrollte an drei Rollladen
* vorbei, um zum Licht zu kommen. Bei nur einer Gruppe bleibt die Leiste
* weg - ein einzelner Tab beschriftet nur sich selbst.
*
* $fertig sind Gruppen, deren Inhalt der Aufrufer schon gebaut hat und die
* nicht aus einer Geraeteliste entstehen - die Heizung ist so eine: ein
* Regler fuer den Raum, nicht eine Karte je Geraet.
*/
function zeichneGruppen($gruppen)
function zeichneGruppen($gruppen, $fertig = [])
{
$vorhanden = [];
foreach (raumGruppenTitel() as $form => $titel) {
if (!empty($gruppen[$form])) {
if (!empty($gruppen[$form]) || isset($fertig[$form])) {
$vorhanden[$form] = $titel;
}
}
@@ -175,7 +180,7 @@ function zeichneGruppen($gruppen)
$html = "";
if (count($vorhanden) > 1) {
$html .= "<ul class='nav nav-pills flex-nowrap gap-1 mb-2 raum-tabs' role='tablist'>";
$html .= "<ul class='nav nav-tabs flex-nowrap mb-2 raum-tabs' role='tablist'>";
$erster = true;
foreach ($vorhanden as $form => $titel) {
$html .= "<li class='nav-item' role='presentation'>"
@@ -194,8 +199,12 @@ function zeichneGruppen($gruppen)
foreach ($vorhanden as $form => $titel) {
$html .= "<div class='tab-pane fade" . ($erster ? " show active" : "") . "'"
. " id='raumtab-" . $form . "' role='tabpanel'>";
foreach ($gruppen[$form] as $d) {
$html .= zeichneGeraet($d, $form);
if (isset($fertig[$form])) {
$html .= $fertig[$form];
} else {
foreach ($gruppen[$form] as $d) {
$html .= zeichneGeraet($d, $form);
}
}
$html .= "</div>";
$erster = false;