diff --git a/frontend/src/views/falukant/FamilyView.vue b/frontend/src/views/falukant/FamilyView.vue
index 10e9551..aa427d5 100644
--- a/frontend/src/views/falukant/FamilyView.vue
+++ b/frontend/src/views/falukant/FamilyView.vue
@@ -568,6 +568,13 @@
{{ $t('falukant.family.lovers.candidates.none') }}
+
+
{{ $t('falukant.family.lovers.overview.title') }}
+
+ {{ $t('falukant.family.lovers.overview.forYourStand', { stand: ownLoverStandLabel }) }}
+
+
{{ ownLoverEffectsText }}
+
@@ -691,6 +698,18 @@ export default {
}
return this.$t('falukant.family.summary.noPartner');
},
+ ownLoverStandLabel() {
+ if (!this.ownCharacter) return '';
+ const t = this.ownCharacter.nobleTitle || this.ownCharacter.titleOfNobility || this.ownCharacter.noble_title || null;
+ const cat = this.getTitleGroup(t);
+ return this.$t('falukant.family.lovers.overview.' + cat + '.label');
+ },
+ ownLoverEffectsText() {
+ if (!this.ownCharacter) return '';
+ const t = this.ownCharacter.nobleTitle || this.ownCharacter.titleOfNobility || this.ownCharacter.noble_title || null;
+ const cat = this.getTitleGroup(t);
+ return this.$t('falukant.family.lovers.overview.' + cat + '.effects');
+ },
},
watch: {
socket(newVal, oldVal) {
@@ -1159,6 +1178,18 @@ export default {
}
},
+ getTitleGroup(title) {
+ if (!title) return 'mid';
+ const t = String(title).toLowerCase();
+ const low = ['noncivil', 'civil', 'sir'];
+ const mid = ['townlord', 'by', 'landlord'];
+ const high = ['knight', 'baron', 'count', 'palsgrave', 'margrave', 'landgrave', 'ruler', 'elector', 'imperial-prince', 'duke', 'grand-duke', 'prince-regent', 'king'];
+ if (low.includes(t)) return 'low';
+ if (mid.includes(t)) return 'mid';
+ if (high.includes(t)) return 'high';
+ return 'mid';
+ },
+
progressColor(p) {
const pct = this.normalizeWooingProgress(p) / 100;
const red = Math.round(255 * (1 - pct));