summaryrefslogtreecommitdiff
path: root/templates/login.html
diff options
context:
space:
mode:
authorTyler Hoang <tyler@tylerhoang.xyz>2026-05-06 15:25:36 -0700
committerTyler Hoang <tyler@tylerhoang.xyz>2026-05-06 15:25:36 -0700
commit1bdf4ca8c0f51718124ffe5247ac133973d4f251 (patch)
tree2904145bdbc5d2a2164cd3cb6c95346e48afd4a5 /templates/login.html
parent051775337251b0c7036959901eacb58471100862 (diff)
Add authentication, public profile, and infinite scroll
- Implement session-based auth with argon2 password hashing - Add login form and logout button in nav - Create public /tyler profile page with curated stats - Implement infinite scroll for film lists (load 20 at a time) - Add lazy loading for poster images - Fix profile page CSS to use dark theme variables - Use consistent star character (✦) across all pages - Add /films/partial endpoint for pagination Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Diffstat (limited to 'templates/login.html')
-rw-r--r--templates/login.html60
1 files changed, 60 insertions, 0 deletions
diff --git a/templates/login.html b/templates/login.html
new file mode 100644
index 0000000..c164531
--- /dev/null
+++ b/templates/login.html
@@ -0,0 +1,60 @@
+{% extends "base.html" %}
+
+{% block title %}Login - Lumière{% endblock %}
+
+{% block content %}
+<div style="max-width: 320px; margin: 60px auto; padding: 0 20px;">
+ <div style="text-align: center; margin-bottom: 40px;">
+ <h1 style="margin: 0; font-size: 32px; color: var(--text);">Lumière</h1>
+ <p style="color: var(--muted); margin: 8px 0 0 0;">Film Diary</p>
+ </div>
+
+ <form method="post" style="display: flex; flex-direction: column; gap: 16px;">
+ {% if error %}
+ <div style="
+ background: rgba(223, 110, 98, 0.1);
+ border: 1px solid rgba(223, 110, 98, 0.4);
+ color: #ffc7c0;
+ padding: 12px;
+ border-radius: 6px;
+ font-size: 14px;
+ ">{{ error }}</div>
+ {% endif %}
+
+ <div style="display: flex; flex-direction: column; gap: 6px;">
+ <label for="password" style="font-weight: 500; font-size: 14px; color: var(--text);">Password</label>
+ <input
+ type="password"
+ id="password"
+ name="password"
+ required
+ autofocus
+ style="
+ padding: 11px 12px;
+ border: 1px solid var(--line);
+ border-radius: 6px;
+ font-size: 16px;
+ background: #11100e;
+ color: var(--text);
+ "
+ />
+ </div>
+
+ <button
+ type="submit"
+ style="
+ padding: 11px 12px;
+ background: var(--accent);
+ color: #0e0a04;
+ border: none;
+ border-radius: 6px;
+ font-size: 16px;
+ font-weight: 800;
+ cursor: pointer;
+ "
+ >
+ Sign In
+ </button>
+ </form>
+</div>
+{% endblock %}