{#if workspaceLoading}

Laster arbeidsflate...

{:else if workspaceError}

Kunne ikke laste arbeidsflate

{workspaceError}

{:else if !connected}

Venter på tilkobling...

{:else if layout.panels.length === 0}

Din personlige arbeidsflate

Legg til verktøy-paneler for å bygge opp arbeidsflaten din. Arrangementet huskes mellom besøk.

{#each Object.entries(TRAIT_PANEL_INFO) as [key, info] (key)} {/each}
{:else if isMobile}
{#each layout.panels as panel, i (panel.trait)} {/each}
{#each layout.panels as panel, i (panel.trait)} {#if activeTab === i}
{#if knownTraits.has(panel.trait)} {#if panel.trait === 'editor'} {:else if panel.trait === 'chat'} {:else if panel.trait === 'kanban'} {:else if panel.trait === 'calendar'} {:else if panel.trait === 'podcast'} {:else if panel.trait === 'publishing'} {:else if panel.trait === 'rss'} {:else if panel.trait === 'recording'} {:else if panel.trait === 'transcription'} {:else if panel.trait === 'studio'} {:else if panel.trait === 'mixer'} {:else if panel.trait === 'mindmap'} {:else if panel.trait === 'ai'} {:else if panel.trait === 'usage'} {#if nodeId && accessToken} {/if} {/if} {:else} {/if}
{/if} {/each}
{:else}
{ savedCamera = cam; persistMetadata(); }} onGridChange={(enabled) => { gridEnabled = enabled; persistMetadata(); }} > {#snippet renderObject(obj)} {@const trait = obj.id} {@const info = getPanelInfo(trait)} {@const panel = layout.panels.find(p => p.trait === trait)} handlePanelResize(trait, w, h, dx, dy)} onClose={() => handlePanelClose(trait)} onMinimizeChange={(m) => handlePanelMinimize(trait, m)} onDrop={(payload, shiftKey) => handlePanelDrop(trait, payload, shiftKey)} > {#if knownTraits.has(trait)} {#if trait === 'editor'} {:else if trait === 'chat'} {:else if trait === 'kanban'} {:else if trait === 'calendar'} {:else if trait === 'podcast'} {:else if trait === 'publishing'} {:else if trait === 'rss'} {:else if trait === 'recording'} {:else if trait === 'transcription'} {:else if trait === 'studio'} {:else if trait === 'mixer'} {:else if trait === 'mindmap'} {:else if trait === 'ai'} {:else if trait === 'usage'} {#if nodeId && accessToken} {/if} {/if} {:else} {/if} {/snippet}
{/if}