From 36ceff32cae921352140afc7c6390bf4bfea5296 Mon Sep 17 00:00:00 2001 From: Trey t Date: Fri, 30 Jan 2026 10:50:48 -0600 Subject: [PATCH] Add watch view export and update promo video watch display - Add ExportableWatchViews.swift with exportable versions of watch app views - Add WatchExporter.swift service to export all watch view variations - Add export watch screenshots button to Settings (DEBUG) - Update ConceptB promo: use watch_voting_light.png inside watch frame at 1.2x size Co-Authored-By: Claude Opus 4.5 --- Shared/Services/ExportableWatchViews.swift | 365 ++++++++++++++++++ Shared/Services/WatchExporter.swift | 250 ++++++++++++ Shared/Views/SettingsView/SettingsView.swift | 112 ++++++ feels-promo/public/watch_voting_light.png | Bin 0 -> 77646 bytes feels-promo/src/ConceptB-NoJournalJournal.tsx | 269 +++++++------ 5 files changed, 858 insertions(+), 138 deletions(-) create mode 100644 Shared/Services/ExportableWatchViews.swift create mode 100644 Shared/Services/WatchExporter.swift create mode 100644 feels-promo/public/watch_voting_light.png diff --git a/Shared/Services/ExportableWatchViews.swift b/Shared/Services/ExportableWatchViews.swift new file mode 100644 index 0000000..0382d8d --- /dev/null +++ b/Shared/Services/ExportableWatchViews.swift @@ -0,0 +1,365 @@ +// +// ExportableWatchViews.swift +// Feels +// +// Exportable watch views that match the real watchOS layouts. +// These views accept tint/icon configuration as parameters for batch export. +// + +#if DEBUG +import SwiftUI + +// MARK: - Watch Export Configuration + +/// Configuration for watch view export styling +struct WatchExportConfig { + let moodTint: MoodTintable.Type + let moodImages: MoodImagable.Type + + /// Get emoji for a mood based on the image style + func emoji(for mood: Mood) -> String { + // Map MoodImagable type to WatchMoodImageStyle equivalent + switch String(describing: moodImages) { + case "FontAwesomeMoodImages": + return fontAwesomeEmoji(for: mood) + case "EmojiMoodImages": + return emojiStyle(for: mood) + case "HandEmojiMoodImages": + return handEmoji(for: mood) + case "WeatherMoodImages": + return weatherEmoji(for: mood) + case "GardenMoodImages": + return gardenEmoji(for: mood) + case "HeartsMoodImages": + return heartsEmoji(for: mood) + case "CosmicMoodImages": + return cosmicEmoji(for: mood) + default: + return emojiStyle(for: mood) + } + } + + private func fontAwesomeEmoji(for mood: Mood) -> String { + switch mood { + case .great: return "😁" + case .good: return "🙂" + case .average: return "😐" + case .bad: return "🙁" + case .horrible: return "😫" + case .missing, .placeholder: return "❓" + } + } + + private func emojiStyle(for mood: Mood) -> String { + switch mood { + case .great: return "😀" + case .good: return "🙂" + case .average: return "😑" + case .bad: return "😕" + case .horrible: return "💩" + case .missing, .placeholder: return "❓" + } + } + + private func handEmoji(for mood: Mood) -> String { + switch mood { + case .great: return "🙏" + case .good: return "👍" + case .average: return "🖖" + case .bad: return "👎" + case .horrible: return "🖕" + case .missing, .placeholder: return "❓" + } + } + + private func weatherEmoji(for mood: Mood) -> String { + switch mood { + case .great: return "☀️" + case .good: return "⛅" + case .average: return "☁️" + case .bad: return "🌧️" + case .horrible: return "⛈️" + case .missing: return "🌫️" + case .placeholder: return "❓" + } + } + + private func gardenEmoji(for mood: Mood) -> String { + switch mood { + case .great: return "🌸" + case .good: return "🌿" + case .average: return "🌱" + case .bad: return "🍂" + case .horrible: return "🥀" + case .missing: return "🕳️" + case .placeholder: return "❓" + } + } + + private func heartsEmoji(for mood: Mood) -> String { + switch mood { + case .great: return "💖" + case .good: return "🩷" + case .average: return "🤍" + case .bad: return "🩶" + case .horrible: return "💔" + case .missing: return "🖤" + case .placeholder: return "❓" + } + } + + private func cosmicEmoji(for mood: Mood) -> String { + switch mood { + case .great: return "⭐" + case .good: return "🌕" + case .average: return "🌓" + case .bad: return "🌑" + case .horrible: return "🕳️" + case .missing: return "✧" + case .placeholder: return "❓" + } + } +} + +// MARK: - Exportable Watch Voting View + +/// Watch voting interface - matches ContentView from watch app +struct ExportableWatchVotingView: View { + let config: WatchExportConfig + + var body: some View { + VStack(spacing: 8) { + Text("How do you feel?") + .font(.system(size: 16, weight: .medium)) + .foregroundColor(.secondary) + + // Top row: Great, Good, Average + HStack(spacing: 8) { + ExportableWatchMoodButton(mood: .great, config: config) + ExportableWatchMoodButton(mood: .good, config: config) + ExportableWatchMoodButton(mood: .average, config: config) + } + + // Bottom row: Bad, Horrible + HStack(spacing: 8) { + ExportableWatchMoodButton(mood: .bad, config: config) + ExportableWatchMoodButton(mood: .horrible, config: config) + } + } + } +} + +// MARK: - Exportable Watch Mood Button + +struct ExportableWatchMoodButton: View { + let mood: Mood + let config: WatchExportConfig + + var body: some View { + Text(config.emoji(for: mood)) + .font(.system(size: 28)) + .frame(maxWidth: .infinity) + .frame(height: 50) + .background(config.moodTint.color(forMood: mood).opacity(0.3)) + .cornerRadius(12) + } +} + +// MARK: - Exportable Watch Already Rated View + +struct ExportableWatchAlreadyRatedView: View { + let mood: Mood + let config: WatchExportConfig + + var body: some View { + VStack(spacing: 12) { + Text(config.emoji(for: mood)) + .font(.system(size: 50)) + + Text("Logged!") + .font(.system(size: 18, weight: .semibold)) + .foregroundColor(.secondary) + } + } +} + +// MARK: - Exportable Circular Complication + +struct ExportableCircularComplication: View { + let mood: Mood? + let config: WatchExportConfig + + var body: some View { + ZStack { + Circle() + .fill(Color(white: 0.15)) + + if let mood = mood { + Text(config.emoji(for: mood)) + .font(.system(size: 24)) + } else { + VStack(spacing: 0) { + Image(systemName: "face.smiling") + .font(.system(size: 18)) + Text("Log") + .font(.system(size: 10)) + } + } + } + } +} + +// MARK: - Exportable Corner Complication + +struct ExportableCornerComplication: View { + let mood: Mood? + let config: WatchExportConfig + + var body: some View { + HStack(spacing: 4) { + if let mood = mood { + Text(config.emoji(for: mood)) + .font(.system(size: 20)) + Text(mood.widgetDisplayName) + .font(.system(size: 12)) + .foregroundColor(.secondary) + } else { + Image(systemName: "face.smiling") + .font(.system(size: 20)) + Text("Log mood") + .font(.system(size: 12)) + .foregroundColor(.secondary) + } + } + } +} + +// MARK: - Exportable Inline Complication + +struct ExportableInlineComplication: View { + let mood: Mood? + let streak: Int + let config: WatchExportConfig + + var body: some View { + HStack(spacing: 4) { + if streak > 0 { + Image(systemName: "flame.fill") + .foregroundColor(.orange) + Text("\(streak) day streak") + } else if let mood = mood { + Text("\(config.emoji(for: mood)) \(mood.widgetDisplayName)") + } else { + Image(systemName: "face.smiling") + Text("Log your mood") + } + } + .font(.system(size: 14)) + } +} + +// MARK: - Exportable Rectangular Complication + +struct ExportableRectangularComplication: View { + let mood: Mood? + let streak: Int + let config: WatchExportConfig + + var body: some View { + HStack { + if let mood = mood { + Text(config.emoji(for: mood)) + .font(.system(size: 28)) + + VStack(alignment: .leading, spacing: 2) { + Text("Today") + .font(.system(size: 12)) + .foregroundColor(.secondary) + Text(mood.widgetDisplayName) + .font(.system(size: 14, weight: .semibold)) + + if streak > 1 { + HStack(spacing: 2) { + Image(systemName: "flame.fill") + Text("\(streak) days") + } + .font(.system(size: 10)) + .foregroundColor(.orange) + } + } + } else { + Image(systemName: "face.smiling") + .font(.system(size: 24)) + + VStack(alignment: .leading, spacing: 2) { + Text("Feels") + .font(.system(size: 14, weight: .semibold)) + Text("Tap to log mood") + .font(.system(size: 12)) + .foregroundColor(.secondary) + } + } + + Spacer() + } + } +} + +// MARK: - Watch Container for Export + +struct ExportableWatchContainer: View { + let width: CGFloat + let height: CGFloat + let colorScheme: ColorScheme + let cornerRadius: CGFloat + let content: Content + + init(width: CGFloat, height: CGFloat, colorScheme: ColorScheme, cornerRadius: CGFloat = 20, @ViewBuilder content: () -> Content) { + self.width = width + self.height = height + self.colorScheme = colorScheme + self.cornerRadius = cornerRadius + self.content = content() + } + + private var backgroundColor: Color { + colorScheme == .dark ? Color.black : Color(red: 0.95, green: 0.95, blue: 0.97) + } + + var body: some View { + content + .environment(\.colorScheme, colorScheme) + .frame(width: width, height: height) + .background(backgroundColor) + .clipShape(RoundedRectangle(cornerRadius: cornerRadius, style: .continuous)) + } +} + +// MARK: - Watch Complication Container + +struct ExportableComplicationContainer: View { + let size: CGSize + let colorScheme: ColorScheme + let isCircular: Bool + let content: Content + + init(size: CGSize, colorScheme: ColorScheme, isCircular: Bool = false, @ViewBuilder content: () -> Content) { + self.size = size + self.colorScheme = colorScheme + self.isCircular = isCircular + self.content = content() + } + + private var backgroundColor: Color { + colorScheme == .dark ? Color(white: 0.1) : Color(white: 0.95) + } + + var body: some View { + content + .environment(\.colorScheme, colorScheme) + .frame(width: size.width, height: size.height) + .background(backgroundColor) + .clipShape(isCircular ? AnyShape(Circle()) : AnyShape(RoundedRectangle(cornerRadius: 12, style: .continuous))) + } +} +#endif diff --git a/Shared/Services/WatchExporter.swift b/Shared/Services/WatchExporter.swift new file mode 100644 index 0000000..7f3fc0c --- /dev/null +++ b/Shared/Services/WatchExporter.swift @@ -0,0 +1,250 @@ +// +// WatchExporter.swift +// Feels +// +// Debug utility to export all watch view previews to PNG files. +// Uses the exportable watch views from ExportableWatchViews.swift. +// + +#if DEBUG +import SwiftUI +import UIKit + +/// Exports watch view previews to PNG files for App Store screenshots +@MainActor +class WatchExporter { + + // MARK: - Watch Sizes (Apple Watch Series 9 45mm @ 2x) + + /// Main watch app screen size (45mm watch) + static let watchAppSize = CGSize(width: 198, height: 242) + + /// Complication sizes + enum ComplicationSize { + case circular // 50x50 pt + case corner // 40x40 pt content area + case inline // 230x26 pt + case rectangular // 180x70 pt + + var pointSize: CGSize { + switch self { + case .circular: return CGSize(width: 50, height: 50) + case .corner: return CGSize(width: 100, height: 40) + case .inline: return CGSize(width: 230, height: 26) + case .rectangular: return CGSize(width: 180, height: 70) + } + } + + var name: String { + switch self { + case .circular: return "circular" + case .corner: return "corner" + case .inline: return "inline" + case .rectangular: return "rectangular" + } + } + } + + // MARK: - Available Theme Combinations (same as WidgetExporter) + + /// All available tint options for export + static let allTints: [(name: String, tint: MoodTintable.Type)] = [ + ("Default", DefaultMoodTint.self), + ("Neon", NeonMoodTint.self), + ("Pastel", PastelTint.self), + ("Monochrome", MonoChromeTint.self) + ] + + /// All available icon options for export + static let allIcons: [(name: String, images: MoodImagable.Type)] = [ + ("Emoji", EmojiMoodImages.self), + ("FontAwesome", FontAwesomeMoodImages.self), + ("Weather", WeatherMoodImages.self), + ("Garden", GardenMoodImages.self), + ("Hearts", HeartsMoodImages.self), + ("Cosmic", CosmicMoodImages.self), + ("HandEmoji", HandEmojiMoodImages.self) + ] + + // MARK: - Export All Watch Views + + /// Exports all watch view variations to disk + /// - Returns: URL to the export directory, or nil if failed + static func exportAllWatchViews() async -> URL? { + let documentsPath = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0] + let exportPath = documentsPath.appendingPathComponent("WatchExports", isDirectory: true) + + // Clean and create export directory + try? FileManager.default.removeItem(at: exportPath) + try? FileManager.default.createDirectory(at: exportPath, withIntermediateDirectories: true) + + var totalExported = 0 + + // Export all tint + icon combinations + for tintOption in allTints { + for iconOption in allIcons { + let folderName = "\(tintOption.name)_\(iconOption.name)" + let variantPath = exportPath.appendingPathComponent(folderName, isDirectory: true) + try? FileManager.default.createDirectory(at: variantPath, withIntermediateDirectories: true) + + let config = WatchExportConfig( + moodTint: tintOption.tint, + moodImages: iconOption.images + ) + + let count = await exportWatchViewsForConfig(config: config, to: variantPath) + totalExported += count + print(" Exported \(count) watch images to \(folderName)/") + } + } + + print("⌚ Total \(totalExported) watch views exported to: \(exportPath.path)") + return exportPath + } + + /// Exports watch views for a single tint/icon configuration + private static func exportWatchViewsForConfig(config: WatchExportConfig, to folder: URL) async -> Int { + var count = 0 + + for colorScheme in [ColorScheme.light, ColorScheme.dark] { + let schemeName = colorScheme == .light ? "light" : "dark" + + // Watch App - Voting View + await exportWatchVotingView(config: config, colorScheme: colorScheme, to: folder, name: "watch_voting_\(schemeName)") + count += 1 + + // Watch App - Already Rated (all moods) + for mood in Mood.allValues { + await exportWatchAlreadyRatedView(mood: mood, config: config, colorScheme: colorScheme, to: folder, name: "watch_logged_\(schemeName)_\(mood.strValue.lowercased())") + count += 1 + } + + // Complications - Empty state + await exportCircularComplication(mood: nil, config: config, colorScheme: colorScheme, to: folder, name: "complication_circular_\(schemeName)_empty") + await exportCornerComplication(mood: nil, config: config, colorScheme: colorScheme, to: folder, name: "complication_corner_\(schemeName)_empty") + await exportInlineComplication(mood: nil, streak: 0, config: config, colorScheme: colorScheme, to: folder, name: "complication_inline_\(schemeName)_empty") + await exportRectangularComplication(mood: nil, streak: 0, config: config, colorScheme: colorScheme, to: folder, name: "complication_rectangular_\(schemeName)_empty") + count += 4 + + // Complications - With streak + await exportInlineComplication(mood: nil, streak: 45, config: config, colorScheme: colorScheme, to: folder, name: "complication_inline_\(schemeName)_streak") + count += 1 + + // Complications - All moods + for mood in Mood.allValues { + let moodName = mood.strValue.lowercased() + await exportCircularComplication(mood: mood, config: config, colorScheme: colorScheme, to: folder, name: "complication_circular_\(schemeName)_\(moodName)") + await exportCornerComplication(mood: mood, config: config, colorScheme: colorScheme, to: folder, name: "complication_corner_\(schemeName)_\(moodName)") + await exportInlineComplication(mood: mood, streak: 0, config: config, colorScheme: colorScheme, to: folder, name: "complication_inline_\(schemeName)_\(moodName)") + await exportRectangularComplication(mood: mood, streak: 45, config: config, colorScheme: colorScheme, to: folder, name: "complication_rectangular_\(schemeName)_\(moodName)") + count += 4 + } + } + + return count + } + + // MARK: - Export Watch App Views + + private static func exportWatchVotingView(config: WatchExportConfig, colorScheme: ColorScheme, to folder: URL, name: String) async { + let content = ExportableWatchVotingView(config: config) + + let view = ExportableWatchContainer( + width: watchAppSize.width, + height: watchAppSize.height, + colorScheme: colorScheme + ) { + content + } + + await renderAndSave(view: view, size: watchAppSize, to: folder, name: name) + } + + private static func exportWatchAlreadyRatedView(mood: Mood, config: WatchExportConfig, colorScheme: ColorScheme, to folder: URL, name: String) async { + let content = ExportableWatchAlreadyRatedView(mood: mood, config: config) + + let view = ExportableWatchContainer( + width: watchAppSize.width, + height: watchAppSize.height, + colorScheme: colorScheme + ) { + content + } + + await renderAndSave(view: view, size: watchAppSize, to: folder, name: name) + } + + // MARK: - Export Complications + + private static func exportCircularComplication(mood: Mood?, config: WatchExportConfig, colorScheme: ColorScheme, to folder: URL, name: String) async { + let size = ComplicationSize.circular.pointSize + let content = ExportableCircularComplication(mood: mood, config: config) + + let view = ExportableComplicationContainer( + size: size, + colorScheme: colorScheme, + isCircular: true + ) { + content + } + + await renderAndSave(view: view, size: size, to: folder, name: name) + } + + private static func exportCornerComplication(mood: Mood?, config: WatchExportConfig, colorScheme: ColorScheme, to folder: URL, name: String) async { + let size = ComplicationSize.corner.pointSize + let content = ExportableCornerComplication(mood: mood, config: config) + + let view = ExportableComplicationContainer( + size: size, + colorScheme: colorScheme + ) { + content + } + + await renderAndSave(view: view, size: size, to: folder, name: name) + } + + private static func exportInlineComplication(mood: Mood?, streak: Int, config: WatchExportConfig, colorScheme: ColorScheme, to folder: URL, name: String) async { + let size = ComplicationSize.inline.pointSize + let content = ExportableInlineComplication(mood: mood, streak: streak, config: config) + + let view = ExportableComplicationContainer( + size: size, + colorScheme: colorScheme + ) { + content + } + + await renderAndSave(view: view, size: size, to: folder, name: name) + } + + private static func exportRectangularComplication(mood: Mood?, streak: Int, config: WatchExportConfig, colorScheme: ColorScheme, to folder: URL, name: String) async { + let size = ComplicationSize.rectangular.pointSize + let content = ExportableRectangularComplication(mood: mood, streak: streak, config: config) + + let view = ExportableComplicationContainer( + size: size, + colorScheme: colorScheme + ) { + content + } + + await renderAndSave(view: view, size: size, to: folder, name: name) + } + + // MARK: - Render and Save + + private static func renderAndSave(view: V, size: CGSize, to folder: URL, name: String) async { + let renderer = ImageRenderer(content: view.frame(width: size.width, height: size.height)) + renderer.scale = 3.0 // 3x for high res + + if let image = renderer.uiImage { + let url = folder.appendingPathComponent("\(name).png") + if let data = image.pngData() { + try? data.write(to: url) + } + } + } +} +#endif diff --git a/Shared/Views/SettingsView/SettingsView.swift b/Shared/Views/SettingsView/SettingsView.swift index d52be1b..491d19d 100644 --- a/Shared/Views/SettingsView/SettingsView.swift +++ b/Shared/Views/SettingsView/SettingsView.swift @@ -21,6 +21,10 @@ struct SettingsContentView: View { @State private var showTrialDatePicker = false @State private var isExportingWidgets = false @State private var widgetExportPath: URL? + @State private var isExportingVotingLayouts = false + @State private var votingLayoutExportPath: URL? + @State private var isExportingWatchViews = false + @State private var watchExportPath: URL? @State private var isDeletingHealthKitData = false @State private var healthKitDeleteResult: String? @StateObject private var healthService = HealthService.shared @@ -64,6 +68,8 @@ struct SettingsContentView: View { tipsPreviewButton testNotificationsButton exportWidgetsButton + exportVotingLayoutsButton + exportWatchViewsButton deleteHealthKitDataButton clearDataButton @@ -478,6 +484,112 @@ struct SettingsContentView: View { .cornerRadius(Constants.viewsCornerRaidus, corners: [.topLeft, .topRight, .bottomLeft, .bottomRight]) } + private var exportVotingLayoutsButton: some View { + ZStack { + theme.currentTheme.secondaryBGColor + Button { + isExportingVotingLayouts = true + Task { + votingLayoutExportPath = await WidgetExporter.exportAllVotingLayouts() + isExportingVotingLayouts = false + if let path = votingLayoutExportPath { + print("📸 Voting layouts exported to: \(path.path)") + } + } + } label: { + HStack(spacing: 12) { + if isExportingVotingLayouts { + ProgressView() + .frame(width: 32) + } else { + Image(systemName: "hand.tap.fill") + .font(.title2) + .foregroundColor(.blue) + .frame(width: 32) + } + + VStack(alignment: .leading, spacing: 2) { + Text("Export Voting Layouts") + .foregroundColor(textColor) + + if let path = votingLayoutExportPath { + Text("Saved to Documents/VotingLayoutExports") + .font(.caption) + .foregroundColor(.green) + } else { + Text("All sizes & theme variations") + .font(.caption) + .foregroundStyle(.secondary) + } + } + + Spacer() + + Image(systemName: "arrow.down.doc.fill") + .font(.caption) + .foregroundStyle(.tertiary) + } + .padding() + } + .disabled(isExportingVotingLayouts) + } + .fixedSize(horizontal: false, vertical: true) + .cornerRadius(Constants.viewsCornerRaidus, corners: [.topLeft, .topRight, .bottomLeft, .bottomRight]) + } + + private var exportWatchViewsButton: some View { + ZStack { + theme.currentTheme.secondaryBGColor + Button { + isExportingWatchViews = true + Task { + watchExportPath = await WatchExporter.exportAllWatchViews() + isExportingWatchViews = false + if let path = watchExportPath { + print("⌚ Watch views exported to: \(path.path)") + } + } + } label: { + HStack(spacing: 12) { + if isExportingWatchViews { + ProgressView() + .frame(width: 32) + } else { + Image(systemName: "applewatch.watchface") + .font(.title2) + .foregroundColor(.cyan) + .frame(width: 32) + } + + VStack(alignment: .leading, spacing: 2) { + Text("Export Watch Screenshots") + .foregroundColor(textColor) + + if let path = watchExportPath { + Text("Saved to Documents/WatchExports") + .font(.caption) + .foregroundColor(.green) + } else { + Text("All styles & complications") + .font(.caption) + .foregroundStyle(.secondary) + } + } + + Spacer() + + Image(systemName: "arrow.down.doc.fill") + .font(.caption) + .foregroundStyle(.tertiary) + } + .padding() + } + .disabled(isExportingWatchViews) + } + .fixedSize(horizontal: false, vertical: true) + .cornerRadius(Constants.viewsCornerRaidus, corners: [.topLeft, .topRight, .bottomLeft, .bottomRight]) + } + private var deleteHealthKitDataButton: some View { ZStack { theme.currentTheme.secondaryBGColor diff --git a/feels-promo/public/watch_voting_light.png b/feels-promo/public/watch_voting_light.png new file mode 100644 index 0000000000000000000000000000000000000000..2d1a0ec5d81131fe19cec8395918127d3efdbfcb GIT binary patch literal 77646 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 F`yU!udOrXF literal 0 HcmV?d00001 diff --git a/feels-promo/src/ConceptB-NoJournalJournal.tsx b/feels-promo/src/ConceptB-NoJournalJournal.tsx index 7f51c08..6129fb6 100644 --- a/feels-promo/src/ConceptB-NoJournalJournal.tsx +++ b/feels-promo/src/ConceptB-NoJournalJournal.tsx @@ -139,7 +139,7 @@ const ProblemScene: React.FC = () => { // Scene 2: Single tap voting - Widget, Watch, In-App const SingleTapScene: React.FC = () => { const frame = useCurrentFrame(); - const { fps, width } = useVideoConfig(); + const { fps, width, height } = useVideoConfig(); // Title animations (matching other scenes) const line1Progress = spring({ frame, fps, config: { damping: 200 } }); @@ -174,7 +174,7 @@ const SingleTapScene: React.FC = () => { }); - const watchSize = width * 0.27; + const watchSize = width * 0.27 * 1.2; const widgetSize = width * 0.33; return ( @@ -239,172 +239,165 @@ const SingleTapScene: React.FC = () => { - {/* Three device rows - full width, image at 33%, label at 66% */} + {/* Watch row - top at 33% */}
- {/* Watch row */}
- {/* Image at 33% */}
-
+ - - -
-
- {/* Label at 66% */} -
- Watch -
-
- - {/* In-App row */} -
- {/* Image at 33% */} -
-
- {/* Label at 66% */} -
- In-App -
- - {/* Widget row */}
- {/* Image at 33% */} -
+
+ + {/* In-App row - centered at 61.5% (midpoint of 33% and 90%) */} +
+
+ - -
- {/* Label at 66% */} -
+
+
+ In-App +
+
+ + {/* Widget row - bottom at 90% (10% from bottom) */} +
+
+ - Widget -
+ /> +
+
+ Widget