меню
This commit is contained in:
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