6dc93195770718d467a2b03bf78934eacf126e21
1 import { createApp
} from
'vue'
2 import ToastPlugin from
'vue-toast-notification'
3 import type { ConfigurationData
, ResponsePayload
} from
'@/types'
4 import { router
} from
'@/router'
5 import { UIClient
} from
'@/composables'
6 import App from
'@/App.vue'
7 import 'vue-toast-notification/dist/theme-bootstrap.css'
9 const initializeApp
= (config
: ConfigurationData
) => {
10 const app
= createApp(App
)
11 app
.config
.errorHandler
= (error
, instance
, info
) => {
12 console
.error('Error:', error
)
13 console
.info('Vue instance:', instance
)
14 console
.info('Error info:', info
)
15 // TODO: add code for UI notifications or other error handling logic
17 app
.config
.globalProperties
.$configuration
= config
18 app
.config
.globalProperties
.$chargingStations
= []
19 app
.config
.globalProperties
.$uiClient
= UIClient
.getInstance(
20 app
.config
.globalProperties
.$configuration
.uiServer
22 app
.config
.globalProperties
.$uiClient
.registerWSEventListener('open', () => {
23 app
.config
.globalProperties
.$uiClient
24 .listChargingStations()
25 .then((response
: ResponsePayload
) => {
26 app
.config
.globalProperties
.$chargingStations
= response
.chargingStations
28 .catch((error
: Error) => {
29 // TODO: add code for UI notifications or other error handling logic
30 console
.error('Error at fetching charging stations:', error
)
33 app
.use(router
).use(ToastPlugin
).mount('#app')
41 // TODO: add code for UI notifications or other error handling logic
42 console
.error('Failed to fetch app configuration')
51 // TODO: add code for UI notifications or other error handling logic
52 console
.error('Error at initializing app:', error
)
56 // TODO: add code for UI notifications or other error handling logic
57 console
.error('Error at deserializing JSON app configuration:', error
)
61 // TODO: add code for UI notifications or other error handling logic
62 console
.error('Error at fetching app configuration:', error
)