chore(drawer): close consolidation gaps after three-consumer rollout

Loose ends surfaced by comparing the three drawer consumers side by side:

- Core i18n was missing `Open full page`, `Loading`, `Failed to load` —
  admin/users showed English strings in the German UI because those labels
  resolve from core, not module catalogs.
- Helpdesk tickets page config did not pass drawer labels; the JS fell back
  to its hard-coded English defaults. Labels now wired via `t(...)`.
- CLAUDE.md notes the `fetchUrl` single-expression convention (required so
  the architecture test can statically locate the fragment path) and
  documents the `onContentLoaded` hook for module-specific runtime
  (helpdesk's async communication feed uses it).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-22 17:25:07 +02:00
parent 22966fdacf
commit f793f5d493
4 changed files with 14 additions and 1 deletions

View File

@@ -351,6 +351,12 @@ $searchConfig = is_array($searchConfig ?? null) ? $searchConfig : null;
'support' => t('Support'),
'created' => t('Created'),
'lastActivity' => t('Last activity'),
'drawerClose' => t('Close'),
'drawerPrev' => t('Previous'),
'drawerNext' => t('Next'),
'drawerOpenFull' => t('Open full page'),
'drawerLoading' => t('Loading'),
'drawerError' => t('Failed to load'),
],
'gridSearch' => $searchConfig,
'filterSchema' => $clientFilterSchema,