diff --git a/src/pages/CscPageDashboard.vue b/src/pages/CscPageDashboard.vue index 6f1f0ff3..91325cfd 100644 --- a/src/pages/CscPageDashboard.vue +++ b/src/pages/CscPageDashboard.vue @@ -55,6 +55,7 @@ import { callIconColor, callIcon } from 'src/helpers/call-utils' +import { mapState } from 'vuex' export default { name: 'CscPageDashboard', components: { @@ -74,6 +75,22 @@ export default { registeredDevicesError: false } }, + computed: { + ...mapState('call', [ + 'callEnabled' + ]) + }, + watch: { + async callEnabled () { + try { + const registeredDevices = await this.getRegisteredDevicesData() + this.manageDevicesData(registeredDevices) + } catch (err) { + this.registeredDevicesError = true + showGlobalError(err.message) + } + } + }, mounted () { this.loadDatas() }, @@ -130,12 +147,13 @@ export default { } }, manageDevicesData (devices) { - if (devices.status === 'rejected') { + if (devices?.status === 'rejected') { this.registeredDevicesError = true showGlobalError(devices?.reason?.data?.message) } else { - this.registeredDevicesCount = devices.value.totalCount - this.registeredDevicesItems = devices.value.items.map((item) => { + const registeredDevices = devices?.value || devices + this.registeredDevicesCount = registeredDevices.totalCount + this.registeredDevicesItems = registeredDevices.items.map((item) => { return { id: item.id, icon: { name: 'devices', color: 'primary' },