feat(persons): add confirm dialog to provisional confirm action
Confirming a provisional person was a one-click write — easy to fat-finger on a touchscreen and irreversible (the person disappears from the review list, with no obvious undo path). Mirror the destructive-delete pattern with a non-destructive confirm dialog (destructive: false) so the action requires a second deliberate click. New i18n keys (persons_review_confirm_confirm_title/text/button) added to all three locales (de, en, es). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -155,6 +155,9 @@
|
|||||||
"persons_review_delete_confirm_title": "Person löschen",
|
"persons_review_delete_confirm_title": "Person löschen",
|
||||||
"persons_review_delete_confirm_text": "Diese Person wird endgültig gelöscht. Dokumentverweise bleiben erhalten, verlieren aber diese Person.",
|
"persons_review_delete_confirm_text": "Diese Person wird endgültig gelöscht. Dokumentverweise bleiben erhalten, verlieren aber diese Person.",
|
||||||
"persons_review_delete_confirm_button": "Person löschen",
|
"persons_review_delete_confirm_button": "Person löschen",
|
||||||
|
"persons_review_confirm_confirm_title": "Person bestätigen",
|
||||||
|
"persons_review_confirm_confirm_text": "Diese Person wird als bestätigt markiert und erscheint nicht mehr in der Prüfliste.",
|
||||||
|
"persons_review_confirm_confirm_button": "Bestätigen",
|
||||||
"persons_review_merge_label": "Mit welcher Person zusammenführen?",
|
"persons_review_merge_label": "Mit welcher Person zusammenführen?",
|
||||||
"persons_field_first_name": "Vorname",
|
"persons_field_first_name": "Vorname",
|
||||||
"persons_field_last_name": "Nachname",
|
"persons_field_last_name": "Nachname",
|
||||||
|
|||||||
@@ -155,6 +155,9 @@
|
|||||||
"persons_review_delete_confirm_title": "Delete person",
|
"persons_review_delete_confirm_title": "Delete person",
|
||||||
"persons_review_delete_confirm_text": "This person will be permanently deleted. Document references are kept but lose this person.",
|
"persons_review_delete_confirm_text": "This person will be permanently deleted. Document references are kept but lose this person.",
|
||||||
"persons_review_delete_confirm_button": "Delete person",
|
"persons_review_delete_confirm_button": "Delete person",
|
||||||
|
"persons_review_confirm_confirm_title": "Confirm person",
|
||||||
|
"persons_review_confirm_confirm_text": "This person will be marked as confirmed and will no longer appear in the review list.",
|
||||||
|
"persons_review_confirm_confirm_button": "Confirm",
|
||||||
"persons_review_merge_label": "Merge into which person?",
|
"persons_review_merge_label": "Merge into which person?",
|
||||||
"persons_field_first_name": "First name",
|
"persons_field_first_name": "First name",
|
||||||
"persons_field_last_name": "Last name",
|
"persons_field_last_name": "Last name",
|
||||||
|
|||||||
@@ -155,6 +155,9 @@
|
|||||||
"persons_review_delete_confirm_title": "Eliminar persona",
|
"persons_review_delete_confirm_title": "Eliminar persona",
|
||||||
"persons_review_delete_confirm_text": "Esta persona se eliminará de forma permanente. Las referencias de documentos se conservan pero pierden a esta persona.",
|
"persons_review_delete_confirm_text": "Esta persona se eliminará de forma permanente. Las referencias de documentos se conservan pero pierden a esta persona.",
|
||||||
"persons_review_delete_confirm_button": "Eliminar persona",
|
"persons_review_delete_confirm_button": "Eliminar persona",
|
||||||
|
"persons_review_confirm_confirm_title": "Confirmar persona",
|
||||||
|
"persons_review_confirm_confirm_text": "Esta persona se marcará como confirmada y dejará de aparecer en la lista de revisión.",
|
||||||
|
"persons_review_confirm_confirm_button": "Confirmar",
|
||||||
"persons_review_merge_label": "¿Fusionar con qué persona?",
|
"persons_review_merge_label": "¿Fusionar con qué persona?",
|
||||||
"persons_field_first_name": "Nombre",
|
"persons_field_first_name": "Nombre",
|
||||||
"persons_field_last_name": "Apellido",
|
"persons_field_last_name": "Apellido",
|
||||||
|
|||||||
@@ -62,7 +62,19 @@ const deleteBtn =
|
|||||||
>
|
>
|
||||||
{m.persons_review_action_rename()}
|
{m.persons_review_action_rename()}
|
||||||
</button>
|
</button>
|
||||||
<form method="POST" action="?/confirm" use:enhance>
|
<form
|
||||||
|
method="POST"
|
||||||
|
action="?/confirm"
|
||||||
|
use:enhance={async ({ cancel }) => {
|
||||||
|
const ok = await confirm({
|
||||||
|
title: m.persons_review_confirm_confirm_title(),
|
||||||
|
body: m.persons_review_confirm_confirm_text(),
|
||||||
|
confirmLabel: m.persons_review_confirm_confirm_button(),
|
||||||
|
destructive: false
|
||||||
|
});
|
||||||
|
if (!ok) cancel();
|
||||||
|
}}
|
||||||
|
>
|
||||||
<input type="hidden" name="id" value={person.id} />
|
<input type="hidden" name="id" value={person.id} />
|
||||||
<button type="submit" class={actionBtn}>{m.persons_review_action_confirm()}</button>
|
<button type="submit" class={actionBtn}>{m.persons_review_action_confirm()}</button>
|
||||||
</form>
|
</form>
|
||||||
|
|||||||
Reference in New Issue
Block a user