- {{ author.location.name }}
+ {{ user.location.name }}
@@ -106,10 +99,10 @@
>
author.followedByCurrentUser = follow"
- @update="follow => author.followedByCurrentUser = follow"
+ :follow-id="user.id"
+ :is-followed="user.followedByCurrentUser"
+ @optimistic="follow => user.followedByCurrentUser = follow"
+ @update="follow => user.followedByCurrentUser = follow"
/>
@@ -130,34 +123,32 @@ import HcBadges from '~/components/Badges.vue'
import Dropdown from '~/components/Dropdown'
export default {
- name: 'HcAuthor',
+ name: 'HcUser',
components: {
HcFollowButton,
HcBadges,
Dropdown
},
props: {
- post: { type: Object, default: null },
+ user: { type: Object, default: null },
trunc: { type: Number, default: null },
- showAuthorPopover: { type: Boolean, default: true }
+ showUserPopover: { type: Boolean, default: true }
},
computed: {
itsMe() {
- return this.author.slug === this.$store.getters['auth/user'].slug
+ return this.user.slug === this.$store.getters['auth/user'].slug
},
fanCount() {
- let count = Number(this.author.followedByCount) || 0
+ let count = Number(this.user.followedByCount) || 0
return count
},
- author() {
- return this.hasAuthor
- ? this.post.author
- : {
- name: 'Anonymus'
- }
+ disabled() {
+ return this.user && this.user.disabled
},
- hasAuthor() {
- return Boolean(this.post && this.post.author)
+ userLink() {
+ const { slug } = this.user
+ if (!slug) return ''
+ return { name: 'profile-slug', params: { slug } }
}
}
}
@@ -170,7 +161,7 @@ export default {
margin-top: -45px;
border: #fff 5px solid;
}
-.author {
+.user {
white-space: nowrap;
position: relative;
display: flex;
diff --git a/pages/post/_slug/index.vue b/pages/post/_slug/index.vue
index ea7c8893e..8fb0e514e 100644
--- a/pages/post/_slug/index.vue
+++ b/pages/post/_slug/index.vue
@@ -9,7 +9,7 @@
:header="post.title"
:class="{'post-card': true, 'disabled-content': post.disabled}"
>
-
+
import gql from 'graphql-tag'
import ContentMenu from '~/components/ContentMenu'
-import HcAuthor from '~/components/Author.vue'
+import HcUser from '~/components/User.vue'
import HcShoutButton from '~/components/ShoutButton.vue'
import HcEmpty from '~/components/Empty.vue'
import Comment from '~/components/Comment.vue'
@@ -118,7 +118,7 @@ export default {
mode: 'out-in'
},
components: {
- HcAuthor,
+ HcUser,
HcShoutButton,
HcEmpty,
Comment,
diff --git a/pages/profile/_slug.vue b/pages/profile/_slug.vue
index eedabfaae..e69a591ce 100644
--- a/pages/profile/_slug.vue
+++ b/pages/profile/_slug.vue
@@ -137,8 +137,8 @@
>
-
@@ -182,8 +182,8 @@
>
-
@@ -302,7 +302,7 @@