DashBoardList.swift 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. //
  2. // DashBoardList.swift
  3. // DashboardWidgetExtension
  4. //
  5. // Created by Marino Faggiana on 20/08/22.
  6. // Copyright © 2022 Marino Faggiana. All rights reserved.
  7. //
  8. import SwiftUI
  9. import WidgetKit
  10. struct DashBoardList: View {
  11. var body: some View {
  12. VStack(alignment: .center) {
  13. Text("Good morning")
  14. .font(.title)
  15. .bold()
  16. VStack {
  17. ForEach(NCDataDashboardList, id: \.id) { dataElement in
  18. DashboardElement(element: dataElement)
  19. }
  20. }
  21. }.padding()
  22. }
  23. }
  24. struct DashboardElement: View {
  25. var element: NCDataDashboard
  26. var body: some View {
  27. HStack {
  28. Image(element.image)
  29. .resizable()
  30. .aspectRatio(contentMode: .fit)
  31. .frame(width: 40, height: 40)
  32. .clipShape(Circle())
  33. VStack(alignment: .leading) {
  34. Text(element.title)
  35. .font(.headline)
  36. Text(element.subTitle)
  37. .font(.subheadline)
  38. .foregroundColor(.accentColor)
  39. }
  40. Spacer()
  41. }.padding(10)
  42. //.overlay(
  43. //RoundedRectangle(cornerRadius: 8)
  44. // .stroke(Color(.sRGB, red: 150 / 255, green: 150 / 255, blue: 150 / 255, opacity: 0.4), lineWidth: 1)
  45. //)
  46. .shadow(radius: 1)
  47. }
  48. }
  49. struct NCElementDashboard_Previews: PreviewProvider {
  50. static var previews: some View {
  51. DashBoardList()
  52. .previewContext(WidgetPreviewContext(family: .systemLarge))
  53. }
  54. }