mirror of
https://github.com/MrUnknownDE/VRCX.git
synced 2026-04-27 10:43:48 +02:00
User dialog previous display names + Date friended/unfriended
This commit is contained in:
@@ -12596,7 +12596,10 @@ speechSynthesis.getVoices();
|
|||||||
},
|
},
|
||||||
joinCount: 0,
|
joinCount: 0,
|
||||||
timeSpent: 0,
|
timeSpent: 0,
|
||||||
lastSeen: ''
|
lastSeen: '',
|
||||||
|
previousDisplayNames: [],
|
||||||
|
dateFriended: '',
|
||||||
|
unFriended: false
|
||||||
};
|
};
|
||||||
|
|
||||||
$app.watch['userDialog.memo'] = function () {
|
$app.watch['userDialog.memo'] = function () {
|
||||||
@@ -12810,6 +12813,9 @@ speechSynthesis.getVoices();
|
|||||||
D.lastSeen = '';
|
D.lastSeen = '';
|
||||||
D.joinCount = 0;
|
D.joinCount = 0;
|
||||||
D.timeSpent = 0;
|
D.timeSpent = 0;
|
||||||
|
D.previousDisplayNames = [];
|
||||||
|
D.dateFriended = '';
|
||||||
|
D.unFriended = false;
|
||||||
API.getCachedUser({
|
API.getCachedUser({
|
||||||
userId
|
userId
|
||||||
})
|
})
|
||||||
@@ -12897,15 +12903,48 @@ speechSynthesis.getVoices();
|
|||||||
if (this.lastLocation.playerList.has(D.ref.displayName)) {
|
if (this.lastLocation.playerList.has(D.ref.displayName)) {
|
||||||
inCurrentWorld = true;
|
inCurrentWorld = true;
|
||||||
}
|
}
|
||||||
database
|
if (userId !== API.currentUser.id) {
|
||||||
.getUserStats(D.ref, inCurrentWorld)
|
database
|
||||||
.then((ref1) => {
|
.getUserStats(D.ref, inCurrentWorld)
|
||||||
|
.then((ref1) => {
|
||||||
if (ref1.userId === D.id) {
|
if (ref1.userId === D.id) {
|
||||||
D.lastSeen = ref1.created_at;
|
D.lastSeen = ref1.created_at;
|
||||||
D.joinCount = ref1.joinCount;
|
D.joinCount = ref1.joinCount;
|
||||||
D.timeSpent = ref1.timeSpent;
|
D.timeSpent = ref1.timeSpent;
|
||||||
}
|
}
|
||||||
});
|
var displayNameMap = ref1.previousDisplayNames;
|
||||||
|
this.friendLogTable.data.forEach((ref2) => {
|
||||||
|
if (ref2.userId === D.id) {
|
||||||
|
if (ref2.type === 'DisplayName') {
|
||||||
|
displayNameMap.set(
|
||||||
|
ref2.previousDisplayName,
|
||||||
|
ref2.created_at
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (!D.dateFriended) {
|
||||||
|
if (ref2.type === 'Unfriend') {
|
||||||
|
D.unFriended = true;
|
||||||
|
D.dateFriended =
|
||||||
|
ref2.created_at;
|
||||||
|
}
|
||||||
|
if (ref2.type === 'Friend') {
|
||||||
|
D.unFriended = false;
|
||||||
|
D.dateFriended =
|
||||||
|
ref2.created_at;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
var displayNameMapSorted = new Map(
|
||||||
|
[...displayNameMap.entries()].sort(
|
||||||
|
(a, b) => b[1] - a[1]
|
||||||
|
)
|
||||||
|
);
|
||||||
|
D.previousDisplayNames = Array.from(
|
||||||
|
displayNameMapSorted.keys()
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return args;
|
return args;
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1396,6 +1396,13 @@ html
|
|||||||
span(v-else-if="userDialog.ref.status === 'busy'") Do Not Disturb
|
span(v-else-if="userDialog.ref.status === 'busy'") Do Not Disturb
|
||||||
span(v-else) Offline
|
span(v-else) Offline
|
||||||
i.x-user-status(:class="userStatusClass(userDialog.ref)")
|
i.x-user-status(:class="userStatusClass(userDialog.ref)")
|
||||||
|
template(v-if="userDialog.previousDisplayNames.length > 0")
|
||||||
|
el-tooltip(placement="bottom")
|
||||||
|
template(#content)
|
||||||
|
span Previous Display Names:
|
||||||
|
div(v-for="displayName in userDialog.previousDisplayNames" placement="top")
|
||||||
|
span(v-text="displayName")
|
||||||
|
i.el-icon-caret-bottom
|
||||||
span(v-text="userDialog.ref.displayName" style="margin-left:5px;margin-right:5px;font-weight:bold")
|
span(v-text="userDialog.ref.displayName" style="margin-left:5px;margin-right:5px;font-weight:bold")
|
||||||
el-popover(placement="top" trigger="click")
|
el-popover(placement="top" trigger="click")
|
||||||
span(slot="reference" v-text="userDialog.ref.username" style="margin-right:5px;color:#909399;font-family:monospace;font-size:12px;cursor:pointer")
|
span(slot="reference" v-text="userDialog.ref.username" style="margin-right:5px;color:#909399;font-family:monospace;font-size:12px;cursor:pointer")
|
||||||
@@ -1540,6 +1547,11 @@ html
|
|||||||
.detail
|
.detail
|
||||||
span.name Date Joined
|
span.name Date Joined
|
||||||
span.extra(v-text="userDialog.ref.date_joined")
|
span.extra(v-text="userDialog.ref.date_joined")
|
||||||
|
.x-friend-item(style="cursor:default")
|
||||||
|
.detail
|
||||||
|
span.name(v-if="userDialog.unFriended") Unfriended
|
||||||
|
span.name(v-else) Friended
|
||||||
|
span.extra {{ userDialog.dateFriended | formatDate('long') }}
|
||||||
template(v-if="API.currentUser.id === userDialog.id")
|
template(v-if="API.currentUser.id === userDialog.id")
|
||||||
.x-friend-item(@click="toggleAvatarCopying")
|
.x-friend-item(@click="toggleAvatarCopying")
|
||||||
.detail
|
.detail
|
||||||
|
|||||||
@@ -880,7 +880,8 @@ class Database {
|
|||||||
timeSpent: 0,
|
timeSpent: 0,
|
||||||
created_at: '',
|
created_at: '',
|
||||||
joinCount: 0,
|
joinCount: 0,
|
||||||
userId: input.id
|
userId: input.id,
|
||||||
|
previousDisplayNames: new Map()
|
||||||
};
|
};
|
||||||
await sqliteService.execute(
|
await sqliteService.execute(
|
||||||
(row) => {
|
(row) => {
|
||||||
@@ -892,8 +893,11 @@ class Database {
|
|||||||
ref.created_at = row[0];
|
ref.created_at = row[0];
|
||||||
}
|
}
|
||||||
instances.add(row[3]);
|
instances.add(row[3]);
|
||||||
|
if (input.displayName !== row[4]) {
|
||||||
|
ref.previousDisplayNames.set(row[4], row[0]);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
`SELECT created_at, user_id, time, location FROM gamelog_join_leave WHERE user_id = @userId OR display_name = @displayName ORDER BY id DESC`,
|
`SELECT created_at, user_id, time, location, display_name FROM gamelog_join_leave WHERE user_id = @userId OR display_name = @displayName ORDER BY id DESC`,
|
||||||
{
|
{
|
||||||
'@userId': input.id,
|
'@userId': input.id,
|
||||||
'@displayName': input.displayName
|
'@displayName': input.displayName
|
||||||
@@ -1343,6 +1347,29 @@ class Database {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async getpreviousDisplayNamesByUserId(ref) {
|
||||||
|
var data = new Map();
|
||||||
|
await sqliteService.execute(
|
||||||
|
(dbRow) => {
|
||||||
|
var row = {
|
||||||
|
created_at: dbRow[0],
|
||||||
|
displayName: dbRow[1]
|
||||||
|
};
|
||||||
|
if (ref.displayName !== row.displayName) {
|
||||||
|
data.set(row.displayName, row.created_at);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
`SELECT created_at, display_name
|
||||||
|
FROM gamelog_join_leave
|
||||||
|
WHERE user_id = @userId
|
||||||
|
ORDER BY id DESC`,
|
||||||
|
{
|
||||||
|
'@userId': ref.id
|
||||||
|
}
|
||||||
|
);
|
||||||
|
return data;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var self = new Database();
|
var self = new Database();
|
||||||
|
|||||||
Reference in New Issue
Block a user