diff --git a/frontend/src/lib/components/traits/WebViewerTrait.svelte b/frontend/src/lib/components/traits/WebViewerTrait.svelte new file mode 100644 index 0000000..6bad73b --- /dev/null +++ b/frontend/src/lib/components/traits/WebViewerTrait.svelte @@ -0,0 +1,173 @@ + + +
+ +
+ + + + + +
+ + +
+ {#each bookmarks as bm (bm.url)} + + {/each} +
+ + + {#if url} + + {:else} +
+

Skriv inn en URL eller velg et bokmerke

+
+ {/if} +
+ + diff --git a/frontend/src/lib/workspace/types.ts b/frontend/src/lib/workspace/types.ts index 6f0a34b..c17a959 100644 --- a/frontend/src/lib/workspace/types.ts +++ b/frontend/src/lib/workspace/types.ts @@ -58,6 +58,7 @@ export const TRAIT_PANEL_INFO: Record = { mindmap: { title: 'Tankekart', icon: '🧠', defaultWidth: 600, defaultHeight: 500 }, ai: { title: 'AI-verktøy', icon: '🤖', defaultWidth: 420, defaultHeight: 500 }, node_explorer: { title: 'Nodeutforsker', icon: '🔍', defaultWidth: 600, defaultHeight: 500 }, + web: { title: 'Nettleser', icon: '🌐', defaultWidth: 700, defaultHeight: 500 }, usage: { title: 'Ressursforbruk', icon: '📊', defaultWidth: 380, defaultHeight: 350 }, storyboard: { title: 'Storyboard', icon: '🎬', defaultWidth: 500, defaultHeight: 450 }, }; diff --git a/frontend/src/routes/+page.svelte b/frontend/src/routes/+page.svelte index bde329a..e0f4972 100644 --- a/frontend/src/routes/+page.svelte +++ b/frontend/src/routes/+page.svelte @@ -43,6 +43,7 @@ import AiToolPanel from '$lib/components/AiToolPanel.svelte'; import NodeUsage from '$lib/components/NodeUsage.svelte'; import NodeExplorerTrait from '$lib/components/traits/NodeExplorerTrait.svelte'; + import WebViewerTrait from '$lib/components/traits/WebViewerTrait.svelte'; import { createBlockReceiver, executeTransfer, resolveTransferMode, type DragPayload } from '$lib/transfer'; import type { BlockReceiver } from '$lib/components/blockshell/types'; @@ -308,7 +309,7 @@ const knownTraits = new Set([ 'editor', 'chat', 'kanban', 'podcast', 'publishing', 'rss', 'calendar', 'recording', 'transcription', 'studio', 'mixer', 'mindmap', - 'ai', 'usage', 'node_explorer' + 'ai', 'usage', 'node_explorer', 'web' ]); // ========================================================================= @@ -403,6 +404,7 @@
{#each [ ['node_explorer', '🔍', 'Nodeutforsker'], + ['web', '🌐', 'Nettleser'], ['usage', '📊', 'Forbruk'], ['ai', '🤖', 'AI-verktøy'], ] as [key, icon, label] (key)} @@ -486,6 +488,8 @@ {/if} {:else if panel.trait === 'node_explorer'} + {:else if panel.trait === 'web'} + {/if} {:else} @@ -554,6 +558,8 @@ {/if} {:else if trait === 'node_explorer'} + {:else if trait === 'web'} + {/if} {:else}