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 { ScriptBuilderChat } from '@/components/script-builder/ScriptBuilderChat'
|
||||||
import { ScriptBuilderInput } from '@/components/script-builder/ScriptBuilderInput'
|
import { ScriptBuilderInput } from '@/components/script-builder/ScriptBuilderInput'
|
||||||
import { ScriptPreviewModal } from '@/components/script-builder/ScriptPreviewModal'
|
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'
|
import type { ScriptBuilderSessionDetail, ScriptBuilderMessage } from '@/types'
|
||||||
|
|
||||||
const LANGUAGES = [
|
const LANGUAGES = [
|
||||||
@@ -112,7 +112,23 @@ export default function ScriptBuilderPage() {
|
|||||||
setShowSaveDialog(true)
|
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)
|
setShowSaveDialog(false)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -190,13 +206,14 @@ export default function ScriptBuilderPage() {
|
|||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{/* Save dialog */}
|
{/* Save panel */}
|
||||||
{showSaveDialog && session && (
|
{showSaveDialog && session && session.latest_script && (
|
||||||
<SaveToLibraryDialog
|
<ParameterizeAndSavePanel
|
||||||
sessionId={session.id}
|
scriptBody={session.latest_script}
|
||||||
|
language={session.language}
|
||||||
defaultName={defaultSaveName}
|
defaultName={defaultSaveName}
|
||||||
|
onSave={handleSaved}
|
||||||
onClose={() => setShowSaveDialog(false)}
|
onClose={() => setShowSaveDialog(false)}
|
||||||
onSaved={handleSaved}
|
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user