Remove specific button state enums as they were overkill

This commit is contained in:
Maurice Parker
2020-07-13 16:26:53 -05:00
parent 4bb88363e7
commit 7643ddc173
4 changed files with 16 additions and 26 deletions

View File

@@ -8,16 +8,6 @@
import Foundation
enum ArticleReadButtonState {
case on
case off
}
enum ArticleStarButtonState {
case on
case off
}
enum ArticleExtractorButtonState {
case error
case animated

View File

@@ -16,8 +16,8 @@ final class SceneModel: ObservableObject {
@Published var refreshProgressState = RefreshProgressModel.State.none
@Published var readButtonState: ArticleReadButtonState?
@Published var starButtonState: ArticleStarButtonState?
@Published var readButtonState: Bool?
@Published var starButtonState: Bool?
private var refreshProgressModel: RefreshProgressModel? = nil
private var articleIconSchemeHandler: ArticleIconSchemeHandler? = nil
@@ -121,17 +121,17 @@ private extension SceneModel {
}
if articles.anyArticleIsUnread() {
readButtonState = .on
readButtonState = true
} else if articles.anyArticleIsReadAndCanMarkUnread() {
readButtonState = .off
readButtonState = false
} else {
readButtonState = nil
}
if articles.anyArticleIsUnstarred() {
starButtonState = .off
starButtonState = false
} else {
starButtonState = .on
starButtonState = true
}
}

View File

@@ -99,25 +99,25 @@ struct SceneNavigationView: View {
}
ToolbarItem {
Button(action: { sceneModel.toggleReadStatusForSelectedArticles() }, label: {
if sceneModel.readButtonState == .on {
if sceneModel.readButtonState ?? false {
AppAssets.readClosedImage
} else {
AppAssets.readOpenImage
}
})
.disabled(sceneModel.readButtonState == nil ? true : false)
.help(sceneModel.readButtonState == .on ? "Mark as Unread" : "Mark as Read")
.help(sceneModel.readButtonState ?? false ? "Mark as Unread" : "Mark as Read")
}
ToolbarItem {
Button(action: { sceneModel.toggleStarredStatusForSelectedArticles() }, label: {
if sceneModel.starButtonState == .on {
if sceneModel.starButtonState ?? false {
AppAssets.starClosedImage
} else {
AppAssets.starOpenImage
}
})
.disabled(sceneModel.starButtonState == nil ? true : false)
.help(sceneModel.starButtonState == .on ? "Mark as Unstarred" : "Mark as Starred")
.help(sceneModel.starButtonState ?? false ? "Mark as Unstarred" : "Mark as Starred")
}
ToolbarItem {
Button(action: {}, label: {