меню
This commit is contained in:
@@ -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
83
public/navbar.js
Normal 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);
|
||||||
|
});
|
||||||
Reference in New Issue
Block a user