diff --git a/Example/example-app/Sources/SessionFeature/NetworkFollowerStatusView.swift b/Example/example-app/Sources/SessionFeature/NetworkFollowerStatusView.swift new file mode 100644 index 0000000000000000000000000000000000000000..5d1ba1dee39fba281819f0865cfaecd73bae6038 --- /dev/null +++ b/Example/example-app/Sources/SessionFeature/NetworkFollowerStatusView.swift @@ -0,0 +1,44 @@ +import ElixxirDAppsSDK +import SwiftUI + +struct NetworkFollowerStatusView: View { + var status: NetworkFollowerStatus? + + var body: some View { + switch status { + case .stopped: + Label("Stopped", systemImage: "stop.fill") + + case .starting: + Label("Starting...", systemImage: "play") + + case .running: + Label("Running", systemImage: "play.fill") + + case .stopping: + Label("Stopping...", systemImage: "stop") + + case .unknown(let code): + Label("Status \(code)", systemImage: "questionmark") + + case .none: + Label("Unknown", systemImage: "questionmark") + } + } +} + +#if DEBUG +struct NetworkFollowerStatusView_Previews: PreviewProvider { + static var previews: some View { + Group { + NetworkFollowerStatusView(status: .stopped) + NetworkFollowerStatusView(status: .starting) + NetworkFollowerStatusView(status: .running) + NetworkFollowerStatusView(status: .stopping) + NetworkFollowerStatusView(status: .unknown(code: -1)) + NetworkFollowerStatusView(status: nil) + } + .previewLayout(.sizeThatFits) + } +} +#endif