|
<!DOCTYPE html>
|
|
<html lang="ru">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>{% block title %}Emotion Analyzer{% endblock %}</title>
|
|
<link rel="stylesheet" href="{{ url_for('static', filename='styles.css') }}">
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
|
|
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
|
|
|
|
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
|
|
</head>
|
|
<body>
|
|
<div class="app-container">
|
|
|
|
<div class="app-sidebar">
|
|
<div class="sidebar-header">
|
|
<a href="{{ url_for('welcome') }}" class="logo-link">
|
|
<h2><i class="fas fa-brain"></i> EmotionAnalyzer</h2>
|
|
</a>
|
|
</div>
|
|
|
|
<div class="sidebar-nav">
|
|
<a href="{{ url_for('index') }}" class="nav-item">
|
|
<i class="fas fa-home"></i> Главная
|
|
</a>
|
|
{% if current_user.is_authenticated %}
|
|
<a href="{{ url_for('profile.profile') }}" class="nav-item">
|
|
<i class="fas fa-user"></i> Профиль
|
|
</a>
|
|
{% if current_user.is_authenticated and current_user.is_admin %}
|
|
<a href="{{ url_for('admin_bp.dashboard') }}" class="nav-item">
|
|
<i class="fas fa-lock"></i> Админ-панель
|
|
</a>
|
|
{% endif %}
|
|
{% endif %}
|
|
</div>
|
|
|
|
<div class="sidebar-footer">
|
|
{% if current_user.is_authenticated %}
|
|
<div class="user-info">
|
|
<i class="fas fa-user-circle"></i>
|
|
<span>{{ current_user.username }}</span>
|
|
</div>
|
|
<a href="{{ url_for('auth_bp.logout') }}" class="logout-btn">
|
|
<i class="fas fa-sign-out-alt"></i> Выйти
|
|
</a>
|
|
{% else %}
|
|
<div class="auth-links">
|
|
<a href="{{ url_for('auth_bp.login') }}" class="auth-link">Войти</a>
|
|
<a href="{{ url_for('auth_bp.register') }}" class="auth-link">Регистрация</a>
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="app-main">
|
|
{% with messages = get_flashed_messages(with_categories=true) %}
|
|
{% if messages %}
|
|
<div class="flash-messages">
|
|
{% for category, message in messages %}
|
|
<div class="flash-message flash-{{ category }} enhanced-alert">
|
|
<div class="alert-icon">
|
|
{% if category == 'error' %}
|
|
<i class="fas fa-exclamation-circle"></i>
|
|
{% elif category == 'success' %}
|
|
<i class="fas fa-check-circle"></i>
|
|
{% else %}
|
|
<i class="fas fa-info-circle"></i>
|
|
{% endif %}
|
|
</div>
|
|
<div class="alert-text">{{ message }}</div>
|
|
<button class="flash-close " onclick="this.parentElement.remove()"><i class="fas fa-times"></i></button>
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
{% endif %}
|
|
{% endwith %}
|
|
|
|
{% block content %}{% endblock %}
|
|
</div>
|
|
</div>
|
|
|
|
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
|
|
<script src="{{ url_for('static', filename='script.js') }}"></script>
|
|
<script>
|
|
document.querySelector('.mobile-menu-toggle').addEventListener('click', () => {
|
|
document.querySelector('.app-container').classList.toggle('sidebar-open');
|
|
});
|
|
</script>
|
|
{% block scripts %}{% endblock %}
|
|
</body>
|
|
</html> |