diff options
Diffstat (limited to 'static')
| -rw-r--r-- | static/js/pichat.js | 36 |
1 files changed, 28 insertions, 8 deletions
diff --git a/static/js/pichat.js b/static/js/pichat.js index 8d849bf..afddec7 100644 --- a/static/js/pichat.js +++ b/static/js/pichat.js @@ -1160,18 +1160,38 @@ Tag = { "cache": false }); }, - "frontpage_fav": function(button) { + "animated_fav": function(button, scoreClass, bigTextSize, smallTextSize) { + if (!Nick) { return; } Tag.favorite(button); - console.log("frontpage_fav"); - var dump = $(button).parents(".dump"); - var $score = dump.find('.hallscore'); - var inc = dump.hasClass("favorite") ? 1 : -1; + var $dump = $(button).parents(".dump"); + var isAdding = $dump.hasClass('favorite'); + + // Frontpage-favs can be triggered by clicking score number, + // so manually sync heart-thumb visual state. + if ($(button).hasClass('hallscore')) { + $dump.find('.thumb').attr('src', isAdding ? Imgs.logThumb : Imgs.logThumbOff); + } + + if ($dump.attr('nick') == Nick) + return; + + var $score = $dump.find(scoreClass); + var inc = isAdding ? 1 : -1; var oldScore = parseInt($score.text(), 10); - console.log($score, oldScore + inc); $score.text(oldScore + inc); - $score.animate({ 'font-size': '60px' }, 250, function() { - $score.animate({ 'font-size': '40px' }, 250); + $score.stop().animate({ 'font-size': bigTextSize }, 250, function() { + $score.animate({ 'font-size': smallTextSize }, 250); }); + + if (isAdding) { + var link = $('<a>') + .attr('href', Domain + '/' + Nick + '/popular') + .append($('<b>').text(Nick)) + .append(" "); + $dump.find('.faver-list').append(link); + } else { + $dump.find('.faver-list b').filter(function() { return $(this).text() == Nick }).parent().remove(); + } } } |
