aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJiayi Zheng <thebluber@gmail.com>2016-11-13 17:09:16 +0100
committerJiayi Zheng <thebluber@gmail.com>2016-11-13 17:09:16 +0100
commit11125abeeba1e945461ac5d1708e89cac7bf0714 (patch)
tree6913fafe918cf8b5196cb21b891855b8585618df /src
parent242ae8e91b1586aee185873b2f2d10bb52495ef3 (diff)
Implement retweet action
Diffstat (limited to 'src')
-rw-r--r--src/components/retweet_button/retweet_button.js3
-rw-r--r--src/components/retweet_button/retweet_button.vue2
-rw-r--r--src/modules/statuses.js9
3 files changed, 13 insertions, 1 deletions
diff --git a/src/components/retweet_button/retweet_button.js b/src/components/retweet_button/retweet_button.js
index 42da2531..e7318dc5 100644
--- a/src/components/retweet_button/retweet_button.js
+++ b/src/components/retweet_button/retweet_button.js
@@ -2,6 +2,9 @@ const RetweetButton = {
props: [ 'status' ],
methods: {
retweet () {
+ if (!this.status.repeated) {
+ this.$store.dispatch('retweet', {id: this.status.id})
+ }
}
},
computed: {
diff --git a/src/components/retweet_button/retweet_button.vue b/src/components/retweet_button/retweet_button.vue
index ed5cb935..ec94356a 100644
--- a/src/components/retweet_button/retweet_button.vue
+++ b/src/components/retweet_button/retweet_button.vue
@@ -1,6 +1,6 @@
<template>
<div>
- <i :class='classes' class='icon-retweet fa' v-on:click.prevent=''></i>
+ <i :class='classes' class='icon-retweet fa' v-on:click.prevent='retweet()'></i>
<span v-if='status.repeat_num > 0'>{{status.repeat_num}}</span>
</div>
</template>
diff --git a/src/modules/statuses.js b/src/modules/statuses.js
index cc5e296c..8238644d 100644
--- a/src/modules/statuses.js
+++ b/src/modules/statuses.js
@@ -146,6 +146,10 @@ export const mutations = {
const newStatus = find(state.allStatuses, status)
newStatus.favorited = value
},
+ setRetweeted (state, { status, value }) {
+ const newStatus = find(state.allStatuses, status)
+ newStatus.repeated = value
+ },
setLoading (state, { timeline, value }) {
state.timelines[timeline].loading = value
},
@@ -167,6 +171,11 @@ const statuses = {
// Optimistic favoriting...
commit('setFavorited', { status, value: false })
apiService.unfavorite({ id: status.id, credentials: rootState.users.currentUser.credentials })
+ },
+ retweet ({ rootState, commit }, status) {
+ // Optimistic retweeting...
+ commit('setRetweeted', { status, value: true })
+ apiService.retweet({ id: status.id, credentials: rootState.users.currentUser.credentials })
}
},
mutations