ソースを参照

coding

Signed-off-by: marinofaggiana <marino.faggiana@nextcloud.com>
marinofaggiana 2 年 前
コミット
5221eb3fab

+ 13 - 13
Widget/Nextcloud/NextcloudData.swift

@@ -24,7 +24,7 @@
 import WidgetKit
 import NCCommunication
 
-struct NextcloudData: Identifiable, Codable, Hashable {
+struct RecentData: Identifiable, Codable, Hashable {
     var id: String
     var image: String
     var title: String
@@ -34,12 +34,12 @@ struct NextcloudData: Identifiable, Codable, Hashable {
 
 struct NextcloudDataEntry: TimelineEntry {
     let date: Date
-    let nextcloudDatas: [NextcloudData]
+    let recentDatas: [RecentData]
     let isPlaceholder: Bool
     let footerText: String
 }
 
-let nextcloudDatasTest: [NextcloudData] = [
+let recentDatasTest: [RecentData] = [
     .init(id: "1",
           image: "/Users/marinofaggiana/Library/Developer/CoreSimulator/Devices/BDE5102B-F3D3-4951-804B-A9E7F6253D56/data/Containers/Shared/AppGroup/D425298A-F6F7-482A-BD07-7ECD42B2836B/File Provider Storage/00395828ocvhmkstoevb/63074889b016c.small.ico",
           title: "title 1",
@@ -67,10 +67,10 @@ let nextcloudDatasTest: [NextcloudData] = [
           url: URL(string: "https://nextcloud.com/")!)
 ]
 
-func readNextcloudData(completion: @escaping (_ NextcloudDatas: [NextcloudData], _ isPlaceholder: Bool, _ footerText: String) -> Void) {
+func getDataEntry(completion: @escaping (_ entry: NextcloudDataEntry) -> Void) { // _ recentDatas: [RecentData], _ isPlaceholder: Bool, _ footerText: String) -> Void) {
 
     guard let account = NCManageDatabase.shared.getActiveAccount() else {
-        return completion(nextcloudDatasTest, true, NSLocalizedString("_no_active_account_", value: "No account found", comment: ""))
+        return completion(NextcloudDataEntry(date: Date(), recentDatas: recentDatasTest, isPlaceholder: true, footerText: NSLocalizedString("_no_active_account_", value: "No account found", comment: "")))
     }
 
     // NETWORKING
@@ -173,7 +173,7 @@ func readNextcloudData(completion: @escaping (_ NextcloudDatas: [NextcloudData],
     NCAutoUpload.shared.initAutoUpload(viewController: nil) { items in
         NCCommunicationCommon.shared.writeLog("Completition \(NCBrandOptions.shared.brand) widget [Auto upload]")
         NCCommunication.shared.searchBodyRequest(serverUrl: account.urlBase, requestBody: requestBody, showHiddenFiles: CCUtility.getShowHiddenFiles()) { _, files, errorCode, errorDescription in
-            var nextcloudDatas: [NextcloudData] = []
+            var recentDatas: [RecentData] = []
             for file in files {
                 guard !file.directory else { continue }
                 let subTitle = CCUtility.dateDiff(file.date as Date) + " · " + CCUtility.transformedSize(file.size)
@@ -189,16 +189,16 @@ func readNextcloudData(completion: @escaping (_ NextcloudDatas: [NextcloudData],
                 let link = file.urlBase + "/f/" + file.fileId
                 let urlString = "nextcloud://open-file?path=" + path + "&user=" + file.user + "&link=" + link
                 guard let url = URL(string: urlString) else { continue }
-                let nextcloudData = NextcloudData.init(id: file.ocId, image: iconImagePath, title: file.fileName, subTitle: subTitle, url: url)
-                nextcloudDatas.append(nextcloudData)
-                if nextcloudDatas.count == 5 { break}
+                let recentData = RecentData.init(id: file.ocId, image: iconImagePath, title: file.fileName, subTitle: subTitle, url: url)
+                recentDatas.append(recentData)
+                if recentDatas.count == 5 { break}
             }
             if errorCode != 0 {
-                completion(nextcloudDatasTest, true, errorDescription)
-            } else if nextcloudDatas.isEmpty {
-                completion(nextcloudDatasTest, true, "Auto upoload: \(items), \(Date().formatted())")
+                completion(NextcloudDataEntry(date: Date(), recentDatas: recentDatasTest, isPlaceholder: true, footerText: errorDescription))
+            } else if recentDatas.isEmpty {
+                completion(NextcloudDataEntry(date: Date(), recentDatas: recentDatasTest, isPlaceholder: true, footerText: "Auto upoload: \(items), \(Date().formatted())"))
             } else {
-                completion(nextcloudDatas, false, "Auto upoload: \(items), \(Date().formatted())")
+                completion(NextcloudDataEntry(date: Date(), recentDatas: recentDatas, isPlaceholder: false, footerText: "Auto upoload: \(items), \(Date().formatted())"))
             }
         }
     }

+ 5 - 5
Widget/Nextcloud/NextcloudWidgetProvider.swift

@@ -29,18 +29,18 @@ struct NextcloudWidgetProvider: TimelineProvider {
     typealias Entry = NextcloudDataEntry
 
     func placeholder(in context: Context) -> Entry {
-        return Entry(date: Date(), nextcloudDatas: nextcloudDatasTest, isPlaceholder: true, footerText: "Nextcloud")
+        return Entry(date: Date(), recentDatas: recentDatasTest, isPlaceholder: true, footerText: "Nextcloud")
     }
 
     func getSnapshot(in context: Context, completion: @escaping (Entry) -> Void) {
-        readNextcloudData { nextcloudDatas, isPlaceholder, footerText in
-            completion(Entry(date: Date(), nextcloudDatas: nextcloudDatas, isPlaceholder: isPlaceholder, footerText: footerText))
+        getDataEntry { entry in
+            completion(entry)
         }
     }
 
     func getTimeline(in context: Context, completion: @escaping (Timeline<Entry>) -> Void) {
-        readNextcloudData { nextcloudDatas, isPlaceholder, footerText in
-            let timeLine = Timeline(entries: [Entry(date: Date(), nextcloudDatas: nextcloudDatas, isPlaceholder: isPlaceholder, footerText: footerText)], policy: .atEnd)
+        getDataEntry { entry in
+            let timeLine = Timeline(entries: [entry], policy: .atEnd)
             completion(timeLine)
         }
     }

+ 3 - 3
Widget/Nextcloud/NextcloudWidgetView.swift

@@ -34,7 +34,7 @@ struct NextcloudWidgetView: View {
                     .scaledToFit()
                     .frame(width: 18, height: 18)
                     .cornerRadius(4)
-                Text(NCBrandOptions.shared.brand + "333")
+                Text(NCBrandOptions.shared.brand + "")
                     .font(.system(size: 12))
                     .textCase(.uppercase)
             }
@@ -42,7 +42,7 @@ struct NextcloudWidgetView: View {
             .padding(.top, 10)
             VStack(alignment: .leading) {
                 VStack(spacing: 6) {
-                    ForEach(entry.nextcloudDatas, id: \.id) { element in
+                    ForEach(entry.recentDatas, id: \.id) { element in
                         Link(destination: element.url) {
                             HStack {
                                 Image(uiImage: (UIImage(contentsOfFile: element.image) ?? UIImage(named: "file"))!)
@@ -79,7 +79,7 @@ struct NextcloudWidgetView: View {
 
 struct NextcloudWidget_Previews: PreviewProvider {
     static var previews: some View {
-        let entry = NextcloudDataEntry(date: Date(), nextcloudDatas: nextcloudDatasTest, isPlaceholder: false, footerText: NCBrandOptions.shared.brand + " widget")
+        let entry = NextcloudDataEntry(date: Date(), recentDatas: recentDatasTest, isPlaceholder: false, footerText: NCBrandOptions.shared.brand + " widget")
         NextcloudWidgetView(entry: entry).previewContext(WidgetPreviewContext(family: .systemLarge))
     }
 }