| {% extends "base.html" %} {# We no longer import the macro, we will just use the |
| fields directly #} {% block title %}Sign In{% endblock %} {% block content %} |
| <div class="auth-wrapper"> |
| <div class="auth-card"> |
| {% include '_flash_messages.html' %} |
| <div class="text-center mb-4"> |
| <i class="fas fa-sign-in-alt fa-3x text-primary"></i> |
| <h1 class="h3 fw-bold mt-3">Sign In</h1> |
| <p class="text-muted">Welcome back! Please enter your credentials.</p> |
| </div> |
|
|
| <form |
| action="" |
| method="post" |
| novalidate |
| class="w-100" |
| > |
| {{ form.hidden_tag() }} |
|
|
| <div class="mb-3"> |
| {{ form.username.label(class="form-label") }} {{ |
| form.username(class="form-control", placeholder="Your Username") }} |
| </div> |
|
|
| <div class="mb-3"> |
| {{ form.password.label(class="form-label") }} {{ |
| form.password(class="form-control", placeholder="Your Password") }} |
| </div> |
|
|
| <div class="d-flex justify-content-between align-items-center mb-4"> |
| <div class="form-check"> |
| {{ form.remember_me(class="form-check-input") }} {{ |
| form.remember_me.label(class="form-check-label small") }} |
| </div> |
| </div> |
|
|
| <div class="d-grid"> |
| {{ form.submit(class="btn btn-primary btn-lg") }} |
| </div> |
| </form> |
|
|
| <p class="text-center small mt-4 mb-0"> |
| Don't have an account? |
| <a href="{{ url_for('auth.register') }}">Register here</a> |
| </p> |
| </div> |
| </div> |
| {% endblock %} |
|
|