Spaces:
No application file
No application file
| <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/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet"> | |
| <!-- Bootstrap JS (для работы закрытия) --> | |
| <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/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/bootstrap@5.1.3/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> |