feat: implement dynamic sidebar with server-side menu translation

- Add server-side translation for menu labels using user's preferred_language
- Replace hardcoded sidebar template with dynamic rendering from menu API
- Remove hardcoded section/page mappings in favor of menu discovery
- Fix locale file structure (move menu keys to top level to avoid double-nesting)
- Sidebar now fully driven by /admin/menu-config/render/admin API endpoint

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-04 22:18:27 +01:00
parent 6b7f385a1d
commit 334b28e5b5
13 changed files with 232 additions and 274 deletions

View File

@@ -1,4 +1,12 @@
{
"menu": {
"marketplace": "Marktplatz",
"letzshop": "Letzshop",
"products_inventory": "Produkte & Inventar",
"marketplace_import": "Marktplatz Import",
"sales_orders": "Verkäufe & Bestellungen",
"letzshop_orders": "Letzshop Bestellungen"
},
"marketplace": {
"title": "Marktplatz",
"import": "Importieren",

View File

@@ -1,4 +1,12 @@
{
"menu": {
"marketplace": "Marketplace",
"letzshop": "Letzshop",
"products_inventory": "Products & Inventory",
"marketplace_import": "Marketplace Import",
"sales_orders": "Sales & Orders",
"letzshop_orders": "Letzshop Orders"
},
"marketplace": {
"title": "Marketplace",
"import": "Import",

View File

@@ -1,4 +1,12 @@
{
"menu": {
"marketplace": "Marketplace",
"letzshop": "Letzshop",
"products_inventory": "Produits et Inventaire",
"marketplace_import": "Import Marketplace",
"sales_orders": "Ventes et Commandes",
"letzshop_orders": "Commandes Letzshop"
},
"marketplace": {
"title": "Marketplace",
"import": "Importer",

View File

@@ -1,4 +1,12 @@
{
"menu": {
"marketplace": "Marchéplaz",
"letzshop": "Letzshop",
"products_inventory": "Produkter & Inventar",
"marketplace_import": "Marchéplaz Import",
"sales_orders": "Verkaf & Bestellungen",
"letzshop_orders": "Letzshop Bestellungen"
},
"marketplace": {
"title": "Marchéplaz",
"import": "Import",