From e2f4a24f759b917d3c7c1ca0b8347312785a03e5 Mon Sep 17 00:00:00 2001 From: Max Richter Date: Mon, 20 Apr 2026 21:34:24 +0200 Subject: [PATCH] fix(planty): make sure config is completely static --- app/src/lib/tutorial/tutorial-config.ts | 7 +------ app/src/routes/+page.svelte | 6 ++++++ packages/planty/src/lib/components/Planty.svelte | 8 ++++++-- packages/planty/src/lib/types.ts | 2 +- 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/app/src/lib/tutorial/tutorial-config.ts b/app/src/lib/tutorial/tutorial-config.ts index e930e4c..34c445c 100644 --- a/app/src/lib/tutorial/tutorial-config.ts +++ b/app/src/lib/tutorial/tutorial-config.ts @@ -125,12 +125,7 @@ export const tutorialConfig: PlantyConfig = { choices: [ { label: '🔍 Explore Node Sourcecode', - onclick: () => { - window.open( - 'https://git.max-richter.dev/max/nodarium/src/branch/main/nodes/max/plantarium', - '__blank' - ); - } + action: 'open-github-nodes' } ], next: 'tour_viewer_nerd' diff --git a/app/src/routes/+page.svelte b/app/src/routes/+page.svelte index afc710b..3759bd0 100644 --- a/app/src/routes/+page.svelte +++ b/app/src/routes/+page.svelte @@ -184,6 +184,12 @@ pm.graph = g; pm.saveGraph(g); graphInterface.state.centerNode(graphInterface.manager.getAllNodes()[0]); + }, + 'open-github-nodes': () => { + window.open( + 'https://github.com/jim-fx/nodarium/tree/main/nodes/max/plantarium', + '__blank' + ); } }} hooks={{ diff --git a/packages/planty/src/lib/components/Planty.svelte b/packages/planty/src/lib/components/Planty.svelte index 49e74b6..fb59bcf 100644 --- a/packages/planty/src/lib/components/Planty.svelte +++ b/packages/planty/src/lib/components/Planty.svelte @@ -200,8 +200,12 @@ onClose={stop} onChoose={async (choice) => { await _runAfter(currentNodeId!, currentNode); - if (choice && choice.onclick) { - choice.onclick(); + if (choice && choice.action) { + if (choice.action in actions) { + actions[choice.action](); + } else { + console.warn(`Planty: No action found for ${choice.action}`); + } return; } if (!choice.next) { diff --git a/packages/planty/src/lib/types.ts b/packages/planty/src/lib/types.ts index d23405c..c692b02 100644 --- a/packages/planty/src/lib/types.ts +++ b/packages/planty/src/lib/types.ts @@ -34,7 +34,7 @@ export interface DialogNode { export interface Choice { label: string; next?: string | null; - onclick?: () => void; + action?: string; } export interface PlantyConfig {