using Payesh.App.Models; using Payesh.App.Views.Popups.Originals; using Rg.Plugins.Popup.Pages; using Rg.Plugins.Popup.Services; using System.Threading.Tasks; using Xamarin.Forms; namespace Payesh.App.Utilities { public class PopUpUtilities { public async Task PopAsync() { if (PopupNavigation.Instance.PopupStack.Count > 0) await PopupNavigation.Instance.PopAllAsync(); } public async Task PushAsync(View content, bool closeWithClickBack = true) { await PopAsync(); await PopupNavigation.Instance.PushAsync(new PopupPage { Content = content, CloseWhenBackgroundIsClicked = closeWithClickBack }); } public async void PushIndicator() { await PopAsync(); var indicator = new Frame { BackgroundColor = Color.White, VerticalOptions = LayoutOptions.Center, HorizontalOptions = LayoutOptions.Center, CornerRadius = 100, Content = new ActivityIndicator { Color = (Color)Application.Current.Resources["PrimaryColor"], WidthRequest = 70, HeightRequest = 70, IsRunning = true, VerticalOptions = LayoutOptions.Center, HorizontalOptions = LayoutOptions.Center } }; await PushAsync(indicator, false); } public async void PushSuccess(string message = null) { await PopAsync(); if (message == null) await PushAsync(new SuccessPopUp()); else await PushAsync(new SuccessPopUp(message)); } public async void PushError(string message) { await PopAsync(); await PushAsync(new ErrorPopUp(message)); } public async void PushNotify(string message) { await PopAsync(); //await PushAsync(new NotificationPopUp(message)); } public void LockPage(ContentPage page, string message = null) { Grid mainGrid = new Grid(); mainGrid.Children.Add(page.Content); Frame mainFrame = new Frame { BackgroundColor = Color.FromHex("#60444444"), Content = new StackLayout { HorizontalOptions = LayoutOptions.Center, VerticalOptions = LayoutOptions.Center, Children = { new Label { Text = "اجازه دسترسی به این بخش را ندارید", HorizontalOptions = LayoutOptions.Center, }, new Label { Text = message, HorizontalOptions = LayoutOptions.Center } } } }; page.Content = mainGrid; } public void LockPage(ContentView view, string message = null) { Grid mainGrid = new Grid(); mainGrid.Children.Add(view.Content); Frame mainFrame = new Frame { BackgroundColor = Color.FromHex("#99444444"), CornerRadius = 5, Content = new StackLayout { HorizontalOptions = LayoutOptions.Center, VerticalOptions = LayoutOptions.Center, Children = { new Label { Text = FaIconFont.DoorClosed, FontSize = 60, TextColor = Color.OrangeRed, FontFamily = "fa-regular-400.ttf#Font Awesome 5 Pro Reqular", HorizontalOptions = LayoutOptions.Center, }, new Label { Text = "اجازه دسترسی به این بخش را ندارید", FontSize = 18, TextColor = Color.White, HorizontalOptions = LayoutOptions.Center, }, new Label { Text = message, TextColor = Color.White, HorizontalTextAlignment = TextAlignment.Center, HorizontalOptions = LayoutOptions.Center } } } }; mainGrid.Children.Add(mainFrame); view.Content = mainGrid; } } }