forked from AkkomaGang/akkoma-fe
Add blocks.
This commit is contained in:
parent
7ab7ac7be6
commit
608d1e6776
4 changed files with 54 additions and 0 deletions
|
@ -46,6 +46,18 @@
|
||||||
</button>
|
</button>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
<div class='block' v-if='isOtherUser'>
|
||||||
|
<span v-if='user.statusnet_blocking'>
|
||||||
|
<button @click="unblockUser" class="base04 base00-background pressed">
|
||||||
|
{{ $t('user_card.blocked') }}
|
||||||
|
</button>
|
||||||
|
</span>
|
||||||
|
<span v-if='!user.statusnet_blocking'>
|
||||||
|
<button @click="blockUser" class="base05 base02-background">
|
||||||
|
{{ $t('user_card.block') }}
|
||||||
|
</button>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -113,6 +125,16 @@
|
||||||
store.state.api.backendInteractor.unfollowUser(this.user.id)
|
store.state.api.backendInteractor.unfollowUser(this.user.id)
|
||||||
.then((unfollowedUser) => store.commit('addNewUsers', [unfollowedUser]))
|
.then((unfollowedUser) => store.commit('addNewUsers', [unfollowedUser]))
|
||||||
},
|
},
|
||||||
|
blockUser () {
|
||||||
|
const store = this.$store
|
||||||
|
store.state.api.backendInteractor.blockUser(this.user.id)
|
||||||
|
.then((blockedUser) => store.commit('addNewUsers', [blockedUser]))
|
||||||
|
},
|
||||||
|
unblockUser () {
|
||||||
|
const store = this.$store
|
||||||
|
store.state.api.backendInteractor.unblockUser(this.user.id)
|
||||||
|
.then((unblockedUser) => store.commit('addNewUsers', [unblockedUser]))
|
||||||
|
},
|
||||||
toggleMute () {
|
toggleMute () {
|
||||||
const store = this.$store
|
const store = this.$store
|
||||||
store.commit('setMuted', {user: this.user, muted: !this.user.muted})
|
store.commit('setMuted', {user: this.user, muted: !this.user.muted})
|
||||||
|
|
|
@ -125,6 +125,8 @@ const en = {
|
||||||
follows_you: 'Follows you!',
|
follows_you: 'Follows you!',
|
||||||
following: 'Following!',
|
following: 'Following!',
|
||||||
follow: 'Follow',
|
follow: 'Follow',
|
||||||
|
blocked: 'Blocked!',
|
||||||
|
block: 'Block',
|
||||||
statuses: 'Statuses',
|
statuses: 'Statuses',
|
||||||
mute: 'Mute',
|
mute: 'Mute',
|
||||||
muted: 'Muted',
|
muted: 'Muted',
|
||||||
|
|
|
@ -26,6 +26,8 @@ const BANNER_UPDATE_URL = '/api/account/update_profile_banner.json'
|
||||||
const PROFILE_UPDATE_URL = '/api/account/update_profile.json'
|
const PROFILE_UPDATE_URL = '/api/account/update_profile.json'
|
||||||
const EXTERNAL_PROFILE_URL = '/api/externalprofile/show.json'
|
const EXTERNAL_PROFILE_URL = '/api/externalprofile/show.json'
|
||||||
const QVITTER_USER_TIMELINE_URL = '/api/qvitter/statuses/user_timeline.json'
|
const QVITTER_USER_TIMELINE_URL = '/api/qvitter/statuses/user_timeline.json'
|
||||||
|
const BLOCKING_URL = '/api/blocks/create.json'
|
||||||
|
const UNBLOCKING_URL = '/api/blocks/destroy.json'
|
||||||
// const USER_URL = '/api/users/show.json'
|
// const USER_URL = '/api/users/show.json'
|
||||||
|
|
||||||
import { each, map } from 'lodash'
|
import { each, map } from 'lodash'
|
||||||
|
@ -184,6 +186,22 @@ const unfollowUser = ({id, credentials}) => {
|
||||||
}).then((data) => data.json())
|
}).then((data) => data.json())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const blockUser = ({id, credentials}) => {
|
||||||
|
let url = `${BLOCKING_URL}?user_id=${id}`
|
||||||
|
return fetch(url, {
|
||||||
|
headers: authHeaders(credentials),
|
||||||
|
method: 'POST'
|
||||||
|
}).then((data) => data.json())
|
||||||
|
}
|
||||||
|
|
||||||
|
const unblockUser = ({id, credentials}) => {
|
||||||
|
let url = `${UNBLOCKING_URL}?user_id=${id}`
|
||||||
|
return fetch(url, {
|
||||||
|
headers: authHeaders(credentials),
|
||||||
|
method: 'POST'
|
||||||
|
}).then((data) => data.json())
|
||||||
|
}
|
||||||
|
|
||||||
const fetchFriends = ({id, credentials}) => {
|
const fetchFriends = ({id, credentials}) => {
|
||||||
let url = `${FRIENDS_URL}?user_id=${id}`
|
let url = `${FRIENDS_URL}?user_id=${id}`
|
||||||
return fetch(url, { headers: authHeaders(credentials) })
|
return fetch(url, { headers: authHeaders(credentials) })
|
||||||
|
@ -343,6 +361,8 @@ const apiService = {
|
||||||
fetchFollowers,
|
fetchFollowers,
|
||||||
followUser,
|
followUser,
|
||||||
unfollowUser,
|
unfollowUser,
|
||||||
|
blockUser,
|
||||||
|
unblockUser,
|
||||||
favorite,
|
favorite,
|
||||||
unfavorite,
|
unfavorite,
|
||||||
retweet,
|
retweet,
|
||||||
|
|
|
@ -30,6 +30,14 @@ const backendInteractorService = (credentials) => {
|
||||||
return apiService.unfollowUser({credentials, id})
|
return apiService.unfollowUser({credentials, id})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const blockUser = (id) => {
|
||||||
|
return apiService.blockUser({credentials, id})
|
||||||
|
}
|
||||||
|
|
||||||
|
const unblockUser = (id) => {
|
||||||
|
return apiService.unblockUser({credentials, id})
|
||||||
|
}
|
||||||
|
|
||||||
const startFetching = ({timeline, store, userId = false}) => {
|
const startFetching = ({timeline, store, userId = false}) => {
|
||||||
return timelineFetcherService.startFetching({timeline, store, credentials, userId})
|
return timelineFetcherService.startFetching({timeline, store, credentials, userId})
|
||||||
}
|
}
|
||||||
|
@ -55,6 +63,8 @@ const backendInteractorService = (credentials) => {
|
||||||
fetchFollowers,
|
fetchFollowers,
|
||||||
followUser,
|
followUser,
|
||||||
unfollowUser,
|
unfollowUser,
|
||||||
|
blockUser,
|
||||||
|
unblockUser,
|
||||||
fetchAllFollowing,
|
fetchAllFollowing,
|
||||||
verifyCredentials: apiService.verifyCredentials,
|
verifyCredentials: apiService.verifyCredentials,
|
||||||
startFetching,
|
startFetching,
|
||||||
|
|
Loading…
Reference in a new issue