Handy-Insel Portal: Startseite, Kopfleiste und Authentik-Anbindung

- Portal mit Kacheln aus Authentik (pro Benutzer gefiltert) und "Aktuelles"
- Web-Component <hi-topbar> als zentraler App-Umschalter für alle Tools
- OIDC-Login über Authentik, zentrales Abmelden
- Setup-Skript für Authentik (Gruppen-Bindungen, Portal-App, Service-Account)
- Deployment auf den Portal-CT per systemd

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
kerimatilganandClaude Opus 5.5 committed 2026-09-27 12:18:32 +02:00
commit 6606420b4a
43 files changed
+5577

No files matched your search

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><rect x='3' y='9' width='14' height='28' rx='3' fill='#6a3de8'/><rect x='31' y='11' width='14' height='28' rx='3' fill='#6a3de8'/><rect x='7' y='31' width='6' height='2.5' rx='1.25' fill='#2B0F71'/><rect x='35' y='33' width='6' height='2.5' rx='1.25' fill='#2B0F71'/><path fill='#2B0F71' d='M19 21.5h6.5V16l8 8-8 8v-5.5H19z'/></svg>

After

Width:  |  Height:  |  Size: 393 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><rect x='6' y='6' width='15' height='15' rx='3' fill='#6a3de8'/><rect x='27' y='6' width='15' height='15' rx='3' fill='#2B0F71'/><rect x='6' y='27' width='15' height='15' rx='3' fill='#2B0F71'/><rect x='27' y='27' width='15' height='15' rx='3' fill='#6a3de8'/></svg>

After

Width:  |  Height:  |  Size: 327 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><rect x='4' y='10' width='40' height='28' rx='4' fill='#6a3de8'/><circle cx='16' cy='21' r='5' fill='#2B0F71'/><path fill='#2B0F71' d='M7.5 33a8.5 7 0 0 1 17 0zM28 18h11v3H28zm0 7h8v3h-8z'/></svg>

After

Width:  |  Height:  |  Size: 257 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><rect x='4' y='6' width='40' height='10' rx='2.5' fill='#2B0F71'/><path fill='#6a3de8' d='M7 19h34v19a4 4 0 0 1-4 4H11a4 4 0 0 1-4-4z'/><rect x='18' y='24' width='12' height='4' rx='2' fill='#2B0F71'/></svg>

After

Width:  |  Height:  |  Size: 268 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><rect x='3' y='6' width='42' height='28' rx='4' fill='#6a3de8'/><path fill='#2B0F71' d='M17 38h14v4H17z'/><path fill='#2B0F71' d='M24 11l9 3.4v6.2c0 5.6-3.8 9.6-9 11.4-5.2-1.8-9-5.8-9-11.4v-6.2z'/><path fill='#fff' d='m22.2 23.9-3-3 2-2 1 1 5-5 2 2z'/></svg>

After

Width:  |  Height:  |  Size: 319 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><path fill='#6a3de8' d='M22.6 6H38a4 4 0 0 1 4 4v15.4a4 4 0 0 1-1.2 2.8L26.2 42.8a4 4 0 0 1-5.6 0L5.2 27.4a4 4 0 0 1 0-5.6L19.8 7.2A4 4 0 0 1 22.6 6Z'/><circle cx='33' cy='15' r='3.6' fill='#2B0F71'/><path fill='#2B0F71' d='M15 24.5l8.5 8.5-2.8 2.8-8.5-8.5z'/><rect x='22' y='32' width='24' height='13' rx='3' fill='#f59e0b'/><text x='34' y='42' font-family='Arial,sans-serif' font-size='10' font-weight='700' text-anchor='middle' fill='#1f1300'>DEV</text></svg>

After

Width:  |  Height:  |  Size: 523 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><path fill='#6a3de8' d='M22.6 6H38a4 4 0 0 1 4 4v15.4a4 4 0 0 1-1.2 2.8L26.2 42.8a4 4 0 0 1-5.6 0L5.2 27.4a4 4 0 0 1 0-5.6L19.8 7.2A4 4 0 0 1 22.6 6Z'/><circle cx='33' cy='15' r='3.6' fill='#2B0F71'/><path fill='#2B0F71' d='M15 24.5l8.5 8.5-2.8 2.8-8.5-8.5z'/></svg>

After

Width:  |  Height:  |  Size: 327 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><circle cx='24' cy='24' r='20' fill='#6a3de8'/><circle cx='24' cy='24' r='9' fill='#fff'/><path fill='#2B0F71' d='M17.2 6.2a19.5 19.5 0 0 1 13.6 0l-3.1 9.3a9.5 9.5 0 0 0-7.4 0zM41.8 17.2a19.5 19.5 0 0 1 0 13.6l-9.3-3.1a9.5 9.5 0 0 0 0-7.4zM30.8 41.8a19.5 19.5 0 0 1-13.6 0l3.1-9.3a9.5 9.5 0 0 0 7.4 0zM6.2 30.8a19.5 19.5 0 0 1 0-13.6l9.3 3.1a9.5 9.5 0 0 0 0 7.4z'/></svg>

After

Width:  |  Height:  |  Size: 432 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><rect x='6' y='6' width='24' height='34' rx='3' fill='#6a3de8'/><path fill='#2B0F71' d='M11 13h14v3H11zm0 7h10v3H11z'/><circle cx='33' cy='31' r='11' fill='#2B0F71'/><path fill='#fff' d='M31.5 25h3v6.2l3.6 3.6-2.1 2.1-4.5-4.5z'/></svg>

After

Width:  |  Height:  |  Size: 296 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><rect x='9' y='4' width='22' height='40' rx='4' fill='#6a3de8'/><rect x='16' y='37' width='8' height='3' rx='1.5' fill='#2B0F71'/><path fill='#2B0F71' d='M36 17a9 9 0 1 1-8.2 12.7l3.6-1.6A5 5 0 1 0 36 21h-1v3l-5-5 5-5v3z'/></svg>

After

Width:  |  Height:  |  Size: 290 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><circle cx='24' cy='25' r='18' fill='#6a3de8'/><rect x='21' y='3' width='6' height='5' rx='1.5' fill='#2B0F71'/><path fill='#2B0F71' d='M22 14h4v10.2l6.4 6.4-2.8 2.8L22 25.8z'/><rect x='22' y='32' width='24' height='13' rx='3' fill='#f59e0b'/><text x='34' y='42' font-family='Arial,sans-serif' font-size='10' font-weight='700' text-anchor='middle' fill='#1f1300'>DEV</text></svg>

After

Width:  |  Height:  |  Size: 440 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><circle cx='24' cy='25' r='18' fill='#6a3de8'/><rect x='21' y='3' width='6' height='5' rx='1.5' fill='#2B0F71'/><path fill='#2B0F71' d='M22 14h4v10.2l6.4 6.4-2.8 2.8L22 25.8z'/></svg>

After

Width:  |  Height:  |  Size: 244 B