diff options
Diffstat (limited to 'src/components/user_profile/user_profile.js')
| -rw-r--r-- | src/components/user_profile/user_profile.js | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/src/components/user_profile/user_profile.js b/src/components/user_profile/user_profile.js index 95d797a2..77bb1835 100644 --- a/src/components/user_profile/user_profile.js +++ b/src/components/user_profile/user_profile.js @@ -1,9 +1,9 @@ import UserCardContent from '../user_card_content/user_card_content.vue' +import UserCard from '../user_card/user_card.vue' import Timeline from '../timeline/timeline.vue' const UserProfile = { created () { - debugger this.$store.commit('clearTimeline', { timeline: 'user' }) this.$store.dispatch('startFetching', ['user', this.fetchBy]) if (!this.user) { @@ -18,18 +18,24 @@ const UserProfile = { return this.$store.state.statuses.timelines.user }, userId () { - return this.$route.params.id + return this.$route.params.id || this.user.id }, userName () { return this.$route.params.name }, + friends () { + return this.user.friends + }, + followers () { + return this.user.followers + }, user () { if (this.timeline.statuses[0]) { return this.timeline.statuses[0].user } else { return Object.values(this.$store.state.users.usersObject).filter(user => { return (this.isExternal ? user.id === this.userId : user.screen_name === this.userName) - })[0] || false + })[0] || {} } }, fetchBy () { @@ -39,6 +45,16 @@ const UserProfile = { return this.$route.name === 'external-user-profile' } }, + methods: { + fetchFollowers () { + const id = this.userId + this.$store.dispatch('addFollowers', { id }) + }, + fetchFriends () { + const id = this.userId + this.$store.dispatch('addFriends', { id }) + } + }, watch: { userName () { if (this.isExternal) { @@ -55,10 +71,17 @@ const UserProfile = { this.$store.dispatch('stopFetching', 'user') this.$store.commit('clearTimeline', { timeline: 'user' }) this.$store.dispatch('startFetching', ['user', this.userId]) + }, + user () { + if (this.user.id && !this.user.followers) { + this.fetchFollowers() + this.fetchFriends() + } } }, components: { UserCardContent, + UserCard, Timeline } } |
