summaryrefslogtreecommitdiffstats
path: root/app/templates/login.html
diff options
context:
space:
mode:
authorKen D'Ambrosio <ken@claude>2026-05-25 00:46:10 +0000
committerKen D'Ambrosio <ken@claude>2026-05-25 00:46:10 +0000
commit55bcec90c14db6f2956ed51cf4df1503c0767f81 (patch)
treef25bfb8c46366b5d3dc6b4f66e242c65094b4ada /app/templates/login.html
Initial commit — menu.jots.org Flask/SQLite meal planner
Full-featured weekly menu planner with: - Recipe library with ratings, comments, cuisine/nationality, added-by attribution - AI recipe assistant (Claude) with URL fetching and file upload - Weekly meal plan grid with shopping list generation - Sort by name, prep/cook time, or rating - Print and copy-link support - Deployed on LXC container (192.168.10.51) behind Apache reverse proxy Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'app/templates/login.html')
-rw-r--r--app/templates/login.html39
1 files changed, 39 insertions, 0 deletions
diff --git a/app/templates/login.html b/app/templates/login.html
new file mode 100644
index 0000000..2d7254f
--- /dev/null
+++ b/app/templates/login.html
@@ -0,0 +1,39 @@
+{% extends "base.html" %}
+{% block title %}Log In — Menu Planner{% endblock %}
+
+{% block content %}
+<div class="row justify-content-center mt-5">
+ <div class="col-sm-8 col-md-5 col-lg-4">
+ <div class="card shadow-sm">
+ <div class="card-body p-4">
+ <div class="text-center mb-4">
+ <i class="bi bi-journal-richtext fs-1" style="color:var(--primary)"></i>
+ <h2 class="h4 fw-bold mt-2">Menu Planner</h2>
+ <p class="text-muted small">Log in to plan meals and manage recipes</p>
+ </div>
+
+ <form method="POST" action="/login{% if request.args.get('next') %}?next={{ request.args.get('next') }}{% endif %}">
+ <div class="mb-3">
+ <label class="form-label fw-semibold" for="username">Username</label>
+ <input type="text" class="form-control" id="username" name="username"
+ autocomplete="username" autofocus required>
+ </div>
+ <div class="mb-4">
+ <label class="form-label fw-semibold" for="password">Password</label>
+ <input type="password" class="form-control" id="password" name="password"
+ autocomplete="current-password" required>
+ </div>
+ <button type="submit" class="btn btn-primary w-100">
+ <i class="bi bi-box-arrow-in-right me-2"></i>Log in
+ </button>
+ </form>
+
+ <hr class="my-3">
+ <p class="text-center text-muted small mb-0">
+ <i class="bi bi-eye me-1"></i>Browsing and viewing is open to everyone.
+ </p>
+ </div>
+ </div>
+ </div>
+</div>
+{% endblock %}