mirror of
https://github.com/MrUnknownDE/VRCX.git
synced 2026-05-05 22:36:05 +02:00
Add Moderation Logs to shared feed
This commit is contained in:
+43
-4
@@ -2124,6 +2124,7 @@ speechSynthesis.getVoices();
|
|||||||
API.$on('LOGIN', function () {
|
API.$on('LOGIN', function () {
|
||||||
this.cachedPlayerModerations.clear();
|
this.cachedPlayerModerations.clear();
|
||||||
this.isPlayerModerationsLoading = false;
|
this.isPlayerModerationsLoading = false;
|
||||||
|
this.refreshPlayerModerations();
|
||||||
});
|
});
|
||||||
|
|
||||||
API.$on('PLAYER-MODERATION', function (args) {
|
API.$on('PLAYER-MODERATION', function (args) {
|
||||||
@@ -2229,6 +2230,11 @@ speechSynthesis.getVoices();
|
|||||||
this.isPlayerModerationsLoading = false;
|
this.isPlayerModerationsLoading = false;
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
this.deleteExpiredPlayerModerations();
|
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) => {
|
API.getCurrentUser().catch((err1) => {
|
||||||
throw err1;
|
throw err1;
|
||||||
});
|
});
|
||||||
|
if (this.isGameRunning) {
|
||||||
|
API.refreshPlayerModerations().catch((err1) => {
|
||||||
|
throw err1;
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
this.checkActiveFriends();
|
this.checkActiveFriends();
|
||||||
AppApi.CheckGameRunning().then(([isGameRunning, isGameNoVR]) => {
|
AppApi.CheckGameRunning().then(([isGameRunning, isGameNoVR]) => {
|
||||||
@@ -3511,6 +3522,25 @@ speechSynthesis.getVoices();
|
|||||||
++j;
|
++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) {
|
arr.sort(function (a, b) {
|
||||||
if (a.created_at < b.created_at) {
|
if (a.created_at < b.created_at) {
|
||||||
return 1;
|
return 1;
|
||||||
@@ -4634,12 +4664,10 @@ speechSynthesis.getVoices();
|
|||||||
if (API.isLoggedIn === true) {
|
if (API.isLoggedIn === true) {
|
||||||
await this.updateGameLog();
|
await this.updateGameLog();
|
||||||
this.sweepGameLog();
|
this.sweepGameLog();
|
||||||
|
if (this.gameLogTable.data.length !== this.gameLogTable.lastRunLength) {
|
||||||
if (this.gameLogTable.data.length > this.gameLogTable.lastRunLength) {
|
|
||||||
this.notifyMenu('gameLog');
|
this.notifyMenu('gameLog');
|
||||||
}
|
}
|
||||||
this.gameLogTable.lastRunLength = this.gameLogTable.data.length;
|
this.gameLogTable.lastRunLength = this.gameLogTable.data.length;
|
||||||
|
|
||||||
this.updateSharedFeed();
|
this.updateSharedFeed();
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
@@ -5475,6 +5503,7 @@ speechSynthesis.getVoices();
|
|||||||
|
|
||||||
$app.data.playerModerationTable = {
|
$app.data.playerModerationTable = {
|
||||||
data: [],
|
data: [],
|
||||||
|
lastRunLength: 0,
|
||||||
filters: [
|
filters: [
|
||||||
{
|
{
|
||||||
prop: 'type',
|
prop: 'type',
|
||||||
@@ -5530,7 +5559,6 @@ speechSynthesis.getVoices();
|
|||||||
}
|
}
|
||||||
if (ref.$isDeleted === false) {
|
if (ref.$isDeleted === false) {
|
||||||
$app.playerModerationTable.data.push(ref);
|
$app.playerModerationTable.data.push(ref);
|
||||||
$app.notifyMenu('moderation');
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -5801,6 +5829,11 @@ speechSynthesis.getVoices();
|
|||||||
sharedFeedFilters.noty.Unfriend = 'On';
|
sharedFeedFilters.noty.Unfriend = 'On';
|
||||||
sharedFeedFilters.noty.DisplayName = 'VIP';
|
sharedFeedFilters.noty.DisplayName = 'VIP';
|
||||||
sharedFeedFilters.noty.TrustLevel = '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.Location = 'On';
|
||||||
sharedFeedFilters.wrist.OnPlayerJoined = 'Everyone';
|
sharedFeedFilters.wrist.OnPlayerJoined = 'Everyone';
|
||||||
sharedFeedFilters.wrist.OnPlayerLeft = 'Everyone';
|
sharedFeedFilters.wrist.OnPlayerLeft = 'Everyone';
|
||||||
@@ -5816,6 +5849,12 @@ speechSynthesis.getVoices();
|
|||||||
sharedFeedFilters.wrist.Unfriend = 'On';
|
sharedFeedFilters.wrist.Unfriend = 'On';
|
||||||
sharedFeedFilters.wrist.DisplayName = 'Friends';
|
sharedFeedFilters.wrist.DisplayName = 'Friends';
|
||||||
sharedFeedFilters.wrist.TrustLevel = '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));
|
configRepository.setString('sharedFeedFilters', JSON.stringify(sharedFeedFilters));
|
||||||
}
|
}
|
||||||
$app.data.sharedFeedFilters = JSON.parse(configRepository.getString('sharedFeedFilters'));
|
$app.data.sharedFeedFilters = JSON.parse(configRepository.getString('sharedFeedFilters'));
|
||||||
|
|||||||
+34
-4
@@ -1244,11 +1244,26 @@ html
|
|||||||
span.toggle-name Unfriend
|
span.toggle-name Unfriend
|
||||||
toggle-switch(:options="toggleSwitchOptionsOn" group="switchNotyGrouprequestUnfriend" v-model="sharedFeedFilters.noty.Unfriend" class="toggle-switch")
|
toggle-switch(:options="toggleSwitchOptionsOn" group="switchNotyGrouprequestUnfriend" v-model="sharedFeedFilters.noty.Unfriend" class="toggle-switch")
|
||||||
div
|
div
|
||||||
span.toggle-name DisplayName
|
span.toggle-name Display Name
|
||||||
toggle-switch(:options="toggleSwitchOptionsFriends" group="switchNotyGrouprequestDisplayName" v-model="sharedFeedFilters.noty.DisplayName" class="toggle-switch")
|
toggle-switch(:options="toggleSwitchOptionsFriends" group="switchNotyGrouprequestDisplayName" v-model="sharedFeedFilters.noty.DisplayName" class="toggle-switch")
|
||||||
div
|
div
|
||||||
span.toggle-name TrustLevel
|
span.toggle-name Trust Level
|
||||||
toggle-switch(:options="toggleSwitchOptionsFriends" group="switchNotyGrouprequestTrustLevel" v-model="sharedFeedFilters.noty.TrustLevel" class="toggle-switch")
|
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)
|
template(#footer)
|
||||||
el-button(type="small" @click="cancelSharedFeedFilters") Cancel
|
el-button(type="small" @click="cancelSharedFeedFilters") Cancel
|
||||||
el-button(type="primary" size="small" style="margin-left:10px" @click="saveSharedFeedFilters") Save
|
el-button(type="primary" size="small" style="margin-left:10px" @click="saveSharedFeedFilters") Save
|
||||||
@@ -1296,11 +1311,26 @@ html
|
|||||||
span.toggle-name Unfriend
|
span.toggle-name Unfriend
|
||||||
toggle-switch(:options="toggleSwitchOptionsOn" group="switchWristGrouprequestUnfriend" v-model="sharedFeedFilters.wrist.Unfriend" class="toggle-switch")
|
toggle-switch(:options="toggleSwitchOptionsOn" group="switchWristGrouprequestUnfriend" v-model="sharedFeedFilters.wrist.Unfriend" class="toggle-switch")
|
||||||
div
|
div
|
||||||
span.toggle-name DisplayName
|
span.toggle-name Display Name
|
||||||
toggle-switch(:options="toggleSwitchOptionsFriends" group="switchWristGrouprequestDisplayName" v-model="sharedFeedFilters.wrist.DisplayName" class="toggle-switch")
|
toggle-switch(:options="toggleSwitchOptionsFriends" group="switchWristGrouprequestDisplayName" v-model="sharedFeedFilters.wrist.DisplayName" class="toggle-switch")
|
||||||
div
|
div
|
||||||
span.toggle-name TrustLevel
|
span.toggle-name Trust Level
|
||||||
toggle-switch(:options="toggleSwitchOptionsFriends" group="switchWristGrouprequestTrustLevel" v-model="sharedFeedFilters.wrist.TrustLevel" class="toggle-switch")
|
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)
|
template(#footer)
|
||||||
el-button(type="small" @click="cancelSharedFeedFilters") Cancel
|
el-button(type="small" @click="cancelSharedFeedFilters") Cancel
|
||||||
el-button(type="primary" size="small" @click="saveSharedFeedFilters") Save
|
el-button(type="primary" size="small" @click="saveSharedFeedFilters") Save
|
||||||
|
|||||||
+39
-3
@@ -769,12 +769,16 @@ speechSynthesis.getVoices();
|
|||||||
((filter[feed.type] === 'Friends') && (feed.isFriend)) ||
|
((filter[feed.type] === 'Friends') && (feed.isFriend)) ||
|
||||||
((filter[feed.type] === 'VIP') && (feed.isFavorite)))) {
|
((filter[feed.type] === 'VIP') && (feed.isFavorite)))) {
|
||||||
var displayName = '';
|
var displayName = '';
|
||||||
if (feed.data) {
|
if (feed.displayName) {
|
||||||
displayName = feed.data;
|
|
||||||
} else if (feed.displayName) {
|
|
||||||
displayName = feed.displayName;
|
displayName = feed.displayName;
|
||||||
} else if (feed.senderUsername) {
|
} else if (feed.senderUsername) {
|
||||||
displayName = 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]) ||
|
if ((displayName) && (!this.notyMap[displayName]) ||
|
||||||
(this.notyMap[displayName] < feed.created_at)) {
|
(this.notyMap[displayName] < feed.created_at)) {
|
||||||
@@ -943,6 +947,8 @@ speechSynthesis.getVoices();
|
|||||||
displayName = feed.displayName;
|
displayName = feed.displayName;
|
||||||
} else if (feed.senderUsername) {
|
} else if (feed.senderUsername) {
|
||||||
displayName = feed.senderUsername;
|
displayName = feed.senderUsername;
|
||||||
|
} else if (feed.sourceDisplayName) {
|
||||||
|
displayName = feed.sourceDisplayName;
|
||||||
} else if (feed.data) {
|
} else if (feed.data) {
|
||||||
displayName = feed.data;
|
displayName = feed.data;
|
||||||
} else {
|
} else {
|
||||||
@@ -1011,6 +1017,21 @@ speechSynthesis.getVoices();
|
|||||||
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 '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) {
|
if (text) {
|
||||||
new Noty({
|
new Noty({
|
||||||
@@ -1066,6 +1087,21 @@ speechSynthesis.getVoices();
|
|||||||
case 'DisplayName':
|
case 'DisplayName':
|
||||||
this.speak(`${noty.previousDisplayName} changed their name to ${noty.displayName}`);
|
this.speak(`${noty.previousDisplayName} changed their name to ${noty.displayName}`);
|
||||||
break;
|
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)) {
|
if ((this.desktopToastToggle) && (this.isGameNoVR)) {
|
||||||
|
|||||||
@@ -93,6 +93,31 @@ html
|
|||||||
span.extra
|
span.extra
|
||||||
span.time {{ feed.created_at | formatDate('HH:MI') }}
|
span.time {{ feed.created_at | formatDate('HH:MI') }}
|
||||||
| 🤝 #[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 === '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-else)
|
||||||
template(v-for="feed in wristFeed")
|
template(v-for="feed in wristFeed")
|
||||||
.x-friend-item(v-if="feed.type === 'GPS'" :class="{ friend: feed.isFriend, favorite: feed.isFavorite }")
|
.x-friend-item(v-if="feed.type === 'GPS'" :class="{ friend: feed.isFriend, favorite: feed.isFavorite }")
|
||||||
@@ -170,6 +195,31 @@ html
|
|||||||
span.extra
|
span.extra
|
||||||
span.time {{ feed.created_at | formatDate('HH:MI') }}
|
span.time {{ feed.created_at | formatDate('HH:MI') }}
|
||||||
| #[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 === '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
|
.x-container
|
||||||
div(style="display:flex;flex-direction:row")
|
div(style="display:flex;flex-direction:row")
|
||||||
template(v-if="devices.length")
|
template(v-if="devices.length")
|
||||||
|
|||||||
Reference in New Issue
Block a user