diff --git a/SportsTime/Features/Settings/Views/SettingsView.swift b/SportsTime/Features/Settings/Views/SettingsView.swift index f9c4258..af18bbe 100644 --- a/SportsTime/Features/Settings/Views/SettingsView.swift +++ b/SportsTime/Features/Settings/Views/SettingsView.swift @@ -76,6 +76,9 @@ struct SettingsView: View { } message: { Text("This will reset all settings to their default values.") } + .sheet(isPresented: $showPaywall) { + PaywallView(source: "settings") + } .sheet(isPresented: $showOnboardingPaywall) { OnboardingPaywallView(isPresented: $showOnboardingPaywall) } @@ -814,9 +817,6 @@ struct SettingsView: View { Text("Subscription") } .listRowBackground(Theme.cardBackground(colorScheme)) - .sheet(isPresented: $showPaywall) { - PaywallView(source: "settings") - } } // MARK: - Helpers diff --git a/SportsTime/Features/Trip/Views/TripDetailView.swift b/SportsTime/Features/Trip/Views/TripDetailView.swift index a6fd028..cdb3b97 100644 --- a/SportsTime/Features/Trip/Views/TripDetailView.swift +++ b/SportsTime/Features/Trip/Views/TripDetailView.swift @@ -408,28 +408,9 @@ struct TripDetailView: View { } .accessibilityIdentifier("tripDetail.favoriteButton") .accessibilityLabel(isSaved ? "Remove from favorites" : "Save to favorites") - .padding(.top, 12) - .padding(.trailing, 12) + .padding(.top, 16) + .padding(.trailing, 16) } - .overlay(alignment: .bottomTrailing) { - // Open in Apple Maps button - Button { - openInAppleMaps() - } label: { - Image(systemName: "map.fill") - .font(.title3) - .foregroundStyle(.white) - .padding(12) - .background(Theme.warmOrange) - .clipShape(Circle()) - .shadow(color: .black.opacity(0.3), radius: 4, y: 2) - } - .padding(.bottom, 90) // Above the gradient - .padding(.trailing, 12) - .accessibilityLabel("Open in Apple Maps") - .accessibilityHint("Opens this trip route in Apple Maps") - } - // Gradient overlay at bottom LinearGradient( colors: [.clear, Theme.cardBackground(colorScheme).opacity(0.8), Theme.cardBackground(colorScheme)], @@ -438,6 +419,24 @@ struct TripDetailView: View { ) .frame(height: 80) + // Open in Apple Maps button — above gradient in ZStack + Button { + openInAppleMaps() + } label: { + Image(systemName: "map.fill") + .font(.title3) + .foregroundStyle(.white) + .padding(12) + .background(Theme.warmOrange) + .clipShape(Circle()) + .shadow(color: .black.opacity(0.3), radius: 4, y: 2) + } + .accessibilityLabel("Open in Apple Maps") + .accessibilityHint("Opens this trip route in Apple Maps") + .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .bottomTrailing) + .padding(.bottom, 16) + .padding(.trailing, 16) + // Loading indicator if isLoadingRoutes { LoadingSpinner(size: .medium)