feat(political-benefits): implement political powers and benefits system
All checks were successful
Deploy to production / deploy (push) Successful in 3m3s

- Added new political powers and benefits functionalities, including reputation ticks, tax jurisdiction management, and appointment capabilities.
- Introduced a new job for periodic reputation updates and created necessary database tables for tracking political benefits.
- Enhanced the FalukantController and services to support new endpoints for managing political powers and appointments.
- Updated localization files to reflect new features and improve user experience across multiple languages.
- Modified the UI to display new political powers and benefits, ensuring accurate representation in the PoliticsView.
This commit is contained in:
Torsten Schulz (local)
2026-04-02 16:00:29 +02:00
parent 5d06d97737
commit 56be4b76c0
19 changed files with 1572 additions and 2 deletions

View File

@@ -427,6 +427,7 @@
"title": "Politika",
"tabs": {
"current": "Karon nga posisyon",
"powers": "Katungod sa opisina",
"upcoming": "Umaabot nga mga posisyon",
"elections": "Mga eleksiyon"
},
@@ -452,6 +453,27 @@
"court_immunity": "Limitado nga immune sa korte sa opisina",
"generic": "Benepisyo ({code})"
},
"powers": {
"none": "Ang imong mga opisina karon walay dugang katungod (buhis, pagtudlo, libre nga slot).",
"loadError": "Dili makarga ang mga katungod sa opisina.",
"freeLoversTitle": "Mga affair (opisina)",
"freeLoversHint": "Adunay ka {count} ka political nga affair slot nga walay bulan nga gasto (tan-awa Pamilya → Affairs).",
"reputationTitle": "Reputasyon (awtomatiko)",
"reputationLine": "{office}: sunod nga bonus mga {days} ka adlaw (+{gain} reputasyon).",
"taxTitle": "Mga rate sa buhis sa rehiyon",
"taxRange": "Gitugotan: {min}% hangtod {max}%.",
"taxSave": "I-save",
"taxSaved": "Na-save ang rate sa buhis.",
"taxError": "Dili ma-save ang rate sa buhis.",
"appointTitle": "Mga pagtudlo",
"appointSlot": "Bakante nga opisina",
"appointPick": "— pilia ang opisina —",
"appointSearch": "Pangitaa ang mga magdula (ngalan o username)",
"appointSelected": "Gipili: {name}",
"appointSubmit": "Itudlo",
"appointSuccess": "Natuman ang pagtudlo.",
"appointError": "Napakyas ang pagtudlo."
},
"regionLevels": {
"city": "Siyudad",
"county": "County",
@@ -482,6 +504,53 @@
"partner": "Kapikas ug kasal",
"children": "Mga anak",
"lovers": "Mga affair"
},
"lovers": {
"title": "Mga minyog gawas ug mga paborito",
"none": "Walay mga affair karon.",
"age": "Edad",
"affection": "Pagmahal",
"visibility": "Klaro ba",
"discretion": "Diskreto",
"maintenance": "Suporta bulanan",
"monthlyCost": "Gasto kada bulan",
"politicalFreeSlotsHint": "Ang mga politikal nga opisina naghatag og {count} ka affair slot nga walay bulan nga suporta (ang barato nga relasyon una).",
"politicalFreeMaintenance": "Opisina (libre)",
"statusFit": "Angay sa kahimtang",
"acknowledged": "Giila",
"underfunded": "{count} ka bulan kulang ang suporta",
"role": {
"secret_affair": "Tago nga relasyon",
"lover": "Kasintahan",
"mistress_or_favorite": "Mistress o paborito"
},
"risk": {
"low": "Ubos nga risgo",
"medium": "Tunga-tunga nga risgo",
"high": "Taas nga risgo"
},
"actions": {
"start": "Sugdi ang affair",
"startSuccess": "Nagsugod na ang bag-ong affair.",
"startError": "Dili masugdan ang affair.",
"maintenanceLow": "Suporta 25",
"maintenanceMedium": "Suporta 50",
"maintenanceHigh": "Suporta 75",
"maintenanceSuccess": "Na-update ang suporta.",
"maintenanceError": "Dili ma-update ang suporta.",
"acknowledge": "Iila",
"acknowledgeSuccess": "Giila na ang relasyon.",
"acknowledgeError": "Dili ma-ila ang relasyon.",
"end": "Hunongon",
"endConfirm": "Hunongon ba gyud kini nga relasyon?",
"endSuccess": "Nahunong na ang relasyon.",
"endError": "Dili mahunong ang relasyon."
},
"candidates": {
"title": "Posible nga mga affair",
"roleLabel": "Porma sa relasyon",
"none": "Walay angay nga bag-ong affair karon."
}
}
},
"church": {