mirror of
https://github.com/MrUnknownDE/VRCX.git
synced 2026-04-12 03:13:50 +02:00
Instance names in VR wrist feed, replace emojis
This commit is contained in:
@@ -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/';
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
132
src/vr/Vr.vue
132
src/vr/Vr.vue
@@ -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>
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user