Skip to content

Commit 8cd57fa

Browse files
committed
Extracted WeatherDataProvider
1 parent 0718b9d commit 8cd57fa

File tree

3 files changed

+31
-32
lines changed

3 files changed

+31
-32
lines changed

SkyWizardWidget/Other/SkyWizardWidget.swift

Lines changed: 4 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -8,41 +8,14 @@
88
import WidgetKit
99
import SwiftUI
1010

11-
struct Provider: TimelineProvider {
12-
func placeholder(in context: Context) -> WeatherEntry {
13-
.sample
14-
}
15-
16-
func getSnapshot(in context: Context, completion: @escaping (WeatherEntry) -> ()) {
17-
let entry: WeatherEntry = .sample
18-
completion(entry)
19-
}
20-
21-
func getTimeline(in context: Context, completion: @escaping (Timeline<WeatherEntry>) -> ()) {
22-
var entries: [WeatherEntry] = []
23-
24-
let timeline = Timeline(entries: entries, policy: .atEnd)
25-
completion(timeline)
26-
}
27-
28-
// func relevances() async -> WidgetRelevances<Void> {
29-
// // Generate a list containing the contexts this widget is relevant in.
30-
// }
31-
}
32-
3311
struct SkyWizardWidget: Widget {
3412
let kind: String = "SkyWizard Weather"
3513

3614
var body: some WidgetConfiguration {
37-
StaticConfiguration(kind: kind, provider: Provider()) { entry in
38-
if #available(iOS 17.0, *) {
39-
SkyWizardWidgetEntryView(entry: entry)
40-
.containerBackground(.fill.tertiary, for: .widget)
41-
} else {
42-
SkyWizardWidgetEntryView(entry: entry)
43-
.padding()
44-
.background()
45-
}
15+
StaticConfiguration(kind: kind, provider: WeatherDataProvider()) { entry in
16+
SkyWizardWidgetEntryView(entry: entry)
17+
.padding()
18+
.background()
4619
}
4720
.supportedFamilies([.systemMedium])
4821
.configurationDisplayName("Weather Widget")

SkyWizardWidget/Presentation/WeatherWidget.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import SwiftUI
99

1010
struct SkyWizardWidgetEntryView : View {
11-
var entry: Provider.Entry
11+
var entry: WeatherDataProvider.Entry
1212

1313
var body: some View {
1414
VStack {
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
//
2+
// WeatherDataProvider.swift
3+
// SkyWizardWidgetExtension
4+
//
5+
// Created by Hishara Dilshan on 01/01/2025.
6+
//
7+
8+
import WidgetKit
9+
10+
struct WeatherDataProvider: TimelineProvider {
11+
func placeholder(in context: Context) -> WeatherEntry {
12+
.sample
13+
}
14+
15+
func getSnapshot(in context: Context, completion: @escaping (WeatherEntry) -> ()) {
16+
let entry: WeatherEntry = .sample
17+
completion(entry)
18+
}
19+
20+
func getTimeline(in context: Context, completion: @escaping (Timeline<WeatherEntry>) -> ()) {
21+
var entries: [WeatherEntry] = []
22+
23+
let timeline = Timeline(entries: entries, policy: .atEnd)
24+
completion(timeline)
25+
}
26+
}

0 commit comments

Comments
 (0)