import {useRef, useState} from 'react' import {Upload} from 'lucide-react' export function CloudFormationCreatePanel({isSubmitting, submitError, onCancel, onSubmit}: {isSubmitting: boolean; submitError: string | null; onCancel: () => void; onSubmit: (values: Record) => void}) { const [stackName, setStackName] = useState('') const [templateBody, setTemplateBody] = useState('') const [templateUrl, setTemplateUrl] = useState('') const [parameters, setParameters] = useState('{}') const [capabilities, setCapabilities] = useState('') const [fileName, setFileName] = useState(null) const [fileError, setFileError] = useState(null) const fileInput = useRef(null) async function loadTemplate(file?: File) { if (!file) return if (!/\.(json|ya?ml)$/i.test(file.name)) { setFileError('Choose a JSON, YAML, or YML template file.') return } setTemplateBody(await file.text()) setFileName(file.name) setFileError(null) } const hasTemplate = Boolean(templateBody.trim() || templateUrl.trim()) return
{ event.preventDefault(); if (hasTemplate) onSubmit({stackName, templateBody, templateUrl, parameters, capabilities}) }}>