diff --git a/index.html b/index.html index 5652662..d72c7b1 100644 --- a/index.html +++ b/index.html @@ -81,6 +81,7 @@
List Set unread + no *
diff --git a/js/App.js b/js/App.js index 2b13017..296059d 100644 --- a/js/App.js +++ b/js/App.js @@ -45,6 +45,8 @@ App.prototype.after_login = function() { _this.showFull(_this.unread_articles[i]); } else if(url == "#unread") { _this.setCurrentUnread(); + } else if(url == "#starred") { + _this.ChangeStarred(); } else if(url == "#logout") { _this.logout(); } else if(url == "#reset-info") { @@ -262,6 +264,11 @@ App.prototype.showFull = function(article, slide_back) { } else { $("#setunread").innerHTML = "Set unread"; } + if(article.marked) { + $("#setstarred").innerHTML = "*"; + } else { + $("#setstarred").innerHTML = "no *"; + } }; @@ -312,6 +319,25 @@ App.prototype.setCurrentUnread = function() { $("#setunread").innerHTML = "✔ unread"; }; +App.prototype.ChangeStarred = function() { + var article = this.unread_articles[this.currentIndex]; + if(!article) return; // happens if we're not on a full article site + + if(!article.marked) { + article.marked = true; + this.updateList(); + this.ttrss.setArticleStarred(article.id); + $("#setstarred").innerHTML = "*"; + } + else { + article.marked = false; + this.updateList(); + this.ttrss.setArticleUnStarred(article.id); + $("#setstarred").innerHTML = "no *"; + } + +}; + App.prototype.goToList = function() { this.changeToPage("#list"); }; @@ -348,4 +374,4 @@ App.prototype.fontChange = function(size) { } -}; \ No newline at end of file +}; diff --git a/js/TinyTinyRSS.js b/js/TinyTinyRSS.js index 4b877d3..05a4994 100644 --- a/js/TinyTinyRSS.js +++ b/js/TinyTinyRSS.js @@ -13,7 +13,7 @@ TinyTinyRSS.prototype.onoffline = function() { TinyTinyRSS.prototype.ononline = function() { var read_articles = localStorage.read_articles; - if (typeof read_articles !== "undefined") { + if (read_articles ) { read_articles = JSON.parse(localStorage.read_articles); this.setArticleRead(read_articles.join(","), function() { localStorage.read_articles = null; @@ -27,6 +27,7 @@ TinyTinyRSS.prototype.ononline = function() { localStorage.unread_articles(); }); } + }; TinyTinyRSS.prototype.doOperation = function(operation, new_options, callback) { @@ -91,6 +92,30 @@ TinyTinyRSS.prototype.setArticleRead = function(article_id) { } }; +TinyTinyRSS.prototype.setArticleStarred = function(article_id) { + var options = { + article_ids: article_id, + mode: 1, + field: 0 + }; + + if (navigator.onLine) { + this.doOperation("updateArticle", options); + } +}; + +TinyTinyRSS.prototype.setArticleUnStarred = function(article_id) { + var options = { + article_ids: article_id, + mode: 0, + field: 0 + }; + + if (navigator.onLine) { + this.doOperation("updateArticle", options); + } +}; + TinyTinyRSS.prototype.setArticleUnread = function(article_id) { var options = { article_ids: article_id, @@ -129,4 +154,4 @@ TinyTinyRSS.login = function(server_url, user, password, callback) { } xhr.open("POST", url, true); xhr.send(JSON.stringify(options)); -} \ No newline at end of file +}