diff --git a/AppStoreScreenshots/10-widgets-light.png b/AppStoreScreenshots/10-widgets-light.png index 64a257b..fff6a72 100644 Binary files a/AppStoreScreenshots/10-widgets-light.png and b/AppStoreScreenshots/10-widgets-light.png differ diff --git a/AppStoreScreenshots/2-favourites.png b/AppStoreScreenshots/2-favourites.png index 63ed536..cdd30fd 100644 Binary files a/AppStoreScreenshots/2-favourites.png and b/AppStoreScreenshots/2-favourites.png differ diff --git a/AppStoreScreenshots/6-favourites-dark.png b/AppStoreScreenshots/6-favourites-dark.png index 10fe4de..b5bf5b2 100644 Binary files a/AppStoreScreenshots/6-favourites-dark.png and b/AppStoreScreenshots/6-favourites-dark.png differ diff --git a/AppStoreScreenshots/9-widgets-dark.png b/AppStoreScreenshots/9-widgets-dark.png index e75f8bd..4595838 100644 Binary files a/AppStoreScreenshots/9-widgets-dark.png and b/AppStoreScreenshots/9-widgets-dark.png differ diff --git a/FuelBoard/Assets.xcassets/PreviewWallpaper.imageset/Contents.json b/FuelBoard/Assets.xcassets/PreviewWallpaper.imageset/Contents.json new file mode 100644 index 0000000..fd92a93 --- /dev/null +++ b/FuelBoard/Assets.xcassets/PreviewWallpaper.imageset/Contents.json @@ -0,0 +1,13 @@ +{ + "images" : [ + { + "filename" : "PreviewWallpaper.jpg", + "idiom" : "universal", + "scale" : "1x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/FuelBoard/Assets.xcassets/PreviewWallpaper.imageset/PreviewWallpaper.jpg b/FuelBoard/Assets.xcassets/PreviewWallpaper.imageset/PreviewWallpaper.jpg new file mode 100644 index 0000000..0f17115 Binary files /dev/null and b/FuelBoard/Assets.xcassets/PreviewWallpaper.imageset/PreviewWallpaper.jpg differ diff --git a/FuelBoard/ContentView.swift b/FuelBoard/ContentView.swift index 9beac76..e27ce02 100644 --- a/FuelBoard/ContentView.swift +++ b/FuelBoard/ContentView.swift @@ -186,6 +186,16 @@ struct ContentView: View { // without touching the stored flag. let args = ProcessInfo.processInfo.arguments showWidgetMock = args.contains("-widgets") + // `-seedFavourite ` pins the first matching station + // for Unleaded via the normal save path (keychain + app group) + // so screenshot captures can show a populated Favourites tab. + if let i = args.firstIndex(of: "-seedFavourite"), i + 1 < args.count { + let query = args[i + 1] + if let station = FuelStore.loadStations() + .first(where: { $0.name.localizedCaseInsensitiveContains(query) }) { + FuelStore.saveFavourites([FavouriteEntry(station: station, fuel: .e10)]) + } + } if let i = args.firstIndex(of: "-tab"), i + 1 < args.count { switch args[i + 1] { case "favourites": selectedTab = 1 diff --git a/FuelBoard/WidgetMockScreen.swift b/FuelBoard/WidgetMockScreen.swift index 537958c..6c59ef6 100644 --- a/FuelBoard/WidgetMockScreen.swift +++ b/FuelBoard/WidgetMockScreen.swift @@ -6,11 +6,13 @@ import WidgetKit /// code the widget extension renders) at small + medium sizes. Used for App /// Store screenshot captures; not reachable from the UI. struct WidgetMockScreen: View { - @Environment(\.colorScheme) private var colorScheme - var body: some View { ZStack { - wallpaper + // Real iPhone wallpaper (extracted from the iOS 26.3 sim runtime — + // ActionButtonSelector Display.ca asset, 1320×2870 native res). + Image("PreviewWallpaper") + .resizable() + .scaledToFill() .ignoresSafeArea() VStack(alignment: .leading, spacing: 26) { @@ -23,10 +25,12 @@ struct WidgetMockScreen: View { VStack(alignment: .leading, spacing: 3) { Text("FuelBoard") .font(.title2.bold()) - .foregroundStyle(.primary) + .foregroundStyle(.white) + .shadow(radius: 2, y: 1) Text("Cheapest fuel near you") .font(.subheadline) - .foregroundStyle(.secondary) + .foregroundStyle(.white.opacity(0.9)) + .shadow(radius: 2, y: 1) } } .padding(.top, 8) @@ -40,32 +44,6 @@ struct WidgetMockScreen: View { } } - /// iOS-default-style wallpaper (dark navy → black in dark mode, soft - /// blue-grey in light), matching the system default look. - private var wallpaper: some View { - Group { - if colorScheme == .dark { - LinearGradient( - colors: [ - Color(red: 0.09, green: 0.14, blue: 0.26), - Color(red: 0.05, green: 0.08, blue: 0.15), - Color(red: 0.02, green: 0.03, blue: 0.06) - ], - startPoint: .topLeading, endPoint: .bottomTrailing - ) - } else { - LinearGradient( - colors: [ - Color(red: 0.72, green: 0.80, blue: 0.94), - Color(red: 0.85, green: 0.90, blue: 0.97), - Color(red: 0.94, green: 0.96, blue: 0.99) - ], - startPoint: .topLeading, endPoint: .bottomTrailing - ) - } - } - } - private func widgetCard(_ family: WidgetFamily, label: String) -> some View { // Real widget proportions: system small content is 158×158pt, // medium 338×158pt (card adds the 14pt padding each side). diff --git a/build-pm/ModuleCache.noindex/Session.modulevalidation b/build-pm/ModuleCache.noindex/Session.modulevalidation index 6e9ba74..ce0a2f1 100644 --- a/build-pm/ModuleCache.noindex/Session.modulevalidation +++ b/build-pm/ModuleCache.noindex/Session.modulevalidation @@ -1 +1 @@ -1786807715.783432: Module build session file for module cache at Path(_str: "/Users/apt/workspace/fuelboard/build-pm/ModuleCache.noindex") +1786808620.023363: Module build session file for module cache at Path(_str: "/Users/apt/workspace/fuelboard/build-pm/ModuleCache.noindex") diff --git a/build-pm/SDKStatCaches.noindex/iphonesimulator26.2-23C57-7d00a8b37fbd7999ea79df8ebc024bf0.sdkstatcache b/build-pm/SDKStatCaches.noindex/iphonesimulator26.2-23C57-7d00a8b37fbd7999ea79df8ebc024bf0.sdkstatcache index bf85d73..c7d38dd 100644 Binary files a/build-pm/SDKStatCaches.noindex/iphonesimulator26.2-23C57-7d00a8b37fbd7999ea79df8ebc024bf0.sdkstatcache and b/build-pm/SDKStatCaches.noindex/iphonesimulator26.2-23C57-7d00a8b37fbd7999ea79df8ebc024bf0.sdkstatcache differ diff --git a/build-pm/info.plist b/build-pm/info.plist index 712f9b3..d4342c1 100644 --- a/build-pm/info.plist +++ b/build-pm/info.plist @@ -3,7 +3,7 @@ LastAccessedDate - 2026-08-15T15:28:33Z + 2026-08-15T15:43:37Z WorkspacePath /Users/apt/workspace/fuelboard/FuelBoard.xcodeproj