Add interactive widget voting and fix warnings/bugs
Widget Features: - Add inline voting to timeline widget when no entry exists for today - Show random prompt from notification strings in voting mode - Update vote widget to use simple icon style for selection - Make stats bar full width in voted state view - Add Localizable.strings to widget extension target Bug Fixes: - Fix inverted date calculation in InsightsViewModel streak logic - Replace force unwraps with safe optional handling in widgets - Replace fatalError calls with graceful error handling - Fix CSV import safety in SettingsView Warning Fixes: - Add @retroactive to Color and Date extension conformances - Update deprecated onChange(of:perform:) to new syntax - Replace deprecated applicationIconBadgeNumber with setBadgeCount - Replace deprecated UIApplication.shared.windows API - Add @preconcurrency for Swift 6 protocol conformances - Add missing widget family cases to switch statement - Remove unused variables and #warning directives 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -14,12 +14,12 @@ extension DataController {
|
||||
try modelContext.delete(model: MoodEntryModel.self)
|
||||
saveAndRunDataListeners()
|
||||
} catch {
|
||||
fatalError("Failed to clear database: \(error)")
|
||||
print("Failed to clear database: \(error)")
|
||||
}
|
||||
}
|
||||
|
||||
func deleteLast(numberOfEntries: Int) {
|
||||
let startDate = Calendar.current.date(byAdding: .day, value: -numberOfEntries, to: Date())!
|
||||
guard let startDate = Calendar.current.date(byAdding: .day, value: -numberOfEntries, to: Date()) else { return }
|
||||
let entries = getData(startDate: startDate, endDate: Date(), includedDays: [])
|
||||
|
||||
for entry in entries {
|
||||
@@ -29,7 +29,7 @@ extension DataController {
|
||||
}
|
||||
|
||||
func deleteRandomFromLast(numberOfEntries: Int) {
|
||||
let startDate = Calendar.current.date(byAdding: .day, value: -numberOfEntries, to: Date())!
|
||||
guard let startDate = Calendar.current.date(byAdding: .day, value: -numberOfEntries, to: Date()) else { return }
|
||||
let entries = getData(startDate: startDate, endDate: Date(), includedDays: [])
|
||||
|
||||
for entry in entries where Bool.random() {
|
||||
|
||||
Reference in New Issue
Block a user