mirror of
https://github.com/MrUnknownDE/VRCX.git
synced 2026-05-06 22:46:06 +02:00
Group notifications
This commit is contained in:
+72
-1
@@ -5457,12 +5457,15 @@ speechSynthesis.getVoices();
|
|||||||
) {
|
) {
|
||||||
playOverlayNotification = true;
|
playOverlayNotification = true;
|
||||||
}
|
}
|
||||||
|
var message = '';
|
||||||
|
if (noty.message) {
|
||||||
|
message = noty.message;
|
||||||
|
}
|
||||||
var messageList = [
|
var messageList = [
|
||||||
'inviteMessage',
|
'inviteMessage',
|
||||||
'requestMessage',
|
'requestMessage',
|
||||||
'responseMessage'
|
'responseMessage'
|
||||||
];
|
];
|
||||||
let message = '';
|
|
||||||
for (var k = 0; k < messageList.length; k++) {
|
for (var k = 0; k < messageList.length; k++) {
|
||||||
if (
|
if (
|
||||||
typeof noty.details !== 'undefined' &&
|
typeof noty.details !== 'undefined' &&
|
||||||
@@ -5522,6 +5525,8 @@ speechSynthesis.getVoices();
|
|||||||
imageUrl = noty.thumbnailImageUrl;
|
imageUrl = noty.thumbnailImageUrl;
|
||||||
} else if (noty.details && noty.details.imageUrl) {
|
} else if (noty.details && noty.details.imageUrl) {
|
||||||
imageUrl = noty.details.imageURL;
|
imageUrl = noty.details.imageURL;
|
||||||
|
} else if (noty.imageUrl) {
|
||||||
|
imageUrl = noty.imageUrl;
|
||||||
} else if (userId) {
|
} else if (userId) {
|
||||||
imageUrl = await API.getCachedUser({
|
imageUrl = await API.getCachedUser({
|
||||||
userId
|
userId
|
||||||
@@ -5671,6 +5676,18 @@ speechSynthesis.getVoices();
|
|||||||
`${noty.previousDisplayName} changed their name to ${noty.displayName}`
|
`${noty.previousDisplayName} changed their name to ${noty.displayName}`
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
|
case 'group.announcement':
|
||||||
|
this.speak(noty.message);
|
||||||
|
break;
|
||||||
|
case 'group.informative':
|
||||||
|
this.speak(noty.message);
|
||||||
|
break;
|
||||||
|
case 'group.invite':
|
||||||
|
this.speak(noty.message);
|
||||||
|
break;
|
||||||
|
case 'group.joinRequest':
|
||||||
|
this.speak(noty.message);
|
||||||
|
break;
|
||||||
case 'PortalSpawn':
|
case 'PortalSpawn':
|
||||||
if (noty.displayName) {
|
if (noty.displayName) {
|
||||||
this.speak(
|
this.speak(
|
||||||
@@ -5872,6 +5889,18 @@ speechSynthesis.getVoices();
|
|||||||
image
|
image
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
|
case 'group.announcement':
|
||||||
|
AppApi.XSNotification('VRCX', noty.message, timeout, image);
|
||||||
|
break;
|
||||||
|
case 'group.informative':
|
||||||
|
AppApi.XSNotification('VRCX', noty.message, timeout, image);
|
||||||
|
break;
|
||||||
|
case 'group.invite':
|
||||||
|
AppApi.XSNotification('VRCX', noty.message, timeout, image);
|
||||||
|
break;
|
||||||
|
case 'group.joinRequest':
|
||||||
|
AppApi.XSNotification('VRCX', noty.message, timeout, image);
|
||||||
|
break;
|
||||||
case 'PortalSpawn':
|
case 'PortalSpawn':
|
||||||
if (noty.displayName) {
|
if (noty.displayName) {
|
||||||
AppApi.XSNotification(
|
AppApi.XSNotification(
|
||||||
@@ -6111,6 +6140,30 @@ speechSynthesis.getVoices();
|
|||||||
image
|
image
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
|
case 'group.announcement':
|
||||||
|
AppApi.DesktopNotification(
|
||||||
|
'Group Announcement',
|
||||||
|
noty.message,
|
||||||
|
image
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
case 'group.informative':
|
||||||
|
AppApi.DesktopNotification(
|
||||||
|
'Group Informative',
|
||||||
|
noty.message,
|
||||||
|
image
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
case 'group.invite':
|
||||||
|
AppApi.DesktopNotification('Group Invite', noty.message, image);
|
||||||
|
break;
|
||||||
|
case 'group.joinRequest':
|
||||||
|
AppApi.DesktopNotification(
|
||||||
|
'Group Join Request',
|
||||||
|
noty.message,
|
||||||
|
image
|
||||||
|
);
|
||||||
|
break;
|
||||||
case 'PortalSpawn':
|
case 'PortalSpawn':
|
||||||
if (noty.displayName) {
|
if (noty.displayName) {
|
||||||
AppApi.DesktopNotification(
|
AppApi.DesktopNotification(
|
||||||
@@ -12835,6 +12888,10 @@ speechSynthesis.getVoices();
|
|||||||
Unfriend: 'On',
|
Unfriend: 'On',
|
||||||
DisplayName: 'VIP',
|
DisplayName: 'VIP',
|
||||||
TrustLevel: 'VIP',
|
TrustLevel: 'VIP',
|
||||||
|
'group.announcement': 'On',
|
||||||
|
'group.informative': 'On',
|
||||||
|
'group.invite': 'On',
|
||||||
|
'group.joinRequest': 'Off',
|
||||||
PortalSpawn: 'Everyone',
|
PortalSpawn: 'Everyone',
|
||||||
Event: 'On',
|
Event: 'On',
|
||||||
VideoPlay: 'Off',
|
VideoPlay: 'Off',
|
||||||
@@ -12867,6 +12924,10 @@ speechSynthesis.getVoices();
|
|||||||
Unfriend: 'On',
|
Unfriend: 'On',
|
||||||
DisplayName: 'Friends',
|
DisplayName: 'Friends',
|
||||||
TrustLevel: 'Friends',
|
TrustLevel: 'Friends',
|
||||||
|
'group.announcement': 'On',
|
||||||
|
'group.informative': 'On',
|
||||||
|
'group.invite': 'On',
|
||||||
|
'group.joinRequest': 'On',
|
||||||
PortalSpawn: 'Everyone',
|
PortalSpawn: 'Everyone',
|
||||||
Event: 'On',
|
Event: 'On',
|
||||||
VideoPlay: 'On',
|
VideoPlay: 'On',
|
||||||
@@ -12900,6 +12961,16 @@ speechSynthesis.getVoices();
|
|||||||
$app.data.sharedFeedFilters.wrist.Muted = 'On';
|
$app.data.sharedFeedFilters.wrist.Muted = 'On';
|
||||||
$app.data.sharedFeedFilters.wrist.Unmuted = 'On';
|
$app.data.sharedFeedFilters.wrist.Unmuted = 'On';
|
||||||
}
|
}
|
||||||
|
if (!$app.data.sharedFeedFilters.noty['group.announcement']) {
|
||||||
|
$app.data.sharedFeedFilters.noty['group.announcement'] = 'On';
|
||||||
|
$app.data.sharedFeedFilters.noty['group.informative'] = 'On';
|
||||||
|
$app.data.sharedFeedFilters.noty['group.invite'] = 'On';
|
||||||
|
$app.data.sharedFeedFilters.noty['group.joinRequest'] = 'Off';
|
||||||
|
$app.data.sharedFeedFilters.wrist['group.announcement'] = 'On';
|
||||||
|
$app.data.sharedFeedFilters.wrist['group.informative'] = 'On';
|
||||||
|
$app.data.sharedFeedFilters.wrist['group.invite'] = 'On';
|
||||||
|
$app.data.sharedFeedFilters.wrist['group.joinRequest'] = 'On';
|
||||||
|
}
|
||||||
|
|
||||||
if (!configRepository.getString('VRCX_trustColor')) {
|
if (!configRepository.getString('VRCX_trustColor')) {
|
||||||
configRepository.setString(
|
configRepository.setString(
|
||||||
|
|||||||
+40
-4
@@ -2792,10 +2792,28 @@ html
|
|||||||
el-radio-button(label="Off")
|
el-radio-button(label="Off")
|
||||||
el-radio-button(label="VIP")
|
el-radio-button(label="VIP")
|
||||||
el-radio-button(label="Friends")
|
el-radio-button(label="Friends")
|
||||||
|
.toggle-item
|
||||||
|
span.toggle-name Group Announcement
|
||||||
|
el-radio-group(v-model="sharedFeedFilters.noty['group.announcement']" size="mini")
|
||||||
|
el-radio-button(label="Off")
|
||||||
|
el-radio-button(label="On")
|
||||||
|
.toggle-item
|
||||||
|
span.toggle-name Group Join/Leave
|
||||||
|
el-radio-group(v-model="sharedFeedFilters.noty['group.informative']" size="mini")
|
||||||
|
el-radio-button(label="Off")
|
||||||
|
el-radio-button(label="On")
|
||||||
|
.toggle-item
|
||||||
|
span.toggle-name Group Invite
|
||||||
|
el-radio-group(v-model="sharedFeedFilters.noty['group.invite']" size="mini")
|
||||||
|
el-radio-button(label="Off")
|
||||||
|
el-radio-button(label="On")
|
||||||
|
.toggle-item
|
||||||
|
span.toggle-name Group Join Request
|
||||||
|
el-radio-group(v-model="sharedFeedFilters.noty['group.joinRequest']" size="mini")
|
||||||
|
el-radio-button(label="Off")
|
||||||
|
el-radio-button(label="On")
|
||||||
.toggle-item
|
.toggle-item
|
||||||
span.toggle-name Portal Spawn
|
span.toggle-name Portal Spawn
|
||||||
el-tooltip(placement="top" style="margin-left:5px" content="Requires '--enable-sdk-log-levels' steam launch option (click for more info)")
|
|
||||||
i.el-icon-warning(style="cursor:pointer" @click="openExternalLink(recommendedSteamParams)")
|
|
||||||
el-radio-group(v-model="sharedFeedFilters.noty.PortalSpawn" size="mini")
|
el-radio-group(v-model="sharedFeedFilters.noty.PortalSpawn" size="mini")
|
||||||
el-radio-button(label="Off")
|
el-radio-button(label="Off")
|
||||||
el-radio-button(label="VIP")
|
el-radio-button(label="VIP")
|
||||||
@@ -2986,10 +3004,28 @@ html
|
|||||||
el-radio-button(label="Off")
|
el-radio-button(label="Off")
|
||||||
el-radio-button(label="VIP")
|
el-radio-button(label="VIP")
|
||||||
el-radio-button(label="Friends")
|
el-radio-button(label="Friends")
|
||||||
|
.toggle-item
|
||||||
|
span.toggle-name Group Announcement
|
||||||
|
el-radio-group(v-model="sharedFeedFilters.wrist['group.announcement']" size="mini")
|
||||||
|
el-radio-button(label="Off")
|
||||||
|
el-radio-button(label="On")
|
||||||
|
.toggle-item
|
||||||
|
span.toggle-name Group Join/Leave
|
||||||
|
el-radio-group(v-model="sharedFeedFilters.wrist['group.informative']" size="mini")
|
||||||
|
el-radio-button(label="Off")
|
||||||
|
el-radio-button(label="On")
|
||||||
|
.toggle-item
|
||||||
|
span.toggle-name Group Invite
|
||||||
|
el-radio-group(v-model="sharedFeedFilters.wrist['group.invite']" size="mini")
|
||||||
|
el-radio-button(label="Off")
|
||||||
|
el-radio-button(label="On")
|
||||||
|
.toggle-item
|
||||||
|
span.toggle-name Group Join Request
|
||||||
|
el-radio-group(v-model="sharedFeedFilters.wrist['group.joinRequest']" size="mini")
|
||||||
|
el-radio-button(label="Off")
|
||||||
|
el-radio-button(label="On")
|
||||||
.toggle-item
|
.toggle-item
|
||||||
span.toggle-name Portal Spawn
|
span.toggle-name Portal Spawn
|
||||||
el-tooltip(placement="top" style="margin-left:5px" content="Requires '--enable-sdk-log-levels' steam launch option (click for more info)")
|
|
||||||
i.el-icon-warning(style="cursor:pointer" @click="openExternalLink(recommendedSteamParams)")
|
|
||||||
el-radio-group(v-model="sharedFeedFilters.wrist.PortalSpawn" size="mini")
|
el-radio-group(v-model="sharedFeedFilters.wrist.PortalSpawn" size="mini")
|
||||||
el-radio-button(label="Off")
|
el-radio-button(label="Off")
|
||||||
el-radio-button(label="VIP")
|
el-radio-button(label="VIP")
|
||||||
|
|||||||
@@ -464,6 +464,18 @@ Vue.component('marquee-text', MarqueeText);
|
|||||||
case 'DisplayName':
|
case 'DisplayName':
|
||||||
text = `<strong>${noty.previousDisplayName}</strong> changed their name to ${noty.displayName}`;
|
text = `<strong>${noty.previousDisplayName}</strong> changed their name to ${noty.displayName}`;
|
||||||
break;
|
break;
|
||||||
|
case 'group.announcement':
|
||||||
|
text = noty.message;
|
||||||
|
break;
|
||||||
|
case 'group.informative':
|
||||||
|
text = noty.message;
|
||||||
|
break;
|
||||||
|
case 'group.invite':
|
||||||
|
text = noty.message;
|
||||||
|
break;
|
||||||
|
case 'group.joinRequest':
|
||||||
|
text = noty.message;
|
||||||
|
break;
|
||||||
case 'PortalSpawn':
|
case 'PortalSpawn':
|
||||||
if (noty.displayName) {
|
if (noty.displayName) {
|
||||||
text = `<strong>${
|
text = `<strong>${
|
||||||
|
|||||||
@@ -119,6 +119,26 @@ html
|
|||||||
span.extra
|
span.extra
|
||||||
span.time {{ feed.created_at | formatDate }}
|
span.time {{ feed.created_at | formatDate }}
|
||||||
| 🤝 #[span.name(v-text="feed.displayName")] {{ feed.previousTrustLevel }} #[i.el-icon-right] {{ feed.trustLevel }}
|
| 🤝 #[span.name(v-text="feed.displayName")] {{ feed.previousTrustLevel }} #[i.el-icon-right] {{ feed.trustLevel }}
|
||||||
|
div(v-else-if="feed.type === 'group.announcement'" class="x-friend-item" :class="{ friend: feed.isFriend, favorite: feed.isFavorite }")
|
||||||
|
.detail
|
||||||
|
span.extra
|
||||||
|
span.time {{ feed.created_at | formatDate }}
|
||||||
|
| 🏷️ #[span.name(v-text="feed.message")]
|
||||||
|
div(v-else-if="feed.type === 'group.informative'" class="x-friend-item" :class="{ friend: feed.isFriend, favorite: feed.isFavorite }")
|
||||||
|
.detail
|
||||||
|
span.extra
|
||||||
|
span.time {{ feed.created_at | formatDate }}
|
||||||
|
| 🏷️ #[span.name(v-text="feed.message")]
|
||||||
|
div(v-else-if="feed.type === 'group.invite'" class="x-friend-item" :class="{ friend: feed.isFriend, favorite: feed.isFavorite }")
|
||||||
|
.detail
|
||||||
|
span.extra
|
||||||
|
span.time {{ feed.created_at | formatDate }}
|
||||||
|
| 🏷️ #[span.name(v-text="feed.message")]
|
||||||
|
div(v-else-if="feed.type === 'group.joinRequest'" class="x-friend-item" :class="{ friend: feed.isFriend, favorite: feed.isFavorite }")
|
||||||
|
.detail
|
||||||
|
span.extra
|
||||||
|
span.time {{ feed.created_at | formatDate }}
|
||||||
|
| 🏷️ #[span.name(v-text="feed.message")]
|
||||||
div(v-else-if="feed.type === 'PortalSpawn'" class="x-friend-item" :class="{ friend: feed.isFriend, favorite: feed.isFavorite }")
|
div(v-else-if="feed.type === 'PortalSpawn'" class="x-friend-item" :class="{ friend: feed.isFriend, favorite: feed.isFavorite }")
|
||||||
.detail
|
.detail
|
||||||
span.extra
|
span.extra
|
||||||
@@ -297,6 +317,26 @@ html
|
|||||||
span.extra
|
span.extra
|
||||||
span.time {{ feed.created_at | formatDate }}
|
span.time {{ feed.created_at | formatDate }}
|
||||||
| #[span.name(v-text="feed.displayName")] trust level is now {{ feed.trustLevel }}
|
| #[span.name(v-text="feed.displayName")] trust level is now {{ feed.trustLevel }}
|
||||||
|
div(v-else-if="feed.type === 'group.announcement'" class="x-friend-item" :class="{ friend: feed.isFriend, favorite: feed.isFavorite }")
|
||||||
|
.detail
|
||||||
|
span.extra
|
||||||
|
span.time {{ feed.created_at | formatDate }}
|
||||||
|
| #[span.name(v-text="feed.message")]
|
||||||
|
div(v-else-if="feed.type === 'group.informative'" class="x-friend-item" :class="{ friend: feed.isFriend, favorite: feed.isFavorite }")
|
||||||
|
.detail
|
||||||
|
span.extra
|
||||||
|
span.time {{ feed.created_at | formatDate }}
|
||||||
|
| #[span.name(v-text="feed.message")]
|
||||||
|
div(v-else-if="feed.type === 'group.invite'" class="x-friend-item" :class="{ friend: feed.isFriend, favorite: feed.isFavorite }")
|
||||||
|
.detail
|
||||||
|
span.extra
|
||||||
|
span.time {{ feed.created_at | formatDate }}
|
||||||
|
| #[span.name(v-text="feed.message")]
|
||||||
|
div(v-else-if="feed.type === 'group.joinRequest'" class="x-friend-item" :class="{ friend: feed.isFriend, favorite: feed.isFavorite }")
|
||||||
|
.detail
|
||||||
|
span.extra
|
||||||
|
span.time {{ feed.created_at | formatDate }}
|
||||||
|
| #[span.name(v-text="feed.message")]
|
||||||
div(v-else-if="feed.type === 'PortalSpawn'" class="x-friend-item" :class="{ friend: feed.isFriend, favorite: feed.isFavorite }")
|
div(v-else-if="feed.type === 'PortalSpawn'" class="x-friend-item" :class="{ friend: feed.isFriend, favorite: feed.isFavorite }")
|
||||||
.detail
|
.detail
|
||||||
span.extra
|
span.extra
|
||||||
|
|||||||
Reference in New Issue
Block a user