diff --git a/frontend/src/lib/components/TranscriptionEditView.svelte b/frontend/src/lib/components/TranscriptionEditView.svelte
index c156f6c0..c4188982 100644
--- a/frontend/src/lib/components/TranscriptionEditView.svelte
+++ b/frontend/src/lib/components/TranscriptionEditView.svelte
@@ -2,6 +2,7 @@
import { m } from '$lib/paraglide/messages.js';
import TranscriptionBlock from './TranscriptionBlock.svelte';
import OcrTrigger from './OcrTrigger.svelte';
+import TranscribeCoachEmptyState from './TranscribeCoachEmptyState.svelte';
import type { TranscriptionBlockData } from '$lib/types';
import { createBlockAutoSave } from '$lib/hooks/useBlockAutoSave.svelte';
import { createBlockDragDrop } from '$lib/hooks/useBlockDragDrop.svelte';
@@ -231,28 +232,12 @@ async function handleLabelToggle(label: string) {
{:else}
-
-
-
-
- {m.transcription_empty_draw_hint()}
-
+
+
{/if}
- {#if canWrite}
+ {#if canWrite && hasBlocks}
Für Training vormerken
diff --git a/frontend/src/lib/components/TranscriptionEditView.svelte.spec.ts b/frontend/src/lib/components/TranscriptionEditView.svelte.spec.ts
index b076e590..a48f0148 100644
--- a/frontend/src/lib/components/TranscriptionEditView.svelte.spec.ts
+++ b/frontend/src/lib/components/TranscriptionEditView.svelte.spec.ts
@@ -61,9 +61,21 @@ describe('TranscriptionEditView — rendering', () => {
await expect.element(page.getByText(/Block 3/)).toBeInTheDocument();
});
- it('shows empty state when no blocks', async () => {
+ it('shows coach card when no blocks', async () => {
renderView({ blocks: [] });
- await expect.element(page.getByText(/Zeichnen Sie Bereiche/)).toBeInTheDocument();
+ await expect
+ .element(page.getByRole('heading', { level: 2 }))
+ .toHaveTextContent('Erste Transkription?');
+ });
+
+ it('hides training footer when no blocks', async () => {
+ renderView({ blocks: [], canWrite: true });
+ await expect.element(page.getByText('Für Training vormerken')).not.toBeInTheDocument();
+ });
+
+ it('shows training footer when blocks exist', async () => {
+ renderView({ blocks: [block1], canWrite: true });
+ await expect.element(page.getByText('Für Training vormerken')).toBeInTheDocument();
});
});