Add SSR-based component test verifying error display logic from
+page.svelte. Uses svelte/server render() to avoid mount/browser
requirements.
- JobErrorDisplay.svelte: test component replicating error display template
- app-environment.ts: mock for /environment (needed by accent.ts)
- job-list-error-display.test.ts: 5 tests covering:
* failed job with error -> error text rendered
* done job with null error -> no error text
* failed job with null error -> no error text
* non-failed status with error -> no error text
* title attribute contains full error text
- vitest.config.ts: add svelte() plugin for .svelte file transforms,
add /environment alias for test mocking
Tests: 237 passed (19 files), 0 type errors, build OK.
Tonemark is a SvelteKit PWA for transcribing YouTube videos, audio
and video files, and microphone recordings using a local Whisper backend.
Features:
- Dark glassmorphic UI with electric-lime accent (5 switchable themes)
- Rail nav (desktop) / tab bar (mobile) layout
- Drop zone, YouTube URL input, and live audio recording inputs
- Audio mode waveform cards (none / standard / aggressive / auto)
- Real-time transcription progress with animated waveform
- Job queue with SSE streaming updates
- Push notifications on job completion
- PWA with native SvelteKit service worker
- SRT / TXT / MD / JSON transcript downloads
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>