feat(helpdesk): clickable top customers/categories filter resolution times

Clicking a customer or category in the Historical tab recalculates
Ø/Min/Max resolution times for only that filter. Click again to reset.
All computation is client-side from resolved_details already in the
response — no extra API calls. Active filter highlighted with primary
color, resolution values turn primary when filtered.

Backend now includes resolved_ticket_details per agent (customer_name,
category, resolution_hours) for client-side filtering.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-05 20:31:08 +02:00
parent fc98f2684a
commit 5c0364f687
3 changed files with 128 additions and 20 deletions

View File

@@ -446,6 +446,34 @@
font-size: var(--text-xs, 0.75rem);
}
/* Clickable ranked items */
.helpdesk-team-perf-ranked-clickable {
cursor: pointer;
border-radius: var(--app-border-radius, 0.25rem);
padding-inline: calc(var(--app-spacing) * 0.25);
margin-inline: calc(var(--app-spacing) * -0.25);
transition: background-color 0.15s ease;
}
.helpdesk-team-perf-ranked-clickable:hover {
background: color-mix(in srgb, var(--app-primary, #0d6efd) 8%, transparent);
}
.helpdesk-team-perf-ranked-clickable.active {
background: color-mix(in srgb, var(--app-primary, #0d6efd) 12%, transparent);
}
.helpdesk-team-perf-ranked-clickable.active .helpdesk-team-perf-ranked-name {
font-weight: 600;
color: var(--app-primary, #0d6efd);
}
/* Filtered state on resolution times */
.helpdesk-team-perf-stat-filtered .helpdesk-team-perf-ranked-count {
color: var(--app-primary, #0d6efd);
font-weight: 600;
}
/* Clickable rows — shared between search results and ticket list */
.app-clickable-row {
cursor: pointer;