From 818c8fbdf9fa5f18d0df037da26901b3a3587b8f Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Wed, 28 Jan 2026 14:47:20 +0100 Subject: [PATCH] Implement own position highlighting in PoliticsView: Add functionality to load and display the user's own character ID, enhancing the UI by highlighting positions associated with the user. Update styles for better visibility of own positions in the table. --- frontend/src/views/falukant/PoliticsView.vue | 27 +++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/frontend/src/views/falukant/PoliticsView.vue b/frontend/src/views/falukant/PoliticsView.vue index 2303524..d7cc6e7 100644 --- a/frontend/src/views/falukant/PoliticsView.vue +++ b/frontend/src/views/falukant/PoliticsView.vue @@ -23,7 +23,7 @@ - + {{ $t(`falukant.politics.offices.${pos.officeType.name}`) }} {{ pos.region.name }} @@ -193,6 +193,7 @@ export default { elections: [], selectedCandidates: {}, selectedApplications: [], + ownCharacterId: null, loading: { current: false, openPolitics: false, @@ -210,6 +211,7 @@ export default { } }, mounted() { + this.loadOwnCharacterId(); this.loadCurrentPositions(); }, methods: { @@ -330,6 +332,24 @@ export default { }); }, + async loadOwnCharacterId() { + try { + const { data } = await apiClient.get('/api/falukant/info'); + if (data.character && data.character.id) { + this.ownCharacterId = data.character.id; + } + } catch (err) { + console.error('Error loading own character ID', err); + } + }, + + isOwnPosition(pos) { + if (!this.ownCharacterId || !pos.character) { + return false; + } + return pos.character.id === this.ownCharacterId; + }, + async submitApplications() { try { const response = await apiClient.post( @@ -411,6 +431,11 @@ h2 { border: 1px solid #ddd; } +.politics-table tbody tr.own-position { + background-color: #e0e0e0; + font-weight: bold; +} + .loading { text-align: center; font-style: italic;