Przeglądaj źródła

coding

Signed-off-by: marinofaggiana <marino.faggiana@nextcloud.com>
marinofaggiana 2 lat temu
rodzic
commit
89b1391289
2 zmienionych plików z 60 dodań i 58 usunięć
  1. 59 57
      Widget/Nextcloud/NextcloudWidgetView.swift
  2. 1 1
      Widget/Widget.swift

+ 59 - 57
Widget/Nextcloud/NextcloudWidgetView.swift

@@ -27,74 +27,76 @@ import WidgetKit
 struct NextcloudWidgetView: View {
     var entry: NextcloudDataEntry
     var body: some View {
-        ZStack(alignment: .topLeading) {
-            HStack(spacing: 5) {
-                Image("nextcloud")
-                    .resizable()
-                    .scaledToFit()
-                    .frame(width: 18, height: 18)
-                    .cornerRadius(4)
-                Text(NCBrandOptions.shared.brand + "dd")
-                    .font(.system(size: 12))
-                    .textCase(.uppercase)
-            }
-            .padding(.leading, 10)
-            .padding(.top, 10)
-            VStack(alignment: .leading) {
-                VStack(spacing: 6) {
-                    ForEach(entry.recentDatas, id: \.id) { element in
-                        Link(destination: element.url) {
-                            HStack {
+        GeometryReader { geo in
+            ZStack(alignment: .topLeading) {
+                HStack(spacing: 5) {
+                    Image("nextcloud")
+                        .resizable()
+                        .scaledToFit()
+                        .frame(width: 18, height: 18)
+                        .cornerRadius(4)
+                    Text(NCBrandOptions.shared.brand + "dde")
+                        .font(.system(size: 12))
+                        .textCase(.uppercase)
+                }
+                .padding(.leading, 10)
+                .padding(.top, 10)
+                VStack(alignment: .leading) {
+                    VStack(spacing: 6) {
+                        ForEach(entry.recentDatas, id: \.id) { element in
+                            Link(destination: element.url) {
+                                HStack {
+                                    Image(uiImage: element.image)
+                                        .resizable()
+                                        .scaledToFill()
+                                        .frame(width: 30, height: 30)
+                                        .clipped()
+                                        .cornerRadius(4)
+                                    VStack(alignment: .leading) {
+                                        Text(element.title)
+                                            .font(.system(size: 12))
+                                            .fontWeight(.bold)
+                                        Text(element.subTitle)
+                                            .font(.system(size: CGFloat(10)))
+                                            .foregroundColor(Color(white: 0.4745))
+                                        Divider()
+                                    }
+                                    Spacer()
+                                }
+                                .padding(.leading, 10)
+                            }
+                        }
+                    }
+                    Spacer()
+                        .frame(width: .none, height: 15.0)
+                    Text("File in upload ...")
+                        .font(.system(size: 12))
+                        .frame(maxWidth: .infinity, alignment: .center)
+                    HStack(spacing: 10) {
+                        ForEach(entry.uploadDatas, id: \.id) { element in
+                            VStack {
                                 Image(uiImage: element.image)
                                     .resizable()
                                     .scaledToFill()
                                     .frame(width: 30, height: 30)
                                     .clipped()
                                     .cornerRadius(4)
-                                VStack(alignment: .leading) {
-                                    Text(element.title)
-                                        .font(.system(size: 12))
-                                        .fontWeight(.bold)
-                                    Text(element.subTitle)
-                                        .font(.system(size: CGFloat(10)))
-                                        .foregroundColor(Color(white: 0.4745))
-                                    Divider()
-                                }
-                                Spacer()
+                                Text("\(element.task)")
+                                    .font(.system(size: 9))
                             }
-                            .padding(.leading, 10)
-                        }
-                    }
-                }
-                Spacer()
-                    .frame(width: .none, height: 15.0)
-                Text("File in upload ...")
-                    .font(.system(size: 12))
-                    .frame(maxWidth: .infinity, alignment: .center)
-                HStack(spacing: 10) {
-                    ForEach(entry.uploadDatas, id: \.id) { element in
-                        VStack {
-                            Image(uiImage: element.image)
-                                .resizable()
-                                .scaledToFill()
-                                .frame(width: 30, height: 30)
-                                .clipped()
-                                .cornerRadius(4)
-                            Text("\(element.task)")
-                                .font(.system(size: 9))
                         }
                     }
+                    .frame(width: geo.size.width, alignment: .center)
                 }
-                .padding(.trailing, 15)
-            }
-            .padding(.top, 45)
-            .redacted(reason: entry.isPlaceholder ? .placeholder : [])
+                .padding(.top, 45)
+                .redacted(reason: entry.isPlaceholder ? .placeholder : [])
 
-            Text(entry.footerText)
-                .font(.caption2)
-                .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .bottomTrailing)
-                .padding(.trailing, 10.0)
-                .padding(.bottom, 5.0)
+                Text(entry.footerText)
+                    .font(.caption2)
+                    .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .bottomTrailing)
+                    .padding(.trailing, 10.0)
+                    .padding(.bottom, 5.0)
+            }
         }
     }
 }

+ 1 - 1
Widget/Widget.swift

@@ -30,7 +30,7 @@ struct NextcloudWidgetBundle: WidgetBundle {
     @WidgetBundleBuilder
     var body: some Widget {
         NextcloudWidget()
-//        DashboardWidget()
+        DashboardWidget()
     }
 }