diff --git a/webui/src/routes/import/-import.helpers.ts b/webui/src/routes/import/-import.helpers.ts
index 54a88f78..9a1bd6e4 100644
--- a/webui/src/routes/import/-import.helpers.ts
+++ b/webui/src/routes/import/-import.helpers.ts
@@ -160,13 +160,14 @@ export function getAutoImportStatusText(status: ImportAutoImportStatusPayload |
return 'Watching';
}
-export function getAutoImportStatusClass(
+export type AutoImportStatusTone = 'neutral' | 'info' | 'success';
+
+export function getAutoImportStatusTone(
status: ImportAutoImportStatusPayload | undefined,
-): string {
- if (!status?.running) return 'disabled';
- if (status.current_status === 'scanning') return 'scanning';
- if (status.current_status === 'processing') return 'processing';
- return 'active';
+): AutoImportStatusTone {
+ if (!status?.running || status.paused) return 'neutral';
+ if (status.current_status === 'scanning' || status.current_status === 'processing') return 'info';
+ return 'success';
}
export function getActiveImportLines(status: ImportAutoImportStatusPayload | undefined): string[] {
diff --git a/webui/src/routes/import/-route.test.tsx b/webui/src/routes/import/-route.test.tsx
index f4871df7..dcaf917b 100644
--- a/webui/src/routes/import/-route.test.tsx
+++ b/webui/src/routes/import/-route.test.tsx
@@ -303,6 +303,7 @@ describe('import route', () => {
expect(await screen.findByRole('button', { name: /^Needs Review\s*1$/ })).toBeInTheDocument();
expect(screen.getAllByText('Album A').length).toBeGreaterThan(0);
+ expect(screen.getByText('Watching')).toHaveAttribute('data-tone', 'success');
const intervalSelect = document.getElementById('auto-import-interval');
if (!(intervalSelect instanceof HTMLElement)) {
throw new Error('auto-import interval select missing');
diff --git a/webui/src/routes/import/-ui/auto-import-tab.tsx b/webui/src/routes/import/-ui/auto-import-tab.tsx
index c3f1d0ec..1c190cce 100644
--- a/webui/src/routes/import/-ui/auto-import-tab.tsx
+++ b/webui/src/routes/import/-ui/auto-import-tab.tsx
@@ -34,9 +34,9 @@ import {
filterAutoImportResults,
getActiveImportLines,
getAutoImportCounts,
- getAutoImportStatusClass,
getAutoImportStatusMeta,
getAutoImportStatusText,
+ getAutoImportStatusTone,
getAutoImportTimeAgo,
getConfidenceClass,
parseAutoImportMatchData,
@@ -149,7 +149,7 @@ export function AutoImportPanel({
const results = filterAutoImportResults(allResults, autoFilter);
const counts = getAutoImportCounts(allResults);
const activeLines = getActiveImportLines(statusQuery.data);
- const statusClassName = getAutoImportStatusClass(statusQuery.data);
+ const statusTone = getAutoImportStatusTone(statusQuery.data);
if (statusQuery.error) {
return (
@@ -173,12 +173,9 @@ export function AutoImportPanel({
/>
Auto-Import
-
+