mirror of
https://github.com/christianvidalwolf-prog/Craze-Data-check.git
synced 2026-08-03 14:55:24 +02:00
Add confirmation to Gemini actions in EditPanel
This commit is contained in:
@@ -32,6 +32,7 @@ export function EditPanel({ row, rowIndex, onSave, onClose, onCaptureState }: Ed
|
||||
const [loadingField, setLoadingField] = useState<string | null>(null);
|
||||
const [error, setError] = useState<string | null>(null);
|
||||
const [isConfirmOpen, setIsConfirmOpen] = useState(false);
|
||||
const [pendingGeminiField, setPendingGeminiField] = useState<keyof typeof formData | null>(null);
|
||||
|
||||
const isModified = (field: keyof typeof formData) => {
|
||||
const colMap: Record<string, number> = {
|
||||
@@ -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
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<ConfirmModal
|
||||
isOpen={isConfirmOpen}
|
||||
onConfirm={handleSave}
|
||||
@@ -271,6 +278,16 @@ export function EditPanel({ row, rowIndex, onSave, onClose, onCaptureState }: Ed
|
||||
type="info"
|
||||
confirmText="Save changes"
|
||||
/>
|
||||
|
||||
<ConfirmModal
|
||||
isOpen={!!pendingGeminiField}
|
||||
onConfirm={executeGenerate}
|
||||
onCancel={() => 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"
|
||||
/>
|
||||
</div>
|
||||
</>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user