|
|
@@ -1069,7 +1069,7 @@ function init_password_observers() {
|
|
|
|
|
|
function faviconNbUnread(n) {
|
|
|
if (typeof n === 'undefined') {
|
|
|
- n = parseInt($('.category.all>a').attr('data-unread'));
|
|
|
+ n = str2int($('.category.all>a').attr('data-unread'));
|
|
|
}
|
|
|
//http://remysharp.com/2010/08/24/dynamic-favicons/
|
|
|
var canvas = document.createElement('canvas'),
|
|
|
@@ -1078,10 +1078,19 @@ function faviconNbUnread(n) {
|
|
|
canvas.height = canvas.width = 16;
|
|
|
var img = document.createElement('img');
|
|
|
img.onload = function () {
|
|
|
- var ctx = canvas.getContext('2d'),
|
|
|
- text = n < 100 ? n : '99+';
|
|
|
+ var ctx = canvas.getContext('2d');
|
|
|
ctx.drawImage(this, 0, 0);
|
|
|
if (n > 0) {
|
|
|
+ var text = '';
|
|
|
+ if (n < 100) {
|
|
|
+ text = n;
|
|
|
+ } else if (n < 1000) {
|
|
|
+ text = Math.floor(n / 100) + 'h+';
|
|
|
+ } else if (n < 10000) {
|
|
|
+ text = Math.floor(n / 1000) + 'k+';
|
|
|
+ } else {
|
|
|
+ text = '10k+';
|
|
|
+ }
|
|
|
ctx.font = 'bold 9px "Arial", sans-serif';
|
|
|
ctx.fillStyle = 'rgba(255, 255, 255, 127)';
|
|
|
ctx.fillRect(0, 8, 1 + ctx.measureText(text).width, 7);
|