From 90c24b0b1a3101ee15c53d72b9a701f8c4777599 Mon Sep 17 00:00:00 2001 From: Meleki Date: Mon, 2 Mar 2026 12:33:23 +0100 Subject: [PATCH] Chat-Button im Dashboard deaktivieren wenn kein Agent zugewiesen --- TODO.md | 2 +- wwwroot/css/dashboard.css | 5 +++++ wwwroot/js/pages/dashboard.js | 10 +++++++++- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/TODO.md b/TODO.md index fb75f8a..bf880f5 100644 --- a/TODO.md +++ b/TODO.md @@ -16,7 +16,7 @@ ## Bugs - [x] Wenn gerade gestreamt wird und man refreshed die Seite, dann verliert das Frontend den Status "Streaming..." und ich kann eine Nachricht schreiben, obwohl das nicht möglich sein sollte - [x] Größere Tasks brechen irgendwann ab, könnte an der Limitierung von Antrophic/Claude liegen. Jedoch sollte wird es scheinbar nicht behandelt: Der Status bleibt auf "Streaming..." aber es passiert nichts mehr -- [ ] Session -> Chat öffnen im Frontend soll nicht möglich sein, wenn kein Agent gesetzt ist +- [x] Session -> Chat öffnen im Frontend soll nicht möglich sein, wenn kein Agent gesetzt ist ## Backend - [x] System-Prompt anpassen. Explizit auf Workspace-Pfad hinweisen, weil Model halluziniert oft und will in den nicht vorhandenen Pfad /workspace wechseln diff --git a/wwwroot/css/dashboard.css b/wwwroot/css/dashboard.css index d2bd9f2..c3f56bf 100644 --- a/wwwroot/css/dashboard.css +++ b/wwwroot/css/dashboard.css @@ -208,6 +208,11 @@ border: none; } +.card-menu-item:disabled { + opacity: var(--semi-transparent); + cursor: not-allowed; +} + .card-meta { display: flex; flex-direction: column; diff --git a/wwwroot/js/pages/dashboard.js b/wwwroot/js/pages/dashboard.js index d3eba18..7bdce54 100644 --- a/wwwroot/js/pages/dashboard.js +++ b/wwwroot/js/pages/dashboard.js @@ -60,6 +60,13 @@ registerPage('dashboard', { `; + // Chat deaktivieren wenn kein Agent gesetzt + const chatBtn = card.querySelector('[data-action="chat"]'); + if (!agent) { + chatBtn.disabled = true; + chatBtn.title = 'Kein Agent zugewiesen'; + } + const menuTrigger = card.querySelector('.card-menu-trigger'); const menuDropdown = card.querySelector('.card-menu-dropdown'); menuTrigger.addEventListener('click', (e) => { @@ -67,8 +74,9 @@ registerPage('dashboard', { closeAllCardMenus(); menuDropdown.hidden = !menuDropdown.hidden; }); - menuDropdown.querySelector('[data-action="chat"]').addEventListener('click', (e) => { + chatBtn.addEventListener('click', (e) => { e.stopPropagation(); + if (chatBtn.disabled) return; menuDropdown.hidden = true; navigateTo('chat', { id: s.sessionId }); });