| {% extends "base.html" %} |
|
|
| {% block title %}Đăng nhập - Student Feedback Analysis{% endblock %} |
| {% block page_title %}Đăng nhập{% endblock %} |
| {% block container_class %} min-vh-100{% endblock %} |
|
|
| {% block header %}{% endblock %} |
| {% block flash_messages %}{% endblock %} |
| {% block footer %}{% endblock %} |
|
|
| {% block content %} |
| <div class="row justify-content-center align-items-center min-vh-100"> |
| <div class="col-lg-6 col-md-8"> |
| |
| <div class="card shadow-sm"> |
| <div class="card-header bg-primary text-white"> |
| <h3 class="card-title mb-0"> |
| <i class="fas fa-sign-in-alt me-2"></i> |
| Đăng nhập tài khoản |
| </h3> |
| </div> |
| <div class="card-body"> |
| |
| {% with messages = get_flashed_messages(with_categories=true) %} |
| {% if messages %} |
| {% for category, message in messages %} |
| <div class="alert alert-{{ 'danger' if category == 'error' else category }} alert-dismissible fade show" role="alert"> |
| <div class="alert-content"> |
| <i class="fas fa-{{ 'exclamation-triangle' if category == 'error' else 'info-circle' if category == 'info' else 'check-circle' if category == 'success' else 'exclamation-triangle' }}"></i> |
| {{ message }} |
| </div> |
| <button type="button" class="btn-close" data-bs-dismiss="alert"></button> |
| </div> |
| {% endfor %} |
| {% endif %} |
| {% endwith %} |
|
|
| <form method="POST"> |
| {{ form.hidden_tag() }} |
| |
| <div class="mb-3"> |
| {{ form.username.label(class="form-label fw-bold") }} |
| {{ form.username(class="form-control" + (" is-invalid" if form.username.errors else "")) }} |
| {% if form.username.errors %} |
| <div class="invalid-feedback"> |
| {% for error in form.username.errors %} |
| {{ error }} |
| {% endfor %} |
| </div> |
| {% endif %} |
| </div> |
|
|
| <div class="mb-4"> |
| {{ form.password.label(class="form-label fw-bold") }} |
| {{ form.password(class="form-control" + (" is-invalid" if form.password.errors else "")) }} |
| {% if form.password.errors %} |
| <div class="invalid-feedback"> |
| {% for error in form.password.errors %} |
| {{ error }} |
| {% endfor %} |
| </div> |
| {% endif %} |
| </div> |
|
|
| <div class="d-grid"> |
| {{ form.submit(class="btn btn-primary btn-lg") }} |
| </div> |
| </form> |
|
|
| <hr class="my-4"> |
| |
| <div class="text-center"> |
| <p class="text-muted mb-0"> |
| Chưa có tài khoản? |
| <a href="{{ url_for('register') }}" class="text-decoration-none fw-bold text-secondary"> |
| Đăng ký ngay |
| </a> |
| </p> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <div class="text-center mt-3"> |
| <a href="{{ url_for('home') }}" class="btn btn-outline-secondary"> |
| <i class="fas fa-arrow-left me-2"></i> |
| Về trang chủ |
| </a> |
| </div> |
| </div> |
| </div> |
| {% endblock %} |
|
|