Skip to main content

max / makenotwork

2.0 KB · 68 lines History Blame Raw
1 {% extends "base.html" %}
2
3 {% block title %}Set New Password - Makenotwork{% endblock %}
4
5 {% block body_attrs %} class="centered-page"{% endblock %}
6
7 {% block content %}
8 <h1 class="brand-h1">Makenot<span class="dot">.</span>work</h1>
9 <div class="login-container">
10 <div id="form-feedback">
11 {% if let Some(msg) = error %}<div class="alert alert-error">{{ msg }}</div>{% endif %}
12 </div>
13
14 {% if valid %}
15 <form class="login-form"
16 hx-post="/reset-password"
17 hx-target="#form-feedback"
18 hx-swap="innerHTML"
19 hx-indicator="#submit-spinner">
20 <h2 class="subtitle-h2">Set New Password</h2>
21 <p class="form-description">Enter your new password below.</p>
22
23 <input type="hidden" name="token" value="{{ token }}" />
24
25 <div class="form-group">
26 <label for="password">New Password</label>
27 <input
28 type="password"
29 id="password"
30 name="password"
31 placeholder="--------"
32 required
33 minlength="8"
34 autofocus
35 />
36 </div>
37
38 <div class="form-group">
39 <label for="password_confirm">Confirm Password</label>
40 <input
41 type="password"
42 id="password_confirm"
43 name="password_confirm"
44 placeholder="--------"
45 required
46 minlength="8"
47 />
48 </div>
49
50 <button type="submit" class="btn-primary">
51 Set Password
52 <span id="submit-spinner" class="htmx-indicator"> ...</span>
53 </button>
54 </form>
55 {% else %}
56 <div class="login-form">
57 <h2 class="subtitle-h2">Link Expired</h2>
58 <p class="form-description">This password reset link has expired or is invalid. Please request a new one.</p>
59 <a href="/forgot-password" class="btn btn-primary">Request New Link</a>
60 </div>
61 {% endif %}
62
63 <div class="foot-link">
64 <a href="/login">Back to login<span class="dot">.</span></a>
65 </div>
66 </div>
67 {% endblock %}
68