d0c427bf38036ff3bb30743e691a73cc02637110
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
)
34 app
.use(router
).use(ToastPlugin
).mount('#app')
40 .then(response
=> response
.json())
42 console
.error('Error at fetching app configuration:', error
)
49 console
.error('Error at initializing app:', error
)