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:
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user