Files
Smart-Dashboard/restricted/header.php
T
adminandClaude Opus 5 865dd61535 Einfuehrung fuer Einsteiger: Folien mit echten Aufnahmen und Markierungen
Neue Seite "Einfuehrung" im Menue: 31 Folien in zwei Teilen - Bedienen im
Alltag (Grundriss, Raum, Rollos, Heizung, Licht, Zeitleiste, Solar, Auto,
Heizstab und Wasser, Statistik, Historie, Heizung, Wetter, Fahrzeug, Hilfe)
und Einrichten und Verwalten (Preise, Grundriss, Kacheln, Geraete,
Automatik anlegen in Wenn/Wann/Dann, Ketten, Fahrzeugschluessel,
Protokolle).

- Bilder sind echte Aufnahmen der Oberflaeche mit Livewerten, Handy- und
  Desktopgroesse. tools/einfuehrung/aufnehmen.ps1 steuert Edge ohne
  Fenster ueber das DevTools-Protokoll nach plan.json und schreibt zu jedem
  Bild die Lage der markierten Elemente; daraus sitzen die nummerierten
  Punkte. Wetterort und Schluesselendungen werden vor der Aufnahme
  abgedeckt.
- Blaettern per Knopf, Pfeiltaste oder Wischen; Kapitelsprung; die Folie
  steht in der Adresse (#folie-7). Erklaerung und Punkt heben sich
  gegenseitig hervor.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 14:32:14 +02:00

216 lines
11 KiB
PHP

<!doctype html>
<html lang="en">
<!--begin::Head-->
<?php
// Die Raumtabelle traegt die Etagen - das Menue baut daraus seine Punkte.
// Hier und nicht erst in home.php: der Kopf wird zuerst eingebunden.
require_once(__DIR__ . "/rooms.php");
// $_GET["action"] ist von index.php bereits auf eine gueltige Seite gesetzt.
if (!isset($_GET["floor"]))
$_GET["floor"] = standardEtage();
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Smarthome control</title>
<!--begin::Accessibility Meta Tags-->
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<meta name="color-scheme" content="light dark" />
<meta name="theme-color" content="#007bff" media="(prefers-color-scheme: light)" />
<meta name="theme-color" content="#1a1a1a" media="(prefers-color-scheme: dark)" />
<link rel="icon" type="image/png" href="assets/img/favicon.png">
<!--end::Accessibility Meta Tags-->
<!--begin::Primary Meta Tags-->
<meta name="title" content="Smarthome control" />
<meta name="author" content="ColorlibHQ" />
<meta name="description" content="Smarthome control panel by m0." />
<meta name="keywords" content="smarthome dashboard, admin panel" />
<!--end::Primary Meta Tags-->
<!--begin::Accessibility Features-->
<!-- Skip links will be dynamically added by accessibility.js -->
<meta name="supported-color-schemes" content="light dark" />
<link rel="preload" href="./css/adminlte.min.css?v=2" as="style" />
<link rel="stylesheet" href="./css/solar.css?v=<?= filemtime("css/solar.css") ?>" />
<!--end::Accessibility Features-->
<!--begin::Fonts-->
<link rel="stylesheet" href="assets/fonts/font_poppins.css" media="print" onload="this.media='all'" />
<!--end::Fonts-->
<!--begin::Third Party Plugin(Bootstrap Icons)-->
<link rel="stylesheet" href="css/bootstrap-icons.min.css" />
<!--end::Third Party Plugin(Bootstrap Icons)-->
<!--begin::Required Plugin(AdminLTE)-->
<link rel="stylesheet" href="./css/adminlte.min.css?v=2" />
<!--end::Required Plugin(AdminLTE)-->
<!--begin::Karte (Leaflet) - nur auf Seiten mit Karte-->
<?php if ($page["leaflet"]): ?>
<link rel="stylesheet" href="css/leaflet.css" />
<?php endif; ?>
<!--end::Karte-->
</head>
<!--end::Head-->
<!--begin::Body-->
<body class="layout-fixed sidebar-expand-lg bg-body-tertiary" data-bs-theme="dark">
<!--begin::App Wrapper-->
<div class="app-wrapper">
<!--begin::Header-->
<nav class="app-header navbar navbar-expand bg-body">
<!--begin::Container-->
<div class="container-fluid">
<!--begin::Start Navbar Links-->
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" data-lte-toggle="sidebar" href="#" role="button">
<i class="bi bi-list"></i>
</a>
</li>
</ul>
<!--end::Start Navbar Links-->
<!--begin::End Navbar Links-->
<ul class="navbar-nav ms-auto">
<!--begin::Fullscreen Toggle-->
<li class="nav-item">
<a class="nav-link" href="#" data-lte-toggle="fullscreen">
<i data-lte-icon="maximize" class="bi bi-arrows-fullscreen"></i>
<i data-lte-icon="minimize" class="bi bi-fullscreen-exit" style="display: none"></i>
</a>
</li>
<?php
if ($_SESSION["local"] == true)
echo "<li class='nav-item'><a class='nav-link' href='addUser.php'><i data-lte-icon='Add user' class='bi bi-person-add'></i></a></li>";
?>
<!--end::Fullscreen Toggle-->
</ul>
<!--end::End Navbar Links-->
</div>
<!--end::Container-->
</nav>
<!--end::Header-->
<!--begin::Sidebar-->
<aside class="app-sidebar bg-body-secondary shadow">
<!--begin::Sidebar Brand-->
<div class="sidebar-brand">
<!--begin::Brand Link-->
<a href="./index.php" class="brand-link">
<!--begin::Brand Image-->
<img src="./assets/img/AdminLTELogo.png" alt="Logo"
class="brand-image opacity-75 shadow" />
<!--end::Brand Image-->
<!--begin::Brand Text-->
<span class="brand-text fw-light">Smart controller</span>
<!--end::Brand Text-->
</a>
<!--end::Brand Link-->
</div>
<!--end::Sidebar Brand-->
<!--begin::Sidebar Wrapper-->
<div class="sidebar-wrapper">
<nav class="mt-2">
<!--begin::Sidebar Menu-->
<ul class="nav sidebar-menu flex-column" data-lte-toggle="treeview" role="navigation"
aria-label="Main navigation" data-accordion="false" id="navigation">
<li class="nav-item menu-open">
<a href="#" class="nav-link active">
<i class="nav-icon bi bi-speedometer"></i>
<p>
Dashboards
<i class="nav-arrow bi bi-chevron-right"></i>
</p>
</a>
<ul class="nav nav-treeview ps-4">
<li class="nav-item">
<a href="?action=solar" class="nav-link<?php if($_GET["action"]=="solar"){echo " active";} ?>">
<i class="nav-icon bi bi-brightness-alt-high"></i>
<p>Solar</p>
</a>
</li>
<li class="nav-item">
<a href="?action=heat" class="nav-link <?php if($_GET["action"]=="heat"){echo " active";} ?>">
<i class="nav-icon bi bi-fire"></i>
<p>Heizung</p>
</a>
</li>
<li class="nav-item">
<a href="?action=history" class="nav-link <?php if($_GET["action"]=="history"){echo " active";} ?>">
<i class="nav-icon bi bi-graph-up"></i>
<p>Historie</p>
</a>
</li>
<li class="nav-item">
<a href="?action=weather" class="nav-link <?php if($_GET["action"]=="weather"){echo " active";} ?>">
<i class="nav-icon bi bi-cloud-sun"></i>
<p>Wetter</p>
</a>
</li>
<li class="nav-item">
<a href="?action=skoda" class="nav-link <?php if($_GET["action"]=="skoda"){echo " active";} ?>">
<i class="nav-icon bi bi-ev-front"></i>
<p>Škoda</p>
</a>
</li>
</ul>
</li>
<li class="nav-item menu-open">
<a href="#" class="nav-link active">
<i class="nav-icon bi bi-house"></i>
<p>
Home
<i class="nav-arrow bi bi-chevron-right"></i>
</p>
</a>
<!-- Nur Etagen mit Grundriss: ein Menuepunkt auf das
Aussengelaende fuehrte auf eine leere Zeichenflaeche.
Bekommt dessen erster Raum eine Kachel, steht es hier
von selbst. -->
<ul class="nav nav-treeview ps-4">
<?php foreach (floorsWithPlan() as $etage): ?>
<li class="nav-item">
<a href="?action=home&floor=<?= $etage ?>" title="<?= htmlspecialchars(floorLabel($etage)) ?>"
class="nav-link <?php if($_GET["action"]=="home" && $_GET["floor"] == $etage){echo " active";} ?>">
<p> <?= $etage ?></p>
</a>
</li>
<?php endforeach; ?>
</ul>
</li>
<!-- Einstellungen stehen fuer sich: kein Dashboard,
sondern die Parameter dahinter. Genauso die
Protokolle - sie zeigen nicht das Haus, sondern
die Prozesse, die es steuern. -->
<li class="nav-item">
<a href="?action=settings" class="nav-link<?php if($_GET["action"]=="settings"){echo " active";} ?>">
<i class="nav-icon bi bi-gear"></i>
<p>Einstellungen</p>
</a>
</li>
<li class="nav-item">
<a href="?action=logs" class="nav-link<?php if($_GET["action"]=="logs"){echo " active";} ?>">
<i class="nav-icon bi bi-journal-text"></i>
<p>Protokolle</p>
</a>
</li>
<!-- Die Einführung für Einsteiger - Folien zum
Durchklicken, restricted/einfuehrung.php. -->
<li class="nav-item">
<a href="?action=einfuehrung" class="nav-link<?php if($_GET["action"]=="einfuehrung"){echo " active";} ?>">
<i class="nav-icon bi bi-mortarboard"></i>
<p>Einführung</p>
</a>
</li>
</ul>
<!--end::Sidebar Menu-->
</nav>
</div>
<!--end::Sidebar Wrapper-->
</aside>
<!--end::Sidebar-->