jiti-meet/modules/UI/avatar/Avatar.js

38 lines
1.0 KiB
JavaScript

var Settings = require("../../settings/Settings");
var users = {};
var Avatar = {
/**
* Sets the user's avatar in the settings menu(if local user), contact list
* and thumbnail
* @param jid jid of the user
* @param id email or userID to be used as a hash
*/
setUserAvatar: function (jid, id) {
if (id) {
if (users[jid] === id) {
return;
}
users[jid] = id;
}
var thumbUrl = this.getGravatarUrl(users[jid] || jid, 100);
var contactListUrl = this.getGravatarUrl(users[jid] || jid);
var resourceJid = Strophe.getResourceFromJid(jid);
APP.UI.userAvatarChanged(resourceJid, thumbUrl, contactListUrl);
},
getGravatarUrl: function (id, size) {
if(id === APP.xmpp.myJid() || !id) {
id = Settings.getSettings().uid;
}
return 'https://www.gravatar.com/avatar/' +
MD5.hexdigest(id.trim().toLowerCase()) +
"?d=wavatar&size=" + (size || "30");
}
};
module.exports = Avatar;