50 lines
2.3 KiB
HTML
50 lines
2.3 KiB
HTML
{% extends "base.html" %}
|
|
|
|
{% block title %}Set New Password{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="auth-wrapper">
|
|
<div class="form-container">
|
|
<div class="card shadow">
|
|
<div class="card-body">
|
|
<h2 class="card-title text-center mb-4">Set New Password</h2>
|
|
<div class="alert alert-info">
|
|
<p>This is a reset request from your email address.</p>
|
|
<small>For security, we'll verify the email before allowing the password reset.</small>
|
|
</div>
|
|
|
|
{% with messages = get_flashed_messages(with_categories=true) %}
|
|
{% if messages %}
|
|
{% for category, message in messages %}
|
|
<div class="alert alert-{{ category }}">{{ message }}</div>
|
|
{% endfor %}
|
|
{% endif %}
|
|
{% endwith %}
|
|
|
|
<form method="POST">
|
|
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}"/>
|
|
<div class="mb-3">
|
|
<label class="form-label">Email Address</label>
|
|
<input type="email" class="form-control" name="email" value="{{ user.email if user else '' }}" required>
|
|
<small class="text-muted">The email address associated with this account</small>
|
|
</div>
|
|
<div class="mb-3">
|
|
<label class="form-label">New Password</label>
|
|
<input type="password" class="form-control" name="new_password" required>
|
|
<small class="text-muted">At least 8 characters</small>
|
|
</div>
|
|
<div class="mb-3">
|
|
<label class="form-label">Confirm New Password</label>
|
|
<input type="password" class="form-control" name="confirm_password" required>
|
|
</div>
|
|
<button type="submit" class="btn btn-primary w-100">Update Password</button>
|
|
</form>
|
|
|
|
<div class="text-center mt-3">
|
|
<a href="{{ url_for('login') }}" class="text-decoration-none">Back to Login</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endblock %} |