Files
Space-Theme/docs/README.md

3.5 KiB
Raw Permalink Blame History

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.