Files
Web-Password/templates/base.html
Florian Walther ae081b12df
All checks were successful
Docker Release Build / push_to_registry (push) Successful in 55s
added load time to HTML template
2026-02-09 18:51:06 +01:00

89 lines
3.1 KiB
HTML

<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ block "title" . }}Passwort-Generator{{ end }}</title>
<link rel="icon" href="/static/key.png" type="image/png">
<link rel="stylesheet" href="/static/style.css">
<script>
document.addEventListener('DOMContentLoaded', function() {
const root = document.documentElement;
const savedTheme = localStorage.getItem('theme');
const themeToggle = document.getElementById('theme-toggle');
// Setze das Theme basierend auf localStorage oder Systemeinstellung
if (savedTheme === 'dark') {
root.classList.add('dark');
} else if (savedTheme === 'light') {
root.classList.remove('dark');
} else if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
root.classList.add('dark');
}
// Toggle-Button-Logik
themeToggle.addEventListener('click', function() {
if (root.classList.contains('dark')) {
root.classList.remove('dark');
localStorage.setItem('theme', 'light');
} else {
root.classList.add('dark');
localStorage.setItem('theme', 'dark');
}
});
// Systemtheme-Änderungen abhören
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', function(e) {
if (!localStorage.getItem('theme')) {
e.matches ? root.classList.add('dark') : root.classList.remove('dark');
}
});
});
</script>
{{ block "head" . }}{{ end }}
</head>
<body>
<button id="theme-toggle">🌓</button>
{{if isDebug}}
<div class="debug-banner" style="background: #ffeb3b; color: #000; text-align: center; font-size: 12px; padding: 5px; font-weight: bold;">
⚠️ DEBUG-MODUS AKTIVIERT
</div>
{{end}}
{{ block "body" . }}{{end}}
{{if isDebug}}
<div class="debug-footer" style="background: #333; color: #0f0; font-family: monospace; font-size: 11px; padding: 10px; border-top: 2px solid #0f0;">
<div>
<strong>DEBUG INFO:</strong>
<span>Ladezeit: {{dt .StartTime}}</span> |
<span>Method: {{.Request.Method}}</span> |
<span>Path: {{.Request.URL.Path}}</span> |
<span>Remote: {{.Request.RemoteAddr}}</span> |
<span>Real IP: {{.RealIP}}</span>
</div>
<div style="margin-top: 5px; color: #888;">
User-Agent: {{.Request.UserAgent}}
</div>
</div>
{{end}}
<!-- <footer>Version: {{getAppVersion}} | made with golang and ♥️ {{ block "footer" . }}{{ end }}</footer> -->
<footer>
<div class="footer-container">
<div class="footer-item">
<span>Ladezeit: {{dt .StartTime}}</span>
</div>
<div class="footer-item">
Passwörter generiert: <span id="global-counter">{{getPassCount}}</span>
</div>
<div class="footer-item">
Version: {{getAppVersion}}
</div>
<div class="footer-item">
made with golang and ♥️
</div>
</div>
</footer>
</body>
</html>