From 60828f119c5b8f5de1ba6f6a9d774ef0e813405b Mon Sep 17 00:00:00 2001 From: Maksim Pechnikov <parallel588@gmail.com> Date: Thu, 17 Oct 2019 16:19:52 +0300 Subject: [PATCH 1/2] updated FollowCard component --- src/components/follow_button/follow_button.js | 4 +-- .../follow_button/follow_button.vue | 2 +- src/components/follow_card/follow_card.js | 21 +++-------- src/components/follow_card/follow_card.vue | 35 +++---------------- 4 files changed, 12 insertions(+), 50 deletions(-) diff --git a/src/components/follow_button/follow_button.js b/src/components/follow_button/follow_button.js index 4123c9fd..12da2645 100644 --- a/src/components/follow_button/follow_button.js +++ b/src/components/follow_button/follow_button.js @@ -1,6 +1,6 @@ import { requestFollow, requestUnfollow } from '../../services/follow_manipulate/follow_manipulate' export default { - props: ['user'], + props: ['user', 'labelFollowing', 'buttonClass'], data () { return { inProgress: false @@ -23,7 +23,7 @@ export default { if (this.inProgress) { return this.$t('user_card.follow_progress') } else if (this.user.following) { - return this.$t('user_card.following') + return this.labelFollowing || this.$t('user_card.following') } else if (this.user.requested) { return this.$t('user_card.follow_sent') } else { diff --git a/src/components/follow_button/follow_button.vue b/src/components/follow_button/follow_button.vue index f0cbb94b..66d899b9 100644 --- a/src/components/follow_button/follow_button.vue +++ b/src/components/follow_button/follow_button.vue @@ -1,7 +1,7 @@ <template> <button class="btn btn-default follow-button" - :class="{ pressed: isPressed }" + :class="[buttonClass, { pressed: isPressed}]" :disabled="inProgress" :title="title" @click="onClick" diff --git a/src/components/follow_card/follow_card.js b/src/components/follow_card/follow_card.js index 118d0c7c..2c3231a9 100644 --- a/src/components/follow_card/follow_card.js +++ b/src/components/follow_card/follow_card.js @@ -1,6 +1,6 @@ import BasicUserCard from '../basic_user_card/basic_user_card.vue' import RemoteFollow from '../remote_follow/remote_follow.vue' -import { requestFollow, requestUnfollow } from '../../services/follow_manipulate/follow_manipulate' +import FollowButton from '../follow_button/follow_button.vue' const FollowCard = { props: [ @@ -8,13 +8,12 @@ const FollowCard = { 'noFollowsYou' ], data () { - return { - inProgress: false - } + return { } }, components: { BasicUserCard, - RemoteFollow + RemoteFollow, + FollowButton }, computed: { isMe () { @@ -25,18 +24,6 @@ const FollowCard = { } }, methods: { - followUser () { - this.inProgress = true - requestFollow(this.user, this.$store).then(() => { - this.inProgress = false - }) - }, - unfollowUser () { - this.inProgress = true - requestUnfollow(this.user, this.$store).then(() => { - this.inProgress = false - }) - } } } diff --git a/src/components/follow_card/follow_card.vue b/src/components/follow_card/follow_card.vue index a9d237bb..a43cac4e 100644 --- a/src/components/follow_card/follow_card.vue +++ b/src/components/follow_card/follow_card.vue @@ -16,36 +16,11 @@ </div> </template> <template v-else> - <button - v-if="!user.following" - class="btn btn-default follow-card-follow-button" - :disabled="inProgress" - :title="user.requested ? $t('user_card.follow_again') : ''" - @click="followUser" - > - <template v-if="inProgress"> - {{ $t('user_card.follow_progress') }} - </template> - <template v-else-if="user.requested"> - {{ $t('user_card.follow_sent') }} - </template> - <template v-else> - {{ $t('user_card.follow') }} - </template> - </button> - <button - v-else - class="btn btn-default follow-card-follow-button pressed" - :disabled="inProgress" - @click="unfollowUser" - > - <template v-if="inProgress"> - {{ $t('user_card.follow_progress') }} - </template> - <template v-else> - {{ $t('user_card.follow_unfollow') }} - </template> - </button> + <FollowButton + :user="user" + button-class="follow-card-follow-button" + :label-following="$t('user_card.follow_unfollow')" + /> </template> </div> </basic-user-card> From b3f590ceb3e2710b278093a7246a3bf53c9aaafd Mon Sep 17 00:00:00 2001 From: Maksim Pechnikov <parallel588@gmail.com> Date: Thu, 17 Oct 2019 20:24:54 +0300 Subject: [PATCH 2/2] clear code --- src/components/follow_button/follow_button.vue | 2 +- src/components/follow_card/follow_card.js | 5 ----- src/components/follow_card/follow_card.vue | 2 +- 3 files changed, 2 insertions(+), 7 deletions(-) diff --git a/src/components/follow_button/follow_button.vue b/src/components/follow_button/follow_button.vue index 66d899b9..f0cbb94b 100644 --- a/src/components/follow_button/follow_button.vue +++ b/src/components/follow_button/follow_button.vue @@ -1,7 +1,7 @@ <template> <button class="btn btn-default follow-button" - :class="[buttonClass, { pressed: isPressed}]" + :class="{ pressed: isPressed }" :disabled="inProgress" :title="title" @click="onClick" diff --git a/src/components/follow_card/follow_card.js b/src/components/follow_card/follow_card.js index 2c3231a9..aefd609e 100644 --- a/src/components/follow_card/follow_card.js +++ b/src/components/follow_card/follow_card.js @@ -7,9 +7,6 @@ const FollowCard = { 'user', 'noFollowsYou' ], - data () { - return { } - }, components: { BasicUserCard, RemoteFollow, @@ -22,8 +19,6 @@ const FollowCard = { loggedIn () { return this.$store.state.users.currentUser } - }, - methods: { } } diff --git a/src/components/follow_card/follow_card.vue b/src/components/follow_card/follow_card.vue index a43cac4e..81e6e6dc 100644 --- a/src/components/follow_card/follow_card.vue +++ b/src/components/follow_card/follow_card.vue @@ -18,7 +18,7 @@ <template v-else> <FollowButton :user="user" - button-class="follow-card-follow-button" + class="follow-card-follow-button" :label-following="$t('user_card.follow_unfollow')" /> </template>