diff options
| author | Henry Jameson <me@hjkos.com> | 2018-12-17 19:14:38 +0300 |
|---|---|---|
| committer | Henry Jameson <me@hjkos.com> | 2018-12-17 19:14:38 +0300 |
| commit | 8f255fbad4ee80718da6b2154c410995561729de (patch) | |
| tree | 2adab7e024b0c6ad9e4849b7faa1a940810325a8 /src/components/user_profile/user_profile.js | |
| parent | eaf065c751610008bf9062cf812085c3016cadbc (diff) | |
Refactor follower/friends out of statuses/timeline into user_profile where it
belongs. Changed display of profile to single panel with tabs.
Diffstat (limited to 'src/components/user_profile/user_profile.js')
| -rw-r--r-- | src/components/user_profile/user_profile.js | 24 |
1 files changed, 24 insertions, 0 deletions
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 } } |
