88using Microsoft . UI . Xaml . Media . Imaging ;
99using Microsoft . UI . Xaml . Navigation ;
1010using System . Windows . Input ;
11- using Windows . ApplicationModel ;
1211using Windows . Services . Store ;
1312using Windows . System ;
1413using WinRT . Interop ;
@@ -134,11 +133,23 @@ public bool ShowReviewPrompt
134133 {
135134 get
136135 {
137- var isTargetPackage = Package . Current . Id . Name == "49306atecsolution.FilesUWP" || Package . Current . Id . Name == "49306atecsolution.FilesPreview" ;
138- var hasNotClickedReview = ! UserSettingsService . ApplicationSettingsService . ClickedToReviewApp ;
136+ var isTargetEnvironment = AppLifecycleHelper . AppEnvironment is AppEnvironment . StoreStable or AppEnvironment . StorePreview ;
137+ var hasClickedReviewPrompt = UserSettingsService . ApplicationSettingsService . HasClickedReviewPrompt ;
139138 var launchCountReached = AppLifecycleHelper . TotalLaunchCount == 30 ;
140139
141- return isTargetPackage && hasNotClickedReview && launchCountReached ;
140+ return isTargetEnvironment && ! hasClickedReviewPrompt && launchCountReached ;
141+ }
142+ }
143+
144+ public bool ShowSponsorPrompt
145+ {
146+ get
147+ {
148+ var isTargetEnvironment = AppLifecycleHelper . AppEnvironment is AppEnvironment . Dev or AppEnvironment . SideloadStable or AppEnvironment . SideloadPreview ;
149+ var hasClickedSponsorPrompt = UserSettingsService . ApplicationSettingsService . HasClickedSponsorPrompt ;
150+ var launchCountReached = AppLifecycleHelper . TotalLaunchCount == 30 ;
151+
152+ return isTargetEnvironment && ! hasClickedSponsorPrompt && launchCountReached ;
142153 }
143154 }
144155
@@ -147,6 +158,8 @@ public bool ShowReviewPrompt
147158 public ICommand NavigateToNumberedTabKeyboardAcceleratorCommand { get ; }
148159 public ICommand ReviewAppCommand { get ; }
149160 public ICommand DismissReviewPromptCommand { get ; }
161+ public ICommand SponsorCommand { get ; }
162+ public ICommand DismissSponsorPromptCommand { get ; }
150163
151164 // Constructor
152165
@@ -155,6 +168,8 @@ public MainPageViewModel()
155168 NavigateToNumberedTabKeyboardAcceleratorCommand = new RelayCommand < KeyboardAcceleratorInvokedEventArgs > ( ExecuteNavigateToNumberedTabKeyboardAcceleratorCommand ) ;
156169 ReviewAppCommand = new RelayCommand ( ExecuteReviewAppCommand ) ;
157170 DismissReviewPromptCommand = new RelayCommand ( ExecuteDismissReviewPromptCommand ) ;
171+ SponsorCommand = new RelayCommand ( ExecuteSponsorCommand ) ;
172+ DismissSponsorPromptCommand = new RelayCommand ( ExecuteDismissSponsorPromptCommand ) ;
158173
159174 AppearanceSettingsService . PropertyChanged += ( s , e ) =>
160175 {
@@ -322,7 +337,7 @@ await Task.WhenAll(
322337
323338 private async void ExecuteReviewAppCommand ( )
324339 {
325- UserSettingsService . ApplicationSettingsService . ClickedToReviewApp = true ;
340+ UserSettingsService . ApplicationSettingsService . HasClickedReviewPrompt = true ;
326341 OnPropertyChanged ( nameof ( ShowReviewPrompt ) ) ;
327342
328343 try
@@ -336,7 +351,19 @@ private async void ExecuteReviewAppCommand()
336351
337352 private void ExecuteDismissReviewPromptCommand ( )
338353 {
339- UserSettingsService . ApplicationSettingsService . ClickedToReviewApp = true ;
354+ UserSettingsService . ApplicationSettingsService . HasClickedReviewPrompt = true ;
355+ }
356+
357+ private async void ExecuteSponsorCommand ( )
358+ {
359+ UserSettingsService . ApplicationSettingsService . HasClickedSponsorPrompt = true ;
360+ OnPropertyChanged ( nameof ( ShowSponsorPrompt ) ) ;
361+ await Launcher . LaunchUriAsync ( new Uri ( Constants . ExternalUrl . SupportUsUrl ) ) . AsTask ( ) ;
362+ }
363+
364+ private void ExecuteDismissSponsorPromptCommand ( )
365+ {
366+ UserSettingsService . ApplicationSettingsService . HasClickedSponsorPrompt = true ;
340367 }
341368
342369 private async void ExecuteNavigateToNumberedTabKeyboardAcceleratorCommand ( KeyboardAcceleratorInvokedEventArgs ? e )
0 commit comments