From 2f50807556197b24d999c09f1643d1a21300f736 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;