From 027fa603b19b332812f22a4790e49b02f0aa2500 Mon Sep 17 00:00:00 2001 From: Alexander Kauer Date: Tue, 30 Sep 2025 12:21:36 +0200 Subject: [PATCH] Fixed init on AsyncLoadView, fixed CachedAsyncLoad item property --- .../AsyncLoad/AsyncLoad/AsyncLoadView.swift | 19 +++++++++++++++++-- .../CachedAsyncLoad/CachedAsyncLoad.swift | 6 +++++- .../CachedAsyncLoad/CachedAsyncLoadView.swift | 1 + 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/Sources/AsyncLoad/AsyncLoad/AsyncLoadView.swift b/Sources/AsyncLoad/AsyncLoad/AsyncLoadView.swift index c57ef83..709e27b 100644 --- a/Sources/AsyncLoad/AsyncLoad/AsyncLoadView.swift +++ b/Sources/AsyncLoad/AsyncLoad/AsyncLoadView.swift @@ -25,8 +25,10 @@ public struct AsyncLoadView< errorContent = error } - public init(_ state: AsyncLoad, @ViewBuilder content: @escaping (Item?) -> Content) - where ErrorContent == Text { + public init( + _ state: AsyncLoad, + @ViewBuilder content: @escaping (Item) -> Content + ) where ErrorContent == Text { self.state = state self.content = content @@ -46,6 +48,7 @@ public struct AsyncLoadView< case .loading, .none: ProgressView() .frame(maxHeight: .infinity) + .controlSize(.large) case .loaded: EmptyView() case let .error(error): @@ -54,4 +57,16 @@ public struct AsyncLoadView< } } } + +@available(iOS 17.0, macOS 14.0, watchOS 10.0, *) +#Preview { + @State + @Previewable + var state: AsyncLoad = .loading + + AsyncLoadView(state) { test in + Text(test) + } +} + #endif diff --git a/Sources/AsyncLoad/CachedAsyncLoad/CachedAsyncLoad.swift b/Sources/AsyncLoad/CachedAsyncLoad/CachedAsyncLoad.swift index 6e79f1c..826a1dc 100644 --- a/Sources/AsyncLoad/CachedAsyncLoad/CachedAsyncLoad.swift +++ b/Sources/AsyncLoad/CachedAsyncLoad/CachedAsyncLoad.swift @@ -17,7 +17,11 @@ public enum CachedAsyncLoad: Equatable, Sendable { switch self { case let .loaded(item): item - default: + case let .error(item, _): + item + case let .loading(item): + item + case .none: nil } } diff --git a/Sources/AsyncLoad/CachedAsyncLoad/CachedAsyncLoadView.swift b/Sources/AsyncLoad/CachedAsyncLoad/CachedAsyncLoadView.swift index 03c6e9b..dd4a180 100644 --- a/Sources/AsyncLoad/CachedAsyncLoad/CachedAsyncLoadView.swift +++ b/Sources/AsyncLoad/CachedAsyncLoad/CachedAsyncLoadView.swift @@ -69,6 +69,7 @@ fileprivate enum CustomError: Error { ProgressView() .frame(maxWidth: .infinity) + .controlSize(.large) } .padding() } error: { item, error in