From ff259667023b8bb46bf8b122e4d1caaa6503274e Mon Sep 17 00:00:00 2001
From: Brenden Bice <brenden.next@gmail.com>
Date: Mon, 1 Apr 2019 22:30:23 -0400
Subject: display users in stacked avatarlist

---
 src/components/avatar_list/avatar_list.vue | 54 ++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)
 create mode 100644 src/components/avatar_list/avatar_list.vue

(limited to 'src/components/avatar_list/avatar_list.vue')

diff --git a/src/components/avatar_list/avatar_list.vue b/src/components/avatar_list/avatar_list.vue
new file mode 100644
index 00000000..204ccb9a
--- /dev/null
+++ b/src/components/avatar_list/avatar_list.vue
@@ -0,0 +1,54 @@
+<template>
+  <ul class="avatars" :class="{ 'transparent-avatar': slicedAvatars.length == 10 }">
+      <li class="avatars__item" v-for="(avatar, index) in slicedAvatars" :key="index">
+        <UserAvatar :src="avatar.src" class="avatars__img" />
+      </li>
+  </ul>
+</template>
+
+<script src="./avatar_list.js" ></script>
+
+<style lang="scss">
+@import '../../_variables.scss';
+.avatars {
+  display: inline-flex; /* Causes LI items to display in row. */
+  list-style-type: none;
+  margin: 0;
+  padding: 0px 16px 0px 0px;
+  flex-direction: row-reverse;
+
+  &__item {
+    height: 40px;
+    margin: 0;
+    padding: 0;
+    width: 25px;
+
+    .avatars__img {
+      border-radius: 50%;
+      height: 40px;
+      width: 40px;
+      line-height: 40px;
+    }
+  }
+}
+
+.transparent-avatar {
+  .avatars__item {
+    &:first-child {
+      position: relative;
+
+      .avatars__img {
+        &::after {
+          content: '';
+          position: absolute;
+          width: 100%;
+          height: 100%;
+          background-color: rgba(255, 255, 255, 0.7);
+          left: 0;
+          top: 0;
+        }
+      }
+    }
+  }
+}
+</style>
-- 
cgit v1.2.3-70-g09d2


From 0d8eb1d00b9044398fccf0760329fb81887c9b18 Mon Sep 17 00:00:00 2001
From: Brenden Bice <brenden.next@gmail.com>
Date: Mon, 1 Apr 2019 22:38:56 -0400
Subject: set default avatar background

---
 src/components/avatar_list/avatar_list.vue | 1 +
 1 file changed, 1 insertion(+)

(limited to 'src/components/avatar_list/avatar_list.vue')

diff --git a/src/components/avatar_list/avatar_list.vue b/src/components/avatar_list/avatar_list.vue
index 204ccb9a..3241609c 100644
--- a/src/components/avatar_list/avatar_list.vue
+++ b/src/components/avatar_list/avatar_list.vue
@@ -28,6 +28,7 @@
       height: 40px;
       width: 40px;
       line-height: 40px;
+      background-color: $main-background;
     }
   }
 }
-- 
cgit v1.2.3-70-g09d2


From 44d07ceb25ab8902a4d67b156474e737d6541362 Mon Sep 17 00:00:00 2001
From: Brenden Bice <brenden.next@gmail.com>
Date: Tue, 2 Apr 2019 04:25:08 -0400
Subject: support mobile size screen

---
 src/components/avatar_list/avatar_list.vue | 20 ++++++++++++++++----
 src/components/status/status.vue           |  4 +++-
 2 files changed, 19 insertions(+), 5 deletions(-)

(limited to 'src/components/avatar_list/avatar_list.vue')

diff --git a/src/components/avatar_list/avatar_list.vue b/src/components/avatar_list/avatar_list.vue
index 3241609c..56ca12a2 100644
--- a/src/components/avatar_list/avatar_list.vue
+++ b/src/components/avatar_list/avatar_list.vue
@@ -14,14 +14,26 @@
   display: inline-flex; /* Causes LI items to display in row. */
   list-style-type: none;
   margin: 0;
