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