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) <noreply@anthropic.com>
This commit is contained in:
@@ -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 && (
|
||||
<SaveToLibraryDialog
|
||||
sessionId={session.id}
|
||||
{/* Save panel */}
|
||||
{showSaveDialog && session && session.latest_script && (
|
||||
<ParameterizeAndSavePanel
|
||||
scriptBody={session.latest_script}
|
||||
language={session.language}
|
||||
defaultName={defaultSaveName}
|
||||
onSave={handleSaved}
|
||||
onClose={() => setShowSaveDialog(false)}
|
||||
onSaved={handleSaved}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user