bagg-app/public/login.html
bagg-builder 1adf88d195 phase0: wallabag-compat API + PWA frontend
- Wallabag v2 API compatible (OAuth2, entries CRUD, tags)
- Express + SQLite (better-sqlite3), zero extra deps
- Gated web UI with session auth
- PWA: service worker, manifest, offline support
- Mobile-first design, dark mode, FAB + modal
2026-05-02 22:35:27 +00:00

62 lines
1.6 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Sign in — bagg</title>
<link rel="stylesheet" href="/style.css">
<link rel="manifest" href="/manifest.json">
<meta name="theme-color" content="#2563eb">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="default">
<meta name="apple-mobile-web-app-title" content="bagg">
</head>
<body>
<div class="login-page">
<div class="login-card">
<h1>bagg</h1>
<p class="tagline">Read later, actually.</p>
<div id="error-msg" class="login-error" style="display:none">
Wrong username or password.
</div>
<form method="post" action="/web/login">
<label for="username">Username</label>
<input
type="text"
id="username"
name="username"
autocomplete="username"
autocapitalize="none"
autocorrect="off"
spellcheck="false"
required
autofocus
>
<label for="password">Password</label>
<input
type="password"
id="password"
name="password"
autocomplete="current-password"
required
>
<button type="submit" class="btn-primary">Sign in</button>
</form>
</div>
</div>
<script>
if (location.search.includes('error=1')) {
document.getElementById('error-msg').style.display = 'block';
}
// Detect dark mode pref stored in localStorage
const theme = localStorage.getItem('bagg_theme');
if (theme) document.documentElement.setAttribute('data-theme', theme);
</script>
</body>
</html>