Name in userbar now clickable

This commit is contained in:
Guangcong Luo
2013-05-01 04:20:43 -07:00
parent 005f748113
commit 54fbcfe696
4 changed files with 12 additions and 6 deletions

View File

@@ -359,7 +359,7 @@
'join': [],
'leave': []
};
var clickableName = '<span style="cursor:pointer" class="username" data-name="' + Tools.escapeHTML(name) + '">' + Tools.escapeHTML(name.substr(1)) + '</span>';
var clickableName = '<span class="username" data-name="' + Tools.escapeHTML(name) + '">' + Tools.escapeHTML(name.substr(1)) + '</span>';
var isHighlighted = this.getHighlight(message);
if (isHighlighted) {
// notify({
@@ -375,7 +375,7 @@
var pmuserid = toUserid(pm);
var oName = pm;
if (pmuserid === app.user.get('userid')) oName = name;
this.$chat.append('<div class="chat">' + timestamp + '<strong style="' + color + '">' + clickableName + ':</strong> <span class="message-pm"><i style="cursor:pointer" data-name="' + Tools.escapeHTML(oName) + '">(Private to ' + Tools.escapeHTML(pm) + ')</i> ' + messageSanitize(message) + '</span></div>');
this.$chat.append('<div class="chat">' + timestamp + '<strong style="' + color + '">' + clickableName + ':</strong> <span class="message-pm"><i class="cursor:pointer" data-name="' + Tools.escapeHTML(oName) + '">(Private to ' + Tools.escapeHTML(pm) + ')</i> ' + messageSanitize(message) + '</span></div>');
} else if (message.substr(0,4).toLowerCase() === '/me ') {
this.$chat.append(chatDiv + timestamp + '<strong style="' + color + '">&bull;</strong> <em' + (name.substr(1) === app.user.get('name') ? ' class="mine"' : '') + '>' + clickableName + ' <i>' + messageSanitize(message.substr(4)) + '</i></em></div>');
} else if (message.substr(0,5).toLowerCase() === '/mee ') {

View File

@@ -44,7 +44,7 @@
var timestamp = ChatRoom.getTimestamp('pms');
var color = hashColor(toId(name));
var clickableName = '<span style="cursor:pointer" class="username" data-name="' + Tools.escapeHTML(name) + '">' + Tools.escapeHTML(name.substr(1)) + '</span>';
var clickableName = '<span class="username" data-name="' + Tools.escapeHTML(name) + '">' + Tools.escapeHTML(name.substr(1)) + '</span>';
if (name.substr(0, 1) !== ' ') clickableName = '<small>' + Tools.escapeHTML(name.substr(0, 1)) + '</small>'+clickableName;
$chat.append('<div class="chat">' + timestamp + '<strong style="' + color + '">' + clickableName + ':</strong> <em' + (target === oName ? ' class="mine"' : '') + '>' + messageSanitize(message) + '</em></div>');

View File

@@ -811,7 +811,7 @@
var Topbar = this.Topbar = Backbone.View.extend({
events: {
'click a': 'click',
'click username': 'clickUsername'
'click .username': 'clickUsername'
},
initialize: function() {
this.$el.html('<img class="logo" src="/pokemonshowdownbeta.png" alt="Pokemon Showdown! (beta)" /><div class="tabbar maintabbar"></div><div class="tabbar sidetabbar" style="display:none"></div><div class="userbar"></div>');
@@ -826,10 +826,11 @@
'$tabbar': null,
updateUserbar: function() {
var buf = '';
var name = ' '+app.user.get('name');
if (app.user.get('named')) {
buf = '<i class="icon-user" style="color:#779EC5"></i> <span class="username">'+Tools.escapeHTML(app.user.get('name'))+'</span>';
buf = '<i class="icon-user" style="color:#779EC5"></i> <span class="username" data-name="'+Tools.escapeHTML(name)+'">'+Tools.escapeHTML(name)+'</span>';
} else {
buf = '<i class="icon-user" style="color:#999"></i> <span class="username">'+Tools.escapeHTML(app.user.get('name'))+'</span>';
buf = '<i class="icon-user" style="color:#999"></i> <span class="username" data-name="'+Tools.escapeHTML(name)+'">'+Tools.escapeHTML(name)+'</span>';
}
this.$userbar.html(buf);
},
@@ -1003,7 +1004,9 @@
var UserPopup = this.UserPopup = Popup.extend({
initialize: function(data) {
data.userid = toId(data.name);
var name = data.name;
this.data = data = _.extend(data, UserPopup.dataCache[data.userid]);
data.name = name;
app.on('response:userdetails', this.update, this);
app.send('/cmd userdetails '+data.userid);
this.update();

View File

@@ -81,6 +81,9 @@ body {
right: 10px;
font-weight: bold;
}
.username {
cursor: pointer;
}
.tabbar {
position: absolute;