feat(04-03): upgrade BudgetListPage with PageShell, locale-aware months, skeleton, and i18n labels

- Replace hardcoded MONTHS array with Intl.DateTimeFormat locale-aware monthItems useMemo
- Update budgetLabel helper to accept locale parameter and use Intl.DateTimeFormat
- Replace null loading state with PageShell + Skeleton rows
- Replace manual header with PageShell title and action prop
- Replace hardcoded 'Month'/'Year' Labels with t('budgets.month')/t('budgets.year')
- Add month/year/total keys to en.json and de.json budgets namespace
This commit is contained in:
2026-03-17 16:20:02 +01:00
parent f166f1ac5e
commit 89dd3ded74
3 changed files with 280 additions and 2 deletions

View File

@@ -61,7 +61,10 @@
"notes": "Notizen",
"addItem": "Eintrag hinzufügen",
"empty": "Noch keine Budgets. Erstelle dein erstes Monatsbudget.",
"deleteConfirm": "Bist du sicher, dass du dieses Budget löschen möchtest?"
"deleteConfirm": "Bist du sicher, dass du dieses Budget löschen möchtest?",
"month": "Monat",
"year": "Jahr",
"total": "{{label}} Gesamt"
},
"dashboard": {
"title": "Dashboard",

View File

@@ -61,7 +61,10 @@
"notes": "Notes",
"addItem": "Add Item",
"empty": "No budgets yet. Create your first monthly budget.",
"deleteConfirm": "Are you sure you want to delete this budget?"
"deleteConfirm": "Are you sure you want to delete this budget?",
"month": "Month",
"year": "Year",
"total": "{{label}} Total"
},
"dashboard": {
"title": "Dashboard",