mirror of
https://github.com/MrUnknownDE/VRCX.git
synced 2026-04-17 13:53:52 +02:00
Add Moderation Logs to shared feed
This commit is contained in:
@@ -2124,6 +2124,7 @@ speechSynthesis.getVoices();
|
||||
API.$on('LOGIN', function () {
|
||||
this.cachedPlayerModerations.clear();
|
||||
this.isPlayerModerationsLoading = false;
|
||||
this.refreshPlayerModerations();
|
||||
});
|
||||
|
||||
API.$on('PLAYER-MODERATION', function (args) {
|
||||
@@ -2229,6 +2230,11 @@ speechSynthesis.getVoices();
|
||||
this.isPlayerModerationsLoading = false;
|
||||
}).then(() => {
|
||||
this.deleteExpiredPlayerModerations();
|
||||
if (($app.playerModerationTable.data.length !== $app.playerModerationTable.lastRunLength) &&
|
||||
($app.playerModerationTable.lastRunLength > 0)) {
|
||||
$app.notifyMenu('moderation');
|
||||
}
|
||||
$app.playerModerationTable.lastRunLength = $app.playerModerationTable.data.length;
|
||||
});
|
||||
};
|
||||
|
||||
@@ -3411,6 +3417,11 @@ speechSynthesis.getVoices();
|
||||
API.getCurrentUser().catch((err1) => {
|
||||
throw err1;
|
||||
});
|
||||
if (this.isGameRunning) {
|
||||
API.refreshPlayerModerations().catch((err1) => {
|
||||
throw err1;
|
||||
});
|
||||
}
|
||||
}
|
||||
this.checkActiveFriends();
|
||||
AppApi.CheckGameRunning().then(([isGameRunning, isGameNoVR]) => {
|
||||
@@ -3511,6 +3522,25 @@ speechSynthesis.getVoices();
|
||||
++j;
|
||||
}
|
||||
}
|
||||
var { data } = this.playerModerationTable;
|
||||
var i = data.length;
|
||||
var j = 0;
|
||||
while (j < 10) {
|
||||
if (i <= 0) {
|
||||
break;
|
||||
}
|
||||
var ctx = data[--i];
|
||||
// showAvatar, hideAvatar, block, mute, unmute
|
||||
if (ctx.sourceUserId !== API.currentUser.id) {
|
||||
arr.push({
|
||||
...ctx,
|
||||
created_at: ctx.created,
|
||||
isFriend: this.friends.has(ctx.sourceUserId),
|
||||
isFavorite: API.cachedFavoritesByObjectId.has(ctx.sourceUserId)
|
||||
});
|
||||
++j;
|
||||
}
|
||||
}
|
||||
arr.sort(function (a, b) {
|
||||
if (a.created_at < b.created_at) {
|
||||
return 1;
|
||||
@@ -4634,12 +4664,10 @@ speechSynthesis.getVoices();
|
||||
if (API.isLoggedIn === true) {
|
||||
await this.updateGameLog();
|
||||
this.sweepGameLog();
|
||||
|
||||
if (this.gameLogTable.data.length > this.gameLogTable.lastRunLength) {
|
||||
if (this.gameLogTable.data.length !== this.gameLogTable.lastRunLength) {
|
||||
this.notifyMenu('gameLog');
|
||||
}
|
||||
this.gameLogTable.lastRunLength = this.gameLogTable.data.length;
|
||||
|
||||
this.updateSharedFeed();
|
||||
}
|
||||
} catch (err) {
|
||||
@@ -5475,6 +5503,7 @@ speechSynthesis.getVoices();
|
||||
|
||||
$app.data.playerModerationTable = {
|
||||
data: [],
|
||||
lastRunLength: 0,
|
||||
filters: [
|
||||
{
|
||||
prop: 'type',
|
||||
@@ -5530,7 +5559,6 @@ speechSynthesis.getVoices();
|
||||
}
|
||||
if (ref.$isDeleted === false) {
|
||||
$app.playerModerationTable.data.push(ref);
|
||||
$app.notifyMenu('moderation');
|
||||
}
|
||||
});
|
||||
|
||||
@@ -5801,6 +5829,11 @@ speechSynthesis.getVoices();
|
||||
sharedFeedFilters.noty.Unfriend = 'On';
|
||||
sharedFeedFilters.noty.DisplayName = 'VIP';
|
||||
sharedFeedFilters.noty.TrustLevel = 'VIP';
|
||||
sharedFeedFilters.noty.showAvatar = 'On';
|
||||
sharedFeedFilters.noty.hideAvatar = 'On';
|
||||
sharedFeedFilters.noty.block = 'On';
|
||||
sharedFeedFilters.noty.mute = 'On';
|
||||
sharedFeedFilters.noty.unmute = 'On';
|
||||
sharedFeedFilters.wrist.Location = 'On';
|
||||
sharedFeedFilters.wrist.OnPlayerJoined = 'Everyone';
|
||||
sharedFeedFilters.wrist.OnPlayerLeft = 'Everyone';
|
||||
@@ -5816,6 +5849,12 @@ speechSynthesis.getVoices();
|
||||
sharedFeedFilters.wrist.Unfriend = 'On';
|
||||
sharedFeedFilters.wrist.DisplayName = 'Friends';
|
||||
sharedFeedFilters.wrist.TrustLevel = 'Friends';
|
||||
sharedFeedFilters.wrist.showAvatar = 'On';
|
||||
sharedFeedFilters.wrist.hideAvatar = 'On';
|
||||
sharedFeedFilters.wrist.block = 'On';
|
||||
sharedFeedFilters.wrist.mute = 'On';
|
||||
sharedFeedFilters.wrist.unmute = 'On';
|
||||
|
||||
configRepository.setString('sharedFeedFilters', JSON.stringify(sharedFeedFilters));
|
||||
}
|
||||
$app.data.sharedFeedFilters = JSON.parse(configRepository.getString('sharedFeedFilters'));
|
||||
|
||||
@@ -1244,11 +1244,26 @@ html
|
||||
span.toggle-name Unfriend
|
||||
toggle-switch(:options="toggleSwitchOptionsOn" group="switchNotyGrouprequestUnfriend" v-model="sharedFeedFilters.noty.Unfriend" class="toggle-switch")
|
||||
div
|
||||
span.toggle-name DisplayName
|
||||
span.toggle-name Display Name
|
||||
toggle-switch(:options="toggleSwitchOptionsFriends" group="switchNotyGrouprequestDisplayName" v-model="sharedFeedFilters.noty.DisplayName" class="toggle-switch")
|
||||
div
|
||||
span.toggle-name TrustLevel
|
||||
span.toggle-name Trust Level
|
||||
toggle-switch(:options="toggleSwitchOptionsFriends" group="switchNotyGrouprequestTrustLevel" v-model="sharedFeedFilters.noty.TrustLevel" class="toggle-switch")
|
||||
div
|
||||
span.toggle-name Show Avatar
|
||||
toggle-switch(:options="toggleSwitchOptionsOn" group="switchNotyGrouprequestShowAvatar" v-model="sharedFeedFilters.noty.showAvatar" class="toggle-switch")
|
||||
div
|
||||
span.toggle-name Hide Avatar
|
||||
toggle-switch(:options="toggleSwitchOptionsOn" group="switchNotyGrouprequestHideAvatar" v-model="sharedFeedFilters.noty.hideAvatar" class="toggle-switch")
|
||||
div
|
||||
span.toggle-name Block
|
||||
toggle-switch(:options="toggleSwitchOptionsOn" group="switchNotyGrouprequestblock" v-model="sharedFeedFilters.noty.block" class="toggle-switch")
|
||||
div
|
||||
span.toggle-name Mute
|
||||
toggle-switch(:options="toggleSwitchOptionsOn" group="switchNotyGrouprequestmute" v-model="sharedFeedFilters.noty.mute" class="toggle-switch")
|
||||
div
|
||||
span.toggle-name Unmute
|
||||
toggle-switch(:options="toggleSwitchOptionsOn" group="switchNotyGrouprequestunmute" v-model="sharedFeedFilters.noty.unmute" class="toggle-switch")
|
||||
template(#footer)
|
||||
el-button(type="small" @click="cancelSharedFeedFilters") Cancel
|
||||
el-button(type="primary" size="small" style="margin-left:10px" @click="saveSharedFeedFilters") Save
|
||||
@@ -1296,11 +1311,26 @@ html
|
||||
span.toggle-name Unfriend
|
||||
toggle-switch(:options="toggleSwitchOptionsOn" group="switchWristGrouprequestUnfriend" v-model="sharedFeedFilters.wrist.Unfriend" class="toggle-switch")
|
||||
div
|
||||
span.toggle-name DisplayName
|
||||
span.toggle-name Display Name
|
||||
toggle-switch(:options="toggleSwitchOptionsFriends" group="switchWristGrouprequestDisplayName" v-model="sharedFeedFilters.wrist.DisplayName" class="toggle-switch")
|
||||
div
|
||||
span.toggle-name TrustLevel
|
||||
span.toggle-name Trust Level
|
||||
toggle-switch(:options="toggleSwitchOptionsFriends" group="switchWristGrouprequestTrustLevel" v-model="sharedFeedFilters.wrist.TrustLevel" class="toggle-switch")
|
||||
div
|
||||
span.toggle-name Show Avatar
|
||||
toggle-switch(:options="toggleSwitchOptionsOn" group="switchWristGrouprequestShowAvatar" v-model="sharedFeedFilters.wrist.showAvatar" class="toggle-switch")
|
||||
div
|
||||
span.toggle-name Hide Avatar
|
||||
toggle-switch(:options="toggleSwitchOptionsOn" group="switchWristGrouprequestHideAvatar" v-model="sharedFeedFilters.wrist.hideAvatar" class="toggle-switch")
|
||||
div
|
||||
span.toggle-name Block
|
||||
toggle-switch(:options="toggleSwitchOptionsOn" group="switchWristGrouprequestblock" v-model="sharedFeedFilters.wrist.block" class="toggle-switch")
|
||||
div
|
||||
span.toggle-name Mute
|
||||
toggle-switch(:options="toggleSwitchOptionsOn" group="switchWristGrouprequestmute" v-model="sharedFeedFilters.wrist.mute" class="toggle-switch")
|
||||
div
|
||||
span.toggle-name Unmute
|
||||
toggle-switch(:options="toggleSwitchOptionsOn" group="switchWristGrouprequestunmute" v-model="sharedFeedFilters.wrist.unmute" class="toggle-switch")
|
||||
template(#footer)
|
||||
el-button(type="small" @click="cancelSharedFeedFilters") Cancel
|
||||
el-button(type="primary" size="small" @click="saveSharedFeedFilters") Save
|
||||
|
||||
@@ -769,12 +769,16 @@ speechSynthesis.getVoices();
|
||||
((filter[feed.type] === 'Friends') && (feed.isFriend)) ||
|
||||
((filter[feed.type] === 'VIP') && (feed.isFavorite)))) {
|
||||
var displayName = '';
|
||||
if (feed.data) {
|
||||
displayName = feed.data;
|
||||
} else if (feed.displayName) {
|
||||
if (feed.displayName) {
|
||||
displayName = feed.displayName;
|
||||
} else if (feed.senderUsername) {
|
||||
displayName = feed.senderUsername;
|
||||
} else if (feed.sourceDisplayName) {
|
||||
displayName = feed.sourceDisplayName;
|
||||
} else if (feed.data) {
|
||||
displayName = feed.data;
|
||||
} else {
|
||||
console.error('missing displayName');
|
||||
}
|
||||
if ((displayName) && (!this.notyMap[displayName]) ||
|
||||
(this.notyMap[displayName] < feed.created_at)) {
|
||||
@@ -943,6 +947,8 @@ speechSynthesis.getVoices();
|
||||
displayName = feed.displayName;
|
||||
} else if (feed.senderUsername) {
|
||||
displayName = feed.senderUsername;
|
||||
} else if (feed.sourceDisplayName) {
|
||||
displayName = feed.sourceDisplayName;
|
||||
} else if (feed.data) {
|
||||
displayName = feed.data;
|
||||
} else {
|
||||
@@ -1011,6 +1017,21 @@ speechSynthesis.getVoices();
|
||||
case 'DisplayName':
|
||||
text = `<strong>${noty.previousDisplayName}</strong> changed their name to ${noty.displayName}`;
|
||||
break;
|
||||
case 'showAvatar':
|
||||
text = `<strong>${noty.sourceDisplayName}</strong> has shown your avatar`;
|
||||
break;
|
||||
case 'hideAvatar':
|
||||
text = `<strong>${noty.sourceDisplayName}</strong> has hidden your avatar`;
|
||||
break;
|
||||
case 'block':
|
||||
text = `<strong>${noty.sourceDisplayName}</strong> has blocked you`;
|
||||
break;
|
||||
case 'mute':
|
||||
text = `<strong>${noty.sourceDisplayName}</strong> has muted you`;
|
||||
break;
|
||||
case 'unmute':
|
||||
text = `<strong>${noty.sourceDisplayName}</strong> has unmuted you`;
|
||||
break;
|
||||
}
|
||||
if (text) {
|
||||
new Noty({
|
||||
@@ -1066,6 +1087,21 @@ speechSynthesis.getVoices();
|
||||
case 'DisplayName':
|
||||
this.speak(`${noty.previousDisplayName} changed their name to ${noty.displayName}`);
|
||||
break;
|
||||
case 'showAvatar':
|
||||
this.speak(`${noty.sourceDisplayName} has shown your avatar`);
|
||||
break;
|
||||
case 'hideAvatar':
|
||||
this.speak(`${noty.sourceDisplayName} has hidden your avatar`);
|
||||
break;
|
||||
case 'block':
|
||||
this.speak(`${noty.sourceDisplayName} has blocked you`);
|
||||
break;
|
||||
case 'mute':
|
||||
this.speak(`${noty.sourceDisplayName} has muted you`);
|
||||
break;
|
||||
case 'unmute':
|
||||
this.speak(`${noty.sourceDisplayName} has unmuted you`);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ((this.desktopToastToggle) && (this.isGameNoVR)) {
|
||||
|
||||
@@ -93,6 +93,31 @@ html
|
||||
span.extra
|
||||
span.time {{ feed.created_at | formatDate('HH:MI') }}
|
||||
| 🤝 #[span.name(v-text="feed.displayName")] {{ feed.previousTrustLevel }} #[i.el-icon-right] {{ feed.trustLevel }}
|
||||
div(v-else-if="feed.type === 'showAvatar'" 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.sourceDisplayName")]
|
||||
div(v-else-if="feed.type === 'hideAvatar'" 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.sourceDisplayName")]
|
||||
div(v-else-if="feed.type === 'block'" 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.sourceDisplayName")] has blocked you
|
||||
div(v-else-if="feed.type === 'mute'" 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.sourceDisplayName")] has muted you
|
||||
div(v-else-if="feed.type === 'unmute'" 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.sourceDisplayName")] has unmuted you
|
||||
template(v-else)
|
||||
template(v-for="feed in wristFeed")
|
||||
.x-friend-item(v-if="feed.type === 'GPS'" :class="{ friend: feed.isFriend, favorite: feed.isFavorite }")
|
||||
@@ -170,6 +195,31 @@ html
|
||||
span.extra
|
||||
span.time {{ feed.created_at | formatDate('HH:MI') }}
|
||||
| #[span.name(v-text="feed.displayName")] trust level is now {{ feed.trustLevel }}
|
||||
div(v-else-if="feed.type === 'showAvatar'" 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.sourceDisplayName")] has shown your avatar
|
||||
div(v-else-if="feed.type === 'hideAvatar'" 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.sourceDisplayName")] has hidden your avatar
|
||||
div(v-else-if="feed.type === 'block'" 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.sourceDisplayName")] has blocked you
|
||||
div(v-else-if="feed.type === 'mute'" 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.sourceDisplayName")] has muted you
|
||||
div(v-else-if="feed.type === 'unmute'" 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.sourceDisplayName")] has unmuted you
|
||||
.x-container
|
||||
div(style="display:flex;flex-direction:row")
|
||||
template(v-if="devices.length")
|
||||
|
||||
Reference in New Issue
Block a user