move websocket connection logic into module

This commit is contained in:
Henry Jameson 2023-03-12 16:51:50 +02:00
commit ac32997f8b
2 changed files with 46 additions and 43 deletions

View file

@ -12,24 +12,7 @@ const SharedComputedObject = () => ({
this.$store.dispatch('setOption', { name: key, value })
}
}])
.reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {}),
// Special cases (need to transform values or perform actions first)
useStreamingApi: {
get () { return this.$store.getters.mergedConfig.useStreamingApi },
set (value) {
const promise = value
? this.$store.dispatch('enableMastoSockets')
: this.$store.dispatch('disableMastoSockets')
promise.then(() => {
this.$store.dispatch('setOption', { name: 'useStreamingApi', value })
}).catch((e) => {
console.error('Failed starting MastoAPI Streaming socket', e)
this.$store.dispatch('disableMastoSockets')
this.$store.dispatch('setOption', { name: 'useStreamingApi', value: false })
})
}
}
.reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {})
})
export default SharedComputedObject