try to get widget working, but no ...

This commit is contained in:
Trey t
2022-01-10 15:27:34 -06:00
parent 19544b528d
commit 80690e4a8c
6 changed files with 41 additions and 31 deletions

View File

@@ -17,7 +17,7 @@ struct Provider: IntentTimelineProvider {
*/
func placeholder(in context: Context) -> SimpleEntry {
let date = Date()
let moodEntry = PersistenceController.shared.moodEntries(forStartDate: date, count: 5)
let moodEntry = PersistenceController.shared.moodEntries(forStartDate: date, count: 10)
return SimpleEntry(date: date, configuration: ConfigurationIntent(), mood: moodEntry)
}
@@ -25,15 +25,6 @@ struct Provider: IntentTimelineProvider {
if context.isPreview {
}
let date = Date()
let moodEntry = PersistenceController.shared.moodEntries(forStartDate: date, count: 5)
let entry = SimpleEntry(date: date, configuration: configuration, mood: moodEntry)
completion(entry)
}
func getTimeline(for configuration: ConfigurationIntent, in context: Context, completion: @escaping (Timeline<Entry>) -> ()) {
var entries: [SimpleEntry] = []
var calendar = Calendar.current
calendar.timeZone = NSTimeZone.local
@@ -41,9 +32,17 @@ struct Provider: IntentTimelineProvider {
let userEntries = PersistenceController.shared.moodEntries(forStartDate: todayStart, count: 10)
let entry = SimpleEntry(date: Date(), configuration: configuration, mood: userEntries)
entries.append(entry)
completion(entry)
}
func getTimeline(for configuration: ConfigurationIntent, in context: Context, completion: @escaping (Timeline<Entry>) -> ()) {
var calendar = Calendar.current
calendar.timeZone = NSTimeZone.local
let todayStart = calendar.startOfDay(for: Date())
let userEntries = PersistenceController.shared.moodEntries(forStartDate: todayStart, count: 10)
let timeline = Timeline(entries: entries, policy: .after(Random.widgetUpdateTime))
let entry = SimpleEntry(date: Date(), configuration: configuration, mood: userEntries)
let timeline = Timeline(entries: [entry], policy: .after(Random.widgetUpdateTime))
completion(timeline)
}
}
@@ -94,8 +93,13 @@ struct SmallWidgetView: View {
var body: some View {
VStack {
EntryCardCollectionView(moodEntries: Array([entry.mood.first!]))
.padding()
if let first = entry.mood.first {
EntryCardCollectionView(moodEntries: Array([first]))
.padding()
} else {
Text("🤷‍♂️")
.font(.system(size: 50))
}
}
}
}