mirror of
https://github.com/Ranchero-Software/NetNewsWire.git
synced 2025-02-02 12:06:58 +01:00
Separated refresh progress model from SceneModel again
This commit is contained in:
parent
6e60156f0e
commit
c8077ad214
@ -18,6 +18,7 @@ struct MainApp: App {
|
||||
@UIApplicationDelegateAdaptor(AppDelegate.self) private var delegate
|
||||
#endif
|
||||
|
||||
@StateObject private var refreshProgress = RefreshProgressModel()
|
||||
@StateObject private var defaults = AppDefaults.shared
|
||||
|
||||
@SceneBuilder var body: some Scene {
|
||||
@ -26,6 +27,7 @@ struct MainApp: App {
|
||||
SceneNavigationView()
|
||||
.frame(minWidth: 600, idealWidth: 1000, maxWidth: .infinity, minHeight: 600, idealHeight: 700, maxHeight: .infinity)
|
||||
.environmentObject(defaults)
|
||||
.environmentObject(refreshProgress)
|
||||
}
|
||||
.windowToolbarStyle(UnifiedWindowToolbarStyle())
|
||||
.commands {
|
||||
@ -85,6 +87,7 @@ struct MainApp: App {
|
||||
WindowGroup {
|
||||
SceneNavigationView()
|
||||
.environmentObject(defaults)
|
||||
.environmentObject(refreshProgress)
|
||||
.modifier(PreferredColorSchemeModifier(preferredColorScheme: defaults.userInterfaceColorPalette))
|
||||
}
|
||||
.commands {
|
||||
|
@ -14,8 +14,6 @@ import RSCore
|
||||
|
||||
final class SceneModel: ObservableObject {
|
||||
|
||||
@Published var refreshProgressState = RefreshProgressModel.State.none
|
||||
|
||||
@Published var markAllAsReadButtonState: Bool?
|
||||
@Published var nextUnreadButtonState: Bool?
|
||||
@Published var readButtonState: Bool?
|
||||
@ -43,9 +41,6 @@ final class SceneModel: ObservableObject {
|
||||
func startup() {
|
||||
sidebarModel.delegate = self
|
||||
timelineModel.delegate = self
|
||||
|
||||
self.refreshProgressModel = RefreshProgressModel()
|
||||
self.refreshProgressModel!.$state.assign(to: self.$refreshProgressState)
|
||||
|
||||
self.articleIconSchemeHandler = ArticleIconSchemeHandler(sceneModel: self)
|
||||
self.webViewProvider = WebViewProvider(articleIconSchemeHandler: self.articleIconSchemeHandler!)
|
||||
|
@ -10,10 +10,10 @@ import SwiftUI
|
||||
|
||||
struct RefreshProgressView: View {
|
||||
|
||||
@EnvironmentObject var sceneModel: SceneModel
|
||||
|
||||
@EnvironmentObject private var refreshProgress: RefreshProgressModel
|
||||
|
||||
@ViewBuilder var body: some View {
|
||||
switch sceneModel.refreshProgressState {
|
||||
switch refreshProgress.refreshProgressState {
|
||||
case .refreshProgress(let progress):
|
||||
ProgressView(value: progress)
|
||||
.frame(width: progressViewWidth())
|
||||
@ -30,12 +30,10 @@ struct RefreshProgressView: View {
|
||||
// MARK -
|
||||
|
||||
private func progressViewWidth() -> CGFloat {
|
||||
#if os(iOS)
|
||||
return 100.0
|
||||
#endif
|
||||
|
||||
#if os(macOS)
|
||||
return 40.0
|
||||
#else
|
||||
return 100.0
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -10,8 +10,8 @@ import SwiftUI
|
||||
|
||||
struct SidebarToolbarModifier: ViewModifier {
|
||||
|
||||
@EnvironmentObject private var sidebarModel: SidebarModel
|
||||
@EnvironmentObject private var defaults: AppDefaults
|
||||
@EnvironmentObject private var sidebarModel: SidebarModel
|
||||
@StateObject private var viewModel = SidebarToolbarModel()
|
||||
|
||||
@ViewBuilder func body(content: Content) -> some View {
|
||||
|
Loading…
x
Reference in New Issue
Block a user