Skip to content

Commit 6cb8343

Browse files
author
crelies
committed
improved examples; refactor(advanced list): removed unnecessary empty state view parameter from initializer
1 parent d6f6916 commit 6cb8343

File tree

3 files changed

+14
-8
lines changed

3 files changed

+14
-8
lines changed

Example/Shared/Views/ContentExampleView.swift

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@ struct ContentExampleView: View {
1616
Text("Example 1")
1717
Text("Example 2")
1818
Text("Example 3")
19-
} emptyStateView: {
20-
Text("Empty")
2119
} errorStateView: { error in
2220
VStack(alignment: .leading) {
2321
Text("Error").foregroundColor(.primary)

Example/Shared/Views/DataExampleView.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,10 +93,10 @@ struct DataExampleView: View {
9393
.refreshable {
9494
listState = .loading
9595

96-
let duration = UInt64(1.5 * 1_000_000_000)
97-
try? await Task<Never, Never>.sleep(nanoseconds: duration)
98-
9996
Task(priority: .userInitiated) {
97+
let duration = UInt64(1.5 * 1_000_000_000)
98+
try? await Task<Never, Never>.sleep(nanoseconds: duration)
99+
100100
let items = ExampleDataProvider.randomItems()
101101
self.items.removeAll()
102102
self.items.append(contentsOf: items)

Sources/AdvancedList/public/Views/AdvancedList.swift

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,11 +81,19 @@ extension AdvancedList {
8181
@available(iOS 15, *)
8282
@available(macOS 12, *)
8383
@available(tvOS 15, *)
84-
extension AdvancedList {
85-
public init<Content: View>(listState: ListState, @ViewBuilder content: @escaping () -> Content, @ViewBuilder emptyStateView: @escaping () -> EmptyStateView, @ViewBuilder errorStateView: @escaping (Error) -> ErrorStateView, @ViewBuilder loadingStateView: @escaping () -> LoadingStateView) {
84+
extension AdvancedList where EmptyStateView == EmptyView {
85+
/// Initializes the list with the given content.
86+
/// Uses the native `SwiftUI` `List` as list view.
87+
///
88+
/// - Parameters:
89+
/// - listState: A value representing the state of the list.
90+
/// - content: A view builder that creates the content of the list.
91+
/// - errorStateView: A view builder that creates the view for the error state of the list.
92+
/// - loadingStateView: A view builder that creates the view for the loading state of the list.
93+
public init<Content: View>(listState: ListState, @ViewBuilder content: @escaping () -> Content, @ViewBuilder errorStateView: @escaping (Error) -> ErrorStateView, @ViewBuilder loadingStateView: @escaping () -> LoadingStateView) {
8694
self.type = .init(type: AdvancedListType<Never>.container(content: { AnyView(List(content: content)) }))
8795
self.listState = listState
88-
self.emptyStateView = emptyStateView
96+
self.emptyStateView = { EmptyStateView() }
8997
self.errorStateView = errorStateView
9098
self.loadingStateView = loadingStateView
9199
configurations = []

0 commit comments

Comments
 (0)