diff --git a/frontend/src/components/falukant/StatusBar.vue b/frontend/src/components/falukant/StatusBar.vue index 4130ca3..edeb363 100644 --- a/frontend/src/components/falukant/StatusBar.vue +++ b/frontend/src/components/falukant/StatusBar.vue @@ -108,15 +108,15 @@ export default { if (this.socket) { this.socket.on('falukantUpdateStatus', (data) => { console.log('πŸ“¨ StatusBar: falukantUpdateStatus empfangen:', data); - this.fetchStatus(); + this.handleEvent({ event: 'falukantUpdateStatus', ...data }); }); this.socket.on('stock_change', (data) => { console.log('πŸ“¨ StatusBar: stock_change empfangen:', data); - this.fetchStatus(); + this.handleEvent({ event: 'stock_change', ...data }); }); this.socket.on('familychanged', (data) => { console.log('πŸ“¨ StatusBar: familychanged empfangen:', data); - this.fetchStatus(); + this.handleEvent({ event: 'familychanged', ...data }); }); console.log('βœ… StatusBar: Socket.io Events registriert'); } else { @@ -124,6 +124,18 @@ export default { setTimeout(() => this.setupSocketEvents(), 1000); } }, + handleEvent(eventData) { + console.log('πŸ”„ StatusBar: handleEvent aufgerufen mit:', eventData); + switch (eventData.event) { + case 'falukantUpdateStatus': + case 'stock_change': + case 'familychanged': + this.loadStatus(); + break; + default: + console.log('⚠️ StatusBar: Unbekanntes Event:', eventData.event); + } + }, openPage(url, hasSubmenu = false) { if (hasSubmenu) { return; diff --git a/frontend/src/views/falukant/BankView.vue b/frontend/src/views/falukant/BankView.vue index aa9edfc..1bb43fd 100644 --- a/frontend/src/views/falukant/BankView.vue +++ b/frontend/src/views/falukant/BankView.vue @@ -134,7 +134,7 @@ export default { if (this.socket) { this.socket.on('falukantUpdateStatus', (data) => { console.log('πŸ“¨ BankView: falukantUpdateStatus empfangen:', data); - this.loadBankOverview(); + this.handleEvent({ event: 'falukantUpdateStatus', ...data }); }); console.log('βœ… BankView: Socket.io Events registriert'); } else { @@ -142,6 +142,16 @@ export default { setTimeout(() => this.setupSocketEvents(), 1000); } }, + handleEvent(eventData) { + console.log('πŸ”„ BankView: handleEvent aufgerufen mit:', eventData); + switch (eventData.event) { + case 'falukantUpdateStatus': + this.loadBankOverview(); + break; + default: + console.log('⚠️ BankView: Unbekanntes Event:', eventData.event); + } + }, async loadBankOverview() { try { const { data } = await apiClient.get('/api/falukant/bank/overview'); diff --git a/frontend/src/views/falukant/BranchView.vue b/frontend/src/views/falukant/BranchView.vue index 2c3d3c0..47bc9f0 100644 --- a/frontend/src/views/falukant/BranchView.vue +++ b/frontend/src/views/falukant/BranchView.vue @@ -112,13 +112,11 @@ export default { if (this.socket) { this.socket.on('falukantBranchUpdate', (data) => { console.log('πŸ“¨ BranchView: falukantBranchUpdate empfangen:', data); - this.loadBranches(); - this.loadProducts(); + this.handleEvent({ event: 'falukantBranchUpdate', ...data }); }); this.socket.on('falukantUpdateStatus', (data) => { console.log('πŸ“¨ BranchView: falukantUpdateStatus empfangen:', data); - this.loadBranches(); - this.loadProducts(); + this.handleEvent({ event: 'falukantUpdateStatus', ...data }); }); console.log('βœ… BranchView: Socket.io Events registriert'); } else { diff --git a/frontend/src/views/falukant/DirectorView.vue b/frontend/src/views/falukant/DirectorView.vue index 940d81c..d7be517 100644 --- a/frontend/src/views/falukant/DirectorView.vue +++ b/frontend/src/views/falukant/DirectorView.vue @@ -108,7 +108,7 @@ export default { if (this.socket) { this.socket.on('falukantUpdateStatus', (data) => { console.log('πŸ“¨ DirectorView: falukantUpdateStatus empfangen:', data); - this.loadDirectors(); + this.handleEvent({ event: 'falukantUpdateStatus', ...data }); }); console.log('βœ… DirectorView: Socket.io Events registriert'); } else { @@ -116,6 +116,16 @@ export default { setTimeout(() => this.setupSocketEvents(), 1000); } }, + handleEvent(eventData) { + console.log('πŸ”„ DirectorView: handleEvent aufgerufen mit:', eventData); + switch (eventData.event) { + case 'falukantUpdateStatus': + this.loadDirectors(); + break; + default: + console.log('⚠️ DirectorView: Unbekanntes Event:', eventData.event); + } + }, async loadDirectors() { try { const { data } = await apiClient.get('/api/falukant/directors'); diff --git a/frontend/src/views/falukant/FamilyView.vue b/frontend/src/views/falukant/FamilyView.vue index 1eb380f..d5e63b7 100644 --- a/frontend/src/views/falukant/FamilyView.vue +++ b/frontend/src/views/falukant/FamilyView.vue @@ -208,11 +208,11 @@ export default { if (this.socket) { this.socket.on('falukantUpdateStatus', (data) => { console.log('πŸ“¨ FamilyView: falukantUpdateStatus empfangen:', data); - this.loadFamilyData(); + this.handleEvent({ event: 'falukantUpdateStatus', ...data }); }); this.socket.on('familychanged', (data) => { console.log('πŸ“¨ FamilyView: familychanged empfangen:', data); - this.loadFamilyData(); + this.handleEvent({ event: 'familychanged', ...data }); }); console.log('βœ… FamilyView: Socket.io Events registriert'); } else { @@ -220,6 +220,17 @@ export default { setTimeout(() => this.setupSocketEvents(), 1000); } }, + handleEvent(eventData) { + console.log('πŸ”„ FamilyView: handleEvent aufgerufen mit:', eventData); + switch (eventData.event) { + case 'falukantUpdateStatus': + case 'familychanged': + this.loadFamilyData(); + break; + default: + console.log('⚠️ FamilyView: Unbekanntes Event:', eventData.event); + } + }, async loadFamilyData() { try { const response = await apiClient.get('/api/falukant/family'); diff --git a/frontend/src/views/falukant/HealthView.vue b/frontend/src/views/falukant/HealthView.vue index 6dc7beb..2cd46e7 100644 --- a/frontend/src/views/falukant/HealthView.vue +++ b/frontend/src/views/falukant/HealthView.vue @@ -99,7 +99,7 @@ export default { if (this.socket) { this.socket.on('falukantUpdateStatus', (data) => { console.log('πŸ“¨ HealthView: falukantUpdateStatus empfangen:', data); - this.loadHealthData(); + this.handleEvent({ event: 'falukantUpdateStatus', ...data }); }); console.log('βœ… HealthView: Socket.io Events registriert'); } else { @@ -107,6 +107,16 @@ export default { setTimeout(() => this.setupSocketEvents(), 1000); } }, + handleEvent(eventData) { + console.log('πŸ”„ HealthView: handleEvent aufgerufen mit:', eventData); + switch (eventData.event) { + case 'falukantUpdateStatus': + this.loadHealthData(); + break; + default: + console.log('⚠️ HealthView: Unbekanntes Event:', eventData.event); + } + }, async loadHealthData() { try { const { data } = await apiClient.get('/api/falukant/health'); diff --git a/frontend/src/views/falukant/HouseView.vue b/frontend/src/views/falukant/HouseView.vue index 259d3b0..986c6cd 100644 --- a/frontend/src/views/falukant/HouseView.vue +++ b/frontend/src/views/falukant/HouseView.vue @@ -203,17 +203,28 @@ export default { if (this.socket) { this.socket.on('falukantHouseUpdate', (data) => { console.log('πŸ“¨ HouseView: falukantHouseUpdate empfangen:', data); - this.loadData(); + this.handleEvent({ event: 'falukantHouseUpdate', ...data }); }); this.socket.on('falukantUpdateStatus', (data) => { console.log('πŸ“¨ HouseView: falukantUpdateStatus empfangen:', data); - this.loadData(); + this.handleEvent({ event: 'falukantUpdateStatus', ...data }); }); console.log('βœ… HouseView: Socket.io Events registriert'); } else { console.log('⚠️ HouseView: Socket.io noch nicht verfΓΌgbar'); setTimeout(() => this.setupSocketEvents(), 1000); } + }, + handleEvent(eventData) { + console.log('πŸ”„ HouseView: handleEvent aufgerufen mit:', eventData); + switch (eventData.event) { + case 'falukantUpdateStatus': + case 'falukantHouseUpdate': + this.loadData(); + break; + default: + console.log('⚠️ HouseView: Unbekanntes Event:', eventData.event); + } } } }; diff --git a/frontend/src/views/falukant/NobilityView.vue b/frontend/src/views/falukant/NobilityView.vue index 8a2075b..9085106 100644 --- a/frontend/src/views/falukant/NobilityView.vue +++ b/frontend/src/views/falukant/NobilityView.vue @@ -84,7 +84,7 @@ if (this.socket) { this.socket.on('falukantUpdateStatus', (data) => { console.log('πŸ“¨ NobilityView: falukantUpdateStatus empfangen:', data); - this.loadNobility(); + this.handleEvent({ event: 'falukantUpdateStatus', ...data }); }); console.log('βœ… NobilityView: Socket.io Events registriert'); } else { @@ -92,6 +92,16 @@ setTimeout(() => this.setupSocketEvents(), 1000); } }, + handleEvent(eventData) { + console.log('πŸ”„ NobilityView: handleEvent aufgerufen mit:', eventData); + switch (eventData.event) { + case 'falukantUpdateStatus': + this.loadNobility(); + break; + default: + console.log('⚠️ NobilityView: Unbekanntes Event:', eventData.event); + } + }, async loadNobility() { try { const { data } = await apiClient.get('/api/falukant/nobility'); diff --git a/frontend/src/views/falukant/OverviewView.vue b/frontend/src/views/falukant/OverviewView.vue index 2bd1f5e..c3e3903 100644 --- a/frontend/src/views/falukant/OverviewView.vue +++ b/frontend/src/views/falukant/OverviewView.vue @@ -232,11 +232,11 @@ export default { this.socket.on("production_ready", this.handleProductionReadyEvent); this.socket.on("falukantUpdateStatus", (data) => { console.log('πŸ“¨ FalukantOverviewView: falukantUpdateStatus empfangen:', data); - this.fetchFalukantUser(); + this.handleEvent({ event: 'falukantUpdateStatus', ...data }); }); this.socket.on("falukantBranchUpdate", (data) => { console.log('πŸ“¨ FalukantOverviewView: falukantBranchUpdate empfangen:', data); - this.fetchFalukantUser(); + this.handleEvent({ event: 'falukantBranchUpdate', ...data }); }); console.log('βœ… FalukantOverviewView: Socket.io Events registriert'); } else { @@ -247,6 +247,17 @@ export default { }, 1000); } }, + handleEvent(eventData) { + console.log('πŸ”„ FalukantOverviewView: handleEvent aufgerufen mit:', eventData); + switch (eventData.event) { + case 'falukantUpdateStatus': + case 'falukantBranchUpdate': + this.fetchFalukantUser(); + break; + default: + console.log('⚠️ FalukantOverviewView: Unbekanntes Event:', eventData.event); + } + }, getAgeGroup(age) { if (age <= 1) return "0-1"; if (age <= 3) return "2-3";