diff --git a/public/index.html b/public/index.html index 9e0b5be..623d91d 100644 --- a/public/index.html +++ b/public/index.html @@ -195,7 +195,48 @@ - +
+

Мои задачи (как автор)

+
+
+ + +
+
+ + +
+
+
+
+
+

Задачи для исполнения

+
+
+ + +
+
+ + +
+
+
+

Лог активности

diff --git a/public/navbar.js b/public/navbar.js index 10564ab..9f84f26 100644 --- a/public/navbar.js +++ b/public/navbar.js @@ -49,7 +49,25 @@ function createNavigation() { id: "profile-btn" } ]; - + +if (currentUser && currentUser.role === 'admin') { + navButtons.push({ + onclick: "showSection('mytasks')", + className: "nav-btn my-tasks", + icon: "fas fa-user-edit", + text: "Мои задачи (Автор)", + id: "my-tasks-btn" + }); + } +if (currentUser && currentUser.role === 'admin') { + navButtons.push({ + onclick: "showSection('runtasks')", + className: "nav-btn assigned-to-me", + icon: "fas fa-user-check", + text: "Мои задачи (Исполнитель)", + id: "kanban-btn" + }); + } // 👇 Кнопка админ-панели ТОЛЬКО для admin 👇 if (currentUser && currentUser.role === 'admin') { navButtons.push({ diff --git a/public/ui.js b/public/ui.js index 692eb4a..5a86a24 100644 --- a/public/ui.js +++ b/public/ui.js @@ -13,6 +13,12 @@ function showSection(sectionName) { loadActivityLogs(); } else if (sectionName === 'kanban') { loadKanbanTasks(); + } else if (sectionName === 'mytasks') { + console.log('загружаю loadMyTasks'); + loadTasks(); + } else if (sectionName === 'runtasks') { + console.log('загружаю loadRunTasks'); + loadTasks(); } // Загрузка профиля при переходе в личный кабинет @@ -379,7 +385,7 @@ function filterAssignments(taskId) { filterCount.textContent = `${visibleCount} из ${assignments.length} исполнителей`; } } - +// поддержка новых контейнеров function toggleTask(taskId) { if (expandedTasks.has(taskId)) { expandedTasks.delete(taskId); @@ -387,7 +393,21 @@ function toggleTask(taskId) { expandedTasks.add(taskId); loadTaskFiles(taskId); } - renderTasks(); + + // Определяем, какой контейнер сейчас активен + const activeSection = document.querySelector('.section.active'); + if (activeSection) { + const sectionId = activeSection.id; + if (sectionId === 'mytasks-section') { + renderTasksInContainer('mytasks-list'); + } else if (sectionId === 'runtasks-section') { + renderTasksInContainer('runtasks-list'); + } else if (sectionId === 'tasks-section') { + renderTasks(); + } + } else { + renderTasks(); + } } function getTimeLeftInfo(task) {