142 lines
7.1 KiB
HTML
142 lines
7.1 KiB
HTML
|
<!DOCTYPE html>
|
||
|
<html lang="en">
|
||
|
<head>
|
||
|
<meta charset="UTF-8">
|
||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
|
<title>{% block title %}Admin Panel{% endblock %}</title>
|
||
|
<link rel="stylesheet" href="/static/css/modal.css">
|
||
|
<link rel="stylesheet" href="/static/css/styles.css">
|
||
|
<link rel="icon" href="/static/favicon.png" type="image/x-icon">
|
||
|
|
||
|
{% block extra_head %}
|
||
|
{% endblock %}
|
||
|
|
||
|
<script>
|
||
|
document.addEventListener("DOMContentLoaded", () => {
|
||
|
const contentContainer = document.querySelector(".content-container");
|
||
|
const menuToggle = document.querySelector(".menu-toggle");
|
||
|
const navLinks = document.querySelector("nav");
|
||
|
|
||
|
setTimeout(() => {
|
||
|
contentContainer.classList.add("show");
|
||
|
}, 100);
|
||
|
|
||
|
menuToggle.addEventListener("click", () => {
|
||
|
navLinks.classList.toggle("open");
|
||
|
});
|
||
|
});
|
||
|
</script>
|
||
|
</head>
|
||
|
<body>
|
||
|
<div class="page-wrapper">
|
||
|
<header>
|
||
|
<div class="container">
|
||
|
<h1>Admin Panel</h1>
|
||
|
<button class="menu-toggle">☰</button>
|
||
|
<nav>
|
||
|
{% if user %}
|
||
|
{% if user.has_access %}
|
||
|
<a href="/questions" class="nav-link">Вопросы</a>
|
||
|
<a href="/otdels" class="nav-link">Отделы</a>
|
||
|
<a href="/users" class="nav-link">Пользователи</a>
|
||
|
{% endif %}
|
||
|
<a href="/profile" class="nav-link">Профиль</a>
|
||
|
<a href="/logout" class="nav-link">Выйти</a>
|
||
|
{% else %}
|
||
|
<a href="/login" class="nav-link">Войти</a>
|
||
|
<a href="/register" class="nav-link">Зарегистрироваться</a>
|
||
|
{% endif %}
|
||
|
</nav>
|
||
|
</div>
|
||
|
</header>
|
||
|
<main>
|
||
|
<div class="content-container fade-in">
|
||
|
{% block content %}{% endblock %}
|
||
|
</div>
|
||
|
</main>
|
||
|
<footer>
|
||
|
<div class="container">
|
||
|
<p>© 2024 Admin Panel. All rights reserved.</p>
|
||
|
</div>
|
||
|
</footer>
|
||
|
|
||
|
<!-- Модальное окно для редактирования отдела -->
|
||
|
<div id="edit-modal" class="modal">
|
||
|
<div class="modal-content">
|
||
|
<span class="close-button" data-modal-id="edit-modal">×</span>
|
||
|
<h2 id="modal-title">Изменить отдел</h2>
|
||
|
<form id="edit-form">
|
||
|
<label for="edit-name">Название отдела:</label>
|
||
|
<input type="text" id="edit-name" name="name" required>
|
||
|
<input type="hidden" id="edit-id" name="id">
|
||
|
<button type="submit" class="save-button">Сохранить</button>
|
||
|
</form>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
<!-- Модальное окно для создания нового отдела -->
|
||
|
<div id="create-modal" class="modal">
|
||
|
<div class="modal-content">
|
||
|
<span class="close-button" data-modal-id="create-modal">×</span>
|
||
|
<h2 id="create-title">Создать новый отдел</h2>
|
||
|
<form id="create-form">
|
||
|
<label for="create-name">Название отдела:</label>
|
||
|
<input type="text" id="create-name" name="name" required>
|
||
|
<button type="submit" class="save-button">Создать</button>
|
||
|
</form>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
<!-- Модальное окно для рассылки -->
|
||
|
<div id="newsletter-modal" class="modal">
|
||
|
<div class="modal-content">
|
||
|
<span class="close-button" data-modal-id="newsletter-modal">×</span>
|
||
|
<h2 id="newsletter-title">Рассылка</h2>
|
||
|
<form id="newsletter-form">
|
||
|
<label for="newsletter-message">Сообщение:</label>
|
||
|
<textarea id="newsletter-message" name="message" rows="4" required></textarea>
|
||
|
<button type="submit" class="save-button">Отправить</button>
|
||
|
</form>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
<!-- Модальное окно для создания нового вопроса -->
|
||
|
<div id="question-create-modal" class="modal">
|
||
|
<div class="modal-content">
|
||
|
<span class="close-button" data-modal-id="question-create-modal">×</span>
|
||
|
<h2 id="question-create-title">Создать новый вопрос</h2>
|
||
|
<form id="question-create-form">
|
||
|
<label for="question-title">Название вопроса:</label>
|
||
|
<input type="text" id="question-title" name="title" required>
|
||
|
<label for="question-text">Ответ (необязательно):</label>
|
||
|
<textarea id="question-text" name="text" data-required></textarea>
|
||
|
<label for="question-file">Файл (необязательно):</label>
|
||
|
<input type="file" id="question-file" name="file" data-required>
|
||
|
<p id="question-otdel-id"></p> <!-- Строка для отображения ID отдела -->
|
||
|
<button type="submit" class="save-button">Создать</button>
|
||
|
</form>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
<!-- Модальное окно для редактирования вопроса -->
|
||
|
<div id="question-edit-modal" class="modal">
|
||
|
<div class="modal-content">
|
||
|
<span class="close-button" data-modal-id="question-edit-modal">×</span>
|
||
|
<h2 id="question-edit-title">Редактировать вопрос</h2>
|
||
|
<form id="question-edit-form">
|
||
|
<input type="hidden" id="edit-question-id" name="question_id"> <!-- Скрытое поле для хранения ID вопроса -->
|
||
|
<label for="edit-question-title">Название вопроса:</label>
|
||
|
<input type="text" id="edit-question-title" name="title" required>
|
||
|
<label for="edit-question-text">Ответ текстом (необязательно):</label>
|
||
|
<textarea id="edit-question-text" name="text" data-required></textarea>
|
||
|
<label for="edit-question-file">Файл (необязательно):</label>
|
||
|
<input type="file" id="edit-question-file" name="file" data-required>
|
||
|
<p id="edit-question-otdel-id"></p> <!-- Строка для отображения ID отдела -->
|
||
|
<button type="submit" class="save-button">Сохранить изменения</button>
|
||
|
</form>
|
||
|
</div>
|
||
|
</div>
|
||
|
<script src="/static/js/scripts.js"></script>
|
||
|
</body>
|
||
|
</html>
|