aboutsummaryrefslogtreecommitdiff
path: root/src/components
diff options
context:
space:
mode:
Diffstat (limited to 'src/components')
-rw-r--r--src/components/conversation/conversation.js9
-rw-r--r--src/components/status/status.js2
-rw-r--r--src/components/status/status.vue25
3 files changed, 36 insertions, 0 deletions
diff --git a/src/components/conversation/conversation.js b/src/components/conversation/conversation.js
index b3335f64..24d48dd8 100644
--- a/src/components/conversation/conversation.js
+++ b/src/components/conversation/conversation.js
@@ -122,6 +122,7 @@ const conversation = {
.then(({ancestors, descendants}) => {
const ancestorId = ancestors.length ? ancestors[0].id : this.status.id
this.fetchFavouritedByUsers(ancestorId)
+ this.fetchRebloggedByUsers(ancestorId)
this.$store.dispatch('addNewStatuses', { statuses: ancestors })
this.$store.dispatch('addNewStatuses', { statuses: descendants })
})
@@ -160,6 +161,14 @@ const conversation = {
this.$store.dispatch('addFavoritedByUsers', { favoritedByUsers, id })
})
},
+ fetchRebloggedByUsers (id) {
+ this.$store.state.api.backendInteractor.fetchRebloggedByUsers({id: this.status.id}).then((response) => {
+ const rebloggedByUsers = response.map(item => ({
+ src: item.avatar_static,
+ name: item.display_name
+ }))
+ this.$store.dispatch('addRebloggedByUsers', { rebloggedByUsers, id })
+ })
}
}
}
diff --git a/src/components/status/status.js b/src/components/status/status.js
index e470eaeb..eda96373 100644
--- a/src/components/status/status.js
+++ b/src/components/status/status.js
@@ -262,6 +262,8 @@ const Status = {
favouritedByUsers () {
return this.statusoid.favoritedBy ? this.statusoid.favoritedBy : []
},
+ rebloggedByUsers () {
+ return this.statusoid.rebloggedBy ? this.statusoid.rebloggedBy : []
}
},
components: {
diff --git a/src/components/status/status.vue b/src/components/status/status.vue
index 690e8318..6b8e0b3d 100644
--- a/src/components/status/status.vue
+++ b/src/components/status/status.vue
@@ -142,6 +142,16 @@
<favorite-button :loggedIn='loggedIn' :status='status'></favorite-button>
<delete-button :status='status'></delete-button>
</div>
+ <div class="boosted-users">
+ <div class="reblogged-users" v-if="rebloggedByUsers.length > 0" :class="{ 'status-fadein': rebloggedByUsers.length > 0 }">
+ <p class="title">Boosted By {{rebloggedByUsers.length}}:</p>
+ <AvatarList :avatars='rebloggedByUsers'></AvatarList>
+ </div>
+ <div class="favourited-users" v-if="favouritedByUsers.length > 0" :class="{ 'status-fadein': favouritedByUsers.length > 0 }">
+ <p class="title">Favourited By {{favouritedByUsers.length}}:</p>
+ <AvatarList :avatars='favouritedByUsers'></AvatarList>
+ </div>
+ </div>
</div>
</div>
<div class="container" v-if="replying">
@@ -612,6 +622,21 @@ a.unmute {
}
}
+.boosted-users {
+ display: flex;
+ justify-content: space-between;
+ margin-top: 10px;
+
+ .favourited-users,
+ .reblogged-users {
+ flex: 1;
+
+ .title {
+ margin: 0 0 10px 0;
+ }
+ }
+}
+
@media all and (max-width: 800px) {
.status-el {
.retweet-info {