mirror of
https://github.com/Ranchero-Software/NetNewsWire
synced 2025-08-12 06:26:36 +00:00
Stub out mark as read and star functionality
This commit is contained in:
@@ -8,6 +8,16 @@
|
||||
|
||||
import Foundation
|
||||
|
||||
enum ArticleReadButtonState {
|
||||
case on
|
||||
case off
|
||||
}
|
||||
|
||||
enum ArticleStarButtonState {
|
||||
case on
|
||||
case off
|
||||
}
|
||||
|
||||
enum ArticleExtractorButtonState {
|
||||
case error
|
||||
case animated
|
||||
@@ -20,14 +20,23 @@ protocol ArticleModelDelegate: class {
|
||||
func selectArticle(_: ArticleModel, article: Article)
|
||||
}
|
||||
|
||||
protocol ArticleManager: class {
|
||||
var currentArticle: Article? { get }
|
||||
}
|
||||
|
||||
class ArticleModel: ObservableObject {
|
||||
|
||||
weak var articleManager: ArticleManager?
|
||||
weak var delegate: ArticleModelDelegate?
|
||||
|
||||
var webViewProvider: WebViewProvider? {
|
||||
return delegate?.articleModelWebViewProvider
|
||||
}
|
||||
|
||||
var currentArticle: Article? {
|
||||
return articleManager?.currentArticle
|
||||
}
|
||||
|
||||
// MARK: API
|
||||
|
||||
func findPrevArticle(_ article: Article) -> Article? {
|
||||
@@ -41,6 +50,19 @@ class ArticleModel: ObservableObject {
|
||||
func selectArticle(_ article: Article) {
|
||||
delegate?.selectArticle(self, article: article)
|
||||
}
|
||||
|
||||
func toggleReadForCurrentArticle() {
|
||||
if let article = currentArticle {
|
||||
markArticles([article], statusKey: .starred, flag: !article.status.starred)
|
||||
}
|
||||
}
|
||||
|
||||
func toggleStarForCurrentArticle() {
|
||||
if let article = currentArticle {
|
||||
markArticles([article], statusKey: .starred, flag: !article.status.starred)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user