aboutsummaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
authorlain <lain@soykaf.club>2019-06-18 20:28:31 +0000
committerShpuld Shpludson <shp@cock.li>2019-06-18 20:28:31 +0000
commit0eed2ccca8a0980c161bb5a52b211c507e0ffef5 (patch)
tree967230faa328d35db7459ad7126ccf5bf3e2ece1 /src/modules
parent69eff65130170c0cd8fffda45b952d3bec49c218 (diff)
Feature/polls attempt 2
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/api.js2
-rw-r--r--src/modules/instance.js10
-rw-r--r--src/modules/statuses.js16
3 files changed, 26 insertions, 2 deletions
diff --git a/src/modules/api.js b/src/modules/api.js
index 7ed3edac..d51b31f3 100644
--- a/src/modules/api.js
+++ b/src/modules/api.js
@@ -59,7 +59,7 @@ const api = {
// Set up websocket connection
if (!store.state.chatDisabled) {
const token = store.state.wsToken
- const socket = new Socket('/socket', {params: {token}})
+ const socket = new Socket('/socket', { params: { token } })
socket.connect()
store.dispatch('initializeChat', socket)
}
diff --git a/src/modules/instance.js b/src/modules/instance.js
index 59beb23c..22addb9b 100644
--- a/src/modules/instance.js
+++ b/src/modules/instance.js
@@ -52,7 +52,15 @@ const defaultState = {
// Version Information
backendVersion: '',
- frontendVersion: ''
+ frontendVersion: '',
+
+ pollsAvailable: false,
+ pollLimits: {
+ max_options: 4,
+ max_option_chars: 255,
+ min_expiration: 60,
+ max_expiration: 60 * 60 * 24
+ }
}
const instance = {
diff --git a/src/modules/statuses.js b/src/modules/statuses.js
index e6ee5447..5f09b8f5 100644
--- a/src/modules/statuses.js
+++ b/src/modules/statuses.js
@@ -494,6 +494,10 @@ export const mutations = {
const newStatus = state.allStatusesObject[id]
newStatus.favoritedBy = favoritedByUsers.filter(_ => _)
newStatus.rebloggedBy = rebloggedByUsers.filter(_ => _)
+ },
+ updateStatusWithPoll (state, { id, poll }) {
+ const status = state.allStatusesObject[id]
+ status.poll = poll
}
}
@@ -578,6 +582,18 @@ const statuses = {
]).then(([favoritedByUsers, rebloggedByUsers]) =>
commit('addFavsAndRepeats', { id, favoritedByUsers, rebloggedByUsers })
)
+ },
+ votePoll ({ rootState, commit }, { id, pollId, choices }) {
+ return rootState.api.backendInteractor.vote(pollId, choices).then(poll => {
+ commit('updateStatusWithPoll', { id, poll })
+ return poll
+ })
+ },
+ refreshPoll ({ rootState, commit }, { id, pollId }) {
+ return rootState.api.backendInteractor.fetchPoll(pollId).then(poll => {
+ commit('updateStatusWithPoll', { id, poll })
+ return poll
+ })
}
},
mutations