Abbrechen
Frist anlegen
diff --git a/frontend/src/i18n-keys.ts b/frontend/src/i18n-keys.ts
index ad85ce8..a2a4fdf 100644
--- a/frontend/src/i18n-keys.ts
+++ b/frontend/src/i18n-keys.ts
@@ -9,6 +9,46 @@
// `data-i18n*` attributes in TSX/TS sources.
export type I18nKey =
+ | "admin.approval_policies.bulk.cta"
+ | "admin.approval_policies.bulk.modal.applying"
+ | "admin.approval_policies.bulk.modal.body"
+ | "admin.approval_policies.bulk.modal.cancel"
+ | "admin.approval_policies.bulk.modal.confirm"
+ | "admin.approval_policies.bulk.modal.done"
+ | "admin.approval_policies.bulk.modal.targets_label"
+ | "admin.approval_policies.bulk.modal.title"
+ | "admin.approval_policies.bulk.modal.writes_label"
+ | "admin.approval_policies.bulk.no_descendants"
+ | "admin.approval_policies.cell.error_msg"
+ | "admin.approval_policies.cell.saved_msg"
+ | "admin.approval_policies.entity.appointment"
+ | "admin.approval_policies.entity.deadline"
+ | "admin.approval_policies.heading"
+ | "admin.approval_policies.lifecycle.complete"
+ | "admin.approval_policies.lifecycle.create"
+ | "admin.approval_policies.lifecycle.delete"
+ | "admin.approval_policies.lifecycle.update"
+ | "admin.approval_policies.loading"
+ | "admin.approval_policies.picker.label"
+ | "admin.approval_policies.picker.no_results"
+ | "admin.approval_policies.picker.placeholder"
+ | "admin.approval_policies.role.associate"
+ | "admin.approval_policies.role.no_rule"
+ | "admin.approval_policies.role.none"
+ | "admin.approval_policies.role.of_counsel"
+ | "admin.approval_policies.role.pa"
+ | "admin.approval_policies.role.partner"
+ | "admin.approval_policies.role.senior_pa"
+ | "admin.approval_policies.section.projects"
+ | "admin.approval_policies.section.projects.hint"
+ | "admin.approval_policies.section.units"
+ | "admin.approval_policies.section.units.hint"
+ | "admin.approval_policies.source.ancestor"
+ | "admin.approval_policies.source.project"
+ | "admin.approval_policies.source.unit_default"
+ | "admin.approval_policies.subtitle"
+ | "admin.approval_policies.title"
+ | "admin.approval_policies.units.empty"
| "admin.audit.col.actor"
| "admin.audit.col.description"
| "admin.audit.col.event"
@@ -59,6 +99,8 @@ export type I18nKey =
| "admin.broadcasts.loading"
| "admin.broadcasts.subtitle"
| "admin.broadcasts.title"
+ | "admin.card.approval_policies.desc"
+ | "admin.card.approval_policies.title"
| "admin.card.audit.desc"
| "admin.card.audit.title"
| "admin.card.broadcasts.desc"
@@ -335,6 +377,7 @@ export type I18nKey =
| "appointments.filter.to"
| "appointments.filter.type"
| "appointments.filter.type.all"
+ | "appointments.form.approval_hint"
| "appointments.kalender.empty"
| "appointments.kalender.heading"
| "appointments.kalender.list"
@@ -785,6 +828,7 @@ export type I18nKey =
| "deadlines.flag.inf_amend"
| "deadlines.flag.rev_amend"
| "deadlines.flag.rev_cci"
+ | "deadlines.form.approval_hint"
| "deadlines.heading"
| "deadlines.kalender.empty"
| "deadlines.kalender.heading"
@@ -1165,6 +1209,9 @@ export type I18nKey =
| "glossar.suggest.success"
| "glossar.suggest.title"
| "glossar.title"
+ | "inbox.empty.admin_nudge.body"
+ | "inbox.empty.admin_nudge.cta"
+ | "inbox.empty.admin_nudge.title"
| "index.checklisten.desc"
| "index.checklisten.title"
| "index.cost.desc"
diff --git a/frontend/src/inbox.tsx b/frontend/src/inbox.tsx
index 4eeb6ea..66a4ab4 100644
--- a/frontend/src/inbox.tsx
+++ b/frontend/src/inbox.tsx
@@ -49,6 +49,21 @@ export function renderInbox(): string {
Lädt …
+
+ {/* t-paliad-154 — admin-only nudge surfaced when:
+ - the user is global_admin
+ - the inbox is empty (no pending / mine)
+ - no approval_policies row exists firm-wide
+ Hidden in all other cases. Wires via /api/admin/approval-policies/seeded. */}
+