account_actions.js (2627B)
- import { mapState } from 'vuex'
- import ProgressButton from '../progress_button/progress_button.vue'
- import Popover from '../popover/popover.vue'
- import UserListMenu from 'src/components/user_list_menu/user_list_menu.vue'
- import ConfirmModal from '../confirm_modal/confirm_modal.vue'
- import { library } from '@fortawesome/fontawesome-svg-core'
- import {
- faEllipsisV
- } from '@fortawesome/free-solid-svg-icons'
- library.add(
- faEllipsisV
- )
- const AccountActions = {
- props: [
- 'user', 'relationship'
- ],
- data () {
- return {
- showingConfirmBlock: false,
- showingConfirmRemoveFollower: false
- }
- },
- components: {
- ProgressButton,
- Popover,
- UserListMenu,
- ConfirmModal
- },
- methods: {
- showConfirmBlock () {
- this.showingConfirmBlock = true
- },
- hideConfirmBlock () {
- this.showingConfirmBlock = false
- },
- showConfirmRemoveUserFromFollowers () {
- this.showingConfirmRemoveFollower = true
- },
- hideConfirmRemoveUserFromFollowers () {
- this.showingConfirmRemoveFollower = false
- },
- showRepeats () {
- this.$store.dispatch('showReblogs', this.user.id)
- },
- hideRepeats () {
- this.$store.dispatch('hideReblogs', this.user.id)
- },
- blockUser () {
- if (!this.shouldConfirmBlock) {
- this.doBlockUser()
- } else {
- this.showConfirmBlock()
- }
- },
- doBlockUser () {
- this.$store.dispatch('blockUser', this.user.id)
- this.hideConfirmBlock()
- },
- unblockUser () {
- this.$store.dispatch('unblockUser', this.user.id)
- },
- removeUserFromFollowers () {
- if (!this.shouldConfirmRemoveUserFromFollowers) {
- this.doRemoveUserFromFollowers()
- } else {
- this.showConfirmRemoveUserFromFollowers()
- }
- },
- doRemoveUserFromFollowers () {
- this.$store.dispatch('removeUserFromFollowers', this.user.id)
- this.hideConfirmRemoveUserFromFollowers()
- },
- reportUser () {
- this.$store.dispatch('openUserReportingModal', { userId: this.user.id })
- },
- openChat () {
- this.$router.push({
- name: 'chat',
- params: { username: this.$store.state.users.currentUser.screen_name, recipient_id: this.user.id }
- })
- }
- },
- computed: {
- shouldConfirmBlock () {
- return this.$store.getters.mergedConfig.modalOnBlock
- },
- shouldConfirmRemoveUserFromFollowers () {
- return this.$store.getters.mergedConfig.modalOnRemoveUserFromFollowers
- },
- ...mapState({
- pleromaChatMessagesAvailable: state => state.instance.pleromaChatMessagesAvailable
- })
- }
- }
- export default AccountActions