feat(falukant): add political office catalog feature and localization updates
All checks were successful
Deploy to production / deploy (push) Successful in 2m52s

- Implemented the `getPoliticalOfficeCatalog` method in FalukantService to retrieve available political offices and their prerequisites based on user eligibility.
- Updated FalukantController and FalukantRouter to include a new endpoint for accessing the political office catalog.
- Enhanced PoliticsView component to display the list of political offices, including their details and application eligibility.
- Added localization entries for the new offices tab in both German and English, improving user experience and accessibility.
This commit is contained in:
Torsten Schulz (local)
2026-04-15 15:30:24 +02:00
parent 7b4c9a0b1c
commit 95ea6336b7
6 changed files with 161 additions and 0 deletions

View File

@@ -1452,6 +1452,7 @@
"tabs": {
"current": "Aktuelle Position",
"powers": "Amtsbefugnisse",
"offices": "Alle Ämter",
"upcoming": "Anstehende Neuwahl-Positionen",
"elections": "Wahlen"
},
@@ -1530,6 +1531,21 @@
"minAgeHint": "Kandidatur erst ab 16 Jahren möglich.",
"ageRequirement": "Für alle politischen Ämter gilt: Kandidatur erst ab 16 Jahren."
},
"officesTab": {
"loadError": "Ämterliste konnte nicht geladen werden.",
"none": "Keine Ämter gefunden.",
"ageRequirement": "Hier siehst du alle Ämter mit ihren Voraussetzungen. Bewerbungen sind erst ab 16 Jahren möglich.",
"seatsPerRegion": "Sitze pro Region",
"termLengthDays": "Amtsdauer (Tage)",
"prerequisites": "Voraussetzungen",
"noPrerequisites": "Keine (Einstiegsamt)",
"canApplyNow": "Bewerbung aktuell möglich",
"yes": "Ja",
"no": "Nein",
"blockedByAge": "Mindestalter nicht erreicht",
"blockedByTitle": "Standesvoraussetzung nicht erfüllt",
"blockedByPrerequisites": "Vorherige Ämter fehlen"
},
"too_young": "Dein Charakter ist noch zu jung. Eine Bewerbung ist erst ab 16 Jahren möglich.",
"upcoming": {
"office": "Amt",

View File

@@ -658,6 +658,7 @@
"tabs": {
"current": "Current Position",
"powers": "Office powers",
"offices": "All offices",
"upcoming": "Upcoming Positions",
"elections": "Elections"
},
@@ -736,6 +737,21 @@
"minAgeHint": "Candidacy is only possible from age 16.",
"ageRequirement": "All political offices require candidates to be at least 16 years old."
},
"officesTab": {
"loadError": "Could not load office list.",
"none": "No offices found.",
"ageRequirement": "This tab lists all offices and their prerequisites. Applications are only possible from age 16.",
"seatsPerRegion": "Seats per region",
"termLengthDays": "Term length (days)",
"prerequisites": "Prerequisites",
"noPrerequisites": "None (entry office)",
"canApplyNow": "Can apply now",
"yes": "Yes",
"no": "No",
"blockedByAge": "Minimum age not met",
"blockedByTitle": "Title requirement not met",
"blockedByPrerequisites": "Required prior offices missing"
},
"too_young": "Your character is too young. Applications are only possible from age 16.",
"upcoming": {
"office": "Office",