feat(04-01): implement MarketplaceCard component and marketplace i18n namespace

- Add marketplace namespace to de.json and en.json with all copywriting contract strings
- Add sidebar.search and sidebar.noResults i18n keys
- Create MarketplaceCard with icon, name, localized description, category badge,
  status badge (role="status"), and activate/deactivate button
- All 5 unit tests pass (GREEN phase)
This commit is contained in:
2026-06-22 14:47:53 +02:00
parent a64f889251
commit 1e494b36ea
3 changed files with 203 additions and 0 deletions
+31
View File
@@ -81,6 +81,8 @@
"collapse": "Einklappen",
"expand": "Ausklappen",
"userPlaceholder": "Benutzer",
"search": "Module suchen...",
"noResults": "Keine Module gefunden",
"categories": {
"label": "Kategorien",
"empty": "Keine Module"
@@ -171,5 +173,34 @@
"noResults": "Gib einen Domain-Namen ein um die Verfuegbarkeit zu pruefen",
"checking": "Pruefe...",
"error": "Fehler bei der Pruefung"
},
"marketplace": {
"title": "Marktplatz",
"subtitle": "Entdecken und aktivieren Sie Module fuer Ihren Mandanten",
"activate": "Modul aktivieren",
"deactivate": "Deaktivieren",
"searchPlaceholder": "Module suchen...",
"statusAll": "Alle",
"statusActive": "Aktiviert",
"statusAvailable": "Verfuegbar",
"categoryAll": "Alle",
"emptyTitle": "Noch keine Module verfuegbar",
"emptyBody": "Module werden vom Systemadministrator bereitgestellt. Schauen Sie spaeter noch einmal vorbei.",
"filteredEmptyTitle": "Keine Ergebnisse",
"filteredEmptyBody": "Versuchen Sie einen anderen Suchbegriff oder aendern Sie die Filter.",
"errorLoad": "Module konnten nicht geladen werden. Bitte laden Sie die Seite neu.",
"toastActivated": "Modul erfolgreich aktiviert",
"toastDeactivated": "Modul erfolgreich deaktiviert",
"toastActivateError": "Aktivierung fehlgeschlagen. Bitte versuchen Sie es erneut.",
"toastDeactivateError": "Deaktivierung fehlgeschlagen. Bitte versuchen Sie es erneut.",
"deactivateDialogTitle": "Modul deaktivieren",
"deactivateDialogBody": "Moechten Sie {moduleName} fuer diesen Mandanten deaktivieren? Das Modul wird aus der Seitenleiste entfernt.",
"deactivateDialogConfirm": "Deaktivieren",
"deactivateDialogCancel": "Abbrechen",
"tenantContextLabel": "Mandanten-Kontext",
"backToMarketplace": "Zurueck zum Marktplatz",
"detailVersion": "Version {version}",
"detailStatusActive": "Aktiviert fuer diesen Mandanten",
"detailStatusInactive": "Nicht aktiviert"
}
}