diff --git a/frontend/messages/de.json b/frontend/messages/de.json index e8af8a25..727995da 100644 --- a/frontend/messages/de.json +++ b/frontend/messages/de.json @@ -703,6 +703,7 @@ "error_invite_exhausted": "Dieser Einladungslink wurde bereits vollständig verwendet.", "error_invite_revoked": "Dieser Einladungslink wurde deaktiviert.", "error_invite_expired": "Dieser Einladungslink ist abgelaufen.", + "error_group_has_active_invites": "Diese Gruppe kann nicht gelöscht werden, da sie in einer aktiven Einladung verwendet wird.", "register_heading": "Konto erstellen", "register_subtext": "Du wurdest eingeladen, dem Familienarchiv beizutreten.", "register_label_first_name": "Vorname", @@ -762,6 +763,8 @@ "admin_new_invite_prefill_last": "Nachname vorausfüllen (optional)", "admin_new_invite_prefill_email": "E-Mail vorausfüllen (optional)", "admin_new_invite_expires": "Ablaufdatum (optional)", + "admin_new_invite_groups": "Gruppen (optional)", + "admin_invite_groups_load_error": "Gruppen konnten nicht geladen werden. Die Einladung kann ohne Gruppenauswahl erstellt werden.", "admin_invite_created_title": "Einladung erstellt", "admin_invite_created_desc": "Teile diesen Link mit der einzuladenden Person:", "admin_invite_revoke_confirm": "Einladung wirklich widerrufen?", diff --git a/frontend/messages/en.json b/frontend/messages/en.json index e448d26c..7bbc2ad2 100644 --- a/frontend/messages/en.json +++ b/frontend/messages/en.json @@ -703,6 +703,7 @@ "error_invite_exhausted": "This invite link has already been fully used.", "error_invite_revoked": "This invite link has been deactivated.", "error_invite_expired": "This invite link has expired.", + "error_group_has_active_invites": "This group cannot be deleted because it is referenced by one or more active invite links.", "register_heading": "Create account", "register_subtext": "You've been invited to join Familienarchiv.", "register_label_first_name": "First name", @@ -762,6 +763,8 @@ "admin_new_invite_prefill_last": "Pre-fill last name (optional)", "admin_new_invite_prefill_email": "Pre-fill email (optional)", "admin_new_invite_expires": "Expiry date (optional)", + "admin_new_invite_groups": "Groups (optional)", + "admin_invite_groups_load_error": "Groups could not be loaded. The invite can still be created without group assignment.", "admin_invite_created_title": "Invite created", "admin_invite_created_desc": "Share this link with the person you are inviting:", "admin_invite_revoke_confirm": "Really revoke this invite?", diff --git a/frontend/messages/es.json b/frontend/messages/es.json index f8f576b8..aa5516d1 100644 --- a/frontend/messages/es.json +++ b/frontend/messages/es.json @@ -703,6 +703,7 @@ "error_invite_exhausted": "Este enlace de invitación ya ha sido completamente utilizado.", "error_invite_revoked": "Este enlace de invitación ha sido desactivado.", "error_invite_expired": "Este enlace de invitación ha expirado.", + "error_group_has_active_invites": "Este grupo no puede eliminarse porque está referenciado por uno o más enlaces de invitación activos.", "register_heading": "Crear cuenta", "register_subtext": "Has sido invitado a unirte al Familienarchiv.", "register_label_first_name": "Nombre", @@ -762,6 +763,8 @@ "admin_new_invite_prefill_last": "Prellenar apellido (opcional)", "admin_new_invite_prefill_email": "Prellenar correo (opcional)", "admin_new_invite_expires": "Fecha de vencimiento (opcional)", + "admin_new_invite_groups": "Grupos (opcional)", + "admin_invite_groups_load_error": "No se pudieron cargar los grupos. La invitación puede crearse sin asignar grupos.", "admin_invite_created_title": "Invitación creada", "admin_invite_created_desc": "Comparte este enlace con la persona invitada:", "admin_invite_revoke_confirm": "¿Realmente revocar esta invitación?", diff --git a/frontend/src/lib/shared/errors.ts b/frontend/src/lib/shared/errors.ts index cbb137c2..011be07e 100644 --- a/frontend/src/lib/shared/errors.ts +++ b/frontend/src/lib/shared/errors.ts @@ -22,6 +22,7 @@ export type ErrorCode = | 'INVITE_EXHAUSTED' | 'INVITE_REVOKED' | 'INVITE_EXPIRED' + | 'GROUP_HAS_ACTIVE_INVITES' | 'ANNOTATION_NOT_FOUND' | 'ANNOTATION_UPDATE_FAILED' | 'TRANSCRIPTION_BLOCK_NOT_FOUND' @@ -108,6 +109,8 @@ export function getErrorMessage(code: ErrorCode | string | undefined): string { return m.error_invite_revoked(); case 'INVITE_EXPIRED': return m.error_invite_expired(); + case 'GROUP_HAS_ACTIVE_INVITES': + return m.error_group_has_active_invites(); case 'ANNOTATION_NOT_FOUND': return m.error_annotation_not_found(); case 'ANNOTATION_UPDATE_FAILED':