From 8f255fbad4ee80718da6b2154c410995561729de Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Mon, 17 Dec 2018 19:14:38 +0300 Subject: Refactor follower/friends out of statuses/timeline into user_profile where it belongs. Changed display of profile to single panel with tabs. --- src/components/user_profile/user_profile.js | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src/components/user_profile/user_profile.js') diff --git a/src/components/user_profile/user_profile.js b/src/components/user_profile/user_profile.js index 1d79713d..8ff0daad 100644 --- a/src/components/user_profile/user_profile.js +++ b/src/components/user_profile/user_profile.js @@ -1,4 +1,5 @@ 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 = { @@ -14,6 +15,12 @@ const UserProfile = { }, computed: { timeline () { return this.$store.state.statuses.timelines.user }, + friends () { + return this.user.friends + }, + followers () { + return this.user.followers + }, userId () { return this.$route.params.id }, @@ -25,15 +32,32 @@ const UserProfile = { } } }, + methods: { + fetchFollowers () { + const id = this.userId + this.$store.dispatch('addFollowers', { id }) + }, + fetchFriends () { + const id = this.userId + this.$store.dispatch('addFriends', { id }) + } + }, watch: { userId () { this.$store.dispatch('stopFetching', 'user') this.$store.commit('clearTimeline', { timeline: 'user' }) this.$store.dispatch('startFetching', ['user', this.userId]) + }, + user () { + if (!this.user.followers) { + this.fetchFollowers() + this.fetchFriends() + } } }, components: { UserCardContent, + UserCard, Timeline } } -- cgit v1.2.3-70-g09d2