This commit is contained in:
2026-02-09 00:30:13 +05:00
parent 70a6cbed84
commit 859bfc739f
2 changed files with 87 additions and 6 deletions

View File

@@ -49,21 +49,18 @@
<span id="current-user"></span> <span id="current-user"></span>
</div> </div>
</div> </div>
<nav> <nav id="navbar-container">
<!--
<button onclick="window.location.href = '/'" class="nav-btn tasks"><i class="fas fa-cog"></i> Главная</button> <button onclick="window.location.href = '/'" class="nav-btn tasks"><i class="fas fa-cog"></i> Главная</button>
<button onclick="showSection('tasks')" class="nav-btn tasks"><i class="fas fa-list"></i> Задачи</button> <button onclick="showSection('tasks')" class="nav-btn tasks"><i class="fas fa-list"></i> Задачи</button>
<button onclick="showSection('create-task')" class="nav-btn create"><i class="fas fa-plus-circle"></i> Создать задачу</button> <button onclick="showSection('create-task')" class="nav-btn create"><i class="fas fa-plus-circle"></i> Создать задачу</button>
<button onclick="showKanbanSection()" class="nav-btn kanban"><i class="fas fa-columns"></i> Канбан</button> <button onclick="showKanbanSection()" class="nav-btn kanban"><i class="fas fa-columns"></i> Канбан</button>
<!--
<button onclick="window.location.href = '/doc?action=create'" class="nav-btn create"><i class="fa-solid fa-file"></i> Согласование документов</button>
<button onclick="window.location.href = '/help'" class="nav-btn doc"><i class="fas fa-user-circle"></i> Заявки</button>
-->
<button onclick="showSection('profile')" class="nav-btn profile" id="profile-btn"><i class="fas fa-user-circle"></i> Личный кабинет</button> <button onclick="showSection('profile')" class="nav-btn profile" id="profile-btn"><i class="fas fa-user-circle"></i> Личный кабинет</button>
<button onclick="window.location.href = '/admin'" class="nav-btn admin"><i class="fas fa-cog"></i> Админ-панель</button> <button onclick="window.location.href = '/admin'" class="nav-btn admin"><i class="fas fa-cog"></i> Админ-панель</button>
<button onclick="logout()" class="btn-logout"><i class="fas fa-sign-out-alt"></i> Выйти</button> <button onclick="logout()" class="btn-logout"><i class="fas fa-sign-out-alt"></i> Выйти</button>
-->
</nav> </nav>
</header> </header>
<main> <main>
<section id="tasks-section" class="section"> <section id="tasks-section" class="section">
<h2><i class="fas fa-tasks"></i> Все задачи</h2> <h2><i class="fas fa-tasks"></i> Все задачи</h2>
@@ -386,5 +383,6 @@
<script src="time-selector.js"></script> <script src="time-selector.js"></script>
<script src="openTaskChat.js"></script> <script src="openTaskChat.js"></script>
<script src="main.js"></script> <script src="main.js"></script>
<script src="navbar.js"></script>
</body> </body>
</html> </html>

83
public/navbar.js Normal file
View File

@@ -0,0 +1,83 @@
// Функция для создания навигационной панели
function createNavigation() {
const navbar = document.getElementById('navbar-container');
if (!navbar) return;
// Базовые кнопки для всех авторизованных пользователей
const navButtons = [
{
onclick: "window.location.href = '/'",
className: "nav-btn tasks",
icon: "fas fa-cog",
text: "Главная",
id: "home-btn"
},
{
onclick: "showSection('tasks')",
className: "nav-btn tasks",
icon: "fas fa-list",
text: "Задачи",
id: "tasks-btn"
},
{
onclick: "showSection('create-task')",
className: "nav-btn create",
icon: "fas fa-plus-circle",
text: "Создать задачу",
id: "create-task-btn"
},
{
onclick: "showKanbanSection()",
className: "nav-btn kanban",
icon: "fas fa-columns",
text: "Канбан",
id: "kanban-btn"
},
{
onclick: "showSection('profile')",
className: "nav-btn profile",
icon: "fas fa-user-circle",
text: "Личный кабинет",
id: "profile-btn"
}
];
// Кнопка админ-панели только для admin
//if (currentUser.role === 'admin') {
navButtons.push({
onclick: "window.location.href = '/admin'",
className: "nav-btn admin",
icon: "fas fa-cog",
text: "Админ-панель",
id: "admin-btn"
});
//}
// Кнопка выхода
navButtons.push({
onclick: "logout()",
className: "btn-logout",
icon: "fas fa-sign-out-alt",
text: "Выйти",
id: "logout-btn"
});
// Очищаем и создаем кнопки
navbar.innerHTML = '';
navButtons.forEach(button => {
const btn = document.createElement('button');
btn.setAttribute('onclick', button.onclick);
btn.className = button.className;
btn.id = button.id;
btn.innerHTML = `<i class="${button.icon}"></i> ${button.text}`;
navbar.appendChild(btn);
});
}
// Инициализация при загрузке страницы
document.addEventListener('DOMContentLoaded', function() {
createNavigation();
// Если нужно обновлять навигацию при изменениях
// window.addEventListener('userRoleChanged', createNavigation);
});