From f3a61091c7b84f0e219ad28ee5fb0455dc2b98ca Mon Sep 17 00:00:00 2001 From: Lars Date: Sat, 11 Apr 2026 14:54:53 +0200 Subject: [PATCH] fix: Import confirmation UX - two-step process MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Admin-Prompts Import hatte unklare Abbrechen-Logik: - Nutzer erwartete: Abbrechen = Import komplett abbrechen - Vorher: Abbrechen = overwrite=false, Import lief weiter Lösung: Zwei-Schritt-Bestätigung 1. "X Prompts importieren?" → Abbrechen = kompletter Abbruch 2. "Existierende überschreiben?" → Abbrechen = nur neue importieren UX: Klare Trennung zwischen "Import abbrechen" und "Modus wählen" Co-Authored-By: Claude Opus 4.6 --- frontend/src/pages/AdminPromptsPage.jsx | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/frontend/src/pages/AdminPromptsPage.jsx b/frontend/src/pages/AdminPromptsPage.jsx index f4c5845..66b7edf 100644 --- a/frontend/src/pages/AdminPromptsPage.jsx +++ b/frontend/src/pages/AdminPromptsPage.jsx @@ -202,11 +202,25 @@ export default function AdminPromptsPage() { const text = await file.text() const data = JSON.parse(text) - // Ask user about overwrite + // Two-step confirmation for clarity + // Step 1: Confirm import + const shouldImport = confirm( + `${data.count || 0} Prompts importieren?\n\n` + + 'OK = Fortfahren\n' + + 'Abbrechen = Import abbrechen' + ) + + if (!shouldImport) { + setImporting(false) + event.target.value = '' + return + } + + // Step 2: Ask about overwrite const overwrite = confirm( - 'Bestehende Prompts überschreiben?\n\n' + - 'JA = Existierende Prompts aktualisieren\n' + - 'NEIN = Nur neue Prompts erstellen, Duplikate überspringen' + 'Existierende Prompts überschreiben?\n\n' + + 'OK = Ja, bestehende Prompts aktualisieren\n' + + 'Abbrechen = Nein, nur neue Prompts erstellen' ) const result = await api.importPrompts(data, overwrite)