diff --git a/frontend/src/lib/components/ChatInput.svelte b/frontend/src/lib/components/ChatInput.svelte
index 3c37768..dedbd2b 100644
--- a/frontend/src/lib/components/ChatInput.svelte
+++ b/frontend/src/lib/components/ChatInput.svelte
@@ -1,5 +1,6 @@
+
+{#if recState === 'idle'}
+
+
+{:else if recState === 'picking'}
+
+
+
+
+
+
+
+
+
+{:else if recState === 'recording'}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {formatDuration(duration)}
+
+ {#if isNearLimit}
+ ({formatDuration(remaining)})
+ {/if}
+
+
+
+
+
+
+{:else if recState === 'uploading'}
+
+
+
Laster opp video…
+
+{/if}
diff --git a/tasks.md b/tasks.md
index aad331a..0bd2cf5 100644
--- a/tasks.md
+++ b/tasks.md
@@ -402,8 +402,7 @@ noden er det som lever videre.
- [x] 29.6 Webhook-templates: forhåndsdefinerte mappinger for kjente tjenester (GitHub → commits/issues, Slack → meldinger, CI/CD → build-status). Template mapper JSON-felt til node title/content/metadata.
### Video
-- [~] 29.7 Video-opptak i frontend: webcam/skjermopptak via MediaRecorder API → upload til CAS → media-node. Start/stopp-knapp i input-komponenten. Maks varighet konfigurerbar.
- > Påbegynt: 2026-03-18T22:15
+- [x] 29.7 Video-opptak i frontend: webcam/skjermopptak via MediaRecorder API → upload til CAS → media-node. Start/stopp-knapp i input-komponenten. Maks varighet konfigurerbar.
- [ ] 29.8 Video-prosessering: `synops-video` CLI for transcode (H.264), thumbnail-generering, og varighet-uttrekk. Input: `--cas-hash `. Output: ny CAS-hash (trancodet) + thumbnail CAS-hash.
### Geolokasjon