浏览代码

Update NCCapabilitiesView.swift

Marino Faggiana 1 年之前
父节点
当前提交
c799dd9360
共有 1 个文件被更改,包括 30 次插入8 次删除
  1. 30 8
      iOSClient/Diagnostics/NCCapabilitiesView.swift

+ 30 - 8
iOSClient/Diagnostics/NCCapabilitiesView.swift

@@ -8,18 +8,40 @@
 
 import SwiftUI
 
+class NCCapabilitiesStatus: ObservableObject {
+
+    struct Capability: Identifiable, Hashable {
+        let id = UUID()
+        let text: String
+        let image: UIImage
+        let available: Bool
+    }
+
+    @Published var capabililies: [Capability] = []
+
+    init() {
+        capabililies = [Capability(text: "File sharing", image: UIImage(named: "share")!, available: true),
+                        Capability(text: "Externa site", image: UIImage(systemName: "network")!, available: false)
+        ]
+    }
+}
+
 struct NCCapabilitiesView: View {
 
+    @ObservedObject var capabilitiesStatus: NCCapabilitiesStatus
+
+    init(capabilitiesStatus: NCCapabilitiesStatus) {
+        self.capabilitiesStatus = capabilitiesStatus
+    }
+
     var body: some View {
         ScrollView {
             VStack {
-                HStack {
-                    Capability(text: "File sharing", image: Image("share"))
-                    CapabilityAvailable(available: true)
-                }
-                HStack {
-                    Capability(text: "Externa site", image: Image(systemName: "network"))
-                    CapabilityAvailable(available: false)
+                ForEach(capabilitiesStatus.capabililies, id: \.id) { capability in
+                    HStack {
+                        Capability(text: capability.text, image: Image(uiImage: capability.image))
+                        CapabilityAvailable(available: capability.available)
+                    }
                 }
             }
             .frame(maxWidth: .infinity, alignment: .top)
@@ -82,6 +104,6 @@ struct CapabilityAvailable: View {
 
 struct NCCapabilitiesView_Previews: PreviewProvider {
     static var previews: some View {
-        NCCapabilitiesView()
+        NCCapabilitiesView(capabilitiesStatus: NCCapabilitiesStatus())
     }
 }