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": "Collapse",
"expand": "Expand",
"userPlaceholder": "User",
"search": "Search modules...",
"noResults": "No modules found",
"categories": {
"label": "Categories",
"empty": "No modules"
@@ -171,5 +173,34 @@
"noResults": "Enter a domain name to check availability",
"checking": "Checking...",
"error": "Error checking domain"
},
"marketplace": {
"title": "Marketplace",
"subtitle": "Discover and activate modules for your tenant",
"activate": "Activate Module",
"deactivate": "Deactivate",
"searchPlaceholder": "Search modules...",
"statusAll": "All",
"statusActive": "Activated",
"statusAvailable": "Available",
"categoryAll": "All",
"emptyTitle": "No modules available yet",
"emptyBody": "Modules are provided by the system administrator. Check back later.",
"filteredEmptyTitle": "No results",
"filteredEmptyBody": "Try a different search term or adjust your filters.",
"errorLoad": "Could not load modules. Please reload the page.",
"toastActivated": "Module activated successfully",
"toastDeactivated": "Module deactivated successfully",
"toastActivateError": "Activation failed. Please try again.",
"toastDeactivateError": "Deactivation failed. Please try again.",
"deactivateDialogTitle": "Deactivate Module",
"deactivateDialogBody": "Do you want to deactivate {moduleName} for this tenant? The module will be removed from the sidebar.",
"deactivateDialogConfirm": "Deactivate",
"deactivateDialogCancel": "Cancel",
"tenantContextLabel": "Tenant Context",
"backToMarketplace": "Back to Marketplace",
"detailVersion": "Version {version}",
"detailStatusActive": "Activated for this tenant",
"detailStatusInactive": "Not activated"
}
}