103 lines
5.5 KiB
HTML
103 lines
5.5 KiB
HTML
{% extends 'base.html' %}
|
||
|
||
{% block title %}Профиль{% endblock %}
|
||
|
||
{% block content %}
|
||
<div class="container-fluid px-4">
|
||
<div class="row justify-content-center">
|
||
<div class="col-12 col-lg-10 col-xl-8">
|
||
<div class="card shadow">
|
||
<div class="card-header bg-primary text-white text-center py-3 py-md-4">
|
||
<h3 class="mb-0">
|
||
<i class="bi bi-person-circle me-2 d-block d-md-inline"></i>
|
||
Ваш профиль
|
||
</h3>
|
||
</div>
|
||
<div class="card-body p-3 p-md-4">
|
||
<div class="row g-4">
|
||
<div class="col-12 col-md-4 text-center">
|
||
<div class="profile-icon bg-light rounded-circle d-flex align-items-center justify-content-center mx-auto mb-3"
|
||
style="width: 100px; height: 100px;">
|
||
<i class="bi bi-person-fill" style="font-size: 3rem; color: #0d6efd;"></i>
|
||
</div>
|
||
</div>
|
||
<div class="col-12 col-md-8">
|
||
<div class="profile-info">
|
||
<div class="d-flex flex-column flex-md-row mb-3">
|
||
<div class="me-md-4 mb-2 mb-md-0">
|
||
<i class="bi bi-person-fill text-primary me-2"></i>
|
||
<span class="fw-bold">Имя:</span>
|
||
</div>
|
||
<div>
|
||
<span class="text-muted">{{ user.name }}</span>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="d-flex flex-column flex-md-row mb-3">
|
||
<div class="me-md-4 mb-2 mb-md-0">
|
||
<i class="bi bi-envelope-fill text-primary me-2"></i>
|
||
<span class="fw-bold">Email:</span>
|
||
</div>
|
||
<div>
|
||
<span class="text-muted">{{ user.email }}</span>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="d-flex flex-column flex-md-row mb-3">
|
||
<div class="me-md-4 mb-2 mb-md-0">
|
||
<i class="bi bi-shield-check text-primary me-2"></i>
|
||
<span class="fw-bold">Статус email:</span>
|
||
</div>
|
||
<div>
|
||
{% if user.is_email_confirmed %}
|
||
<span class="badge bg-success d-inline-flex align-items-center w-auto">
|
||
<i class="bi bi-check-circle me-1"></i> Подтвержден
|
||
</span>
|
||
{% else %}
|
||
<span class="badge bg-warning text-dark d-inline-flex align-items-center w-auto">
|
||
<i class="bi bi-exclamation-circle me-1"></i> Не подтвержден
|
||
</span>
|
||
{% endif %}
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="d-flex flex-column flex-md-row justify-content-end gap-2 mt-4 pt-3 border-top">
|
||
<a href="{% url 'index' %}" class="btn btn-outline-secondary">
|
||
<i class="bi bi-arrow-left me-1"></i> Назад
|
||
</a>
|
||
|
||
{% if not user.is_email_confirmed %}
|
||
<button class="btn btn-outline-warning" type="button" onclick="resendConfirmation()">
|
||
<i class="bi bi-envelope me-1"></i> Повторить письмо
|
||
</button>
|
||
{% endif %}
|
||
|
||
<a href="{% url 'accounts:change_password' %}" class="btn btn-outline-primary">
|
||
<i class="bi bi-key me-1"></i> Сменить пароль
|
||
</a>
|
||
|
||
<button class="btn btn-outline-secondary" type="button" onclick="editProfile()">
|
||
<i class="bi bi-pencil me-1"></i> Редактировать
|
||
</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<script>
|
||
function resendConfirmation() {
|
||
// In a real application, this would make an AJAX request to resend the confirmation email
|
||
alert('Письмо для подтверждения отправлено на ваш email!');
|
||
}
|
||
|
||
function editProfile() {
|
||
// For now, we'll just show an alert; in a real app this would open an edit form
|
||
alert('Функция редактирования профиля будет реализована позже.');
|
||
}
|
||
</script>
|
||
{% endblock %} |