Merge branch 'feature/unrepeats' into 'develop'

Add unretweet support

Closes #103

See merge request pleroma/pleroma-fe!284
This commit is contained in:
lambda 2018-06-19 09:23:55 +00:00
commit a425cfd044
3 changed files with 16 additions and 0 deletions

View File

@ -9,6 +9,8 @@ const RetweetButton = {
retweet () { retweet () {
if (!this.status.repeated) { if (!this.status.repeated) {
this.$store.dispatch('retweet', {id: this.status.id}) this.$store.dispatch('retweet', {id: this.status.id})
} else {
this.$store.dispatch('unretweet', {id: this.status.id})
} }
this.animated = true this.animated = true
setTimeout(() => { setTimeout(() => {
@ -20,6 +22,7 @@ const RetweetButton = {
classes () { classes () {
return { return {
'retweeted': this.status.repeated, 'retweeted': this.status.repeated,
'retweeted-empty': !this.status.repeated,
'animate-spin': this.animated 'animate-spin': this.animated
} }
} }

View File

@ -388,6 +388,10 @@ const statuses = {
commit('setRetweeted', { status, value: true }) commit('setRetweeted', { status, value: true })
apiService.retweet({ id: status.id, credentials: rootState.users.currentUser.credentials }) apiService.retweet({ id: status.id, credentials: rootState.users.currentUser.credentials })
}, },
unretweet ({ rootState, commit }, status) {
commit('setRetweeted', { status, value: false })
apiService.unretweet({ id: status.id, credentials: rootState.users.currentUser.credentials })
},
queueFlush ({ rootState, commit }, { timeline, id }) { queueFlush ({ rootState, commit }, { timeline, id }) {
commit('queueFlush', { timeline, id }) commit('queueFlush', { timeline, id })
} }

View File

@ -8,6 +8,7 @@ const TAG_TIMELINE_URL = '/api/statusnet/tags/timeline'
const FAVORITE_URL = '/api/favorites/create' const FAVORITE_URL = '/api/favorites/create'
const UNFAVORITE_URL = '/api/favorites/destroy' const UNFAVORITE_URL = '/api/favorites/destroy'
const RETWEET_URL = '/api/statuses/retweet' const RETWEET_URL = '/api/statuses/retweet'
const UNRETWEET_URL = '/api/statuses/unretweet'
const STATUS_UPDATE_URL = '/api/statuses/update.json' const STATUS_UPDATE_URL = '/api/statuses/update.json'
const STATUS_DELETE_URL = '/api/statuses/destroy' const STATUS_DELETE_URL = '/api/statuses/destroy'
const STATUS_URL = '/api/statuses/show' const STATUS_URL = '/api/statuses/show'
@ -358,6 +359,13 @@ const retweet = ({ id, credentials }) => {
}) })
} }
const unretweet = ({ id, credentials }) => {
return fetch(`${UNRETWEET_URL}/${id}.json`, {
headers: authHeaders(credentials),
method: 'POST'
})
}
const postStatus = ({credentials, status, spoilerText, visibility, mediaIds, inReplyToStatusId}) => { const postStatus = ({credentials, status, spoilerText, visibility, mediaIds, inReplyToStatusId}) => {
const idsText = mediaIds.join(',') const idsText = mediaIds.join(',')
const form = new FormData() const form = new FormData()
@ -455,6 +463,7 @@ const apiService = {
favorite, favorite,
unfavorite, unfavorite,
retweet, retweet,
unretweet,
postStatus, postStatus,
deleteStatus, deleteStatus,
uploadMedia, uploadMedia,