adsad
All checks were successful
Deploy / deploy-staging (push) Successful in 6s
Deploy / deploy-production (push) Has been skipped

This commit is contained in:
2026-05-04 01:40:03 +02:00
parent 0385864f1a
commit a82893d4ff
3 changed files with 44 additions and 7 deletions

View File

@@ -55,17 +55,33 @@ Modulspezifische Assets:
- Globale Layouts: /partials/structure und /public/assets/css/app.css. - Globale Layouts: /partials/structure und /public/assets/css/app.css.
- Konfigurationslogik: nur wenn nötig /config/ und /src/. - Konfigurationslogik: nur wenn nötig /config/ und /src/.
7) Sicherheits-/Netzwerk-Constraints 7) UI-Naming und Seitenaufbau
- `Seitenheader-Box`: oberste globale Header-Box mit Seitentitel, Login und Farbschema.
- `Submenü-Box`: Box direkt unter der Seitenheader-Box für modul- oder seitenbezogene Aktionen.
- `Bereichs-Box`: größere Inhaltsbox für einen zusammenhängenden Seitenbereich.
- `Karten-Box`: kleinere Karte auf derselben Ebene wie Bereichs-Boxen, meist in Grids.
- Modulseiten sollen diesem Muster folgen:
- zuerst Seitenheader-Box
- danach Submenü-Box
- danach Bereichs-Boxen und/oder Karten-Boxen je nach Modul
- `Setup` gehört in Modulen grundsätzlich in die Submenü-Box.
- Beispielstruktur:
- Börsenchecker: Seitenheader-Box, Submenü-Box, Bereichs-Box, Karten-Boxen, Bereichs-Box
- FX-Rates: Seitenheader-Box, Submenü-Box, danach Bereichs-Boxen
- Mining-Checker: Seitenheader-Box, Submenü-Box, Bereichs-Box, Karten-Boxen, Karten-Boxen, Bereichs-Box
- Modulverwaltung: Seitenheader-Box, Submenü-Box, danach Karten-Boxen
8) Sicherheits-/Netzwerk-Constraints
- Zugriff im Heimnetz (192.168.178.0/24) per Nginx begrenzt. - Zugriff im Heimnetz (192.168.178.0/24) per Nginx begrenzt.
- SSH-Hosts nur Heimnetz. - SSH-Hosts nur Heimnetz.
8) Pi Control Besonderheiten (konkret) 9) Pi Control Besonderheiten (konkret)
- Worker/Jobs unter /tools/pi_control/ - Worker/Jobs unter /tools/pi_control/
- Check-Updates & Cron nutzen die gleichen SSH-Routinen. - Check-Updates & Cron nutzen die gleichen SSH-Routinen.
- Host-Karten, Befehle und Konsole sind UI im Modul. - Host-Karten, Befehle und Konsole sind UI im Modul.
- Update/Upgrade-Checks liefern Debug-Ausgaben, die als Tooltip oder Debugzeile angezeigt werden. - Update/Upgrade-Checks liefern Debug-Ausgaben, die als Tooltip oder Debugzeile angezeigt werden.
9) Zusammenfassung (kurz) 10) Zusammenfassung (kurz)
Nexus ist modular, mit strikter Trennung zwischen globalem Layout und modulspezifischem Code. Nexus ist modular, mit strikter Trennung zwischen globalem Layout und modulspezifischem Code.
Staging/Live haben eigene /app/<env>/config-Strukturen; /config/<env> im Repo wird beim Deployment kopiert. Staging/Live haben eigene /app/<env>/config-Strukturen; /config/<env> im Repo wird beim Deployment kopiert.
Modul-Assets gehören ausschließlich in den Modul-Ordner und werden dort geladen. Modul-Assets gehören ausschließlich in den Modul-Ordner und werden dort geladen.

View File

@@ -1,6 +1,27 @@
# Nexus # Nexus
# Comment by Lars # Comment by Lars
## UI-Naming
Für die Oberfläche gilt projektweit dieses Naming:
- `Seitenheader-Box`: globaler Header mit Seitentitel, Login und Farbschema
- `Submenü-Box`: zusätzliche modul- oder seitenbezogene Aktionen direkt unter dem Seitenheader; `Setup` soll in Modulen immer vorhanden sein
- `Bereichs-Box`: größere Inhaltsbox für einen zusammenhängenden Bereich; davon können beliebig viele untereinander folgen
- `Karten-Box`: kleinere Inhaltskarte auf derselben Ebene wie Bereichs-Boxen, typischerweise innerhalb eines Grids für Kennzahlen, Statistiken oder Modulübersichten
Beispiele:
- `Börsenchecker`: Seitenheader-Box, Submenü-Box, Bereichs-Box, Karten-Boxen, Bereichs-Box
- `FX-Rates`: Seitenheader-Box, Submenü-Box, danach Bereichs-Boxen
- `Mining-Checker`: Seitenheader-Box, Submenü-Box, Bereichs-Box, Karten-Boxen, Karten-Boxen, Bereichs-Box
- `Modulverwaltung`: Seitenheader-Box, Submenü-Box, danach Karten-Boxen
Technisch:
- globale Shell und Header in `partials/structure/` und `public/assets/css/app.css`
- modulbezogene Inhalte und Assets ausschließlich unter `modules/<modul>/`
## Getting started ## Getting started

View File

@@ -47,14 +47,14 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
} }
} }
?> ?>
<div class="card"> <?php require_auth(); ?>
<?php require_auth(); ?> <div class="module-flow">
<?php if ($error): ?> <?php if ($error): ?>
<div class="bg-red-900 border-l-4 border-red-500 text-red-100 p-4 mb-6" role="alert"> <div class="module-box-soft bg-red-900 border-l-4 border-red-500 text-red-100" role="alert">
<?= e($error) ?> <?= e($error) ?>
</div> </div>
<?php elseif ($notice): ?> <?php elseif ($notice): ?>
<div class="card" style="margin-top:1rem; border-color:var(--accent-2);"> <div class="module-box-soft" style="border-color:var(--accent-2);">
<?= e($notice) ?> <?= e($notice) ?>
</div> </div>
<?php endif; ?> <?php endif; ?>