Enhance StatusBar and daemon connection management

- Added image preloading for quick access in StatusBar component
- Implemented a watcher to reload images when the menu changes
- Introduced a delay before sending 'setUserId' to ensure daemon readiness
- Improved logging for WebSocket close events and errors
This commit is contained in:
Torsten Schulz (local)
2025-11-17 16:19:43 +01:00
parent d13fe19198
commit d8b1efc3ca
2 changed files with 76 additions and 5 deletions

View File

@@ -54,9 +54,21 @@ export default {
...mapState(["socket", "daemonSocket"]),
...mapGetters(['menu']),
},
watch: {
// Wenn sich das Menü ändert, lade die Bilder neu
'menu.falukant': {
handler() {
this.preloadQuickAccessImages();
},
deep: true
}
},
async mounted() {
await this.fetchStatus();
// Bilder für Schnellzugriff vorladen und cachen
this.preloadQuickAccessImages();
// Live-Socket-Events
["falukantUpdateStatus", "stock_change", "familychanged"].forEach(eventName => {
if (this.daemonSocket) {
@@ -77,6 +89,32 @@ export default {
// Daemon WebSocket wird automatisch beim Logout geschlossen
},
methods: {
preloadQuickAccessImages() {
// Lade alle Schnellzugriffs-Bilder vor, damit sie gecacht werden
if (this.menu.falukant && this.menu.falukant.children) {
Object.keys(this.menu.falukant.children).forEach(key => {
const img = new Image();
img.src = `/images/icons/falukant/shortmap/${key}.png`;
});
}
// Lade auch andere häufig verwendete Bilder vor
const commonImages = [
'/images/icons/falukant/messages24.png',
'/images/icons/falukant/age.png',
// Relationship-Bilder vorladen
'/images/icons/falukant/relationship-engaged.png',
'/images/icons/falukant/relationship-wooing.png',
'/images/icons/falukant/relationship-married.png',
'/images/icons/falukant/relationship-widow.png',
'/images/icons/falukant/relationship-.png'
];
commonImages.forEach(src => {
const img = new Image();
img.src = src;
});
},
async fetchStatus() {
try {
const response = await apiClient.get("/api/falukant/info");