feat(falukant): add character visual representation and settings

- Introduced FalukantCharacterVisual component to display character portraits and 3D figures based on user settings.
- Updated DirectorInfo, ChurchView, PoliticsView, and other components to utilize the new character visual component.
- Added visual settings management for users, allowing selection between portrait styles and display modes (portraits, 3D, or both).
- Implemented age rules for engagement and marriage in the backend, ensuring compliance with specified age limits.
- Created a new settings view for Falukant to manage visual preferences.
- Added new images for medieval character portraits.
- Updated translations for new settings and features in multiple languages.
This commit is contained in:
Torsten Schulz (local)
2026-07-24 10:55:19 +02:00
parent a3f90772a7
commit 5ebcc581f9
36 changed files with 811 additions and 49 deletions

View File

@@ -80,6 +80,7 @@
:branchId="selectedBranch.id"
:vehicles="vehicles"
:branches="branches"
:visual-settings="visualSettings"
ref="directorInfo"
@transportCreated="handleTransportCreated"
/>
@@ -386,6 +387,10 @@ import BuyVehicleDialog from '@/dialogues/falukant/BuyVehicleDialog.vue';
import apiClient from '@/utils/axios.js';
import { mapState } from 'vuex';
import { showError, showSuccess, showApiError } from '@/utils/feedback.js';
import {
FALUKANT_VISUAL_DEFAULTS,
loadFalukantVisualSettings,
} from '@/utils/falukantVisualSettings.js';
const CERTIFICATE_PRODUCT_LEVELS = [
{ level: 1, products: ['fish', 'meat', 'leather', 'wood', 'stone', 'milk', 'cheese', 'bread', 'wheat', 'grain', 'carrot'] },
@@ -476,6 +481,7 @@ export default {
inDebtorsPrison: false
},
pendingBranchRefresh: null,
visualSettings: { ...FALUKANT_VISUAL_DEFAULTS },
};
},
@@ -528,6 +534,7 @@ export default {
},
async mounted() {
this.visualSettings = await loadFalukantVisualSettings(this.user?.id);
await this.loadBranches();
const branchId = this.$route.params.branchId;