From a2b2ccbab72cbac60b5e142e22df7c9f6d38102d Mon Sep 17 00:00:00 2001 From: hsiegeln <37154749+hsiegeln@users.noreply.github.com> Date: Tue, 21 Apr 2026 09:57:58 +0200 Subject: [PATCH] feat(alerts/ui): add severityToAccent helper for DataTable rowAccent Pure function mapping the 3-value AlertDto.severity enum to the 2-value DataTable rowAccent prop. INFO maps to undefined (no tint) because the DS DataTable rowAccent only supports error|warning. Co-Authored-By: Claude Opus 4.7 (1M context) --- ui/src/pages/Alerts/severity-utils.test.ts | 16 ++++++++++++++++ ui/src/pages/Alerts/severity-utils.ts | 12 ++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 ui/src/pages/Alerts/severity-utils.test.ts create mode 100644 ui/src/pages/Alerts/severity-utils.ts diff --git a/ui/src/pages/Alerts/severity-utils.test.ts b/ui/src/pages/Alerts/severity-utils.test.ts new file mode 100644 index 00000000..a4dcb3ab --- /dev/null +++ b/ui/src/pages/Alerts/severity-utils.test.ts @@ -0,0 +1,16 @@ +import { describe, it, expect } from 'vitest'; +import { severityToAccent } from './severity-utils'; + +describe('severityToAccent', () => { + it('maps CRITICAL → error', () => { + expect(severityToAccent('CRITICAL')).toBe('error'); + }); + + it('maps WARNING → warning', () => { + expect(severityToAccent('WARNING')).toBe('warning'); + }); + + it('maps INFO → undefined (no row tint)', () => { + expect(severityToAccent('INFO')).toBeUndefined(); + }); +}); diff --git a/ui/src/pages/Alerts/severity-utils.ts b/ui/src/pages/Alerts/severity-utils.ts new file mode 100644 index 00000000..c98e176c --- /dev/null +++ b/ui/src/pages/Alerts/severity-utils.ts @@ -0,0 +1,12 @@ +import type { AlertDto } from '../../api/queries/alerts'; + +type Severity = NonNullable; +export type RowAccent = 'error' | 'warning' | undefined; + +export function severityToAccent(severity: Severity): RowAccent { + switch (severity) { + case 'CRITICAL': return 'error'; + case 'WARNING': return 'warning'; + case 'INFO': return undefined; + } +}