Branch 2: UI-Assets-Integration (Pico.css, Lucide Icons, IconHelper) #7

Merged
muke merged 1 commit from feature/ui-assets into main 2026-03-02 23:05:49 +01:00
Owner

Implementierung von T1045, T1046, T1047

Zusammenfassung

Dieser PR implementiert die UI-Assets-Grundlagen für PhorgeRunner mit CSS-Framework und Icon-Bibliothek.

Bearbeitete Tickets

  • T1045: Pico.css v2.0.6 CSS-Framework integrieren
  • T1046: Lucide Icons v0.17.5 SVG-Bibliothek integrieren
  • T1047: IconHelper PHP-Schnittstelle implementieren

Änderungen

1. Pico.css Integration

  • Pico.css v2.0.6 von jsDelivr CDN heruntergeladen
  • In public/index.php verlinkt
  • Minimales, responsives CSS-Framework
  • MIT-Lizenz-Compliance

2. Lucide Icons Integration

  • Manifest-gesteuertes Icon-Auswahlsystem
  • config/assets/icons-manifest.json verwaltet 12 Icons
  • lucide-static@0.17.5 von jsDelivr CDN
  • Icons: home, settings, log-out, list, check-circle, alert-circle, info, x-circle, activity, database, server, terminal
  • ISC-Lizenz-Compliance

3. IconHelper PHP-Klasse

  • Namespace: App\UI\IconHelper
  • Methoden:
    • render($name, $classes='', $attributes=[]): Inline SVG mit HTML-Escaping
    • url($name): Icon-URL für -Tags
    • exists($name): Icon-Verfügbarkeit prüfen
    • available(): Alle verfügbaren Icons auflisten
  • Vollständige Sicherheit: HTML-sicherer Output, korrektes Escaping

4. Build & Deployment

  • Asset-Downloads in scripts/download-assets.sh (läuft während Docker-Build)
  • Lizenz-Dokumentation in public/assets/LICENSE.md
  • .gitignore aktualisiert (css/icons-Verzeichnisse)

Validierung durchgeführt

Alle 12 Icons laden erfolgreich herunter
Pico.css auf Demo-Seite angewendet
Icons rendern als Inline-SVG
Container baut ohne Fehler
Assets über HTTP zugänglich
Lizenzen korrekt attributiert

Geänderte Dateien

  • config/assets/icons-manifest.json (neu)
  • scripts/download-assets.sh (neu)
  • src/UI/IconHelper.php (neu)
  • Dockerfile.ui (modifiziert)
  • public/index.php (modifiziert)
  • .gitignore (modifiziert)
  • public/assets/LICENSE.md (neu)
Implementierung von T1045, T1046, T1047 ## Zusammenfassung Dieser PR implementiert die UI-Assets-Grundlagen für PhorgeRunner mit CSS-Framework und Icon-Bibliothek. ## Bearbeitete Tickets - **T1045**: Pico.css v2.0.6 CSS-Framework integrieren - **T1046**: Lucide Icons v0.17.5 SVG-Bibliothek integrieren - **T1047**: IconHelper PHP-Schnittstelle implementieren ## Änderungen ### 1. Pico.css Integration - Pico.css v2.0.6 von jsDelivr CDN heruntergeladen - In public/index.php verlinkt - Minimales, responsives CSS-Framework - MIT-Lizenz-Compliance ### 2. Lucide Icons Integration - Manifest-gesteuertes Icon-Auswahlsystem - config/assets/icons-manifest.json verwaltet 12 Icons - lucide-static@0.17.5 von jsDelivr CDN - Icons: home, settings, log-out, list, check-circle, alert-circle, info, x-circle, activity, database, server, terminal - ISC-Lizenz-Compliance ### 3. IconHelper PHP-Klasse - Namespace: App\UI\IconHelper - Methoden: - render($name, $classes='', $attributes=[]): Inline SVG mit HTML-Escaping - url($name): Icon-URL für <img>-Tags - exists($name): Icon-Verfügbarkeit prüfen - available(): Alle verfügbaren Icons auflisten - Vollständige Sicherheit: HTML-sicherer Output, korrektes Escaping ### 4. Build & Deployment - Asset-Downloads in scripts/download-assets.sh (läuft während Docker-Build) - Lizenz-Dokumentation in public/assets/LICENSE.md - .gitignore aktualisiert (css/icons-Verzeichnisse) ## Validierung durchgeführt ✅ Alle 12 Icons laden erfolgreich herunter ✅ Pico.css auf Demo-Seite angewendet ✅ Icons rendern als Inline-SVG ✅ Container baut ohne Fehler ✅ Assets über HTTP zugänglich ✅ Lizenzen korrekt attributiert ## Geänderte Dateien - config/assets/icons-manifest.json (neu) - scripts/download-assets.sh (neu) - src/UI/IconHelper.php (neu) - Dockerfile.ui (modifiziert) - public/index.php (modifiziert) - .gitignore (modifiziert) - public/assets/LICENSE.md (neu)
- T1045: Integrate Pico.css v2.0.6 CSS framework
  * Added Pico.css download and linking in index.php
  * Minimal CSS framework for responsive UI
  * MIT License

- T1046: Integrate Lucide Icons SVG library
  * Added manifest-driven icon selection system
  * Configured lucide-static@0.17.5 CDN downloads
  * ISC License compliance

- T1047: Implement IconHelper PHP class
  * App\UI\IconHelper class with 4 public methods
  * render() for inline SVG rendering
  * url() for icon URLs
  * exists() for validation
  * available() for listing icons
  * Full HTML escaping for security

Implementation details:
- Asset downloads during Docker build (scripts/download-assets.sh)
- config/assets/icons-manifest.json for icon management
- public/index.php demo page showing Pico styling and Icon grid
- Proper license documentation in public/assets/LICENSE.md
muke force-pushed feature/ui-assets from dd4298f4ec to a877580351 2026-03-02 22:59:03 +01:00 Compare
muke force-pushed feature/ui-assets from a877580351 to 7cc17dfc68 2026-03-02 23:00:50 +01:00 Compare
muke merged commit b66324cb3a into main 2026-03-02 23:05:49 +01:00
muke deleted branch feature/ui-assets 2026-03-02 23:05:49 +01:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
automation/phorgerunner!7
No description provided.