Browse Source

coding

coding
Marino Faggiana 1 year ago
parent
commit
9f6f570119

+ 4 - 0
Nextcloud.xcodeproj/project.pbxproj

@@ -598,6 +598,7 @@
 		F7F878AF1FB9E3B900599E4F /* NCEndToEndMetadata.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7F878AD1FB9E3B900599E4F /* NCEndToEndMetadata.swift */; };
 		F7F9D1BB25397CE000D9BFF5 /* NCViewer.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7F9D1BA25397CE000D9BFF5 /* NCViewer.swift */; };
 		F7FAFD3A28BFA948000777FE /* NCNotification+Menu.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7FAFD3928BFA947000777FE /* NCNotification+Menu.swift */; };
+		F7FC5EE12A1768D700D921F5 /* NCCapabilitiesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7FC5EE02A1768D700D921F5 /* NCCapabilitiesView.swift */; };
 		F7FF2CB12842159500EBB7A1 /* NCSectionHeader.xib in Resources */ = {isa = PBXBuildFile; fileRef = F7FF2CB02842159500EBB7A1 /* NCSectionHeader.xib */; };
 /* End PBXBuildFile section */
 
@@ -1244,6 +1245,7 @@
 		F7F878AD1FB9E3B900599E4F /* NCEndToEndMetadata.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NCEndToEndMetadata.swift; sourceTree = "<group>"; };
 		F7F9D1BA25397CE000D9BFF5 /* NCViewer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NCViewer.swift; sourceTree = "<group>"; };
 		F7FAFD3928BFA947000777FE /* NCNotification+Menu.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NCNotification+Menu.swift"; sourceTree = "<group>"; };
+		F7FC5EE02A1768D700D921F5 /* NCCapabilitiesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NCCapabilitiesView.swift; sourceTree = "<group>"; };
 		F7FC7D551DC1F93800BB2C6A /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
 		F7FF2CB02842159500EBB7A1 /* NCSectionHeader.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = NCSectionHeader.xib; sourceTree = "<group>"; };
 /* End PBXFileReference section */
@@ -1636,6 +1638,7 @@
 			children = (
 				F70A58BF24D0545100DED00D /* NCCapabilitiesViewController.storyboard */,
 				F70A58BD24D0349500DED00D /* NCCapabilitiesViewController.swift */,
+				F7FC5EE02A1768D700D921F5 /* NCCapabilitiesView.swift */,
 			);
 			path = Diagnostics;
 			sourceTree = "<group>";
@@ -3318,6 +3321,7 @@
 				F726EEEC1FED1C820030B9C8 /* NCEndToEndInitialize.swift in Sources */,
 				F79A65C62191D95E00FF6DCC /* NCSelect.swift in Sources */,
 				F75D19E325EFE09000D74598 /* NCTrash+Menu.swift in Sources */,
+				F7FC5EE12A1768D700D921F5 /* NCCapabilitiesView.swift in Sources */,
 				F70CAE3A1F8CF31A008125FD /* NCEndToEndEncryption.m in Sources */,
 				AF93471B27E2361E002537EE /* NCShareAdvancePermission.swift in Sources */,
 				F77BC3ED293E528A005F2B08 /* NCConfigServer.swift in Sources */,

+ 85 - 0
iOSClient/Diagnostics/NCCapabilitiesView.swift

@@ -0,0 +1,85 @@
+//
+//  NCCapabilitiesView.swift
+//  Nextcloud
+//
+//  Created by Marino Faggiana on 19/05/23.
+//  Copyright © 2023 Marino Faggiana. All rights reserved.
+//
+
+import SwiftUI
+
+struct NCCapabilitiesView: View {
+    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)
+                }
+            }
+            .frame(maxWidth: .infinity, alignment: .top)
+            .padding(EdgeInsets(top: 10, leading: 10, bottom: 0, trailing: 10))
+        }
+    }
+}
+
+struct Capability: View {
+
+    @State var text: String = ""
+    @State var image: Image
+
+    var body: some View {
+        Label {
+            Text(text)
+                .font(.system(size: 15))
+                .foregroundColor(Color(UIColor.systemGray))
+        } icon: {
+            image
+                .renderingMode(.template)
+                .resizable()
+                .frame(width: 25.0, height: 25.0)
+                .foregroundColor(Color(UIColor.systemGray))
+        }
+        .frame(maxWidth: .infinity, alignment: .leading)
+    }
+}
+
+struct CapabilityAvailable: View {
+
+    @State private var text: String
+
+    init(available: Bool) {
+        if available {
+            _text = State(initialValue: "✓ " + NSLocalizedString("_available_", comment: ""))
+        } else {
+            _text = State(initialValue: NSLocalizedString("_not_available_", comment: ""))
+
+        }
+    }
+
+    var body: some View {
+        Text(text)
+            .font(.system(size: 12))
+            .padding(EdgeInsets(top: 7, leading: 12, bottom: 7, trailing: 12))
+            .foregroundColor(.primary)
+            .background(
+                RoundedRectangle(cornerRadius: 20)
+                    .stroke(Color(UIColor.systemGray), lineWidth: 0.5)
+                    .background(
+                        RoundedRectangle(cornerRadius: 20)
+                        .fill(Color(UIColor.secondarySystemBackground))
+                )
+            )
+            .frame(maxWidth: .infinity, alignment: .trailing)
+    }
+}
+
+struct NCCapabilitiesView_Previews: PreviewProvider {
+    static var previews: some View {
+        NCCapabilitiesView()
+    }
+}