aboutsummaryrefslogtreecommitdiff
path: root/src/modules/users.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/users.js')
-rw-r--r--src/modules/users.js14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/modules/users.js b/src/modules/users.js
index 30f8dc27..a75271a4 100644
--- a/src/modules/users.js
+++ b/src/modules/users.js
@@ -1,6 +1,7 @@
import backendInteractorService from '../services/backend_interactor_service/backend_interactor_service.js'
import { compact, map, each, merge } from 'lodash'
import { set } from 'vue'
+import { Socket } from 'phoenix'
// TODO: Unify with mergeOrAdd in statuses.js
export const mergeOrAdd = (arr, obj, item) => {
@@ -19,6 +20,9 @@ export const mergeOrAdd = (arr, obj, item) => {
}
export const mutations = {
+ setSocket (state, socket) {
+ state.socket = socket
+ },
setMuted (state, { user: {id}, muted }) {
const user = state.usersObject[id]
set(user, 'muted', muted)
@@ -50,7 +54,8 @@ export const defaultState = {
currentUser: false,
loggingIn: false,
users: [],
- usersObject: {}
+ usersObject: {},
+ socket: null
}
const users = {
@@ -97,6 +102,13 @@ const users = {
// Set our new backend interactor
commit('setBackendInteractor', backendInteractorService(userCredentials))
+ if (user.token) {
+ // Set up websocket connection
+ let socket = new Socket('/socket', {params: {token: user.token}})
+ socket.connect()
+ store.commit('setSocket', socket)
+ }
+
// Start getting fresh tweets.
store.dispatch('startFetching', 'friends')