From 28eae745d4b95f43047728ca5323ed7b72b727d2 Mon Sep 17 00:00:00 2001 From: kalugin66 Date: Fri, 13 Feb 2026 15:59:21 +0500 Subject: [PATCH] =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/index.html | 43 ++++++++++++++++++++++++++++++++++++++++++- public/navbar.js | 20 +++++++++++++++++++- public/ui.js | 24 ++++++++++++++++++++++-- 3 files changed, 83 insertions(+), 4 deletions(-) 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) {