From daab2f4999a0e76b7b94fc638be993ff6d1e741e Mon Sep 17 00:00:00 2001 From: fs Date: Sun, 5 Apr 2026 21:15:05 +0200 Subject: [PATCH] fix(helpdesk): default period to 30 days and show trend timeframe hint MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change default period from 90 to 30 days for a more current snapshot. Add legend footnote: '↑↓ Trend basiert auf den letzten 30 Tagen' so the user knows what the arrows refer to. Co-Authored-By: Claude Opus 4.6 (1M context) --- modules/helpdesk/i18n/default_de.json | 3 ++- modules/helpdesk/i18n/default_en.json | 3 ++- .../pages/helpdesk/team/index(default).phtml | 3 ++- modules/helpdesk/web/js/helpdesk-team.js | 20 +++++++++++++------ 4 files changed, 20 insertions(+), 9 deletions(-) diff --git a/modules/helpdesk/i18n/default_de.json b/modules/helpdesk/i18n/default_de.json index c77cb43..0ae52b8 100644 --- a/modules/helpdesk/i18n/default_de.json +++ b/modules/helpdesk/i18n/default_de.json @@ -303,5 +303,6 @@ "Historical": "Historisch", "Queue": "Warteschlange", "trend_tooltip_up": "Mehr Tickets erhalten als gelöst im Zeitraum — Rückstau wächst.", - "trend_tooltip_down": "Mehr Tickets gelöst als erhalten im Zeitraum — Rückstau wird abgebaut." + "trend_tooltip_down": "Mehr Tickets gelöst als erhalten im Zeitraum — Rückstau wird abgebaut.", + "Trend based on last {days} days": "Trend basiert auf den letzten {days} Tagen" } diff --git a/modules/helpdesk/i18n/default_en.json b/modules/helpdesk/i18n/default_en.json index 5778406..0882c69 100644 --- a/modules/helpdesk/i18n/default_en.json +++ b/modules/helpdesk/i18n/default_en.json @@ -303,5 +303,6 @@ "Historical": "Historical", "Queue": "Queue", "trend_tooltip_up": "More tickets received than resolved in the period — backlog is growing.", - "trend_tooltip_down": "More tickets resolved than received in the period — backlog is shrinking." + "trend_tooltip_down": "More tickets resolved than received in the period — backlog is shrinking.", + "Trend based on last {days} days": "Trend based on last {days} days" } diff --git a/modules/helpdesk/pages/helpdesk/team/index(default).phtml b/modules/helpdesk/pages/helpdesk/team/index(default).phtml index d002720..b443e99 100644 --- a/modules/helpdesk/pages/helpdesk/team/index(default).phtml +++ b/modules/helpdesk/pages/helpdesk/team/index(default).phtml @@ -34,6 +34,7 @@ $periodLabels = [ data-label-top-categories="" data-label-trend-up="" data-label-trend-down="" + data-label-trend-hint="" >
- checked> + checked>
diff --git a/modules/helpdesk/web/js/helpdesk-team.js b/modules/helpdesk/web/js/helpdesk-team.js index a4d2d65..fa86d18 100644 --- a/modules/helpdesk/web/js/helpdesk-team.js +++ b/modules/helpdesk/web/js/helpdesk-team.js @@ -10,6 +10,7 @@ if (container) { const labelQueue = container.dataset.labelQueue || 'Queue'; const labelTickets = container.dataset.labelTickets || 'Tickets'; const labelCritical = container.dataset.labelCritical || 'Critical (>48h open)'; + const labelTrendHint = container.dataset.labelTrendHint || 'Trend based on last {days} days'; const ticketBaseUrl = container.dataset.ticketBaseUrl || ''; const debitorBaseUrl = container.dataset.debitorBaseUrl || ''; const labelTrendUp = container.dataset.labelTrendUp || 'Backlog growing'; @@ -24,7 +25,7 @@ if (container) { const elRefresh = container.querySelector('button[name="team-refresh"]'); const periodSelector = document.getElementById('team-period-selector'); - let currentPeriod = 90; + let currentPeriod = 30; function showState(state) { if (elLoading) elLoading.hidden = state !== 'loading'; @@ -323,12 +324,19 @@ if (container) { // Legend const hasCritical = members.some(m => m.critical_tickets > 0); - if (hasCritical) { + const hasTrend = visible.some(m => (m.trend_delta ?? 0) !== 0); + if (hasCritical || hasTrend) { const legend = h('div', 'helpdesk-team-legend'); - const item = h('span', 'helpdesk-team-legend-item'); - item.appendChild(h('span', 'helpdesk-team-legend-dot helpdesk-team-legend-dot-warning')); - item.appendChild(h('span', '', labelCritical)); - legend.appendChild(item); + if (hasCritical) { + const item = h('span', 'helpdesk-team-legend-item'); + item.appendChild(h('span', 'helpdesk-team-legend-dot helpdesk-team-legend-dot-warning')); + item.appendChild(h('span', '', labelCritical)); + legend.appendChild(item); + } + if (hasTrend) { + const hint = labelTrendHint.replace('{days}', String(currentPeriod)); + legend.appendChild(h('span', 'helpdesk-team-legend-item', '↑↓ ' + hint)); + } elCurrentCards.appendChild(legend); } }