diff --git a/html/src/app.js b/html/src/app.js
index e51d662b..8c1bcd14 100644
--- a/html/src/app.js
+++ b/html/src/app.js
@@ -3494,6 +3494,19 @@ speechSynthesis.getVoices();
});
}
}
+ // TrustLevel, Friend, FriendRequest, Unfriend, DisplayName
+ var { data } = this.friendLogTable;
+ var j = this.friendLogTable.data.length;
+ for (i = j - 1; i >= j - 6; i--) {
+ var ctx = data[i];
+ if (ctx.type !== 'FriendRequest') {
+ arr.push({
+ ...ctx,
+ isFriend: this.friends.has(ctx.userId),
+ isFavorite: API.cachedFavoritesByObjectId.has(ctx.userId)
+ });
+ }
+ }
arr.sort(function (a, b) {
if (a.created_at < b.created_at) {
return 1;
diff --git a/html/src/vr.pug b/html/src/vr.pug
index 0555113d..d7b64431 100644
--- a/html/src/vr.pug
+++ b/html/src/vr.pug
@@ -67,6 +67,26 @@ html
span.extra
span.time {{ feed.created_at | formatDate('HH:MI') }}
| 💚 #[span.name(v-text="feed.senderUsername")]
+ div(v-else-if="feed.type === 'Friend'" class="x-friend-item" :class="{ friend: feed.isFriend, favorite: feed.isFavorite }")
+ .detail
+ span.extra
+ span.time {{ feed.created_at | formatDate('HH:MI') }}
+ | 💖 #[span.name(v-text="feed.displayName")]
+ div(v-else-if="feed.type === 'Unfriend'" class="x-friend-item" :class="{ friend: feed.isFriend, favorite: feed.isFavorite }")
+ .detail
+ span.extra
+ span.time {{ feed.created_at | formatDate('HH:MI') }}
+ | 💔 #[span.name(v-text="feed.displayName")]
+ div(v-else-if="feed.type === 'DisplayName'" class="x-friend-item" :class="{ friend: feed.isFriend, favorite: feed.isFavorite }")
+ .detail
+ span.extra
+ span.time {{ feed.created_at | formatDate('HH:MI') }}
+ | 📃 #[span.name(v-text="feed.previousDisplayName")] #[i.el-icon-right] #[span.name(v-text="feed.displayName")]
+ div(v-else-if="feed.type === 'TrustLevel'" class="x-friend-item" :class="{ friend: feed.isFriend, favorite: feed.isFavorite }")
+ .detail
+ span.extra
+ span.time {{ feed.created_at | formatDate('HH:MI') }}
+ | 🤝 #[span.name(v-text="feed.displayName")] {{ feed.previousTrustLevel }} #[i.el-icon-right] {{ feed.trustLevel }}
template(v-else)
template(v-for="feed in feeds")
.x-friend-item(v-if="feed.type === 'GPS'" :class="{ friend: feed.isFriend, favorite: feed.isFavorite }")
@@ -119,6 +139,26 @@ html
span.extra
span.time {{ feed.created_at | formatDate('HH:MI') }}
| #[span.name(v-text="feed.senderUsername")] has sent you a friend request
+ div(v-else-if="feed.type === 'Friend'" class="x-friend-item" :class="{ friend: feed.isFriend, favorite: feed.isFavorite }")
+ .detail
+ span.extra
+ span.time {{ feed.created_at | formatDate('HH:MI') }}
+ | #[span.name(v-text="feed.displayName")] is now your friend
+ div(v-else-if="feed.type === 'Unfriend'" class="x-friend-item" :class="{ friend: feed.isFriend, favorite: feed.isFavorite }")
+ .detail
+ span.extra
+ span.time {{ feed.created_at | formatDate('HH:MI') }}
+ | #[span.name(v-text="feed.displayName")] has unfriended you
+ div(v-else-if="feed.type === 'DisplayName'" class="x-friend-item" :class="{ friend: feed.isFriend, favorite: feed.isFavorite }")
+ .detail
+ span.extra
+ span.time {{ feed.created_at | formatDate('HH:MI') }}
+ | #[span.name(v-text="feed.previousDisplayName")] changed their name to #[span.name(v-text="feed.displayName")]
+ div(v-else-if="feed.type === 'TrustLevel'" class="x-friend-item" :class="{ friend: feed.isFriend, favorite: feed.isFavorite }")
+ .detail
+ span.extra
+ span.time {{ feed.created_at | formatDate('HH:MI') }}
+ | #[span.name(v-text="feed.displayName")] trust level is now {{ feed.trustLevel }}
.x-container
div(style="display:flex;flex-direction:row")
template(v-if="devices.length")