From da71cd6ca4258715bcaddd4a34053107c7d397b9 Mon Sep 17 00:00:00 2001 From: chihlasm Date: Sun, 29 Mar 2026 05:53:49 +0000 Subject: [PATCH] feat: wire ParameterizeAndSavePanel into ScriptBuilderPage Replace SaveToLibraryDialog with the new panel that includes parameter detection, review, and template rewriting before saving to library. Co-Authored-By: Claude Opus 4.6 (1M context) --- frontend/src/pages/ScriptBuilderPage.tsx | 31 ++++++++++++++++++------ 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/frontend/src/pages/ScriptBuilderPage.tsx b/frontend/src/pages/ScriptBuilderPage.tsx index ccc48ded..31ae7aff 100644 --- a/frontend/src/pages/ScriptBuilderPage.tsx +++ b/frontend/src/pages/ScriptBuilderPage.tsx @@ -6,7 +6,7 @@ import { scriptBuilderApi } from '@/api' import { ScriptBuilderChat } from '@/components/script-builder/ScriptBuilderChat' import { ScriptBuilderInput } from '@/components/script-builder/ScriptBuilderInput' import { ScriptPreviewModal } from '@/components/script-builder/ScriptPreviewModal' -import { SaveToLibraryDialog } from '@/components/script-builder/SaveToLibraryDialog' +import { ParameterizeAndSavePanel } from '@/components/scripts/ParameterizeAndSavePanel' import type { ScriptBuilderSessionDetail, ScriptBuilderMessage } from '@/types' const LANGUAGES = [ @@ -112,7 +112,23 @@ export default function ScriptBuilderPage() { setShowSaveDialog(true) } - const handleSaved = () => { + const handleSaved = async (payload: { + name: string + description: string | undefined + category_id: string | undefined + share_with_team: boolean + script_body: string + parameters_schema: { parameters: import('@/types').ScriptParameter[] } + }) => { + if (!session) return + await scriptBuilderApi.saveToLibrary(session.id, { + name: payload.name, + description: payload.description, + category_id: payload.category_id, + share_with_team: payload.share_with_team, + script_body: payload.script_body, + parameters_schema: payload.parameters_schema, + }) setShowSaveDialog(false) } @@ -190,13 +206,14 @@ export default function ScriptBuilderPage() { /> )} - {/* Save dialog */} - {showSaveDialog && session && ( - setShowSaveDialog(false)} - onSaved={handleSaved} /> )}