You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
2.1 KiB

  1. using CircleSDK.Model;
  2. using CommunityToolkit.Maui.Alerts;
  3. using CommunityToolkit.Maui.Core;
  4. using System.Collections.Generic;
  5. using CircleViewerMaui.Popups;
  6. using CommunityToolkit.Maui.Views;
  7. namespace CircleViewerMaui
  8. {
  9. public partial class UserGroups : ContentPage
  10. {
  11. public List<CircleInfo> Circles;
  12. public UserGroups()
  13. {
  14. InitializeComponent();
  15. Circles = new List<CircleInfo>(App.CDP.Circles);
  16. // Circles = App.CDP.Circles;
  17. // lvCircles.ItemsSource = App.CDP.Circles;
  18. var ordered = App.CDP.Circles.OrderBy(dr => dr.CircleName);
  19. Circles = new List<CircleInfo>();
  20. Circles.AddRange(ordered);
  21. circlePicker.ItemsSource = Circles;
  22. circlePicker.ItemDisplayBinding = new Binding("CircleName");
  23. }
  24. private async void BnRequestVerfication_OnClicked(object sender, EventArgs e)
  25. {
  26. var reply = await App.CDP.ProcessInvite(RequestCode.Text, VerificationCode.Text);
  27. if (reply.Status.Result.GetValueOrDefault(false))
  28. {
  29. ShowToast("Failed to process request.");
  30. }
  31. else
  32. {
  33. ShowToast("Request has be submitted.");
  34. }
  35. }
  36. async void ShowToast(string text)
  37. {
  38. CancellationTokenSource cancellationTokenSource = new CancellationTokenSource();
  39. ToastDuration duration = ToastDuration.Short;
  40. double fontSize = 14;
  41. var toast = Toast.Make(text, duration, fontSize);
  42. await toast.Show(cancellationTokenSource.Token);
  43. }
  44. private async void BnGenInvite_OnClicked(object sender, EventArgs e)
  45. {
  46. CircleInfo ci = (CircleInfo) circlePicker.SelectedItem;
  47. if (ci == null)
  48. return;
  49. var invite = await App.CDP.GenInvite(ci.CircleId);
  50. var popup = new NewInvite(invite.Invite.InviteId, invite.Invite.AuthCode);
  51. popup.CanBeDismissedByTappingOutsideOfPopup = false;
  52. this.ShowPopup(popup);
  53. }
  54. }
  55. }