2019-02-25 19:51:04 -08:00
|
|
|
import BasicUserCard from '../basic_user_card/basic_user_card.vue'
|
2019-03-19 11:36:27 -07:00
|
|
|
import RemoteFollow from '../remote_follow/remote_follow.vue'
|
2019-02-25 19:51:04 -08:00
|
|
|
import { requestFollow, requestUnfollow } from '../../services/follow_manipulate/follow_manipulate'
|
|
|
|
|
|
|
|
const FollowCard = {
|
|
|
|
props: [
|
|
|
|
'user',
|
|
|
|
'noFollowsYou'
|
|
|
|
],
|
|
|
|
data () {
|
|
|
|
return {
|
2019-02-26 07:14:12 -08:00
|
|
|
inProgress: false,
|
2019-04-11 13:34:46 -07:00
|
|
|
requestSent: false
|
2019-02-25 19:51:04 -08:00
|
|
|
}
|
|
|
|
},
|
|
|
|
components: {
|
2019-03-19 11:36:27 -07:00
|
|
|
BasicUserCard,
|
|
|
|
RemoteFollow
|
2019-02-25 19:51:04 -08:00
|
|
|
},
|
|
|
|
computed: {
|
2019-04-11 13:34:46 -07:00
|
|
|
isMe () {
|
|
|
|
return this.$store.state.users.currentUser.id === this.user.id
|
2019-03-19 11:36:27 -07:00
|
|
|
},
|
|
|
|
loggedIn () {
|
|
|
|
return this.$store.state.users.currentUser
|
2019-02-25 19:51:04 -08:00
|
|
|
}
|
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
followUser () {
|
2019-02-26 07:14:12 -08:00
|
|
|
this.inProgress = true
|
2019-04-11 13:34:46 -07:00
|
|
|
requestFollow(this.user, this.$store).then(({ sent }) => {
|
2019-02-26 07:14:12 -08:00
|
|
|
this.inProgress = false
|
2019-02-25 19:51:04 -08:00
|
|
|
this.requestSent = sent
|
|
|
|
})
|
|
|
|
},
|
|
|
|
unfollowUser () {
|
2019-02-26 07:14:12 -08:00
|
|
|
this.inProgress = true
|
2019-04-11 13:34:46 -07:00
|
|
|
requestUnfollow(this.user, this.$store).then(() => {
|
2019-02-26 07:14:12 -08:00
|
|
|
this.inProgress = false
|
2019-02-25 19:51:04 -08:00
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
export default FollowCard
|