From 09f71a2dceb48505457254a4621c50f68bee72e3 Mon Sep 17 00:00:00 2001 From: Marcel Date: Wed, 29 Apr 2026 01:15:41 +0200 Subject: [PATCH] feat(person-mention): empty-state link to create the missing person MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Leonie #5507 §5 + ReqEng #5510 §3: when the typeahead returned zero results, the user was told their search failed and given no path to recovery. Mirror PersonTypeahead's behaviour: offer a "Neue Person anlegen →" link that opens /persons/new?name={query} in a new tab so the transcriber doesn't lose their in-progress block. Adds person_mention_create_new in de/en/es. Co-Authored-By: Claude Sonnet 4.6 --- frontend/messages/de.json | 1 + frontend/messages/en.json | 1 + frontend/messages/es.json | 1 + .../src/lib/components/PersonMentionEditor.svelte | 12 +++++++++++- 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/frontend/messages/de.json b/frontend/messages/de.json index 4129e77d..f1b189ce 100644 --- a/frontend/messages/de.json +++ b/frontend/messages/de.json @@ -425,6 +425,7 @@ "person_mention_load_error": "Person konnte nicht geladen werden.", "person_mention_popup_empty": "Keine Personen gefunden", "person_mention_btn_label": "Person verlinken", + "person_mention_create_new": "Neue Person anlegen", "page_title_home": "Archiv", "page_title_persons": "Personen", "page_title_admin": "Administration", diff --git a/frontend/messages/en.json b/frontend/messages/en.json index dfd8c1f3..02111802 100644 --- a/frontend/messages/en.json +++ b/frontend/messages/en.json @@ -425,6 +425,7 @@ "person_mention_load_error": "Could not load person.", "person_mention_popup_empty": "No persons found", "person_mention_btn_label": "Link person", + "person_mention_create_new": "Create new person", "page_title_home": "Archive", "page_title_persons": "Persons", "page_title_admin": "Administration", diff --git a/frontend/messages/es.json b/frontend/messages/es.json index 3f448de0..5d416017 100644 --- a/frontend/messages/es.json +++ b/frontend/messages/es.json @@ -425,6 +425,7 @@ "person_mention_load_error": "No se pudo cargar la persona.", "person_mention_popup_empty": "No se encontraron personas", "person_mention_btn_label": "Vincular persona", + "person_mention_create_new": "Crear nueva persona", "page_title_home": "Archivo", "page_title_persons": "Personas", "page_title_admin": "Administración", diff --git a/frontend/src/lib/components/PersonMentionEditor.svelte b/frontend/src/lib/components/PersonMentionEditor.svelte index 3034b3cb..df686334 100644 --- a/frontend/src/lib/components/PersonMentionEditor.svelte +++ b/frontend/src/lib/components/PersonMentionEditor.svelte @@ -217,7 +217,17 @@ const popupOpen = $derived(query !== null); {#if loading}

{m.comp_typeahead_loading()}

{:else if results.length === 0} -

{m.person_mention_popup_empty()}

+
+

{m.person_mention_popup_empty()}

+ + {m.person_mention_create_new()} → + +
{:else} {#each results as person, i (person.id)}