-  padding: 0px 16px 0px 0px;
-  flex-direction: row-reverse;
+  padding: 0px 20px 0px 0px;
+  flex-direction: row;
+  flex-wrap: wrap;
 
   &__item {
     height: 40px;
     margin: 0;
     padding: 0;
-    width: 25px;
+    width: 20px;
+
+    &:nth-child( 1 ) { z-index: 10 ; }
+    &:nth-child( 2 ) { z-index: 9 ; }
+    &:nth-child( 3 ) { z-index: 8 ; }
+    &:nth-child( 4 ) { z-index: 7 ; }
+    &:nth-child( 5 ) { z-index: 6 ; }
+    &:nth-child( 6 ) { z-index: 5 ; }
+    &:nth-child( 7 ) { z-index: 4 ; }
+    &:nth-child( 8 ) { z-index: 3 ; }
+    &:nth-child( 9 ) { z-index: 2 ; }
+    &:nth-child( 10 ) { z-index: 1 ; }
 
     .avatars__img {
       border-radius: 50%;
@@ -35,7 +47,7 @@
 
 .transparent-avatar {
   .avatars__item {
-    &:first-child {
+    &:last-child {
       position: relative;
 
       .avatars__img {
diff --git a/src/components/status/status.vue b/src/components/status/status.vue
index 6b8e0b3d..f67f849c 100644
--- a/src/components/status/status.vue
+++ b/src/components/status/status.vue
@@ -629,7 +629,9 @@ a.unmute {
 
   .favourited-users,
   .reblogged-users {
-    flex: 1;
+    flex-basis: 50%;
+    flex-grow: 1;
+    flex-shrink: 1;
 
     .title {
       margin: 0 0 10px 0;
-- 
cgit v1.2.3-70-g09d2


From 4ab2ddb03cdd3740eb18d8c7d85de80e176db29f Mon Sep 17 00:00:00 2001
From: Brenden Bice <brenden.next@gmail.com>
Date: Tue, 2 Apr 2019 11:04:39 -0400
Subject: improve code quality

---
 src/components/avatar_list/avatar_list.vue  |  4 ++--
 src/components/conversation/conversation.js | 16 ++--------------
 src/modules/statuses.js                     |  8 ++++----
 3 files changed, 8 insertions(+), 20 deletions(-)

(limited to 'src/components/avatar_list/avatar_list.vue')

diff --git a/src/components/avatar_list/avatar_list.vue b/src/components/avatar_list/avatar_list.vue
index 56ca12a2..a3bed515 100644
--- a/src/components/avatar_list/avatar_list.vue
+++ b/src/components/avatar_list/avatar_list.vue
@@ -1,7 +1,7 @@
 <template>
   <ul class="avatars" :class="{ 'transparent-avatar': slicedAvatars.length == 10 }">
-      <li class="avatars__item" v-for="(avatar, index) in slicedAvatars" :key="index">
-        <UserAvatar :src="avatar.src" class="avatars__img" />
+      <li class="avatars__item" v-for="avatar in slicedAvatars" :key="avatar.id">
+        <UserAvatar :src="avatar.avatar_static" class="avatars__img" />
       </li>
   </ul>
 </template>
diff --git a/src/components/conversation/conversation.js b/src/components/conversation/conversation.js
index 18635aa1..851d30e9 100644
--- a/src/components/conversation/conversation.js
+++ b/src/components/conversation/conversation.js
@@ -153,22 +153,10 @@ const conversation = {
       }
     },
     fetchFavouritedByUsers (id) {
-      this.$store.state.api.backendInteractor.fetchFavouritedByUsers({id}).then((response) => {
-        const favoritedByUsers = response.map(item => ({
-          src: item.avatar_static,
-          name: item.display_name
-        }))
-        this.$store.dispatch('addFavoritedByUsers', { favoritedByUsers, id })
-      })
+      this.$store.dispatch('fetchFavouritedByUsers', { id })
     },
     fetchRebloggedByUsers (id) {
-      this.$store.state.api.backendInteractor.fetchRebloggedByUsers({id}).then((response) => {
-        const rebloggedByUsers = response.map(item => ({
-          src: item.avatar_static,
-          name: item.display_name
-        }))
-        this.$store.dispatch('addRebloggedByUsers', { rebloggedByUsers, id })
-      })
+      this.$store.dispatch('fetchRebloggedByUsers', { id })
     }
   }
 }
diff --git a/src/modules/statuses.js b/src/modules/statuses.js
index c749e60f..2cfc3ff1 100644
--- a/src/modules/statuses.js
+++ b/src/modules/statuses.js
@@ -537,11 +537,11 @@ const statuses = {
         credentials: rootState.users.currentUser.credentials
       })
     },
-    addFavoritedByUsers ({ rootState, commit }, { favoritedByUsers, id }) {
-      commit('addFavoritedByUsers', { favoritedByUsers, id })
+    fetchFavouritedByUsers ({ rootState, commit }, { id }) {
+      rootState.api.backendInteractor.fetchFavouritedByUsers({id}).then((favoritedByUsers) => commit('addFavoritedByUsers', { favoritedByUsers, id }))
     },
-    addRebloggedByUsers ({ rootState, commit }, { rebloggedByUsers, id }) {
-      commit('addRebloggedByUsers', { rebloggedByUsers, id })
+    fetchRebloggedByUsers ({ rootState, commit }, { id }) {
+      rootState.api.backendInteractor.fetchRebloggedByUsers({id}).then((rebloggedByUsers) => commit('addRebloggedByUsers', { rebloggedByUsers, id }))
     }
   },
   mutations
-- 
cgit v1.2.3-70-g09d2


From 6511166631aa752faff02568802362155918e804 Mon Sep 17 00:00:00 2001
From: Brenden Bice <brenden.next@gmail.com>
Date: Tue, 2 Apr 2019 12:02:40 -0400
Subject: display favs & favorited user in one line

---
 src/components/avatar_list/avatar_list.vue | 42 +++++++++++-------------------
 src/components/status/status.js            | 10 +++----
 src/components/status/status.vue           | 29 ++++-----------------
 3 files changed, 25 insertions(+), 56 deletions(-)

(limited to 'src/components/avatar_list/avatar_list.vue')

diff --git a/src/components/avatar_list/avatar_list.vue b/src/components/avatar_list/avatar_list.vue
index a3bed515..fd6d8336 100644
--- a/src/components/avatar_list/avatar_list.vue
+++ b/src/components/avatar_list/avatar_list.vue
@@ -1,7 +1,7 @@
 <template>
-  <ul class="avatars" :class="{ 'transparent-avatar': slicedAvatars.length == 10 }">
-      <li class="avatars__item" v-for="avatar in slicedAvatars" :key="avatar.id">
-        <UserAvatar :src="avatar.avatar_static" class="avatars__img" />
+  <ul class="avatars" :class="{ 'transparent-avatar': slicedAvatars.length == 15 }">
+      <li class="avatars-item" v-for="avatar in slicedAvatars" :key="avatar.id">
+        <UserAvatar :src="avatar.profile_image_url" class="avatars-img" />
       </li>
   </ul>
 </template>
@@ -14,43 +14,31 @@
   display: inline-flex; /* Causes LI items to display in row. */
   list-style-type: none;
   margin: 0;
-  padding: 0px 20px 0px 0px;
-  flex-direction: row;
-  flex-wrap: wrap;
+  padding: 0px 15px 0px 0px;
+  flex-direction: row-reverse;
 
-  &__item {
-    height: 40px;
+  &-item {
+    height: 30px;
     margin: 0;
     padding: 0;
-    width: 20px;
+    width: 15px;
 
-    &:nth-child( 1 ) { z-index: 10 ; }
-    &:nth-child( 2 ) { z-index: 9 ; }
-    &:nth-child( 3 ) { z-index: 8 ; }
-    &:nth-child( 4 ) { z-index: 7 ; }
-    &:nth-child( 5 ) { z-index: 6 ; }
-    &:nth-child( 6 ) { z-index: 5 ; }
-    &:nth-child( 7 ) { z-index: 4 ; }
-    &:nth-child( 8 ) { z-index: 3 ; }
-    &:nth-child( 9 ) { z-index: 2 ; }
-    &:nth-child( 10 ) { z-index: 1 ; }
-
-    .avatars__img {
+    .avatars-img {
       border-radius: 50%;
-      height: 40px;
-      width: 40px;
-      line-height: 40px;
+      height: 30px;
+      width: 30px;
+      line-height: 30px;
       background-color: $main-background;
     }
   }
 }
 
 .transparent-avatar {
-  .avatars__item {
-    &:last-child {
+  .avatars-item {
+    &:first-child {
       position: relative;
 
-      .avatars__img {
+      .avatars-img {
         &::after {
           content: '';
           position: absolute;
diff --git a/src/components/status/status.js b/src/components/status/status.js
index eda96373..b275d4fa 100644
--- a/src/components/status/status.js
+++ b/src/components/status/status.js
@@ -259,11 +259,11 @@ const Status = {
       }
       return this.status.summary_html + '<br />' + this.status.statusnet_html
     },
-    favouritedByUsers () {
-      return this.statusoid.favoritedBy ? this.statusoid.favoritedBy : []
-    },
-    rebloggedByUsers () {
-      return this.statusoid.rebloggedBy ? this.statusoid.rebloggedBy : []
+    combinedFavsAndRepeatsAvatars () {
+      return [].concat(
+        this.statusoid.favoritedBy ? this.statusoid.favoritedBy : [],
+        this.statusoid.rebloggedBy ? this.statusoid.rebloggedBy : []
+      )
     }
   },
   components: {
diff --git a/src/components/status/status.vue b/src/components/status/status.vue
index f67f849c..ce4b2554 100644
--- a/src/components/status/status.vue
+++ b/src/components/status/status.vue
@@ -133,6 +133,10 @@
             <link-preview :card="status.card" :size="attachmentSize" :nsfw="nsfwClickthrough" />
           </div>
 
+          <div class="favs-favourited-users" v-if="combinedFavsAndRepeatsAvatars.length > 0" :class="{ 'status-fadein': combinedFavsAndRepeatsAvatars.length > 0 }">
+            <AvatarList :avatars='combinedFavsAndRepeatsAvatars'></AvatarList>
+          </div>
+
           <div v-if="!noHeading && !isPreview" class='status-actions media-body'>
             <div v-if="loggedIn">
               <i class="button-icon icon-reply" v-on:click.prevent="toggleReplying" :title="$t('tool_tip.reply')" :class="{'icon-reply-active': replying}"></i>
@@ -142,16 +146,6 @@
             <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">
@@ -622,21 +616,8 @@ a.unmute {
   }
 }
 
-.boosted-users {
-  display: flex;
-  justify-content: space-between;
+.favs-favourited-users {
   margin-top: 10px;
-
-  .favourited-users,
-  .reblogged-users {
-    flex-basis: 50%;
-    flex-grow: 1;
-    flex-shrink: 1;
-
-    .title {
-      margin: 0 0 10px 0;
-    }
-  }
 }
 
 @media all and (max-width: 800px) {
-- 
cgit v1.2.3-70-g09d2


From 8a2f55644c56cdedf27c5bdb8bd54c642fadbe4d Mon Sep 17 00:00:00 2001
From: Brenden Bice <brenden.next@gmail.com>
Date: Tue, 2 Apr 2019 16:00:09 -0400
Subject: improve code quality

---
 src/components/avatar_list/avatar_list.vue  | 35 ++++++-----------------------
 src/components/conversation/conversation.js | 10 ++-------
 2 files changed, 9 insertions(+), 36 deletions(-)

(limited to 'src/components/avatar_list/avatar_list.vue')

diff --git a/src/components/avatar_list/avatar_list.vue b/src/components/avatar_list/avatar_list.vue
index fd6d8336..5df62ce5 100644
--- a/src/components/avatar_list/avatar_list.vue
+++ b/src/components/avatar_list/avatar_list.vue
@@ -1,6 +1,6 @@
 <template>
-  <ul class="avatars" :class="{ 'transparent-avatar': slicedAvatars.length == 15 }">
-      <li class="avatars-item" v-for="avatar in slicedAvatars" :key="avatar.id">
+  <ul class="avatars">
+      <li class="avatars-item" v-for="(avatar, index) in slicedAvatars" :key="`avatar-${index}`">
         <UserAvatar :src="avatar.profile_image_url" class="avatars-img" />
       </li>
   </ul>
@@ -18,37 +18,16 @@
   flex-direction: row-reverse;
 
   &-item {
-    height: 30px;
+    height: 25px;
     margin: 0;
     padding: 0;
     width: 15px;
 
     .avatars-img {
-      border-radius: 50%;
-      height: 30px;
-      width: 30px;
-      line-height: 30px;
-      background-color: $main-background;
-    }
-  }
-}
-
-.transparent-avatar {
-  .avatars-item {
-    &:first-child {
-      position: relative;
-
-      .avatars-img {
-        &::after {
-          content: '';
-          position: absolute;
-          width: 100%;
-          height: 100%;
-          background-color: rgba(255, 255, 255, 0.7);
-          left: 0;
-          top: 0;
-        }
-      }
+      border-radius: $fallback--avatarAltRadius;
+      border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);
+      height: 25px !important;
+      width: 25px !important;
     }
   }
 }
diff --git a/src/components/conversation/conversation.js b/src/components/conversation/conversation.js
index ba90746e..115ac640 100644
--- a/src/components/conversation/conversation.js
+++ b/src/components/conversation/conversation.js
@@ -121,8 +121,8 @@ const conversation = {
         this.$store.state.api.backendInteractor.fetchConversation({id: this.status.id})
           .then(({ancestors, descendants}) => {
             const ancestorId = ancestors.length ? ancestors[0].id : this.status.id
-            this.fetchFavoritedByUsers(ancestorId)
-            this.fetchRebloggedByUsers(ancestorId)
+            this.$store.dispatch('fetchFavoritedByUsers', { id: ancestorId })
+            this.$store.dispatch('fetchRebloggedByUsers', { id: ancestorId })
             this.$store.dispatch('addNewStatuses', { statuses: ancestors })
             this.$store.dispatch('addNewStatuses', { statuses: descendants })
           })
@@ -151,12 +151,6 @@ const conversation = {
       if (!this.expanded) {
         this.setHighlight(null)
       }
-    },
-    fetchFavoritedByUsers (id) {
-      this.$store.dispatch('fetchFavoritedByUsers', { id })
-    },
-    fetchRebloggedByUsers (id) {
-      this.$store.dispatch('fetchRebloggedByUsers', { id })
     }
   }
 }
-- 
cgit v1.2.3-70-g09d2


From 0f5ea9c164b0ac11b1554c39386b12550e3f02cb Mon Sep 17 00:00:00 2001
From: Brenden Bice <brenden.next@gmail.com>
Date: Tue, 2 Apr 2019 16:31:18 -0400
Subject: apply theming to avatars list

---
 src/components/avatar_list/avatar_list.vue | 25 ++++++++++++++++++++++++-
 1 file changed, 24 insertions(+), 1 deletion(-)

(limited to 'src/components/avatar_list/avatar_list.vue')

diff --git a/src/components/avatar_list/avatar_list.vue b/src/components/avatar_list/avatar_list.vue
index 5df62ce5..3941aa0a 100644
--- a/src/components/avatar_list/avatar_list.vue
+++ b/src/components/avatar_list/avatar_list.vue
@@ -1,5 +1,5 @@
 <template>
-  <ul class="avatars">
+  <ul class="avatars" :class="{ 'transparent-avatar': slicedAvatars.length == 15 }">
       <li class="avatars-item" v-for="(avatar, index) in slicedAvatars" :key="`avatar-${index}`">
         <UserAvatar :src="avatar.profile_image_url" class="avatars-img" />
       </li>
@@ -28,6 +28,29 @@
       border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);
       height: 25px !important;
       width: 25px !important;
+      background-color: $fallback--lightText;
+      background-color: var(--lightText, $fallback--lightText);
+    }
+  }
+}
+
+.transparent-avatar {
+  .avatars-item {
+    &:first-child {
+      position: relative;
+
+      .avatars-img {
+        &::after {
+          content: '';
+          position: absolute;
+          width: 100%;
+          height: 100%;
+          background-color: $fallback--faint;
+          background-color: var(--faint, $fallback--faint);
+          left: 0;
+          top: 0;
+        }
+      }
     }
   }
 }
-- 
cgit v1.2.3-70-g09d2


From df622e6ed6e78d9b49be3d9856b88d47afb7110e Mon Sep 17 00:00:00 2001
From: Brenden Bice <brenden.next@gmail.com>
Date: Thu, 4 Apr 2019 23:10:40 -0400
Subject: layout avatars side by side

---
 src/components/avatar_list/avatar_list.vue | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

(limited to 'src/components/avatar_list/avatar_list.vue')

diff --git a/src/components/avatar_list/avatar_list.vue b/src/components/avatar_list/avatar_list.vue
index 3941aa0a..aa2fa48b 100644
--- a/src/components/avatar_list/avatar_list.vue
+++ b/src/components/avatar_list/avatar_list.vue
@@ -14,14 +14,12 @@
   display: inline-flex; /* Causes LI items to display in row. */
   list-style-type: none;
   margin: 0;
-  padding: 0px 15px 0px 0px;
-  flex-direction: row-reverse;
 
   &-item {
     height: 25px;
+    width: 25px;
     margin: 0;
     padding: 0;
-    width: 15px;
 
     .avatars-img {
       border-radius: $fallback--avatarAltRadius;
-- 
cgit v1.2.3-70-g09d2


From 87a4cd450cc080bab6f3a1c66286bd6267f9f421 Mon Sep 17 00:00:00 2001
From: Brenden Bice <brenden.next@gmail.com>
Date: Thu, 4 Apr 2019 23:12:37 -0400
Subject: adjust space between avatars

---
 src/components/avatar_list/avatar_list.vue | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

(limited to 'src/components/avatar_list/avatar_list.vue')

diff --git a/src/components/avatar_list/avatar_list.vue b/src/components/avatar_list/avatar_list.vue
index aa2fa48b..dea1267e 100644
--- a/src/components/avatar_list/avatar_list.vue
+++ b/src/components/avatar_list/avatar_list.vue
@@ -14,13 +14,18 @@
   display: inline-flex; /* Causes LI items to display in row. */
   list-style-type: none;
   margin: 0;
+  padding: 0;
 
   &-item {
     height: 25px;
     width: 25px;
-    margin: 0;
+    margin: 0 2px 0 0;
     padding: 0;
 
+    &:last-child {
+      margin-right: 0;
+    }
+
     .avatars-img {
       border-radius: $fallback--avatarAltRadius;
       border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);
-- 
cgit v1.2.3-70-g09d2


From f6847c163cf7fb82af73ab413c9459b89df77143 Mon Sep 17 00:00:00 2001
From: Brenden Bice <brenden.next@gmail.com>
Date: Fri, 5 Apr 2019 05:49:31 -0400
Subject: adjust avatar size of avatar list

---
 src/components/avatar_list/avatar_list.vue | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

(limited to 'src/components/avatar_list/avatar_list.vue')

diff --git a/src/components/avatar_list/avatar_list.vue b/src/components/avatar_list/avatar_list.vue
index dea1267e..d7ac22dd 100644
--- a/src/components/avatar_list/avatar_list.vue
+++ b/src/components/avatar_list/avatar_list.vue
@@ -17,10 +17,15 @@
   padding: 0;
 
   &-item {
-    height: 25px;
-    width: 25px;
-    margin: 0 2px 0 0;
-    padding: 0;
+    height: 24px;
+    width: 24px;
+    margin: 0 5px 0 0;
+    padding: 11px 0;
+
+    &:first-child {
+      border-left: 1px solid var(--faint, $fallback--faint);
+      padding-left: 12px !important;
+    }
 
     &:last-child {
       margin-right: 0;
@@ -29,8 +34,8 @@
     .avatars-img {
       border-radius: $fallback--avatarAltRadius;
       border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);
-      height: 25px !important;
-      width: 25px !important;
+      height: 24px !important;
+      width: 24px !important;
       background-color: $fallback--lightText;
       background-color: var(--lightText, $fallback--lightText);
     }
-- 
cgit v1.2.3-70-g09d2


From 80ba4f27c8109be6871a8c2b539cbb392eb8513f Mon Sep 17 00:00:00 2001
From: Brenden Bice <brenden.next@gmail.com>
Date: Fri, 5 Apr 2019 14:20:50 -0400
Subject: add hover effect to label

---
 src/components/avatar_list/avatar_list.vue |  2 -
 src/components/status/status.vue           | 61 +++++++++++++++++++++++++-----
 2 files changed, 51 insertions(+), 12 deletions(-)

(limited to 'src/components/avatar_list/avatar_list.vue')

diff --git a/src/components/avatar_list/avatar_list.vue b/src/components/avatar_list/avatar_list.vue
index d7ac22dd..dcffb7cd 100644
--- a/src/components/avatar_list/avatar_list.vue
+++ b/src/components/avatar_list/avatar_list.vue
@@ -20,10 +20,8 @@
     height: 24px;
     width: 24px;
     margin: 0 5px 0 0;
-    padding: 11px 0;
 
     &:first-child {
-      border-left: 1px solid var(--faint, $fallback--faint);
       padding-left: 12px !important;
     }
 
diff --git a/src/components/status/status.vue b/src/components/status/status.vue
index 8d95343d..9be6b2b9 100644
--- a/src/components/status/status.vue
+++ b/src/components/status/status.vue
@@ -135,11 +135,13 @@
 
           <div class="favs-repeated-users" v-if="combinedFavsAndRepeatsAvatars.length > 0" :class="{ 'status-fadein': combinedFavsAndRepeatsAvatars.length > 0 }">
             <ul class="stats">
-              <li class="stat-count" v-if="statusoid.favoritedBy && statusoid.favoritedBy.length > 0">
-                <a class="request-favorited-popup"><strong>{{statusoid.favoritedBy.length}}</strong> {{ $t('user_card.favorites') }}</a>
-              </li>
               <li class="stat-count" v-if="statusoid.rebloggedBy && statusoid.rebloggedBy.length > 0">
-                <a class="request-favorited-popup"><strong>{{statusoid.rebloggedBy.length}}</strong> {{ $t('settings.notification_visibility_repeats') }}</a>
+                <div class="stat-title">{{ $t('settings.notification_visibility_repeats') }}</div>
+                <div class="stat-number">{{ statusoid.rebloggedBy.length }}</div>
+              </li>
+              <li class="stat-count" v-if="statusoid.favoritedBy && statusoid.favoritedBy.length > 0">
+                <div class="stat-title">{{ $t('user_card.favorites') }}</div>
+                <div class="stat-number">{{ statusoid.favoritedBy.length }}</div>
               </li>
               <li class="avatar-row">
                 <AvatarList :avatars='combinedFavsAndRepeatsAvatars'></AvatarList>
@@ -627,25 +629,52 @@ a.unmute {
 }
 
 .favs-repeated-users {
-  margin-top: 10px;
+  margin-top: 0.75em;
 
   .stats {
-    border-bottom: 1px solid var(--faint, $fallback--faint);
-    border-top: 1px solid var(--faint, $fallback--faint);
     width: 100%;
     margin: 0;
     list-style: none;
     overflow: hidden;
     padding: 0;
     display: flex;
+    line-height: 1em;
 
     .stat-count {
       margin-right: 10px;
 
+      .stat-title {
+        color: var(--faint, rgba(185, 185, 186, 0.5));
+        font-weight: lighter;
+        font-size: 12px;
+        text-transform: uppercase;
+        position: relative;
+        margin-bottom: 3px;
+        cursor: pointer;
+        line-height: 1em;
+
+        &:hover,
+        &:focus {
+          &::after {
+            content: '';
+            position: absolute;
+            left: 0;
+            top: 100%;
+            width: 100%;
+            height: 1px;
+            background-color: var(--faint, $fallback--faint);
+          }
+        }
+      }
+
+      .stat-number {
+        font-weight: bolder;
+        font-size: 16px;
+        line-height: 1em;
+      }
+
       a {
         cursor: pointer;
-        padding-top: 14px;
-        float: left;
         color: var(--faint, $fallback--faint);
 
         strong {
@@ -662,10 +691,22 @@ a.unmute {
     .avatar-row {
       flex: 1;
       overflow: hidden;
+      position: relative;
+
+      &::before {
+        content: '';
+        position: absolute;
+        height: 100%;
+        width: 1px;
+        left: 0;
+        background-color: var(--faint, $fallback--faint);
+      }
     }
 
     li {
-      display: block;
+      display: flex;
+      flex-direction: column;
+      justify-content: center;
     }
   }
 }
-- 
cgit v1.2.3-70-g09d2


From c1001da860055b45c1ba09d640b3f45d731e047e Mon Sep 17 00:00:00 2001
From: Brenden Bice <brenden.next@gmail.com>
Date: Sat, 6 Apr 2019 14:07:09 -0400
Subject: remove important in css property

---
 src/components/avatar_list/avatar_list.vue | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'src/components/avatar_list/avatar_list.vue')

diff --git a/src/components/avatar_list/avatar_list.vue b/src/components/avatar_list/avatar_list.vue
index dcffb7cd..9cbcbee0 100644
--- a/src/components/avatar_list/avatar_list.vue
+++ b/src/components/avatar_list/avatar_list.vue
@@ -22,7 +22,7 @@
     margin: 0 5px 0 0;
 
     &:first-child {
-      padding-left: 12px !important;
+      padding-left: 12px;
     }
 
     &:last-child {
-- 
cgit v1.2.3-70-g09d2


From 7885955344ba787549b1ccc07b0d3901e3a6b0d6 Mon Sep 17 00:00:00 2001
From: Brenden Bice <brenden.next@gmail.com>
Date: Sat, 6 Apr 2019 14:25:26 -0400
Subject: remove important in the property value

---
 src/components/avatar_list/avatar_list.vue | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

(limited to 'src/components/avatar_list/avatar_list.vue')

diff --git a/src/components/avatar_list/avatar_list.vue b/src/components/avatar_list/avatar_list.vue
index 9cbcbee0..077d002d 100644
--- a/src/components/avatar_list/avatar_list.vue
+++ b/src/components/avatar_list/avatar_list.vue
@@ -16,7 +16,7 @@
   margin: 0;
   padding: 0;
 
-  &-item {
+  li.avatars-item {
     height: 24px;
     width: 24px;
     margin: 0 5px 0 0;
@@ -32,8 +32,8 @@
     .avatars-img {
       border-radius: $fallback--avatarAltRadius;
       border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);
-      height: 24px !important;
-      width: 24px !important;
+      height: 24px;
+      width: 24px;
       background-color: $fallback--lightText;
       background-color: var(--lightText, $fallback--lightText);
     }
-- 
cgit v1.2.3-70-g09d2


From 75a650aa6de13eaf1e0e17d5ec7bfffeee0db212 Mon Sep 17 00:00:00 2001
From: shpuld <shp@cock.li>
Date: Wed, 17 Apr 2019 18:28:44 +0300
Subject: update styles and remove unnecessary stuff

---
 src/components/avatar_list/avatar_list.vue | 49 ++++++++----------------------
 src/components/status/status.vue           | 30 ++++++------------
 2 files changed, 22 insertions(+), 57 deletions(-)

(limited to 'src/components/avatar_list/avatar_list.vue')

diff --git a/src/components/avatar_list/avatar_list.vue b/src/components/avatar_list/avatar_list.vue
index 077d002d..fc5abf01 100644
--- a/src/components/avatar_list/avatar_list.vue
+++ b/src/components/avatar_list/avatar_list.vue
@@ -1,7 +1,7 @@
 <template>
-  <ul class="avatars" :class="{ 'transparent-avatar': slicedAvatars.length == 15 }">
-      <li class="avatars-item" v-for="(avatar, index) in slicedAvatars" :key="`avatar-${index}`">
-        <UserAvatar :src="avatar.profile_image_url" class="avatars-img" />
+  <ul class="avatars">
+      <li class="avatars-item" v-for="avatar in slicedAvatars">
+        <UserAvatar :src="avatar.profile_image_url" class="avatar-small" />
       </li>
   </ul>
 </template>
@@ -10,53 +10,28 @@
 
 <style lang="scss">
 @import '../../_variables.scss';
+
 .avatars {
-  display: inline-flex; /* Causes LI items to display in row. */
-  list-style-type: none;
+  display: flex;
   margin: 0;
   padding: 0;
 
+  // For hiding overflowing elements
+  flex-wrap: wrap;
+  height: 24px;
+
   li.avatars-item {
-    height: 24px;
-    width: 24px;
-    margin: 0 5px 0 0;
+    margin: 0 0 5px 5px;
 
     &:first-child {
-      padding-left: 12px;
+      padding-left: 10px;
     }
 
-    &:last-child {
-      margin-right: 0;
-    }
-
-    .avatars-img {
+    .avatar-small {
       border-radius: $fallback--avatarAltRadius;
       border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);
       height: 24px;
       width: 24px;
-      background-color: $fallback--lightText;
-      background-color: var(--lightText, $fallback--lightText);
-    }
-  }
-}
-
-.transparent-avatar {
-  .avatars-item {
-    &:first-child {
-      position: relative;
-
-      .avatars-img {
-        &::after {
-          content: '';
-          position: absolute;
-          width: 100%;
-          height: 100%;
-          background-color: $fallback--faint;
-          background-color: var(--faint, $fallback--faint);
-          left: 0;
-          top: 0;
-        }
-      }
     }
   }
 }
diff --git a/src/components/status/status.vue b/src/components/status/status.vue
index b0882964..d79bb2b9 100644
--- a/src/components/status/status.vue
+++ b/src/components/status/status.vue
@@ -135,19 +135,19 @@
 
           <transition name="fade">
             <div class="favs-repeated-users" v-if="combinedFavsAndRepeatsAvatars.length > 0 && isFocused">
-              <ul class="stats">
-                <li class="stat-count" v-if="statusFromGlobalRepository.rebloggedBy && statusFromGlobalRepository.rebloggedBy.length > 0">
+              <div class="stats">
+                <div class="stat-count" v-if="statusFromGlobalRepository.rebloggedBy && statusFromGlobalRepository.rebloggedBy.length > 0">
                   <a class="stat-title">{{ $t('settings.notification_visibility_repeats') }}</a>
                   <div class="stat-number">{{ statusFromGlobalRepository.rebloggedBy.length }}</div>
-                </li>
-                <li class="stat-count" v-if="statusFromGlobalRepository.favoritedBy && statusFromGlobalRepository.favoritedBy.length > 0">
+                </div>
+                <div class="stat-count" v-if="statusFromGlobalRepository.favoritedBy && statusFromGlobalRepository.favoritedBy.length > 0">
                   <a class="stat-title">{{ $t('user_card.favorites') }}</a>
                   <div class="stat-number">{{ statusFromGlobalRepository.favoritedBy.length }}</div>
-                </li>
-                <li class="avatar-row">
+                </div>
+                <div class="avatar-row">
                   <AvatarList :avatars='combinedFavsAndRepeatsAvatars'></AvatarList>
-                </li>
-              </ul>
+                </div>
+              </div>
             </div>
           </transition>
 
@@ -631,19 +631,15 @@ a.unmute {
 }
 
 .favs-repeated-users {
-  margin-top: 0.75em;
+  margin-top: $status-margin;
 
   .stats {
     width: 100%;
-    margin: 0;
-    list-style: none;
-    overflow: hidden;
-    padding: 0;
     display: flex;
     line-height: 1em;
 
     .stat-count {
-      margin-right: 10px;
+      margin-right: 0.8em;
 
       .stat-title {
         color: var(--faint, $fallback--faint);
@@ -651,13 +647,7 @@ a.unmute {
         text-transform: uppercase;
         position: relative;
         margin-bottom: 3px;
-        cursor: pointer;
         line-height: 1em;
-
-        &:hover,
-        &:focus {
-          text-decoration: underline;
-        }
       }
 
       .stat-number {
-- 
cgit v1.2.3-70-g09d2


From 3e23b341687a94e0b5df74447a5e19bbfb59343b Mon Sep 17 00:00:00 2001
From: shpuld <shp@cock.li>
Date: Mon, 22 Apr 2019 21:07:29 +0300
Subject: fix overflow behavior

---
 src/components/avatar_list/avatar_list.vue | 12 ++++++------
 src/components/status/status.vue           | 12 +++---------
 2 files changed, 9 insertions(+), 15 deletions(-)

(limited to 'src/components/avatar_list/avatar_list.vue')

diff --git a/src/components/avatar_list/avatar_list.vue b/src/components/avatar_list/avatar_list.vue
index fc5abf01..b14474ba 100644
--- a/src/components/avatar_list/avatar_list.vue
+++ b/src/components/avatar_list/avatar_list.vue
@@ -1,9 +1,9 @@
 <template>
-  <ul class="avatars">
-      <li class="avatars-item" v-for="avatar in slicedAvatars">
+  <div class="avatars">
+      <div class="avatars-item" v-for="avatar in slicedAvatars">
         <UserAvatar :src="avatar.profile_image_url" class="avatar-small" />
-      </li>
-  </ul>
+      </div>
+  </div>
 </template>
 
 <script src="./avatar_list.js" ></script>
@@ -20,11 +20,11 @@
   flex-wrap: wrap;
   height: 24px;
 
-  li.avatars-item {
+  .avatars-item {
     margin: 0 0 5px 5px;
 
     &:first-child {
-      padding-left: 10px;
+      padding-left: 5px;
     }
 
     .avatar-small {
diff --git a/src/components/status/status.vue b/src/components/status/status.vue
index d79bb2b9..a9ce722c 100644
--- a/src/components/status/status.vue
+++ b/src/components/status/status.vue
@@ -639,15 +639,13 @@ a.unmute {
     line-height: 1em;
 
     .stat-count {
-      margin-right: 0.8em;
+      margin-right: $status-margin;
 
       .stat-title {
         color: var(--faint, $fallback--faint);
         font-size: 12px;
         text-transform: uppercase;
         position: relative;
-        margin-bottom: 3px;
-        line-height: 1em;
       }
 
       .stat-number {
@@ -661,6 +659,8 @@ a.unmute {
       flex: 1;
       overflow: hidden;
       position: relative;
+      display: flex;
+      align-items: center;
 
       &::before {
         content: '';
@@ -671,12 +671,6 @@ a.unmute {
         background-color: var(--faint, $fallback--faint);
       }
     }
-
-    li {
-      display: flex;
-      flex-direction: column;
-      justify-content: center;
-    }
   }
 }
 
-- 
cgit v1.2.3-70-g09d2


From c44c0483566efc8c48361e4143b25d852cecede4 Mon Sep 17 00:00:00 2001
From: shpuld <shp@cock.li>
Date: Wed, 1 May 2019 17:33:56 +0300
Subject: add title and alt for avatars, fix console errors in avatarlist

---
 src/components/avatar_list/avatar_list.js               |  6 +++---
 src/components/avatar_list/avatar_list.vue              |  4 ++--
 src/components/basic_user_card/basic_user_card.vue      |  6 +++++-
 src/components/notification/notification.vue            |  2 +-
 src/components/status/status.js                         |  6 +++---
 src/components/status/status.vue                        | 17 +++++++++++------
 src/components/user_avatar/user_avatar.js               |  2 +-
 src/components/user_avatar/user_avatar.vue              |  4 +++-
 src/components/user_card/user_card.vue                  |  2 +-
 .../entity_normalizer/entity_normalizer.service.js      |  3 +++
 10 files changed, 33 insertions(+), 19 deletions(-)

(limited to 'src/components/avatar_list/avatar_list.vue')

diff --git a/src/components/avatar_list/avatar_list.js b/src/components/avatar_list/avatar_list.js
index d65125c2..b9e11aaa 100644
--- a/src/components/avatar_list/avatar_list.js
+++ b/src/components/avatar_list/avatar_list.js
@@ -1,10 +1,10 @@
 import UserAvatar from '../user_avatar/user_avatar.vue'
 
 const AvatarList = {
-  props: ['avatars'],
+  props: ['users'],
   computed: {
-    slicedAvatars () {
-      return this.avatars ? this.avatars.slice(0, 15) : []
+    slicedUsers () {
+      return this.users ? this.users.slice(0, 15) : []
     }
   },
   components: {
diff --git a/src/components/avatar_list/avatar_list.vue b/src/components/avatar_list/avatar_list.vue
index b14474ba..4e0de2c9 100644
--- a/src/components/avatar_list/avatar_list.vue
+++ b/src/components/avatar_list/avatar_list.vue
@@ -1,7 +1,7 @@
 <template>
   <div class="avatars">
-      <div class="avatars-item" v-for="avatar in slicedAvatars">
-        <UserAvatar :src="avatar.profile_image_url" class="avatar-small" />
+      <div class="avatars-item" v-for="user in slicedUsers">
+        <UserAvatar :user="user" class="avatar-small" />
       </div>
   </div>
 </template>
diff --git a/src/components/basic_user_card/basic_user_card.vue b/src/components/basic_user_card/basic_user_card.vue
index 25f1fb2a..634d62b3 100644
--- a/src/components/basic_user_card/basic_user_card.vue
+++ b/src/components/basic_user_card/basic_user_card.vue
@@ -1,7 +1,11 @@
 <template>
   <div class="basic-user-card">
     <router-link :to="userProfileLink(user)">
-      <UserAvatar class="avatar" @click.prevent.native="toggleUserExpanded" :src="user.profile_image_url"/>
+      <UserAvatar
+        class="avatar"
+        :user="user"
+        @click.prevent.native="toggleUserExpanded"
+      />
     </router-link>
     <div class="basic-user-card-expanded-content" v-if="userExpanded">
       <UserCard :user="user" :rounded="true" :bordered="true"/>
diff --git a/src/components/notification/notification.vue b/src/components/notification/notification.vue
index ae11d692..3427b9c5 100644
--- a/src/components/notification/notification.vue
+++ b/src/components/notification/notification.vue
@@ -7,7 +7,7 @@
   </status>
   <div class="non-mention" :class="[userClass, { highlighted: userStyle }]" :style="[ userStyle ]" v-else>
     <a class='avatar-container' :href="notification.from_profile.statusnet_profile_url" @click.stop.prevent.capture="toggleUserExpanded">
-      <UserAvatar :compact="true" :betterShadow="betterShadow" :src="notification.from_profile.profile_image_url_original" />
+      <UserAvatar :compact="true" :betterShadow="betterShadow" :user="notification.from_profile"/>
     </a>
     <div class='notification-right'>
       <UserCard :user="getUser(notification)" :rounded="true" :bordered="true" v-if="userExpanded" />
diff --git a/src/components/status/status.js b/src/components/status/status.js
index f10eb2e4..ff8cbe18 100644
--- a/src/components/status/status.js
+++ b/src/components/status/status.js
@@ -263,13 +263,13 @@ const Status = {
       }
       return this.status.summary_html + '<br />' + this.status.statusnet_html
     },
-    combinedFavsAndRepeatsAvatars () {
+    combinedFavsAndRepeatsUsers () {
       // Use the status from the global status repository since favs and repeats are saved in it
-      const combinedAvatars = [].concat(
+      const combinedUsers = [].concat(
         this.statusFromGlobalRepository.favoritedBy,
         this.statusFromGlobalRepository.rebloggedBy
       )
-      return uniqBy(combinedAvatars, 'id')
+      return uniqBy(combinedUsers, 'id')
     }
   },
   components: {
diff --git a/src/components/status/status.vue b/src/components/status/status.vue
index a5f7429c..43c3030e 100644
--- a/src/components/status/status.vue
+++ b/src/components/status/status.vue
@@ -13,7 +13,7 @@
     </template>
     <template v-else>
       <div v-if="retweet && !noHeading && !inConversation" :class="[repeaterClass, { highlighted: repeaterStyle }]" :style="[repeaterStyle]" class="media container retweet-info">
-        <UserAvatar class="media-left" v-if="retweet" :betterShadow="betterShadow" :src="statusoid.user.profile_image_url_original"/>
+        <UserAvatar class="media-left" v-if="retweet" :betterShadow="betterShadow" :user="statusoid.user"/>
         <div class="media-body faint">
           <span class="user-name">
             <router-link v-if="retweeterHtml" :to="retweeterProfileLink" v-html="retweeterHtml"/>
@@ -27,7 +27,7 @@
       <div :class="[userClass, { highlighted: userStyle, 'is-retweet': retweet && !inConversation }]" :style="[ userStyle ]" class="media status">
         <div v-if="!noHeading" class="media-left">
           <router-link :to="userProfileLink" @click.stop.prevent.capture.native="toggleUserExpanded">
-            <UserAvatar :compact="compact" :betterShadow="betterShadow" :src="status.user.profile_image_url_original"/>
+            <UserAvatar :compact="compact" :betterShadow="betterShadow" :user="status.user"/>
           </router-link>
         </div>
         <div class="status-body">
@@ -91,8 +91,13 @@
           </div>
 
           <div v-if="showPreview" class="status-preview-container">
-            <status class="status-preview" v-if="preview" :isPreview="true" :statusoid="preview" :compact=true></status>
-            <div class="status-preview status-preview-loading" v-else>
+            <status class="status-preview"
+              v-if="preview"
+              :isPreview="true"
+              :statusoid="preview"
+              :compact=true
+            />
+            <div v-else class="status-preview status-preview-loading">
               <i class="icon-spin4 animate-spin"></i>
             </div>
           </div>
@@ -134,7 +139,7 @@
           </div>
 
           <transition name="fade">
-            <div class="favs-repeated-users" v-if="combinedFavsAndRepeatsAvatars.length > 0 && isFocused">
+            <div class="favs-repeated-users" v-if="combinedFavsAndRepeatsUsers.length > 0 && isFocused">
               <div class="stats">
                 <div class="stat-count" v-if="statusFromGlobalRepository.rebloggedBy && statusFromGlobalRepository.rebloggedBy.length > 0">
                   <a class="stat-title">{{ $t('status.repeats') }}</a>
@@ -145,7 +150,7 @@
                   <div class="stat-number">{{ statusFromGlobalRepository.favoritedBy.length }}</div>
                 </div>
                 <div class="avatar-row">
-                  <AvatarList :avatars='combinedFavsAndRepeatsAvatars'></AvatarList>
+                  <AvatarList :users="combinedFavsAndRepeatsUsers"></AvatarList>
                 </div>
               </div>
             </div>
diff --git a/src/components/user_avatar/user_avatar.js b/src/components/user_avatar/user_avatar.js
index e6fed3b5..a42b9c71 100644
--- a/src/components/user_avatar/user_avatar.js
+++ b/src/components/user_avatar/user_avatar.js
@@ -2,7 +2,7 @@ import StillImage from '../still-image/still-image.vue'
 
 const UserAvatar = {
   props: [
-    'src',
+    'user',
     'betterShadow',
     'compact'
   ],
diff --git a/src/components/user_avatar/user_avatar.vue b/src/components/user_avatar/user_avatar.vue
index 6bf7123d..e5466fdf 100644
--- a/src/components/user_avatar/user_avatar.vue
+++ b/src/components/user_avatar/user_avatar.vue
@@ -1,8 +1,10 @@
 <template>
   <StillImage
     class="avatar"
+    :alt="user.screen_name"
+    :title="user.screen_name"
+    :src="user.profile_image_url_original"
     :class="{ 'avatar-compact': compact, 'better-shadow': betterShadow }"
-    :src="imgSrc"
     :imageLoadError="imageLoadError"
   />
 </template>
diff --git a/src/components/user_card/user_card.vue b/src/components/user_card/user_card.vue
index e1d3ff57..e62b384d 100644
--- a/src/components/user_card/user_card.vue
+++ b/src/components/user_card/user_card.vue
@@ -4,7 +4,7 @@
     <div class='user-info'>
       <div class='container'>
         <router-link :to="userProfileLink(user)">
-          <UserAvatar :betterShadow="betterShadow" :src="user.profile_image_url_original"/>
+          <UserAvatar :betterShadow="betterShadow" :user="user"/>
         </router-link>
         <div class="name-and-screen-name">
           <div class="top-line">
diff --git a/src/services/entity_normalizer/entity_normalizer.service.js b/src/services/entity_normalizer/entity_normalizer.service.js
index e706e7d9..309aa1e8 100644
--- a/src/services/entity_normalizer/entity_normalizer.service.js
+++ b/src/services/entity_normalizer/entity_normalizer.service.js
@@ -275,6 +275,9 @@ export const parseStatus = (data) => {
     output.retweeted_status = parseStatus(retweetedStatus)
   }
 
+  output.favoritedBy = []
+  output.rebloggedBy = []
+
   return output
 }
 
-- 
cgit v1.2.3-70-g09d2


From 31e14cd45d21880962b530de1f515bc3d4fec5ba Mon Sep 17 00:00:00 2001
From: taehoon <th.dev91@gmail.com>
Date: Wed, 8 May 2019 12:04:33 -0400
Subject: link interaction avatars to the user profile

---
 src/components/avatar_list/avatar_list.js  | 6 ++++++
 src/components/avatar_list/avatar_list.vue | 6 +++---
 2 files changed, 9 insertions(+), 3 deletions(-)

(limited to 'src/components/avatar_list/avatar_list.vue')

diff --git a/src/components/avatar_list/avatar_list.js b/src/components/avatar_list/avatar_list.js
index b9e11aaa..9b6301b2 100644
--- a/src/components/avatar_list/avatar_list.js
+++ b/src/components/avatar_list/avatar_list.js
@@ -1,4 +1,5 @@
 import UserAvatar from '../user_avatar/user_avatar.vue'
+import generateProfileLink from 'src/services/user_profile_link_generator/user_profile_link_generator'
 
 const AvatarList = {
   props: ['users'],
@@ -9,6 +10,11 @@ const AvatarList = {
   },
   components: {
     UserAvatar
+  },
+  methods: {
+    userProfileLink (user) {
+      return generateProfileLink(user.id, user.screen_name, this.$store.state.instance.restrictedNicknames)
+    }
   }
 }
 
diff --git a/src/components/avatar_list/avatar_list.vue b/src/components/avatar_list/avatar_list.vue
index 4e0de2c9..c0238570 100644
--- a/src/components/avatar_list/avatar_list.vue
+++ b/src/components/avatar_list/avatar_list.vue
@@ -1,8 +1,8 @@
 <template>
   <div class="avatars">
-      <div class="avatars-item" v-for="user in slicedUsers">
-        <UserAvatar :user="user" class="avatar-small" />
-      </div>
+    <router-link :to="userProfileLink(user)" class="avatars-item" v-for="user in slicedUsers">
+      <UserAvatar :user="user" class="avatar-small" />
+    </router-link>
   </div>
 </template>
 
-- 
cgit v1.2.3-70-g09d2

