aboutsummaryrefslogtreecommitdiff
path: root/src/modules/api.js
diff options
context:
space:
mode:
authoreal <eal@waifu.club>2017-12-07 17:08:20 +0000
committereal <eal@waifu.club>2017-12-07 17:08:20 +0000
commit63d29eab3f0e399e8a3b1bbfa35f1717715ffc63 (patch)
treebc0884dff5f19fc69d0248dca141f0f5f6d5eba0 /src/modules/api.js
parentbf7b5a7105e6543411d83ba126dab6b00955c98c (diff)
parentecb8acb155a77092b0661854b0ca4cf3c19ff56e (diff)
Merge branch 'feature/chat' into 'develop'
Feature/chat See merge request pleroma/pleroma-fe!182
Diffstat (limited to 'src/modules/api.js')
-rw-r--r--src/modules/api.js22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/modules/api.js b/src/modules/api.js
index e61382eb..c91fb97b 100644
--- a/src/modules/api.js
+++ b/src/modules/api.js
@@ -1,10 +1,13 @@
import backendInteractorService from '../services/backend_interactor_service/backend_interactor_service.js'
import {isArray} from 'lodash'
+import { Socket } from 'phoenix'
const api = {
state: {
backendInteractor: backendInteractorService(),
- fetchers: {}
+ fetchers: {},
+ socket: null,
+ chatDisabled: false
},
mutations: {
setBackendInteractor (state, backendInteractor) {
@@ -15,6 +18,12 @@ const api = {
},
removeFetcher (state, {timeline}) {
delete state.fetchers[timeline]
+ },
+ setSocket (state, socket) {
+ state.socket = socket
+ },
+ setChatDisabled (state, value) {
+ state.chatDisabled = value
}
},
actions: {
@@ -37,6 +46,17 @@ const api = {
const fetcher = store.state.fetchers[timeline]
window.clearInterval(fetcher)
store.commit('removeFetcher', {timeline})
+ },
+ initializeSocket (store, token) {
+ // Set up websocket connection
+ if (!store.state.chatDisabled) {
+ let socket = new Socket('/socket', {params: {token: token}})
+ socket.connect()
+ store.dispatch('initializeChat', socket)
+ }
+ },
+ disableChat (store) {
+ store.commit('setChatDisabled', true)
}
}
}