Files
trackpull/templates/login.html

58 lines
2.9 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Votify Web - Login</title>
<link rel="icon" href="/static/favicon.ico" type="image/x-icon">
<link rel="manifest" href="/static/manifest.json">
<meta name="theme-color" content="#1db954">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<meta name="apple-mobile-web-app-title" content="Votify Web">
<link rel="apple-touch-icon" href="/static/icons/icon-192x192.png">
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
:root {
--bg: #121212; --surface: #1e1e1e; --surface2: #2a2a2a;
--accent: #1db954; --accent-hover: #1ed760;
--text: #ffffff; --text2: #b3b3b3;
--danger: #e74c3c; --radius: 8px;
}
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; background: var(--bg); color: var(--text); min-height: 100vh; display: flex; align-items: center; justify-content: center; }
.login-card { background: var(--surface); border-radius: var(--radius); padding: 40px; width: 100%; max-width: 380px; }
.login-card h1 { font-size: 1.4rem; margin-bottom: 8px; }
.login-card h1 span { color: var(--accent); }
.login-card p { color: var(--text2); font-size: 0.85rem; margin-bottom: 24px; }
.login-card input[type="password"] {
width: 100%; background: var(--surface2); border: 1px solid #333; color: var(--text);
border-radius: var(--radius); padding: 12px 14px; font-size: 0.95rem; font-family: inherit;
margin-bottom: 16px; transition: border-color 0.2s;
}
.login-card input:focus { outline: none; border-color: var(--accent); }
.login-card button {
width: 100%; background: var(--accent); color: #000; border: none; padding: 12px;
border-radius: 20px; font-size: 0.95rem; font-weight: 600; cursor: pointer; transition: all 0.2s;
}
.login-card button:hover { background: var(--accent-hover); }
.error { color: var(--danger); font-size: 0.85rem; margin-bottom: 12px; }
</style>
</head>
<body>
<form class="login-card" method="POST" action="/login">
<h1><span>Votify</span> Web</h1>
<p>Enter password to continue</p>
{% if error %}<div class="error">{{ error }}</div>{% endif %}
<input type="password" name="password" placeholder="Password" autofocus required>
<button type="submit">Sign In</button>
</form>
<script>
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/sw.js')
.then(reg => console.log('SW registered, scope:', reg.scope))
.catch(err => console.error('SW registration failed:', err));
}
</script>
</body>
</html>