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} /> )}