diff --git a/html/src/app.js b/html/src/app.js
index a3190db4..1bccfcb8 100644
--- a/html/src/app.js
+++ b/html/src/app.js
@@ -5485,6 +5485,7 @@ CefSharp.BindObjectAsync(
$app.data.hideLoginsFromFeed = VRCXStorage.GetBool('VRCX_hideLoginsFromFeed');
$app.data.hideDevicesFromFeed = VRCXStorage.GetBool('VRCX_hideDevicesFromFeed');
$app.data.vipNotifications = VRCXStorage.GetBool('VRCX_VIPNotifications');
+ $app.data.minimalFeed = VRCXStorage.GetBool('VRCX_minimalFeed');
var saveOpenVROption = function () {
VRCXStorage.SetBool('openVR', this.openVR);
VRCXStorage.SetBool('openVRAlways', this.openVRAlways);
@@ -5492,6 +5493,7 @@ CefSharp.BindObjectAsync(
VRCXStorage.SetBool('VRCX_hideLoginsFromFeed', this.hideLoginsFromFeed);
VRCXStorage.SetBool('VRCX_hideDevicesFromFeed', this.hideDevicesFromFeed);
VRCXStorage.SetBool('VRCX_VIPNotifications', this.vipNotifications);
+ VRCXStorage.SetBool('VRCX_minimalFeed', this.minimalFeed);
};
$app.watch.openVR = saveOpenVROption;
$app.watch.openVRAlways = saveOpenVROption;
@@ -5499,6 +5501,7 @@ CefSharp.BindObjectAsync(
$app.watch.hideLoginsFromFeed = saveOpenVROption;
$app.watch.hideDevicesFromFeed = saveOpenVROption;
$app.watch.vipNotifications = saveOpenVROption;
+ $app.watch.minimalFeed = saveOpenVROption;
$app.data.isDarkMode = VRCXStorage.GetBool('isDarkMode');
$appDarkStyle.disabled = $app.data.isDarkMode === false;
$app.watch.isDarkMode = function () {
diff --git a/html/src/index.pug b/html/src/index.pug
index 2075a315..e0966a0a 100644
--- a/html/src/index.pug
+++ b/html/src/index.pug
@@ -509,6 +509,9 @@ html
div(style="font-size:12px;margin-top:5px")
span(style="display:inline-block;min-width:150px") Overlay notifications
el-switch(v-model="vipNotifications")
+ div(style="font-size:12px;margin-top:5px")
+ span(style="display:inline-block;min-width:150px") Minimal feed icons
+ el-switch(v-model="minimalFeed")
div(style="margin-top:30px")
span(style="font-weight:bold") Window
div(style="font-size:12px;margin-top:5px")
diff --git a/html/src/vr.pug b/html/src/vr.pug
index 5289332e..556c5801 100644
--- a/html/src/vr.pug
+++ b/html/src/vr.pug
@@ -15,42 +15,80 @@ html
.x-app#x-app(style="display:none" :class="{ 'x-app-type': appType === '1' }")
.x-container(style="flex:1")
.x-friend-list(ref="list" style="color:#aaa")
- template(v-for="feed in feeds")
- .x-friend-item(v-if="feed.type === 'GPS'" :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 in #[location(:location="feed.location[0]")]
- div(v-else-if="feed.type === 'Offline'" 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 logged out
- div(v-else-if="feed.type === 'Online'" 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 logged in
- div(v-else-if="feed.type === 'Status'" 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 #[i.x-user-status(:class="userStatusClass(feed.status[0])")] {{feed.status[0].statusDescription}}
- div(v-else-if="feed.type === 'OnPlayerJoined'" 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.data")] has joined
- div(v-else-if="feed.type === 'OnPlayerLeft'" 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.data")] has left
- div(v-else-if="feed.type === 'Location'" class="x-friend-item" :class="{ friend: feed.isFriend, favorite: feed.isFavorite }")
- .detail
- span.extra
- span.time {{ feed.created_at | formatDate('HH:MI') }}
- location(:location="feed.data")
+ template(v-if="VRCXStorage.GetBool('VRCX_minimalFeed')")
+ template(v-for="feed in feeds")
+ .x-friend-item(v-if="feed.type === 'GPS'" :class="{ friend: feed.isFriend, favorite: feed.isFavorite }")
+ .detail
+ span.extra
+ span.time {{ feed.created_at | formatDate('HH:MI') }}
+ | #[span.name(v-text="feed.displayName")] #[location(:location="feed.location[0]")]
+ div(v-else-if="feed.type === 'Offline'" 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 === 'Online'" 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 === 'Status'" 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")] #[i.x-user-status(:class="userStatusClass(feed.status[0])")] {{feed.status[0].statusDescription}}
+ div(v-else-if="feed.type === 'OnPlayerJoined'" 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.data")]
+ div(v-else-if="feed.type === 'OnPlayerLeft'" 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.data")]
+ div(v-else-if="feed.type === 'Location'" class="x-friend-item" :class="{ friend: feed.isFriend, favorite: feed.isFavorite }")
+ .detail
+ span.extra
+ span.time {{ feed.created_at | formatDate('HH:MI') }}
+ location(:location="feed.data")
+ template(v-else)
+ template(v-for="feed in feeds")
+ .x-friend-item(v-if="feed.type === 'GPS'" :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 in #[location(:location="feed.location[0]")]
+ div(v-else-if="feed.type === 'Offline'" 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 logged out
+ div(v-else-if="feed.type === 'Online'" 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 logged in
+ div(v-else-if="feed.type === 'Status'" 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 #[i.x-user-status(:class="userStatusClass(feed.status[0])")] {{feed.status[0].statusDescription}}
+ div(v-else-if="feed.type === 'OnPlayerJoined'" 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.data")] has joined
+ div(v-else-if="feed.type === 'OnPlayerLeft'" 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.data")] has left
+ div(v-else-if="feed.type === 'Location'" class="x-friend-item" :class="{ friend: feed.isFriend, favorite: feed.isFavorite }")
+ .detail
+ span.extra
+ span.time {{ feed.created_at | formatDate('HH:MI') }}
+ location(:location="feed.data")
.x-container
div(style="display:flex;flex-direction:row")
template(v-if="devices.length")
diff --git a/html/src/vr.scss b/html/src/vr.scss
index ed72e191..af0cfa80 100644
--- a/html/src/vr.scss
+++ b/html/src/vr.scss
@@ -184,11 +184,10 @@ button {
position: relative;
flex: none;
padding: 10px;
- overflow: hidden auto;
+ overflow: hidden;
}
.x-friend-list {
- padding: 0 10px;
overflow: hidden auto;
}