From fa7c9e65f16086918adde001ed2531c488bd4ce8 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 17 Feb 2010 16:38:51 +0300 Subject: notifier: support showing fresh articles in the badge --- utils/notifier/background.html | 37 ++++++++++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 9 deletions(-) (limited to 'utils/notifier/background.html') diff --git a/utils/notifier/background.html b/utils/notifier/background.html index 8a3acb2be..fdca37e90 100644 --- a/utils/notifier/background.html +++ b/utils/notifier/background.html @@ -16,7 +16,7 @@ function update() { var login = localStorage["login"]; var requestUrl = localStorage["site_url"] + "/backend.php"; - var params = "op=getUnread&login=" + param_escape(login); + var params = "op=getUnread&fresh=1&login=" + param_escape(login); var xhr = new XMLHttpRequest(); @@ -31,17 +31,36 @@ function update() { var icon = new Object(); var title = new Object(); var badge = new Object(); + var badge_color = new Object(); - var showBadge = localStorage["show_badge"]; - + var show_badge = localStorage["show_badge"] == "1"; + var show_fresh = localStorage["show_fresh"] == "1"; + if (xhr.status == 200) { - var unread = parseInt(xhr.responseText); - - if (unread > 0) { + var response = xhr.responseText.split(";"); + + var unread = parseInt(response[0]); + + var fresh; + + if (response.length == 2) + fresh = parseInt(response[1]); + else + fresh = 0; + if (unread > 0) { icon.path = "images/alert.png"; title.title = "You have %s unread articles.".replace("%s", unread); - badge.text = unread + ""; + + if (show_fresh) { + badge.text = fresh + ""; + badge_color.color = [0, 200, 0, 255]; + + } else { + badge.text = unread + ""; + badge_color.color = [255, 0, 0, 255]; + } + } else if (unread == -1) { icon.path = "images/error.png"; @@ -65,10 +84,10 @@ function update() { title.title = "Error (%s) while updating.".replace("%s", xhr.status); } - if (showBadge !== "1") badge.text = ""; + if (!show_badge) badge.text = ""; + chrome.browserAction.setBadgeBackgroundColor(badge_color); chrome.browserAction.setBadgeText(badge); - chrome.browserAction.setTitle(title); chrome.browserAction.setIcon(icon); -- cgit v1.2.3