feat(political-office): enhance political office benefits and salary computation

- Added a new hierarchyLevel field to PoliticalOfficeType for better categorization of political roles.
- Updated computePoliticalDailySalaryPayout function to incorporate hierarchy level in salary calculations, allowing for more dynamic salary adjustments based on office rank.
- Modified SQL scripts to reflect changes in political office benefits, ensuring compatibility with the new salary structure.
- Enhanced localization files to support updated benefit descriptions and salary formats across multiple languages.
- Improved UI components to display the new salary calculations and benefits accurately in the PoliticsView.
This commit is contained in:
Torsten Schulz (local)
2026-04-02 16:49:18 +02:00
parent 59fe467e33
commit 87eba6a71b
17 changed files with 233 additions and 53 deletions

View File

@@ -576,7 +576,7 @@
"voteAllError": "Error while submitting the votes",
"applyError": "Application could not be submitted.",
"benefits": {
"daily_salary": "Daily office stipend (once per day): about {amount}",
"daily_salary": "Daily office stipend (once per day): {amount}",
"tax_exemption": "Tax exemption: {regions}",
"tax_exemption_all": "Tax exemption: all regional levels",
"reputation_periodic": "+{gain} reputation every {days} days (office bonus)",

View File

@@ -746,6 +746,8 @@
"reviewPriorityTitle": "Review is mixed in step by step",
"reviewPriorityIntro": "The focus starts on the new terms of this lesson. As you progress, older vocabulary is gradually mixed in.",
"exerciseLockTitle": "Chapter test still locked",
"exerciseUnlockHintTrainerCore": "The chapter test unlocks when all three conditions are met: at least {newTarget} questions on new content (see “New content”), about {attempts} trainer questions in total, and a success rate of at least {rate}%.",
"exerciseUnlockHintTrainerMixSuffix": "Older vocabulary is mixed in gradually.",
"trainerStartWithReview": "Start with the new vocabulary from this lesson. As you practice, the trainer will automatically mix in fitting review items.",
"startLesson": "Start lesson",
"trainerProgressNewContent": "New content: {current}/{target}",