Untitled

Anonymous
plain_text
02/07/2026 10:04 AM
6.5 KB
10
Indexable
<!DOCTYPE html>
<html lang="ru">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>{% block title %}GameSearch - Поиск игр для детей{% endblock %}</title>
    {% load static %}
    <link rel="stylesheet" href="{% static 'css/boys_theme.css' %}" id="theme-stylesheet">
</head>

<body>
    <!-- Шапка -->
    <header>
        <div class="header-container">
            <div class="logo-section">
                <a href="{% url 'home' %}" class="logo-link">
                    <span class="logo">🎮</span>
                    <h1 class="site-title">GameSearch</h1>
                </a>
            </div>

            <div class="header-actions">
                {% if user.is_authenticated %}
                <div class="user-menu">
                    <button class="user-menu-toggle">
                        <span class="user-icon">👤</span>
                        <span class="user-name">{{ user.username }}</span>
                        <span class="dropdown-arrow">▼</span>
                    </button>
                    <div class="user-dropdown">
                        <a href="{% url 'profile' %}" class="dropdown-item">
                            <span class="dropdown-icon">👤</span>
                            Профиль
                        </a>

                        <a href="{% url 'favorites' %}" class="dropdown-item">
                            <span class="dropdown-icon">⭐</span>
                            Избранное
                        </a>

                        <a href="{% url 'logout' %}" class="dropdown-item">
                            <span class="dropdown-icon">🚪</span>
                            Выход
                        </a>
                    </div>
                </div>
                {% else %}
                    <a href="{% url 'login' %}" class="btn btn-secondary">Вход</a>
                    <a href="{% url 'register' %}" class="btn btn-primary">Регистрация</a>
                {% endif %}

                <div class="theme-switcher">
                    <label for="theme-toggle">Тема:</label>
                    <input type="checkbox" id="theme-toggle">
                </div>
            </div>
        </div>
    </header>

    <!-- Сообщения -->
    {% if messages %}
    <div class="messages-container">
        {% for message in messages %}
        <div class="message message-{{ message.tags }}">
            {{ message }}
        </div>
        {% endfor %}
    </div>
    {% endif %}

    <!-- Основной контент -->
    <main>
        {% block content %}
        {% endblock %}
    </main>

    <!-- Подвал -->
    <footer>
        <div class="footer-container">
            <div class="copyright">
                GameSearch &copy; {% now "Y" %} All rights reserved.
            </div>
        </div>
    </footer>

    <!-- JavaScript для переключения темы -->
    <script>
        const themeToggle = document.getElementById('theme-toggle');
        const themeStylesheet = document.getElementById('theme-stylesheet');

        // Загрузка сохраненной темы
        const savedTheme = localStorage.getItem('theme') || 'boys';
        if (savedTheme === 'girls') {
            themeToggle.checked = true;
            themeStylesheet.href = "{% static 'css/girls_theme.css' %}";
        }

        // Обработчик переключения темы
        themeToggle.addEventListener('change', function () {
            if (this.checked) {
                themeStylesheet.href = "{% static 'css/girls_theme.css' %}";
                localStorage.setItem('theme', 'girls');
            } else {
                themeStylesheet.href = "{% static 'css/boys_theme.css' %}";
                localStorage.setItem('theme', 'boys');
            }
        });

        // Выпадающее меню пользователя
        const userMenuToggle = document.querySelector('.user-menu-toggle');
        const userDropdown = document.querySelector('.user-dropdown');

        if (userMenuToggle) {
            userMenuToggle.addEventListener('click', function (e) {
                e.stopPropagation();
                userDropdown.classList.toggle('show');
            });

            // Закрытие при клике вне меню
            document.addEventListener('click', function () {
                userDropdown.classList.remove('show');
            });

            // Предотвращение закрытия при клике на само меню
            userDropdown.addEventListener('click', function (e) {
                e.stopPropagation();
            });
        }
    </script>

    {% block extra_js %}
    {% endblock %}
</body>

</html>
Editor is loading...
Leave a Comment