Feature/portal topbar #1

Merged
kerimatilgan merged 2 commits from feature/portal-topbar into main 2026-10-25 12:15:21 +00:00
3 changed files with 25 additions and 0 deletions
Showing only changes of commit 8f5517a409 - Show all commits

No files matched your search

+7
View File
@@ -9,6 +9,13 @@ timer.firma.example {
X-Frame-Options "SAMEORIGIN" X-Frame-Options "SAMEORIGIN"
X-Content-Type-Options "nosniff" X-Content-Type-Options "nosniff"
Referrer-Policy "no-referrer" Referrer-Policy "no-referrer"
# Die Seite laedt die Portal-Kopfleiste von portal.handy-insel.de.
# Wer hier eine Content-Security-Policy setzt, muss diese Quellen erlauben
# (sonst blockiert der Browser die Leiste), jeweils zusaetzlich zu den
# vorhandenen Quellen (die App nutzt Inline-Styles und onclick-Handler):
# script-src ... https://portal.handy-insel.de
# connect-src ... https://portal.handy-insel.de
# img-src ... https://portal.handy-insel.de https://login.handy-insel.de
} }
reverse_proxy 127.0.0.1:3003 { reverse_proxy 127.0.0.1:3003 {
+7
View File
@@ -22,6 +22,13 @@ server {
add_header X-Frame-Options "SAMEORIGIN" always; add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always; add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "no-referrer" always; add_header Referrer-Policy "no-referrer" always;
# Die Seite laedt die Portal-Kopfleiste von portal.handy-insel.de.
# Wer hier eine Content-Security-Policy setzt, muss diese Quellen erlauben
# (sonst blockiert der Browser die Leiste), jeweils zusaetzlich zu den
# vorhandenen Quellen (die App nutzt Inline-Styles und onclick-Handler):
# script-src ... https://portal.handy-insel.de
# connect-src ... https://portal.handy-insel.de
# img-src ... https://portal.handy-insel.de https://login.handy-insel.de
# CSV-Export darf auch bei vielen Einträgen dauern # CSV-Export darf auch bei vielen Einträgen dauern
client_max_body_size 1m; client_max_body_size 1m;
+11
View File
@@ -5,6 +5,9 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Timer - Zeiterfassung</title> <title>Timer - Zeiterfassung</title>
<link rel="icon" type="image/jpeg" href="/favicon.jpg"> <link rel="icon" type="image/jpeg" href="/favicon.jpg">
<!-- Zentrale Handy-Insel-Kopfleiste (App-Umschalter + Benutzermenue).
Einzige externe Ressource der Seite; Details: portal.handy-insel.de -->
<script src="https://portal.handy-insel.de/topbar.js" data-app="timer" defer></script>
<style> <style>
/* Bewusst KEIN Google-Fonts-Import: kein externer Abruf zur Laufzeit. /* Bewusst KEIN Google-Fonts-Import: kein externer Abruf zur Laufzeit.
Der System-Font-Stack sieht praktisch identisch aus (Segoe UI / Der System-Font-Stack sieht praktisch identisch aus (Segoe UI /
@@ -784,6 +787,14 @@
.history-item-right { justify-content: center; } .history-item-right { justify-content: center; }
.filter-field, .filter-field input { width: 100%; } .filter-field, .filter-field input { width: 100%; }
} }
/* ---------- Portal-Kopfleiste ---------- */
/* Die Leiste steht im Fluss als erstes Kind von <body>; body hat nur
min-height: 100vh, dadurch entsteht kein Ueberlauf. Beim Drucken
soll sie nicht erscheinen. */
hi-topbar { flex-shrink: 0; }
@media print { hi-topbar { display: none !important; } }
</style> </style>
</head> </head>
<body> <body>