Instance names in VR wrist feed, replace emojis

This commit is contained in:
Natsumi
2025-09-29 09:30:00 +13:00
parent 8941bebad2
commit 560de42bd2
5 changed files with 123 additions and 50 deletions

View File

@@ -32,7 +32,7 @@ function changeAppThemeStyle(themeMode) {
const themeConfig = THEME_CONFIG[themeMode];
if (!themeConfig) {
console.error('Invalid theme mode:', themeMode);
themeMode = 'light';
themeMode = systemIsDarkMode() ? 'dark' : 'light';
}
let filePathPrefix = 'file://vrcx/';

View File

@@ -17,7 +17,8 @@ import {
getWorldName,
hasGroupPermission,
isRealInstance,
parseLocation
parseLocation,
replaceBioSymbols
} from '../shared/utils';
import { useFriendStore } from './friend';
import { useGroupStore } from './group';
@@ -390,6 +391,9 @@ export const useInstanceStore = defineStore('Instance', () => {
ref.$disabledContentSettings.push(setting);
}
}
if (ref.displayName) {
ref.displayName = replaceBioSymbols(ref.displayName);
}
if (
userStore.userDialog.visible &&
userStore.userDialog.ref.$location.tag === ref.id

View File

@@ -216,6 +216,26 @@ export const useSharedFeedStore = defineStore('SharedFeed', () => {
return 0;
});
wristFeed.splice(16);
// temp fix, tack on instance names in the worst way possible
for (let feedEntry of wristFeed) {
if (feedEntry.location) {
const instanceRef = instanceStore.cachedInstances.get(
feedEntry.location
);
if (instanceRef?.displayName) {
feedEntry.instanceDisplayName = instanceRef.displayName;
}
}
// invites
if (feedEntry.details?.worldId) {
const instanceRef = instanceStore.cachedInstances.get(
feedEntry.details.worldId
);
if (instanceRef?.displayName) {
feedEntry.instanceDisplayName = instanceRef.displayName;
}
}
}
AppApi.ExecuteVrFeedFunction(
'wristFeedUpdate',
JSON.stringify(wristFeed)

View File

@@ -23,6 +23,7 @@
:location="feed.location"
:hint="feed.worldName"
:grouphint="feed.groupName"
:instancedisplayname="feed.instanceDisplayName"
style="margin-left: 5px"></VrLocation>
</span>
</div>
@@ -54,6 +55,7 @@
:location="feed.location"
:hint="feed.worldName"
:grouphint="feed.groupName"
:instancedisplayname="feed.instanceDisplayName"
style="margin-left: 5px"></VrLocation>
</template>
</span>
@@ -86,7 +88,7 @@
<div class="detail">
<span class="extra">
<span class="time">{{ formatDate(feed.created_at) }}</span>
<i class="ri-play-large-line"></i>
<span
class="name"
v-text="feed.displayName"
@@ -101,7 +103,7 @@
<div class="detail">
<span class="extra">
<span class="time">{{ formatDate(feed.created_at) }}</span>
<i class="ri-play-reverse-large-line"></i>
<span
class="name"
v-text="feed.displayName"
@@ -116,8 +118,9 @@
<div class="detail">
<span class="extra">
<span class="time">{{ formatDate(feed.created_at) }}</span>
<span class="spin"></span>
<span class="name" v-text="feed.displayName" style="margin-left: 30px"></span>
<i class="ri-play-large-line"></i>
<i class="ri-loader-line is-loading mr-5"></i>
<span class="name" v-text="feed.displayName"></span>
</span>
</div>
</div>
@@ -131,7 +134,8 @@
<VrLocation
:location="feed.location"
:hint="feed.worldName"
:grouphint="feed.groupName"></VrLocation>
:grouphint="feed.groupName"
:instancedisplayname="feed.instanceDisplayName"></VrLocation>
</span>
</div>
</div>
@@ -142,7 +146,7 @@
<div class="detail">
<span class="extra">
<span class="time">{{ formatDate(feed.created_at) }}</span>
🎵
<i class="ri-youtube-line mr-5"></i>
<span
v-if="feed.displayName"
class="name"
@@ -165,10 +169,12 @@
<div class="detail">
<span class="extra">
<span class="time">{{ formatDate(feed.created_at) }}</span>
📨 <span class="name" v-text="feed.senderUsername"></span>
<i class="ri-mail-send-line mr-5"></i>
<span class="name" v-text="feed.senderUsername"></span>
<VrLocation
:location="feed.details.worldId"
:hint="feed.details.worldName"></VrLocation>
:hint="feed.details.worldName"
:instancedisplayname="feed.instanceDisplayName"></VrLocation>
<span v-text="feed.details.inviteMessage"></span>
</span>
</div>
@@ -180,7 +186,8 @@
<div class="detail">
<span class="extra">
<span class="time">{{ formatDate(feed.created_at) }}</span>
📩 <span class="name" v-text="feed.senderUsername"></span>
<i class="ri-mail-send-line mr-5"></i>
<span class="name" v-text="feed.senderUsername"></span>
<span v-text="feed.details.requestMessage"></span>
</span>
</div>
@@ -192,7 +199,8 @@
<div class="detail">
<span class="extra">
<span class="time">{{ formatDate(feed.created_at) }}</span>
💬 <span class="name" v-text="feed.senderUsername"></span>
<i class="ri-mail-send-line mr-5"></i>
<span class="name" v-text="feed.senderUsername"></span>
<span v-text="feed.details.responseMessage"></span>
</span>
</div>
@@ -204,7 +212,8 @@
<div class="detail">
<span class="extra">
<span class="time">{{ formatDate(feed.created_at) }}</span>
💬 <span class="name" v-text="feed.senderUsername"></span>
<i class="ri-mail-send-line mr-5"></i>
<span class="name" v-text="feed.senderUsername"></span>
<span v-text="feed.details.responseMessage"></span>
</span>
</div>
@@ -216,7 +225,8 @@
<div class="detail">
<span class="extra">
<span class="time">{{ formatDate(feed.created_at) }}</span>
💚 <span class="name" v-text="feed.senderUsername"></span>
<i class="ri-heart-add-line mr-5"></i>
<span class="name" v-text="feed.senderUsername"></span>
</span>
</div>
</div>
@@ -227,7 +237,8 @@
<div class="detail">
<span class="extra">
<span class="time">{{ formatDate(feed.created_at) }}</span>
💖 <span class="name" v-text="feed.displayName"></span>
<i class="ri-hearts-line mr-5"></i>
<span class="name" v-text="feed.displayName"></span>
</span>
</div>
</div>
@@ -238,7 +249,8 @@
<div class="detail">
<span class="extra">
<span class="time">{{ formatDate(feed.created_at) }}</span>
💔 <span class="name" v-text="feed.displayName"></span>
<i class="ri-dislike-line mr-5"></i>
<span class="name" v-text="feed.displayName"></span>
</span>
</div>
</div>
@@ -249,8 +261,9 @@
<div class="detail">
<span class="extra">
<span class="time">{{ formatDate(feed.created_at) }}</span>
📃 <span class="name" v-text="feed.previousDisplayName"></span>
<i class="ri-arrow-right-fill"></i>
<i class="ri-file-edit-fill mr-5"></i>
<span class="name" v-text="feed.previousDisplayName"></span>
<i class="ri-arrow-right-fill mr-5"></i>
<span class="name" v-text="feed.displayName"></span>
</span>
</div>
@@ -262,13 +275,14 @@
<div class="detail">
<span class="extra">
<span class="time">{{ formatDate(feed.created_at) }}</span>
🤝 <span class="name" v-text="feed.displayName"></span>
<i class="ri-graduation-cap-line mr-5"></i
><span class="name" v-text="feed.displayName"></span>
{{ feed.previousTrustLevel }} <i class="ri-arrow-right-fill"></i>
{{ feed.trustLevel }}
</span>
</div>
</div>
<div
<!-- <div
v-else-if="feed.type === 'boop'"
class="x-friend-item"
:class="{ friend: feed.isFriend, favorite: feed.isFavorite }">
@@ -279,7 +293,7 @@
<span v-text="feed.message"></span>
</span>
</div>
</div>
</div> -->
<div
v-else-if="feed.type === 'groupChange'"
class="x-friend-item"
@@ -287,7 +301,8 @@
<div class="detail">
<span class="extra">
<span class="time">{{ formatDate(feed.created_at) }}</span>
🏷 <span class="name" v-text="feed.senderUsername"></span>
<i class="ri-price-tag-3-line mr-5"></i>
<span class="name" v-text="feed.senderUsername"></span>
<span v-text="feed.message"></span>
</span>
</div>
@@ -299,7 +314,8 @@
<div class="detail">
<span class="extra">
<span class="time">{{ formatDate(feed.created_at) }}</span>
🏷 <span class="name" v-text="feed.message"></span>
<i class="ri-megaphone-line mr-5"></i>
<span class="name" v-text="feed.message"></span>
</span>
</div>
</div>
@@ -310,7 +326,8 @@
<div class="detail">
<span class="extra">
<span class="time">{{ formatDate(feed.created_at) }}</span>
🏷 <span class="name" v-text="feed.message"></span>
<i class="ri-megaphone-line mr-5"></i>
<span class="name" v-text="feed.message"></span>
</span>
</div>
</div>
@@ -321,7 +338,8 @@
<div class="detail">
<span class="extra">
<span class="time">{{ formatDate(feed.created_at) }}</span>
🏷 <span class="name" v-text="feed.message"></span>
<i class="ri-price-tag-3-line mr-5"></i>
<span class="name" v-text="feed.message"></span>
</span>
</div>
</div>
@@ -332,7 +350,8 @@
<div class="detail">
<span class="extra">
<span class="time">{{ formatDate(feed.created_at) }}</span>
🏷 <span class="name" v-text="feed.message"></span>
<i class="ri-price-tag-3-line mr-5"></i>
<span class="name" v-text="feed.message"></span>
</span>
</div>
</div>
@@ -343,7 +362,8 @@
<div class="detail">
<span class="extra">
<span class="time">{{ formatDate(feed.created_at) }}</span>
🏷 <span class="name" v-text="feed.message"></span>
<i class="ri-price-tag-3-line mr-5"></i>
<span class="name" v-text="feed.message"></span>
</span>
</div>
</div>
@@ -354,7 +374,8 @@
<div class="detail">
<span class="extra">
<span class="time">{{ formatDate(feed.created_at) }}</span>
📨 <span class="name" v-text="feed.message"></span>
<i class="ri-mail-send-line mr-5"></i>
<span class="name" v-text="feed.message"></span>
</span>
</div>
</div>
@@ -365,7 +386,8 @@
<div class="detail">
<span class="extra">
<span class="time">{{ formatDate(feed.created_at) }}</span>
📫 <span class="name" v-text="feed.message"></span>
<i class="ri-close-circle-line mr-5"></i>
<span class="name" v-text="feed.message"></span>
</span>
</div>
</div>
@@ -377,7 +399,7 @@
<span class="extra">
<span class="time">{{ formatDate(feed.created_at) }}</span>
<template v-if="feed.displayName">
<i class="ri-bard-line mr-5"></i>
<span
class="name"
v-text="feed.displayName"
@@ -388,7 +410,9 @@
:hint="feed.worldName"
:grouphint="feed.groupName"></VrLocation>
</template>
<template v-else> User has spawned a portal </template>
<template v-else
><i class="ri-bard-line"></i> User has spawned a portal
</template>
</span>
</div>
</div>
@@ -399,7 +423,7 @@
<div class="detail">
<span class="extra">
<span class="time">{{ formatDate(feed.created_at) }}</span>
🧍
<i class="ri-walk-line mr-5"></i>
<span
class="name"
v-text="feed.displayName"
@@ -425,7 +449,7 @@
<div class="detail">
<span class="extra">
<span class="time">{{ formatDate(feed.created_at) }}</span>
💬
<i class="ri-chat-1-fill mr-5"></i>
<span
class="name"
v-text="feed.displayName"
@@ -438,7 +462,8 @@
<div class="detail">
<span class="extra">
<span class="time">{{ formatDate(feed.created_at) }}</span>
🛑 <span class="name" v-text="feed.data"></span>
<i class="ri-alert-line mr-5"></i>
<span class="name" v-text="feed.data"></span>
</span>
</div>
</div>
@@ -446,7 +471,7 @@
<div class="detail">
<span class="extra">
<span class="time">{{ formatDate(feed.created_at) }}</span>
🟠
<i class="ri-information-line mr-5"></i>
<span
class="name"
v-text="feed.displayName"
@@ -462,7 +487,8 @@
<div class="detail">
<span class="extra">
<span class="time">{{ formatDate(feed.created_at) }}</span>
🚫 <span class="name" v-text="feed.displayName"></span>
<i class="ri-play-large-line"></i><i class="ri-prohibited-line mr-5"></i>
<span class="name" v-text="feed.displayName"></span>
</span>
</div>
</div>
@@ -473,7 +499,9 @@
<div class="detail">
<span class="extra">
<span class="time">{{ formatDate(feed.created_at) }}</span>
🚫 <span class="name" v-text="feed.displayName"></span>
<i class="ri-play-reverse-large-line"></i
><i class="ri-prohibited-line mr-5"></i>
<span class="name" v-text="feed.displayName"></span>
</span>
</div>
</div>
@@ -484,7 +512,8 @@
<div class="detail">
<span class="extra">
<span class="time">{{ formatDate(feed.created_at) }}</span>
🔇 <span class="name" v-text="feed.displayName"></span>
<i class="ri-play-large-line"></i><i class="ri-volume-mute-line mr-5"></i>
<span class="name" v-text="feed.displayName"></span>
</span>
</div>
</div>
@@ -495,7 +524,9 @@
<div class="detail">
<span class="extra">
<span class="time">{{ formatDate(feed.created_at) }}</span>
🔇 <span class="name" v-text="feed.displayName"></span>
<i class="ri-play-reverse-large-line"></i
><i class="ri-volume-mute-line mr-5"></i>
<span class="name" v-text="feed.displayName"></span>
</span>
</div>
</div>
@@ -506,7 +537,7 @@
<div class="detail">
<span class="extra">
<span class="time">{{ formatDate(feed.created_at) }}</span>
🚫
<i class="ri-prohibited-line mr-5"></i>
<span
class="name"
v-text="feed.displayName"
@@ -521,7 +552,7 @@
<div class="detail">
<span class="extra">
<span class="time">{{ formatDate(feed.created_at) }}</span>
<i class="ri-checkbox-blank-circle-line mr-5"></i>
<span
class="name"
v-text="feed.displayName"
@@ -536,7 +567,7 @@
<div class="detail">
<span class="extra">
<span class="time">{{ formatDate(feed.created_at) }}</span>
🔇
<i class="ri-volume-mute-line mr-5"></i>
<span
class="name"
v-text="feed.displayName"
@@ -551,7 +582,7 @@
<div class="detail">
<span class="extra">
<span class="time">{{ formatDate(feed.created_at) }}</span>
🎤
<i class="ri-volume-up-line mr-5"></i>
<span
class="name"
v-text="feed.displayName"
@@ -577,14 +608,16 @@
<VrLocation
:location="feed.location"
:hint="feed.worldName"
:grouphint="feed.groupName"></VrLocation>
:grouphint="feed.groupName"
:instancedisplayname="feed.instanceDisplayName"></VrLocation>
</template>
<template v-else>
<span class="name" v-text="feed.displayName"></span> is in
<VrLocation
:location="feed.location"
:hint="feed.worldName"
:grouphint="feed.groupName"></VrLocation>
:grouphint="feed.groupName"
:instancedisplayname="feed.instanceDisplayName"></VrLocation>
</template>
</span>
</div>
@@ -615,7 +648,8 @@
<VrLocation
:location="feed.location"
:hint="feed.worldName"
:grouphint="feed.groupName"></VrLocation>
:grouphint="feed.groupName"
:instancedisplayname="feed.instanceDisplayName"></VrLocation>
</template>
</span>
</div>
@@ -691,7 +725,8 @@
<VrLocation
:location="feed.location"
:hint="feed.worldName"
:grouphint="feed.groupName"></VrLocation>
:grouphint="feed.groupName"
:instancedisplayname="feed.instanceDisplayName"></VrLocation>
</span>
</div>
</div>
@@ -726,7 +761,8 @@
<span class="name" v-text="feed.senderUsername"></span> has invited you to
<VrLocation
:location="feed.details.worldId"
:hint="feed.details.worldName"></VrLocation>
:hint="feed.details.worldName"
:instancedisplayname="feed.instanceDisplayName"></VrLocation>
<span v-text="feed.details.inviteMessage"></span>
</span>
</div>
@@ -2023,4 +2059,8 @@
.ml-5 {
margin-left: 5px;
}
.mr-5 {
margin-right: 5px;
}
</style>

View File

@@ -26,6 +26,10 @@
grouphint: {
type: String,
default: ''
},
instancedisplayname: {
type: String,
default: ''
}
});
@@ -38,6 +42,11 @@
text.value = props.location;
const L = parseLocation(props.location);
let instanceName = L.instanceName;
if (props.instancedisplayname) {
instanceName = props.instancedisplayname;
}
if (L.isOffline) {
text.value = 'Offline';
} else if (L.isPrivate) {
@@ -46,13 +55,13 @@
text.value = 'Traveling';
} else if (typeof props.hint === 'string' && props.hint !== '') {
if (L.instanceId) {
text.value = `${props.hint} #${L.instanceName} ${L.accessTypeName}`;
text.value = `${props.hint} #${instanceName} ${L.accessTypeName}`;
} else {
text.value = props.hint;
}
} else if (L.worldId) {
if (L.instanceId) {
text.value = ` #${L.instanceName} ${L.accessTypeName}`;
text.value = ` #${instanceName} ${L.accessTypeName}`;
} else {
text.value = props.location;
}