| {% extends "base.html" %} |
| {% block title %}Profile{% endblock %} |
| {% block page_title %}Identity Management{% endblock %} |
|
|
| {% block content %} |
| <div class="row justify-content-center mt-4"> |
| <div class="col-md-6 fade-in-up"> |
| <div class="cyber-card p-5 text-center h-100 border-info"> |
| <div class="position-relative d-inline-block mb-4"> |
| <img src="{{ current_user.profile_image }}" |
| class="rounded-circle border border-2 border-info shadow-lg" |
| style="width: 150px; height: 150px; object-fit: cover;"> |
| <span class="position-absolute bottom-0 end-0 bg-success border border-dark rounded-circle p-2" title="Active"></span> |
| </div> |
| |
| <h3 class="text-white">{{ current_user.email }}</h3> |
| <p class="text-muted text-uppercase small letter-spacing-2">Authorized Operator</p> |
|
|
| <hr class="border-secondary my-4"> |
|
|
| <form action="{{ url_for('dashboard.profile') }}" method="post" enctype="multipart/form-data"> |
| <input type="hidden" name="csrf_token" value="{{ csrf_token() }}"> |
| |
| <label class="form-label text-accent small fw-bold">UPDATE HOLOGRAM (AVATAR)</label> |
| <div class="input-group mb-3"> |
| <input type="file" name="avatar" class="form-control bg-dark border-secondary text-light" accept="image/*" required> |
| <button class="btn btn-outline-info" type="submit"><i class="bi bi-upload"></i></button> |
| </div> |
| </form> |
| |
| {% if current_user.orig_profile_image and current_user.profile_image != current_user.orig_profile_image %} |
| <form action="{{ url_for('dashboard.remove_avatar') }}" method="post" class="mt-2"> |
| <input type="hidden" name="csrf_token" value="{{ csrf_token() }}"> |
| <button class="btn btn-sm btn-link text-danger text-decoration-none opacity-75 hover-opacity-100"> |
| <i class="bi bi-x-circle me-1"></i>Reset to Default |
| </button> |
| </form> |
| {% endif %} |
| </div> |
| </div> |
|
|
| <div class="col-md-6 fade-in-up" style="animation-delay: 0.1s;"> |
| <div class="cyber-card p-5 h-100 border-success"> |
| <h4 class="text-success mb-4"><i class="bi bi-shield-check me-2"></i>Security Clearance</h4> |
| |
| <div class="d-flex align-items-center mb-4"> |
| <div class="bg-success bg-opacity-10 p-3 rounded me-3"> |
| <i class="bi bi-fingerprint fs-2 text-success"></i> |
| </div> |
| <div> |
| <h5 class="mb-0 text-white">Biometric Lock</h5> |
| <small class="text-muted">FIDO2 / WebAuthn Active</small> |
| </div> |
| <div class="ms-auto"> |
| <span class="badge bg-success">ENABLED</span> |
| </div> |
| </div> |
|
|
| <div class="alert alert-dark border border-secondary d-flex align-items-start"> |
| <i class="bi bi-info-circle text-info me-3 mt-1"></i> |
| <div class="small text-muted"> |
| Your account is secured by <strong>Device Biometrics</strong>. |
| Passwords are no longer stored on this server. Access is granted solely via physical token verification (Phone/Key). |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| {% endblock %} |