Real iPhone wallpaper + populated Favourites captures
- PreviewWallpaper image set: the actual iPhone wallpaper extracted from the iOS 26.3 sim runtime (ActionButtonSelector Display.ca, 1320x2870 native res, JPEG ~180 KB) — replaces the gradient backdrop in the widget mock - -seedFavourite <substring> launch hook: pins the first matching station for Unleaded via the normal keychain+app-group save path, so the Favourites tab can be captured populated (Ring Road Service Station, 129.9, 59.1 mi, TOP badge) - Re-captured 2-favourites (light), 6-favourites-dark, 9-widgets-dark, 10-widgets-light with real data - 95/95 tests green; Release IPA rebuilt + re-served
This commit is contained in:
@@ -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).
|
||||
|
||||
Reference in New Issue
Block a user