Restore smart settings and sync watch favourites

This commit is contained in:
FuelBoard Contributor
2026-08-30 18:57:57 +01:00
parent 0997dcea45
commit ebda21436d
11 changed files with 405 additions and 3 deletions
@@ -280,6 +280,7 @@ private enum WatchFuelCache {
}
struct ContentView: View {
@Environment(\.scenePhase) private var scenePhase
@State private var fuel: WatchFuelType = WatchFuelCache.loadSelectedFuel()
@State private var refreshState: WatchRefreshState = .noData
@State private var favourites: [WatchFavouriteEntry] = []
@@ -297,6 +298,14 @@ struct ContentView: View {
}
.tabViewStyle(.verticalPage)
.onAppear(perform: reloadFromCache)
.onReceive(NotificationCenter.default.publisher(for: .fuelBoardWatchDataDidUpdate)) { _ in
reloadFromCache()
}
.onChange(of: scenePhase) { _, newPhase in
if newPhase == .active {
reloadFromCache()
}
}
}
@ViewBuilder
@@ -499,6 +508,7 @@ struct ContentView: View {
refreshState = .checking
let requestDate = Date()
WatchFuelCache.requestRefresh(requestDate)
WatchSyncManager.shared.requestRefresh(at: requestDate)
Task {
for _ in 0..<12 {
try? await Task.sleep(for: .seconds(1))