From 503cba3faf1b8f13da57b8946633fbc14f0d2a82 Mon Sep 17 00:00:00 2001
From: Dariusz Rybicki <dariusz@elixxir.io>
Date: Mon, 6 Jun 2022 12:55:54 +0200
Subject: [PATCH] Add NetworkFollowerStatusView

---
 .../NetworkFollowerStatusView.swift           | 44 +++++++++++++++++++
 1 file changed, 44 insertions(+)
 create mode 100644 Example/example-app/Sources/SessionFeature/NetworkFollowerStatusView.swift

diff --git a/Example/example-app/Sources/SessionFeature/NetworkFollowerStatusView.swift b/Example/example-app/Sources/SessionFeature/NetworkFollowerStatusView.swift
new file mode 100644
index 00000000..5d1ba1de
--- /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
-- 
GitLab