|
|
@@ -16,6 +16,7 @@ struct LauncherRootView: View {
|
|
|
@State private var showingCreateAppSheet = false
|
|
|
@State private var previouslyPremiumUnlocked = false
|
|
|
@State private var startupPaywallTask: Task<Void, Never>?
|
|
|
+ @State private var ratingPromptTask: Task<Void, Never>?
|
|
|
@State private var customApps: [LauncherApp] = []
|
|
|
@State private var appOrder: [UUID] = []
|
|
|
@State private var draggedAppID: UUID?
|
|
|
@@ -198,10 +199,21 @@ struct LauncherRootView: View {
|
|
|
guard !showingPremiumScreen else { return }
|
|
|
showingPremiumScreen = true
|
|
|
}
|
|
|
+
|
|
|
+ ratingPromptTask?.cancel()
|
|
|
+ ratingPromptTask = Task {
|
|
|
+ try? await Task.sleep(nanoseconds: 5 * 60 * 1_000_000_000)
|
|
|
+ guard !Task.isCancelled else { return }
|
|
|
+ await MainActor.run {
|
|
|
+ RatingPromptManager.shared.requestRatingIfNeeded()
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
.onDisappear {
|
|
|
startupPaywallTask?.cancel()
|
|
|
startupPaywallTask = nil
|
|
|
+ ratingPromptTask?.cancel()
|
|
|
+ ratingPromptTask = nil
|
|
|
}
|
|
|
}
|
|
|
|