|
15 | 15 | using CollapseLauncher.Pages.SettingsContext;
|
16 | 16 | using CollapseLauncher.Statics;
|
17 | 17 | #if ENABLEUSERFEEDBACK
|
| 18 | +using CollapseLauncher.Helper.Loading; |
18 | 19 | using CollapseLauncher.XAMLs.Theme.CustomControls.UserFeedbackDialog;
|
19 | 20 | #endif
|
20 | 21 | using CommunityToolkit.WinUI;
|
@@ -136,6 +137,8 @@ public SettingsPage()
|
136 | 137 |
|
137 | 138 | #if !ENABLEUSERFEEDBACK
|
138 | 139 | ShareYourFeedbackButton.Visibility = Visibility.Collapsed;
|
| 140 | +#else |
| 141 | + ShareYourFeedbackButton.IsEnabled = SentryHelper.IsEnabled; |
139 | 142 | #endif
|
140 | 143 | }
|
141 | 144 |
|
@@ -434,15 +437,38 @@ private async void ShareYourFeedbackClick(object sender, RoutedEventArgs e)
|
434 | 437 | return;
|
435 | 438 | }
|
436 | 439 |
|
437 |
| - var parsedFeedback = UserFeedbackTemplate.ParseTemplate(userFeedbackResult); |
| 440 | + var parsedFeedback = UserFeedbackTemplate.ParseTemplate(userFeedbackResult); |
| 441 | + var feedbackLoadingTitle = Lang._Misc.Feedback; |
| 442 | + |
| 443 | + // Show pseudo-loading message so user knows the feedback is being sent |
| 444 | + LoadingMessageHelper.Initialize(); |
| 445 | + LoadingMessageHelper.SetMessage(feedbackLoadingTitle, Lang._Misc.FeedbackSending); |
| 446 | + LoadingMessageHelper.ShowLoadingFrame(); |
438 | 447 |
|
439 | 448 | if (parsedFeedback == null)
|
440 | 449 | {
|
441 | 450 | LogWriteLine("Feedback result failed to be parsed! Feedback not sent.", LogType.Error, true);
|
| 451 | + LoadingMessageHelper.SetMessage(feedbackLoadingTitle, Lang._Misc.FeedbackSendFailure); |
| 452 | + await Task.Delay(1000); |
| 453 | + LoadingMessageHelper.HideLoadingFrame(); |
442 | 454 | return;
|
443 | 455 | }
|
444 | 456 |
|
445 |
| - SentryHelper.SendGenericFeedback(parsedFeedback.Message, parsedFeedback.Email, parsedFeedback.User); |
| 457 | + if (SentryHelper.SendGenericFeedback(parsedFeedback.Message, parsedFeedback.Email, parsedFeedback.User)) |
| 458 | + { |
| 459 | + // Hide the loading message after 200ms |
| 460 | + await Task.Delay(500); |
| 461 | + LoadingMessageHelper.SetMessage(feedbackLoadingTitle, Lang._Misc.FeedbackSent); |
| 462 | + await Task.Delay(1000); |
| 463 | + LoadingMessageHelper.HideLoadingFrame(); |
| 464 | + } |
| 465 | + else |
| 466 | + { |
| 467 | + await Task.Delay(250); |
| 468 | + LoadingMessageHelper.SetMessage(feedbackLoadingTitle, Lang._Misc.FeedbackSendFailure); |
| 469 | + await Task.Delay(1000); |
| 470 | + LoadingMessageHelper.HideLoadingFrame(); |
| 471 | + } |
446 | 472 | #endif
|
447 | 473 | }
|
448 | 474 |
|
|
0 commit comments