diff options
| author | lain <lain@soykaf.club> | 2019-06-18 20:28:31 +0000 |
|---|---|---|
| committer | Shpuld Shpludson <shp@cock.li> | 2019-06-18 20:28:31 +0000 |
| commit | 0eed2ccca8a0980c161bb5a52b211c507e0ffef5 (patch) | |
| tree | 967230faa328d35db7459ad7126ccf5bf3e2ece1 /src/modules | |
| parent | 69eff65130170c0cd8fffda45b952d3bec49c218 (diff) | |
Feature/polls attempt 2
Diffstat (limited to 'src/modules')
| -rw-r--r-- | src/modules/api.js | 2 | ||||
| -rw-r--r-- | src/modules/instance.js | 10 | ||||
| -rw-r--r-- | src/modules/statuses.js | 16 |
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 |
