diff --git a/src/components/EditPanel.tsx b/src/components/EditPanel.tsx index 08bfe55..27644c5 100644 --- a/src/components/EditPanel.tsx +++ b/src/components/EditPanel.tsx @@ -32,6 +32,7 @@ export function EditPanel({ row, rowIndex, onSave, onClose, onCaptureState }: Ed const [loadingField, setLoadingField] = useState(null); const [error, setError] = useState(null); const [isConfirmOpen, setIsConfirmOpen] = useState(false); + const [pendingGeminiField, setPendingGeminiField] = useState(null); const isModified = (field: keyof typeof formData) => { const colMap: Record = { @@ -52,6 +53,13 @@ export function EditPanel({ row, rowIndex, onSave, onClose, onCaptureState }: Ed }; const handleGenerate = async (field: keyof typeof formData) => { + setPendingGeminiField(field); + }; + + const executeGenerate = async () => { + if (!pendingGeminiField) return; + const field = pendingGeminiField; + setPendingGeminiField(null); setLoadingField(field); setError(null); @@ -261,7 +269,6 @@ export function EditPanel({ row, rowIndex, onSave, onClose, onCaptureState }: Ed Save to Memory - + + setPendingGeminiField(null)} + title="Confirm AI Action" + message={`Are you sure you want to use Gemini to ${((pendingGeminiField === 'longEn' && formData.longDe) || (pendingGeminiField === 'shortEn' && formData.shortDe)) ? 'translate' : 'generate'} the ${pendingGeminiField} field?`} + type="info" + confirmText="Start Generation" + /> );