diff --git a/src/store/firebase.js b/src/store/firebase.js index b27f3cb73c31ed54bee9c518adfc3ac0cb2133dd..59e3aaf1fc4474ffd521e095001a16317f15b5f3 100644 --- a/src/store/firebase.js +++ b/src/store/firebase.js @@ -8,7 +8,8 @@ const state = { messages: {}, friends: {}, pending: {}, - signals: {1: {lat: 51.234100, lng: -0.570409, details: 'WAOW', type: 'Fight Breakout'}} + signals: {}, + latestSignalKey: null } const mutations = { @@ -47,7 +48,9 @@ const mutations = { }, // Adds a signal in 'signals' object addSignal(state, payload) { - state.signals[payload.signalId] = payload.signalDetails + let signalId = Object.keys(payload)[0] + state.signals[signalId] = payload[signalId] + state.latestSignalKey = signalId } } @@ -101,6 +104,7 @@ const actions = { }) }) dispatch('firebaseGetFriends', userId) + dispatch('firebaseGetSignals') // Handle online status firebaseDb.ref('.info/connected').on('value', (snap) => { @@ -202,7 +206,25 @@ const actions = { }, firebaseSendSignal({ state, commit }, payload) { + let signal = payload + signal['lat'] = state.center.lat + signal['lng'] = state.center.lng + let signalRef = firebaseDb.ref('signals/').push(signal) + + let newSignal = {} + newSignal[signalRef.key] = signal + + commit('addSignal', newSignal) + }, + + firebaseGetSignals({ commit }) { + firebaseDb.ref('signals/').on('child_added', snapshot => { + let signal = {} + signal[snapshot.key] = snapshot.val() + commit('addSignal', signal) + }) + }, firebaseSavePosition({ state, commit }, payload) {