import SwiftUI struct EmptyStateView: View { let icon: String let title: String let subtitle: String var actionTitle: String? var action: (() -> Void)? var body: some View { VStack(spacing: 16) { Image(systemName: icon) .font(.system(size: 48)) .foregroundStyle(.secondary) Text(title) .font(.headline) .foregroundStyle(.secondary) Text(subtitle) .font(.subheadline) .foregroundStyle(.tertiary) .multilineTextAlignment(.center) if let actionTitle, let action { Button(action: action) { Text(actionTitle) .frame(maxWidth: .infinity) } .buttonStyle(.borderedProminent) .padding(.horizontal, 40) .padding(.top, 8) } } .padding() } }