fix(inbox): more UN display fixes

This commit is contained in:
Sabe Jones
2018-11-01 17:41:27 -05:00
parent 6c71abfac8
commit 3922415314
5 changed files with 25 additions and 11 deletions

View File

@@ -355,7 +355,10 @@ export default {
sendMessage (member) {
this.$root.$emit('habitica::new-inbox-message', {
userIdToMessage: member._id,
userName: member.profile.name,
displayName: member.profile.name,
username: member.auth.local.username,
backer: member.backer,
contributor: member.contributor,
});
},
async searchMembers (searchTerm = '') {

View File

@@ -261,9 +261,11 @@ export default {
}
this.initiatedConversation = {
uuid: data.userIdToMessage,
user: data.displayName,
username: data.username,
uuid: data.userIdToMessage,
backer: data.backer,
contributor: data.contributor,
};
this.selectConversation(data.userIdToMessage);
@@ -312,11 +314,13 @@ export default {
// Add placeholder for new conversations
if (this.initiatedConversation && this.initiatedConversation.uuid) {
inboxGroup[this.initiatedConversation.uuid] = [{
uuid: this.initiatedConversation.uuid,
user: this.initiatedConversation.user,
username: this.initiatedConversation.username, // ?
backer: this.initiatedConversation.backer,
contributor: this.initiatedConversation.contributor,
id: '',
text: '',
user: this.initiatedConversation.user,
username: this.initiatedConversation.username,
uuid: this.initiatedConversation.uuid,
timestamp: new Date(),
}];
}
@@ -349,12 +353,14 @@ export default {
const recentMessage = newChatModels[newChatModels.length - 1];
if (!recentMessage.text) newChatModels.splice(newChatModels.length - 1, 1);
if (recentMessage.username === this.user.auth.local.username) recentMessage.username = null;
const convoModel = {
backer: recentMessage.toUserBacker ? recentMessage.toUserBacker : recentMessage.backer,
contributor: recentMessage.toUserContributor ? recentMessage.toUserContributor : recentMessage.contributor,
key: recentMessage.toUUID ? recentMessage.toUUID : recentMessage.uuid,
name: recentMessage.toUser ? recentMessage.toUser : recentMessage.user, // Handles case where from user sent the only message or the to user sent the only message
username: recentMessage.toUserName ? recentMessage.toUserName : recentMessage.username,
backer: recentMessage.toUserBacker ? recentMessage.toUserBacker : recentMessage.backer,
contributor: recentMessage.toUserContributor ? recentMessage.toUserContributor : recentMessage.contributor,
date: recentMessage.timestamp,
lastMessageText: recentMessage.text,
messages: newChatModels,
@@ -426,9 +432,11 @@ export default {
const messageIndex = this.messages.findIndex(msg => msg.id === message.id);
if (messageIndex !== -1) this.messages.splice(messageIndex, 1);
if (this.selectedConversationMessages.length === 0) this.initiatedConversation = {
uuid: this.selectedConversation.key,
user: this.selectedConversation.name,
username: this.selectedConversation.username,
uuid: this.selectedConversation.key,
backer: this.selectedConversation.backer,
contributor: this.selectedConversation.contributor,
};
},
toggleClick () {
@@ -491,11 +499,11 @@ export default {
this.$root.$emit('bv::hide::modal', 'inbox-modal');
},
tierIcon (message) {
if (!message.contributor) return;
const isNPC = Boolean(message.backer && message.backer.npc);
if (isNPC) {
return this.icons.tierNPC;
}
if (!message.contributor) return;
return this.icons[`tier${message.contributor.level}`];
},
},

View File

@@ -472,6 +472,8 @@ export default {
userIdToMessage: this.user._id,
displayName: this.user.profile.name,
username: this.user.auth.local.username,
backer: this.user.backer,
contributor: this.user.contributor,
});
},
getProgressDisplay () {

View File

@@ -109,7 +109,7 @@ api.getMember = {
if (!member) throw new NotFound(res.t('userWithIDNotFound', {userId: memberId}));
if (!member.flags.verifiedUsername) delete member.auth.local.username;
if (!member.flags.verifiedUsername) member.auth.local.username = null;
// manually call toJSON with minimize: true so empty paths aren't returned
let memberToJSON = member.toJSON({minimize: true});
@@ -607,6 +607,7 @@ api.sendPrivateMessage = {
const message = req.body.message;
const receiver = await User.findById(req.body.toUserId).exec();
if (!receiver) throw new NotFound(res.t('userNotFound'));
if (!receiver.flags.verifiedUsername) delete receiver.auth.local.username;
const objections = sender.getObjectionsToInteraction('send-private-message', receiver);
if (objections.length > 0 && !sender.isAdmin()) throw new NotAuthorized(res.t(objections[0]));

View File

@@ -220,7 +220,7 @@ schema.statics.transformJSONUser = function transformJSONUser (jsonUser, addComp
jsonUser.id = jsonUser._id;
// Remove username if not verified
if (!jsonUser.flags.verifiedUsername) delete jsonUser.auth.local.username;
if (!jsonUser.flags.verifiedUsername) jsonUser.auth.local.username = null;
if (addComputedStats) this.addComputedStatsToJSONObj(jsonUser.stats, jsonUser);
};