@@ -9,25 +9,17 @@ import WidgetKit
99import SwiftUI
1010
1111struct Provider : TimelineProvider {
12- func placeholder( in context: Context ) -> SimpleEntry {
13- SimpleEntry ( date : Date ( ) , emoji : " 😀 " )
12+ func placeholder( in context: Context ) -> WeatherEntry {
13+ . sample
1414 }
1515
16- func getSnapshot( in context: Context , completion: @escaping ( SimpleEntry ) -> ( ) ) {
17- let entry = SimpleEntry ( date : Date ( ) , emoji : " 😀 " )
16+ func getSnapshot( in context: Context , completion: @escaping ( WeatherEntry ) -> ( ) ) {
17+ let entry : WeatherEntry = . sample
1818 completion ( entry)
1919 }
2020
2121 func getTimeline( in context: Context , completion: @escaping ( Timeline < Entry > ) -> ( ) ) {
22- var entries : [ SimpleEntry ] = [ ]
23-
24- // Generate a timeline consisting of five entries an hour apart, starting from the current date.
25- let currentDate = Date ( )
26- for secondsOffset in 0 ..< 5 {
27- let entryDate = Calendar . current. date ( byAdding: . second, value: secondsOffset * 10 , to: currentDate) !
28- let entry = SimpleEntry ( date: entryDate, emoji: " 😀 " )
29- entries. append ( entry)
30- }
22+ var entries : [ WeatherEntry ] = [ ]
3123
3224 let timeline = Timeline ( entries: entries, policy: . atEnd)
3325 completion ( timeline)
@@ -38,11 +30,6 @@ struct Provider: TimelineProvider {
3830// }
3931}
4032
41- struct SimpleEntry : TimelineEntry {
42- let date : Date
43- let emoji : String
44- }
45-
4633struct SkyWizardWidgetEntryView : View {
4734 var entry : Provider . Entry
4835
@@ -51,14 +38,14 @@ struct SkyWizardWidgetEntryView : View {
5138 Text ( " Time: " )
5239 Text ( entry. date. formatted ( date: . omitted, time: . complete) )
5340
54- Text ( " Emoji :" )
55- Text ( entry. emoji )
41+ Text ( " City :" )
42+ Text ( entry. city )
5643 }
5744 }
5845}
5946
6047struct WeatherWidget : Widget {
61- let kind : String = " SkyWizard Widget "
48+ let kind : String = " SkyWizard Weather "
6249
6350 var body : some WidgetConfiguration {
6451 StaticConfiguration ( kind: kind, provider: Provider ( ) ) { entry in
@@ -72,14 +59,14 @@ struct WeatherWidget: Widget {
7259 }
7360 }
7461 . supportedFamilies ( [ . systemMedium] )
75- . configurationDisplayName ( " My Widget" )
76- . description ( " This is an example widget. " )
62+ . configurationDisplayName ( " Weather Widget" )
63+ . description ( " Weather Widget for SkyWizard " )
7764 }
7865}
7966
8067#Preview( as: . systemSmall) {
8168 WeatherWidget ( )
8269} timeline: {
83- SimpleEntry ( date : . now , emoji : " 😀 " )
84- SimpleEntry ( date : . now , emoji : " 🤩 " )
70+ WeatherEntry . sample
71+ WeatherEntry . sample
8572}
0 commit comments