From 8ecf07fecd750fbe59fe952f98d446e2922f1341 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 1 Oct 2026 10:40:06 +0000 Subject: [PATCH] Analyse: Sperre im WOMS kenntlich machen Co-Authored-By: Claude Sonnet 5.5 --- src/components/AnalyseRow.jsx | 3 ++- src/lib/analyseView.js | 2 +- tests/unit/analyseView.test.mjs | 4 ++++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/components/AnalyseRow.jsx b/src/components/AnalyseRow.jsx index 096976e..6f429b4 100644 --- a/src/components/AnalyseRow.jsx +++ b/src/components/AnalyseRow.jsx @@ -50,8 +50,9 @@ export default function AnalyseRow({ projectId }) { ) : ( Lädt … )} + {status.hint && ({status.hint})} {status.canEnable && !mode && ( - + )} {status.canDisable && !mode && ( diff --git a/src/lib/analyseView.js b/src/lib/analyseView.js index c025edf..aac8916 100644 --- a/src/lib/analyseView.js +++ b/src/lib/analyseView.js @@ -23,7 +23,7 @@ export function analyseStatus(a) { const at = formatBerlinDate(a.activatedAt) return { text: at ? `An seit ${at}` : 'An', color: 'green', canEnable: false, canDisable: true } } - if (a.state === 'disabled') return { text: 'Gesperrt', color: 'red', canEnable: Boolean(a.eligible), canDisable: false } + if (a.state === 'disabled') return { text: 'Gesperrt', hint: 'Vom Team gesperrt', enableLabel: 'Trotz Sperre einschalten', color: 'red', canEnable: Boolean(a.eligible), canDisable: false } if (!a.eligible) { return { text: `Nicht verfügbar${a.reasonText ? `: ${a.reasonText}` : ''}`, color: 'grey', canEnable: false, canDisable: false } } diff --git a/tests/unit/analyseView.test.mjs b/tests/unit/analyseView.test.mjs index 5e19bbb..60f6e01 100644 --- a/tests/unit/analyseView.test.mjs +++ b/tests/unit/analyseView.test.mjs @@ -32,6 +32,10 @@ test('analyseStatus: aus und berechtigt => Einschalten moeglich', () => { test('analyseStatus: gesperrt', () => { const s = analyseStatus({ enabled: true, state: 'disabled', eligible: true }) assert.equal(s.text, 'Gesperrt') + assert.equal(s.canEnable, true) + assert.equal(s.enableLabel, 'Trotz Sperre einschalten') + assert.equal(s.hint, 'Vom Team gesperrt') + assert.equal(analyseStatus({ enabled: true, state: 'disabled', eligible: false }).canEnable, false) }) test('analyseStatus: nicht berechtigt => Grund, kein Button', () => {