1
0
mirror of https://github.com/matrix-org/matrix-js-sdk.git synced 2025-09-01 21:21:58 +03:00

Simplify logic and layout

This commit is contained in:
Daniel Wagner-Hall
2015-10-30 14:58:59 +00:00
parent 83c53f6a79
commit 11f052bcc6

View File

@@ -415,6 +415,11 @@ function setEventMetadata(event, stateContext, toStartOfTimeline) {
function calculateRoomName(room, userId) { function calculateRoomName(room, userId) {
// check for an alias, if any. for now, assume first alias is the // check for an alias, if any. for now, assume first alias is the
// official one. // official one.
var mRoomName = room.currentState.getStateEvents('m.room.name', '');
if (mRoomName) {
return mRoomName.getContent().name;
}
var alias; var alias;
var canonicalAlias = room.currentState.getStateEvents("m.room.canonical_alias", ""); var canonicalAlias = room.currentState.getStateEvents("m.room.canonical_alias", "");
if (canonicalAlias) { if (canonicalAlias) {
@@ -427,58 +432,52 @@ function calculateRoomName(room, userId) {
alias = mRoomAliases.getContent().aliases[0]; alias = mRoomAliases.getContent().aliases[0];
} }
} }
if (alias) {
var mRoomName = room.currentState.getStateEvents('m.room.name', '');
if (mRoomName) {
return mRoomName.getContent().name + (false && alias ? " (" + alias + ")" : "");
}
else if (alias) {
return alias; return alias;
} }
else {
// get members that are NOT ourselves and are actually in the room. // get members that are NOT ourselves and are actually in the room.
var members = utils.filter(room.currentState.getMembers(), function(m) { var members = utils.filter(room.currentState.getMembers(), function(m) {
return (m.userId !== userId && m.membership !== "leave"); return (m.userId !== userId && m.membership !== "leave");
});
// TODO: Localisation
if (members.length === 0) {
var memberList = utils.filter(room.currentState.getMembers(), function(m) {
return (m.membership !== "leave");
}); });
// TODO: Localisation if (memberList.length === 1) {
if (members.length === 0) { // we exist, but no one else... self-chat or invite.
var memberList = utils.filter(room.currentState.getMembers(), function(m) { if (memberList[0].membership === "invite") {
return (m.membership !== "leave"); if (memberList[0].events.member) {
}); // extract who invited us to the room
if (memberList.length === 1) { return "Invite from " + memberList[0].events.member.getSender();
// we exist, but no one else... self-chat or invite.
if (memberList[0].membership === "invite") {
if (memberList[0].events.member) {
// extract who invited us to the room
return "Invite from " + memberList[0].events.member.getSender();
}
else {
return "Room Invite";
}
} }
else { else {
return userId; return "Room Invite";
} }
} }
else { else {
// there really isn't anyone in this room... return userId;
return "?";
} }
} }
else if (members.length === 1) {
return members[0].name;
}
else if (members.length === 2) {
return (
members[0].name + " and " + members[1].name
);
}
else { else {
return ( // there really isn't anyone in this room...
members[0].name + " and " + (members.length - 1) + " others" return "?";
);
} }
} }
else if (members.length === 1) {
return members[0].name;
}
else if (members.length === 2) {
return (
members[0].name + " and " + members[1].name
);
}
else {
return (
members[0].name + " and " + (members.length - 1) + " others"
);
}
} }
/** /**