diff --git a/docs/primitiver/traits.md b/docs/primitiver/traits.md index b3f772c..18c4133 100644 --- a/docs/primitiver/traits.md +++ b/docs/primitiver/traits.md @@ -104,6 +104,8 @@ Fravær av en trait betyr at funksjonaliteten er deaktivert. Ingen boolean | `tts` | "Les opp"-knapp, lydversjon av artikler | Tekst-til-tale via jobbkø | | `clips` | Klipp-editor, segment-markering | Segmentering, CAS-lagring av klipp | | `playlist` | Ordnet avspillingsliste, drag-and-drop rekkefølge | Sekvensiell avspilling | +| `mixer` | Lydmixer: volumslidere, mute, VU-meter, sound pads, stemme-/EQ-effekter | Pad-konfig i metadata (se `docs/features/lydmixer.md`) | +| `studio` | Lydstudio-panel: lydfilliste med metadata, drag-ut, drop-aksept for lyd, lenke til fullverdig editor | Validering av lydformat, FFmpeg-pipeline via jobbkø (se `docs/features/lydstudio.md`) | ### Kommunikasjon @@ -148,6 +150,7 @@ Fravær av en trait betyr at funksjonaliteten er deaktivert. Ingen boolean | `digest` | Periodisk oppsummering i UI | AI-sammendrag av aktivitet på intervall | | `bridge` | "Også funnet i..."-forslag | pgvector-embedding, krysskontekst-søk | | `moderation` | Moderasjonskø, flagging | AI-assistert innholdsvurdering | +| `ai_tool` | AI-verktøy-panel med prompt-velger, drag-and-drop tekstbehandling | Modellprofil-mapping, AI Gateway, ai_usage_log (se `docs/features/ai_verktoy.md`) | ### Tilgang & fellesskap @@ -177,16 +180,16 @@ Brukeren kan legge til eller fjerne traits etterpå. | Pakke | Traits | |---|---| | **Nettmagasin** | editor(longform), publishing, rss, comments, analytics, custom_domain, newsletter | -| **Podcaststudio** | podcast, recording, transcription, editor(shownotes), rss, analytics, clips, knowledge_graph | +| **Podcaststudio** | podcast, recording, transcription, mixer, editor(shownotes), rss, analytics, clips, knowledge_graph | | **Nyhetsbrev** | editor(longform), newsletter, analytics, versioning | | **Wiki** | wiki, editor(longform), collaboration, versioning, knowledge_graph, glossary | | **Diskusjonsklubb** | forum, chat, polls, membership, roles, directory | | **Kursplattform** | editor(longform), playlist, qa, membership, paywall, templates | -| **Møteplass** | recording, chat, kanban, calendar, auto_summarize, guest_input | +| **Møteplass** | recording, mixer, chat, kanban, calendar, auto_summarize, guest_input | | **Fotoblogg** | gallery, publishing, comments, custom_domain, rss | | **Prosjektstyring** | kanban, calendar, chat, table, tags, roles | | **Åpen forskning** | editor(longform), versioning, bibliography, publishing, comments, collaboration, api | -| **Community radio** | recording, podcast, chat, polls, membership, clips, playlist | +| **Community radio** | recording, mixer, podcast, chat, polls, membership, clips, playlist | | **Bokmerke-vegg** | bookmarks, tags, publishing, rss, comments | | **Redaksjon** | chat, kanban, calendar, editor(longform), knowledge_graph, guest_input | diff --git a/frontend/src/lib/components/traits/StudioTrait.svelte b/frontend/src/lib/components/traits/StudioTrait.svelte index 229e779..5eebf73 100644 --- a/frontend/src/lib/components/traits/StudioTrait.svelte +++ b/frontend/src/lib/components/traits/StudioTrait.svelte @@ -1,19 +1,19 @@ - + + + {#if audioNodes.length === 0} - Ingen lydfiler i denne samlingen enna. + + 🎙️ + Ingen lydfiler i denne samlingen. + Dra lydfiler hit fra andre paneler, eller last opp via studio. + {:else} - - {#each audioNodes as node} - - - {node.title ?? 'Uten tittel'} - {#if hasVersions(node.id)} - Har prosesserte versjoner - {/if} + + Lydfiler + {audioNodes.length} + + + + {#each audioNodes as node (node.id)} + {@const duration = formatDuration(node)} + {@const size = formatSize(node)} + {@const type = formatType(node)} + {@const versions = versionCount(node.id)} + {@const date = formatTime(node)} + + handleDragStart(e, node)} + > + + 🎵 + + {node.title ?? 'Uten tittel'} + + {#if type} + {type} + {/if} + {#if duration} + {duration} + {/if} + {#if size} + {size} + {/if} + {#if date} + {date} + {/if} + + + + {#if versions > 0} + + {versions} ver. + + {/if} + e.stopPropagation()} + > + Rediger + + - - Rediger - - + {/each} - + {/if} - + + + diff --git a/frontend/src/routes/collection/[id]/+page.svelte b/frontend/src/routes/collection/[id]/+page.svelte index df97fe7..587b9e3 100644 --- a/frontend/src/routes/collection/[id]/+page.svelte +++ b/frontend/src/routes/collection/[id]/+page.svelte @@ -350,7 +350,7 @@ {:else if trait === 'transcription'} {:else if trait === 'studio'} - + {:else if trait === 'mixer'} {/if} @@ -405,7 +405,7 @@ {:else if trait === 'transcription'} {:else if trait === 'studio'} - + {:else if trait === 'mixer'} {/if} diff --git a/tasks.md b/tasks.md index 643cc07..3648623 100644 --- a/tasks.md +++ b/tasks.md @@ -231,8 +231,7 @@ Ref: `docs/features/universell_overfoering.md`, `docs/retninger/arbeidsflaten.md - [x] 20.6 Panelrework — Kanban: gjør KanbanTrait til BlockShell-panel med drag-and-drop aksept fra andre paneler, fullskjerm, responsivt. - [x] 20.7 Panelrework — Kalender: gjør CalendarTrait til BlockShell-panel med drop-aksept for scheduling, fullskjerm, responsivt. - [x] 20.8 Panelrework — Editor/Artikkelverktøy: gjør artikkelverktøy til BlockShell-panel med source_material mottak fra andre paneler. Ref: `docs/features/artikkelverktoy.md`. -- [~] 20.9 Panelrework — Studio: gjør StudioTrait til BlockShell-panel med drop-aksept for lydfiler, fullskjerm, responsivt. - > Påbegynt: 2026-03-18T08:48 +- [x] 20.9 Panelrework — Studio: gjør StudioTrait til BlockShell-panel med drop-aksept for lydfiler, fullskjerm, responsivt. ## Fase 21: CLI-verktøy — Unix-filosofi
Ingen lydfiler i denne samlingen enna.
Ingen lydfiler i denne samlingen.
Dra lydfiler hit fra andre paneler, eller last opp via studio.
{node.title ?? 'Uten tittel'}