diff --git a/frontend/src/routes/admin/system/ImportStatusCard.svelte b/frontend/src/routes/admin/system/ImportStatusCard.svelte
index e6556857..d6ebb2a2 100644
--- a/frontend/src/routes/admin/system/ImportStatusCard.svelte
+++ b/frontend/src/routes/admin/system/ImportStatusCard.svelte
@@ -42,14 +42,9 @@ function reasonLabel(code: string): string {
aria-label={m.admin_system_import_status_running()}
class="inline-block h-5 w-5 animate-spin rounded-full border-2 border-ink-3 border-t-brand-mint motion-reduce:animate-none"
>
-
-
- {importStatus.processed}
-
-
- {m.admin_system_import_status_running()}
-
-
+
+ {m.admin_system_import_status_running()}
+
{:else if importStatus?.state === 'DONE'}
diff --git a/frontend/src/routes/admin/system/ImportStatusCard.svelte.test.ts b/frontend/src/routes/admin/system/ImportStatusCard.svelte.test.ts
index d7470cda..f2248c58 100644
--- a/frontend/src/routes/admin/system/ImportStatusCard.svelte.test.ts
+++ b/frontend/src/routes/admin/system/ImportStatusCard.svelte.test.ts
@@ -26,15 +26,17 @@ describe('ImportStatusCard', () => {
await expect.element(getByTestId('spinner')).toBeInTheDocument();
});
- it('shows processed count at text-base while RUNNING', async () => {
+ it('shows no processed count while RUNNING (spinner only, no misleading 0)', async () => {
+ // The whole document load commits in one transaction, so a live count would sit at 0
+ // until the end. Show just the spinner + "running" label instead of a stuck "0".
const { getByTestId } = render(ImportStatusCard, {
props: {
- importStatus: makeStatus({ state: 'RUNNING', statusCode: 'IMPORT_RUNNING', processed: 7 }),
+ importStatus: makeStatus({ state: 'RUNNING', statusCode: 'IMPORT_RUNNING', processed: 0 }),
ontrigger: () => {}
}
});
- await expect.element(getByTestId('processed-count')).toHaveTextContent('7');
+ await expect.element(getByTestId('processed-count')).not.toBeInTheDocument();
});
it('shows processed count while DONE', async () => {