From 2f20dd58d277d0ec5e4898feed0f530479a0c831 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 10 Jul 2013 13:09:12 +0400 Subject: integrate silk icons by Mark James --- js/functions.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'js/functions.js') diff --git a/js/functions.js b/js/functions.js index 8691c1ee5..b9b3aa44e 100644 --- a/js/functions.js +++ b/js/functions.js @@ -232,7 +232,7 @@ function notify_real(msg, no_hide, n_type) { msg = "" + msg; } - msg += " "; // msg = " " + msg; -- cgit v1.2.3-54-g00ecf From 6e3224a26c46280a351fb0f28c6e9fc0b798ca53 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Thu, 11 Jul 2013 14:11:16 +0400 Subject: use correct icons for notifications --- js/functions.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'js/functions.js') diff --git a/js/functions.js b/js/functions.js index b9b3aa44e..c75fb95cb 100644 --- a/js/functions.js +++ b/js/functions.js @@ -226,10 +226,10 @@ function notify_real(msg, no_hide, n_type) { no_hide = true; } else if (n_type == 3) { n.className = "notify error"; - msg = "" + msg; + msg = "" + msg; } else if (n_type == 4) { n.className = "notify info"; - msg = "" + msg; + msg = "" + msg; } msg += " Date: Wed, 2 Oct 2013 15:24:08 +0400 Subject: add notification to subscribe dialog when multiple feeds are detected --- classes/feeds.php | 4 ++++ js/functions.js | 2 ++ 2 files changed, 6 insertions(+) (limited to 'js/functions.js') diff --git a/classes/feeds.php b/classes/feeds.php index 5ee125f5f..e26318e7e 100644 --- a/classes/feeds.php +++ b/classes/feeds.php @@ -978,6 +978,10 @@ class Feeds extends Handler_Protected { print ""; print ""; + print ""; + print "
".__("Feed or site URL")."
"; print "
"; diff --git a/js/functions.js b/js/functions.js index c75fb95cb..fdd791598 100644 --- a/js/functions.js +++ b/js/functions.js @@ -854,6 +854,8 @@ function quickAddFeed() { case 4: feeds = rc['feeds']; + Element.show("fadd_multiple_notify"); + var select = dijit.byId("feedDlg_feedContainerSelect"); while (select.getOptions().length > 0) -- cgit v1.2.3-54-g00ecf From 0c7e49936acc3e96b09364c02b7cbabe6043e950 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Tue, 12 Nov 2013 14:21:28 +0400 Subject: quickAddFilter: if text is currently highlighted, use that instead of active article title for placeholder text --- js/functions.js | 67 ++++++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 52 insertions(+), 15 deletions(-) (limited to 'js/functions.js') diff --git a/js/functions.js b/js/functions.js index fdd791598..43fae715b 100644 --- a/js/functions.js +++ b/js/functions.js @@ -1150,33 +1150,48 @@ function quickAddFilter() { href: query}); if (!inPreferences()) { + var selectedText = getSelectionText(); + var lh = dojo.connect(dialog, "onLoad", function(){ dojo.disconnect(lh); - var query = "op=rpc&method=getlinktitlebyid&id=" + getActiveArticleId(); + if (selectedText != "") { - new Ajax.Request("backend.php", { - parameters: query, - onComplete: function(transport) { - var reply = JSON.parse(transport.responseText); + var feed_id = activeFeedIsCat() ? 'CAT:' + parseInt(getActiveFeedId()) : + getActiveFeedId(); + + var rule = { reg_exp: selectedText, feed_id: feed_id, filter_type: 1 }; + + addFilterRule(null, dojo.toJson(rule)); + + } else { - var title = false; + var query = "op=rpc&method=getlinktitlebyid&id=" + getActiveArticleId(); - if (reply && reply) title = reply.title; + new Ajax.Request("backend.php", { + parameters: query, + onComplete: function(transport) { + var reply = JSON.parse(transport.responseText); - if (title || getActiveFeedId() || activeFeedIsCat()) { + var title = false; - console.log(title + " " + getActiveFeedId()); + if (reply && reply) title = reply.title; - var feed_id = activeFeedIsCat() ? 'CAT:' + parseInt(getActiveFeedId()) : - getActiveFeedId(); + if (title || getActiveFeedId() || activeFeedIsCat()) { - var rule = { reg_exp: title, feed_id: feed_id, filter_type: 1 }; + console.log(title + " " + getActiveFeedId()); - addFilterRule(null, dojo.toJson(rule)); - } + var feed_id = activeFeedIsCat() ? 'CAT:' + parseInt(getActiveFeedId()) : + getActiveFeedId(); - } }); + var rule = { reg_exp: title, feed_id: feed_id, filter_type: 1 }; + + addFilterRule(null, dojo.toJson(rule)); + } + + } }); + + } }); } @@ -1936,3 +1951,25 @@ function feed_to_label_id(feed) { return _label_base_index - 1 + Math.abs(feed); } +// http://stackoverflow.com/questions/6251937/how-to-get-selecteduser-highlighted-text-in-contenteditable-element-and-replac + +function getSelectionText() { + var text = ""; + + if (typeof window.getSelection != "undefined") { + var sel = window.getSelection(); + if (sel.rangeCount) { + var container = document.createElement("div"); + for (var i = 0, len = sel.rangeCount; i < len; ++i) { + container.appendChild(sel.getRangeAt(i).cloneContents()); + } + text = container.innerHTML; + } + } else if (typeof document.selection != "undefined") { + if (document.selection.type == "Text") { + text = document.selection.createRange().textText; + } + } + + return text.stripTags(); +} -- cgit v1.2.3-54-g00ecf From 350218f4f845942e3ef086653f84819a87e64928 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Tue, 11 Mar 2014 13:38:06 +0400 Subject: quickAddFeed: gracefully handle backend timeout/JSON parse problems --- js/functions.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'js/functions.js') diff --git a/js/functions.js b/js/functions.js index 43fae715b..1ad15fcc6 100644 --- a/js/functions.js +++ b/js/functions.js @@ -829,7 +829,14 @@ function quickAddFeed() { onComplete: function(transport) { try { - var reply = JSON.parse(transport.responseText); + try { + var reply = JSON.parse(transport.responseText); + } catch (e) { + Element.hide("feed_add_spinner"); + alert(__("Failed to parse output. This can indicate server timeout and/or network issues. Backend output was logged to browser console.")); + console.log('quickAddFeed, backend returned:' + transport.responseText); + return; + } var rc = reply['result']; -- cgit v1.2.3-54-g00ecf From 2ffe7a3b14caeb55a6338d769255cafa6f67d3c6 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Tue, 11 Mar 2014 13:59:14 +0400 Subject: add a less intimidating error message when backend times out and/or fails to return valid JSON --- js/functions.js | 2 +- js/tt-rss.js | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'js/functions.js') diff --git a/js/functions.js b/js/functions.js index 1ad15fcc6..93b037152 100644 --- a/js/functions.js +++ b/js/functions.js @@ -833,7 +833,7 @@ function quickAddFeed() { var reply = JSON.parse(transport.responseText); } catch (e) { Element.hide("feed_add_spinner"); - alert(__("Failed to parse output. This can indicate server timeout and/or network issues. Backend output was logged to browser console.")); + alert(__("Failed to parse output. This can indicate server timeout and/or network issues. Backend output was logged to the browser console.")); console.log('quickAddFeed, backend returned:' + transport.responseText); return; } diff --git a/js/tt-rss.js b/js/tt-rss.js index bb23169ec..3b7793553 100644 --- a/js/tt-rss.js +++ b/js/tt-rss.js @@ -987,7 +987,12 @@ function newVersionDlg() { function handle_rpc_json(transport, scheduled_call) { try { - var reply = JSON.parse(transport.responseText); + try { + var reply = JSON.parse(transport.responseText); + } catch (e) { + alert(__("Failed to parse server reply. This could be caused by a server or network timeout. Backend output was logged to the browser console.")); + console.log("handle_rpc_json, received: " + transport.responseText); + } if (reply) { -- cgit v1.2.3-54-g00ecf From 5c812c2ea4f8fb60ccceb7dbf9ec06ff9372c077 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Tue, 11 Mar 2014 19:09:33 +0400 Subject: Revert "add a less intimidating error message when backend times out and/or fails to return valid JSON" This reverts commit 2ffe7a3b14caeb55a6338d769255cafa6f67d3c6. --- js/functions.js | 2 +- js/tt-rss.js | 7 +------ 2 files changed, 2 insertions(+), 7 deletions(-) (limited to 'js/functions.js') diff --git a/js/functions.js b/js/functions.js index 93b037152..1ad15fcc6 100644 --- a/js/functions.js +++ b/js/functions.js @@ -833,7 +833,7 @@ function quickAddFeed() { var reply = JSON.parse(transport.responseText); } catch (e) { Element.hide("feed_add_spinner"); - alert(__("Failed to parse output. This can indicate server timeout and/or network issues. Backend output was logged to the browser console.")); + alert(__("Failed to parse output. This can indicate server timeout and/or network issues. Backend output was logged to browser console.")); console.log('quickAddFeed, backend returned:' + transport.responseText); return; } diff --git a/js/tt-rss.js b/js/tt-rss.js index 3b7793553..bb23169ec 100644 --- a/js/tt-rss.js +++ b/js/tt-rss.js @@ -987,12 +987,7 @@ function newVersionDlg() { function handle_rpc_json(transport, scheduled_call) { try { - try { - var reply = JSON.parse(transport.responseText); - } catch (e) { - alert(__("Failed to parse server reply. This could be caused by a server or network timeout. Backend output was logged to the browser console.")); - console.log("handle_rpc_json, received: " + transport.responseText); - } + var reply = JSON.parse(transport.responseText); if (reply) { -- cgit v1.2.3-54-g00ecf From b55aec078c18b3db85d34329be3f01364e383667 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Fri, 14 Mar 2014 13:51:53 +0400 Subject: exception handler: remove report to tt-rss.org --- js/functions.js | 17 ----------------- 1 file changed, 17 deletions(-) (limited to 'js/functions.js') diff --git a/js/functions.js b/js/functions.js index 1ad15fcc6..9e40ecf51 100644 --- a/js/functions.js +++ b/js/functions.js @@ -88,9 +88,6 @@ function exception_error(location, e, ext_info) { content += "
"; - content += " "; content += ""; @@ -103,20 +100,6 @@ function exception_error(location, e, ext_info) { id: "exceptionDlg", title: "Unhandled exception", style: "width: 600px", - report: function() { - if (confirm(__("Are you sure to report this exception to tt-rss.org? The report will include your browser information. Your IP would be saved in the database."))) { - - document.forms['exceptionForm'].params.value = $H({ - browserName: navigator.appName, - browserVersion: navigator.appVersion, - browserPlatform: navigator.platform, - browserCookies: navigator.cookieEnabled, - }).toQueryString(); - - document.forms['exceptionForm'].submit(); - - } - }, content: content}); dialog.show(); -- cgit v1.2.3-54-g00ecf From cbcf6517dca6d3c0ba32745969b6fe4d73d704ba Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Fri, 14 Mar 2014 14:08:32 +0400 Subject: Revert "exception handler: remove report to tt-rss.org" This reverts commit b55aec078c18b3db85d34329be3f01364e383667. --- js/functions.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'js/functions.js') diff --git a/js/functions.js b/js/functions.js index 9e40ecf51..1ad15fcc6 100644 --- a/js/functions.js +++ b/js/functions.js @@ -88,6 +88,9 @@ function exception_error(location, e, ext_info) { content += "
"; + content += " "; content += ""; @@ -100,6 +103,20 @@ function exception_error(location, e, ext_info) { id: "exceptionDlg", title: "Unhandled exception", style: "width: 600px", + report: function() { + if (confirm(__("Are you sure to report this exception to tt-rss.org? The report will include your browser information. Your IP would be saved in the database."))) { + + document.forms['exceptionForm'].params.value = $H({ + browserName: navigator.appName, + browserVersion: navigator.appVersion, + browserPlatform: navigator.platform, + browserCookies: navigator.cookieEnabled, + }).toQueryString(); + + document.forms['exceptionForm'].submit(); + + } + }, content: content}); dialog.show(); -- cgit v1.2.3-54-g00ecf From 8b91b0beb59bc6f7d9e1e75997d77f3bd64d961a Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Fri, 14 Mar 2014 14:20:32 +0400 Subject: add ttrss version and init params to reports --- index.php | 4 ++++ js/functions.js | 2 ++ prefs.php | 4 ++++ 3 files changed, 10 insertions(+) (limited to 'js/functions.js') diff --git a/index.php b/index.php index 515e7ca76..79d4ad58d 100644 --- a/index.php +++ b/index.php @@ -56,6 +56,10 @@ Tiny Tiny RSS + + diff --git a/js/functions.js b/js/functions.js index 1ad15fcc6..ee9f2b7fd 100644 --- a/js/functions.js +++ b/js/functions.js @@ -111,6 +111,8 @@ function exception_error(location, e, ext_info) { browserVersion: navigator.appVersion, browserPlatform: navigator.platform, browserCookies: navigator.cookieEnabled, + ttrssVersion: __ttrss_version, + initParams: JSON.stringify(init_params), }).toQueryString(); document.forms['exceptionForm'].submit(); diff --git a/prefs.php b/prefs.php index 3a6410bdf..6a83295f8 100644 --- a/prefs.php +++ b/prefs.php @@ -32,6 +32,10 @@ Tiny Tiny RSS : <?php echo __("Preferences") ?> + + -- cgit v1.2.3-54-g00ecf From cde449b937b3c59f5269a8daed18955a44329ebf Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Fri, 14 Mar 2014 14:40:29 +0400 Subject: update report to tt-rss prompt --- js/functions.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'js/functions.js') diff --git a/js/functions.js b/js/functions.js index ee9f2b7fd..c5194d2d1 100644 --- a/js/functions.js +++ b/js/functions.js @@ -104,7 +104,7 @@ function exception_error(location, e, ext_info) { title: "Unhandled exception", style: "width: 600px", report: function() { - if (confirm(__("Are you sure to report this exception to tt-rss.org? The report will include your browser information. Your IP would be saved in the database."))) { + if (confirm(__("Are you sure to report this exception to tt-rss.org? The report will include information about your web browser and tt-rss configuration. Your IP will be saved in the database."))) { document.forms['exceptionForm'].params.value = $H({ browserName: navigator.appName, -- cgit v1.2.3-54-g00ecf From 2f7918ae2e60dc79c962dd0988e682a9a3726aad Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Fri, 14 Mar 2014 14:49:18 +0400 Subject: exception_error: support objects in ext_info --- js/functions.js | 2 ++ 1 file changed, 2 insertions(+) (limited to 'js/functions.js') diff --git a/js/functions.js b/js/functions.js index c5194d2d1..a7f4b7891 100644 --- a/js/functions.js +++ b/js/functions.js @@ -47,6 +47,8 @@ function exception_error(location, e, ext_info) { if (ext_info) { if (ext_info.responseText) { ext_info = ext_info.responseText; + } else { + ext_info = JSON.stringify(ext_info); } } -- cgit v1.2.3-54-g00ecf From fb3a2505ac9b6def97b87c08aa0135aa51f04873 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Fri, 14 Mar 2014 15:09:50 +0400 Subject: init params debugging: support objects etc --- js/functions.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'js/functions.js') diff --git a/js/functions.js b/js/functions.js index a7f4b7891..46ab7a584 100644 --- a/js/functions.js +++ b/js/functions.js @@ -1298,10 +1298,8 @@ function backend_sanity_check_callback(transport) { console.log('reading init-params...'); for (k in params) { - var v = params[k]; - console.log("IP: " + k + " => " + v); - - if (k == "label_base_index") _label_base_index = parseInt(v); + console.log("IP: " + k + " => " + JSON.stringify(params[k])); + if (k == "label_base_index") _label_base_index = parseInt(params[k]); } init_params = params; -- cgit v1.2.3-54-g00ecf From e126fe6a68887030e1e6e9c1be40c2596b145816 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Fri, 14 Mar 2014 15:14:13 +0400 Subject: exception_error: always stringify ext_info --- js/functions.js | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'js/functions.js') diff --git a/js/functions.js b/js/functions.js index 46ab7a584..aa840382c 100644 --- a/js/functions.js +++ b/js/functions.js @@ -44,13 +44,8 @@ function exception_error(location, e, ext_info) { try { - if (ext_info) { - if (ext_info.responseText) { - ext_info = ext_info.responseText; - } else { - ext_info = JSON.stringify(ext_info); - } - } + if (ext_info) + ext_info = JSON.stringify(ext_info); try { new Ajax.Request("backend.php", { -- cgit v1.2.3-54-g00ecf From 22f675e5c4195285b6b5033b451efa9cbb30384b Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Fri, 25 Jul 2014 13:54:10 +0400 Subject: add a link to headlines-spacer to open next unread feed --- css/tt-rss.css | 7 ++++++- js/functions.js | 1 + js/viewfeed.js | 28 ++++++++++++++++++++++------ 3 files changed, 29 insertions(+), 7 deletions(-) (limited to 'js/functions.js') diff --git a/css/tt-rss.css b/css/tt-rss.css index 4852c8ca1..76e35e110 100644 --- a/css/tt-rss.css +++ b/css/tt-rss.css @@ -910,10 +910,15 @@ img.feedIcon, img.tinyFeedIcon { height : 100%; margin-left : 1px; text-align : center; - padding : 1em; + padding : 10px; color : #555; + font-size : 11px; + font-style : italic; } +#headlines-spacer a { + color : #555; +} ul#filterDlg_Matches, ul#filterDlg_Actions { max-height : 100px; diff --git a/js/functions.js b/js/functions.js index aa840382c..9915e6808 100644 --- a/js/functions.js +++ b/js/functions.js @@ -204,6 +204,7 @@ function notify_real(msg, no_hide, n_type) { return; } else { Element.show(n); + new Effect.Highlight(n); } /* types: diff --git a/js/viewfeed.js b/js/viewfeed.js index dc6231c22..76248415a 100644 --- a/js/viewfeed.js +++ b/js/viewfeed.js @@ -108,6 +108,10 @@ function headlines_callback2(transport, offset, background, infscroll_req) { initHeadlinesMenu(); + if (_infscroll_disable) + hsp.innerHTML = "" + + __("Click to open next unread feed.") + ""; + if (_search_query) { $("feed_title").innerHTML += "" + " (" + __("Cancel search") + ")" + @@ -176,7 +180,7 @@ function headlines_callback2(transport, offset, background, infscroll_req) { var hsp = $("headlines-spacer"); - if (hsp) hsp.innerHTML = ""; + if (hsp) hsp.innerHTML = "Click to open next unread feed."; } } @@ -1315,7 +1319,12 @@ function headlines_scroll_handler(e) { } } else { - if (hsp) hsp.innerHTML = ""; + if (hsp) + if (_infscroll_disable) + hsp.innerHTML = "" + + __("Click to open next unread feed.") + ""; + else + hsp.innerHTML = ""; } if (isCdmMode()) { @@ -1361,10 +1370,7 @@ function headlines_scroll_handler(e) { console.log("we seem to be at an end"); if (getInitParam("on_catchup_show_next_feed") == "1") { - var is_cat = activeFeedIsCat(); - var nuf = getNextUnreadFeed(getActiveFeedId(), is_cat); - - if (nuf) viewfeed(nuf, '', is_cat); + openNextUnreadFeed(); } } } @@ -1375,6 +1381,16 @@ function headlines_scroll_handler(e) { } } +function openNextUnreadFeed() { + try { + var is_cat = activeFeedIsCat(); + var nuf = getNextUnreadFeed(getActiveFeedId(), is_cat); + if (nuf) viewfeed(nuf, '', is_cat); + } catch (e) { + exception_error("openNextUnreadFeed", e); + } +} + function catchupBatchedArticles() { try { if (catchup_id_batch.length > 0 && !_infscroll_request_sent) { -- cgit v1.2.3-54-g00ecf From d9c93ebfdb860878609c6a59ef4df99f8f93643f Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sun, 2 Nov 2014 20:58:46 +0300 Subject: tweak notifications; use css animations for notifications --- css/tt-rss.css | 30 +++++++++++++++++++++--------- index.php | 2 +- js/functions.js | 28 +++++++++++----------------- prefs.php | 2 +- 4 files changed, 34 insertions(+), 28 deletions(-) (limited to 'js/functions.js') diff --git a/css/tt-rss.css b/css/tt-rss.css index d732c13ba..d5737989a 100644 --- a/css/tt-rss.css +++ b/css/tt-rss.css @@ -138,18 +138,30 @@ a:hover { position : absolute; } +#notify.visible { + transform: translate(0, -35px); + -webkit-transform: translate(0, -35px); + -o-transform: translate(0, -35px); + -moz-transform: translate(0, -35px); + + transition: all 0.5s ease-in-out; + -webkit-transition: all 0.5s ease-in-out; + -moz-transition: all 0.5s ease-in-out; + -o-transition: all 0.5s ease-in-out; +} + #notify { - bottom : 10px; - right : 20px; - border-width : 1px; + bottom : -35px; + right : 0px; + height : 20px; + left : 0px; + border-width : 1px 0px 0px 0px; border-style : solid; position : absolute; font-size : 12px; z-index : 99; - max-width : 200px; - min-width : 100px; padding : 5px; - -width : 200px; + box-shadow : 0px -2px 2px rgba(0,0,0,0.1); } #notify img { @@ -176,17 +188,17 @@ a:hover { background-color : #fff7d5; } -.notify.progress { +.notify.notify_progress { border-color : #d7c47a; background-color : #fff7d5; } -.notify.info { +.notify.notify_info { border-color : #88b0f0; background-color : #ecf4ff; } -.notify.error { +.notify.notify_error { background-color : #ffcccc; border-color : #ff0000; } diff --git a/index.php b/index.php index 79d4ad58d..74498b8f4 100644 --- a/index.php +++ b/index.php @@ -138,7 +138,7 @@
- +
diff --git a/js/functions.js b/js/functions.js index 9915e6808..720a5654a 100644 --- a/js/functions.js +++ b/js/functions.js @@ -182,11 +182,6 @@ function param_unescape(arg) { return unescape(arg); } - -function hide_notify() { - Element.hide('notify'); -} - function notify_real(msg, no_hide, n_type) { var n = $("notify"); @@ -198,13 +193,11 @@ function notify_real(msg, no_hide, n_type) { } if (msg == "") { - if (Element.visible(n)) { - notify_hide_timerid = window.setTimeout("hide_notify()", 0); + if (n.hasClassName("visible")) { + notify_hide_timerid = window.setTimeout(function() { + n.removeClassName("visible") }, 0); } return; - } else { - Element.show(n); - new Effect.Highlight(n); } /* types: @@ -218,18 +211,18 @@ function notify_real(msg, no_hide, n_type) { msg = " " + __(msg) + ""; - if (n_type == 1) { - n.className = "notify"; - } else if (n_type == 2) { - n.className = "notify progress"; + if (n_type == 2) { + n.className = "notify notify_progress visible"; msg = "" + msg; no_hide = true; } else if (n_type == 3) { - n.className = "notify error"; + n.className = "notify notify_error visible"; msg = "" + msg; } else if (n_type == 4) { - n.className = "notify info"; + n.className = "notify notify_info visible"; msg = "" + msg; + } else { + n.className = "notify visible"; } msg += " - +
-- cgit v1.2.3-54-g00ecf