61 lines
3.5 KiB
Markdown
61 lines
3.5 KiB
Markdown
# Space UI Demo v2 (PHP + CSS + JS)
|
||
|
||
## Übersicht
|
||
Diese Demo zeigt eine HUD-artige Navigation mit statischem Hauptmenü, kontextabhängiger Subnav, Sticky-Ressourcenleiste, Toasts und einem generischen Content-Bereich. Das HTML wird vom zentralen Entry-Point `public/index.php` zusammengesetzt, die einzelnen Bausteine liegen als Partial-Templates in `src/partials`.
|
||
|
||
## Verzeichnisstruktur
|
||
- `web/desktop/public/`: Dokumentenwurzel für den Desktop-Entry-Point und seine Assets (`assets/`).
|
||
- `web/desktop/src/partials/`: Die PHP-Partial-Templates für Menüs, Ressourcen und Content im Desktop-Build.
|
||
- `web/mobile/public/`: Mobile-Entry-Point; derzeit eine Kopie des Desktop-Systems, die für responsive Änderungen angepasst werden kann.
|
||
- `web/mobile/src/partials/`: Mobile-Partial-Templates (momentan identisch zum Desktop-Set).
|
||
|
||
## Layout-Highlights
|
||
- **Sidebar**: Hauptmenü (`main-nav.php`) plus Planetenwechsler (`planet-switcher.php`) in der linken Spalte.
|
||
- **Topbar & Notification-Dropdown**: Anzeige, Actions & Test-Toast-Button; bleibt innerhalb von `web/desktop/public/index.php`.
|
||
- **Subnav**: Mittig platzierte Tabs (Kontextmenü) basierend auf dem `$subnav`-Array in `web/desktop/public/index.php`.
|
||
- **Alert Banner**: `alert-banner.php` sitzt direkt unterhalb der Topbar, wenn `$errorMessage` gesetzt ist.
|
||
- **Ressourcenleiste**: Sticky-Komponente unterhalb der Subnav (`web/desktop/src/partials/ressourcen.php`).
|
||
- **Content**: Demo-Inhalte aus `web/desktop/src/partials/site.php`, die Sections und Subpages simulieren.
|
||
- **Footer**: Menü-Links und optionaler Admin-Chip, gesteuert über `$isAdmin` und `footer-links.php`.
|
||
|
||
## Lokale Entwicklung
|
||
1. `cd /path/to/Space-Theme`.
|
||
2. `php -S localhost:8000 -t web/desktop/public` (setzt die Dokumentenwurzel auf den Desktop-Build).
|
||
3. Öffne `http://localhost:8000/index.php` und wechsle z. B. über `?s=build&p=demolish` die Sections oder wechsle mit `-t web/mobile/public` zur mobilen Variante.
|
||
|
||
## Worktree-Sandbox (Docker)
|
||
Die Sandbox ist eine getrennte Working-Copy via `git worktree`. Docker laeuft nur dort, damit Logs/Uploads/DB-Volumes das Hauptverzeichnis nicht verschmutzen.
|
||
|
||
### Init (einmalig)
|
||
- `bash scripts/worktree-init.sh`
|
||
- Optionaler Pfad: `bash scripts/worktree-init.sh ../mein-sandbox-pfad`
|
||
|
||
### Start (Up)
|
||
- `bash scripts/worktree-up.sh`
|
||
- Optionaler Pfad: `bash scripts/worktree-up.sh ../mein-sandbox-pfad`
|
||
|
||
### Sync (nur Code, ohne Commit)
|
||
- `bash scripts/worktree-sync.sh`
|
||
- Wendet auf Wunsch uncommitted Aenderungen aus dem Haupt-Worktree per Patch an.
|
||
|
||
### Stop (Down)
|
||
- `bash scripts/worktree-down.sh`
|
||
|
||
### Entfernen (Destroy)
|
||
- `bash scripts/worktree-destroy.sh`
|
||
|
||
Hinweise:
|
||
- Standardpfad ist `../galaxyforge-sandbox` (relativ zum Repo-Root).
|
||
- Lege eine `.env` nur in der Sandbox an. Sie wird nicht committet.
|
||
- Verwende `.env.example` als Vorlage und aendere die Platzhalter vor Prod.
|
||
|
||
### Testumgebung starten (inkl. DB, Migrations, Seed)
|
||
- `bash scripts/test-env-up.sh`
|
||
- Erstellt die Sandbox bei Bedarf, startet Docker, legt eine lokale `.env` in der Sandbox an und startet den PHP-Server.
|
||
- Stoppen: `CTRL+C` im Terminal, danach optional `bash scripts/worktree-down.sh`.
|
||
|
||
## Hinweise
|
||
- Die PHP-Session (`session_start()`) im Entry-Point dient Flash-Toasts und Alert-Messages.
|
||
- Die Partial-Templates erwarten die Variablen `$section`, `$sub`, `$planet` und greifen über `$partialsPath` aus `web/desktop/public/index.php` aufeinander zu.
|
||
- Performance-/Alert-Profile werden über `sessionStorage` bzw. `localStorage` gesteuert – die Buttons in `web/desktop/public/assets/ui.js` sorgen für die Visualisierung.
|