2022-09-27 18:47:50 -04:00
|
|
|
import ConfirmModal from '../confirm_modal/confirm_modal.vue'
|
|
|
|
|
2022-09-17 11:36:34 -06:00
|
|
|
export default {
|
2022-09-27 18:47:50 -04:00
|
|
|
props: ['user', 'relationship'],
|
2022-09-17 11:36:34 -06:00
|
|
|
data () {
|
|
|
|
return {
|
2022-09-27 18:47:50 -04:00
|
|
|
inProgress: false,
|
|
|
|
showingConfirmRemoveFollower: false
|
2022-09-17 11:36:34 -06:00
|
|
|
}
|
|
|
|
},
|
2022-09-27 18:47:50 -04:00
|
|
|
components: {
|
|
|
|
ConfirmModal
|
|
|
|
},
|
2022-09-17 11:36:34 -06:00
|
|
|
computed: {
|
|
|
|
label () {
|
|
|
|
if (this.inProgress) {
|
|
|
|
return this.$t('user_card.follow_progress')
|
|
|
|
} else {
|
|
|
|
return this.$t('user_card.remove_follower')
|
|
|
|
}
|
2022-09-27 18:47:50 -04:00
|
|
|
},
|
|
|
|
shouldConfirmRemoveUserFromFollowers () {
|
|
|
|
return this.$store.getters.mergedConfig.modalOnRemoveUserFromFollowers
|
2022-09-17 11:36:34 -06:00
|
|
|
}
|
|
|
|
},
|
|
|
|
methods: {
|
2022-09-27 18:47:50 -04:00
|
|
|
showConfirmRemoveUserFromFollowers () {
|
|
|
|
this.showingConfirmRemoveFollower = true
|
|
|
|
},
|
|
|
|
hideConfirmRemoveUserFromFollowers () {
|
|
|
|
this.showingConfirmRemoveFollower = false
|
|
|
|
},
|
2022-09-17 11:36:34 -06:00
|
|
|
onClick () {
|
2022-09-27 18:47:50 -04:00
|
|
|
if (!this.shouldConfirmRemoveUserFromFollowers) {
|
|
|
|
this.doRemoveUserFromFollowers()
|
|
|
|
} else {
|
|
|
|
this.showConfirmRemoveUserFromFollowers()
|
|
|
|
}
|
|
|
|
},
|
|
|
|
doRemoveUserFromFollowers () {
|
2022-09-17 11:36:34 -06:00
|
|
|
this.inProgress = true
|
|
|
|
this.$store.dispatch('removeUserFromFollowers', this.relationship.id).then(() => {
|
|
|
|
this.inProgress = false
|
|
|
|
})
|
2022-09-27 18:47:50 -04:00
|
|
|
this.hideConfirmRemoveUserFromFollowers()
|
2022-09-17 11:36:34 -06:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|