From 0bdd783b483fbca03fb0533bbaa4f09a31551ef3 Mon Sep 17 00:00:00 2001 From: "Amir.H Khademi" Date: Sun, 3 Mar 2024 11:42:13 +0330 Subject: [PATCH] feat : add print order , change question dialog --- .../Dialogs/OrderActionDialogBox.razor | 23 +++-- .../Dialogs/OrderActionDialogBox.razor.cs | 87 ++++++++++-------- .../Dialogs/Originals/QuestionDialog.razor | 32 ++++--- .../NetinaShop.AdminPanel.PWA.csproj | 26 +++++- .../Pages/BlogCategoriesPage.razor.cs | 7 +- .../Pages/BlogsPage.razor.cs | 7 +- .../Pages/BrandsPage.razor.cs | 7 +- .../Pages/CategoriesPage.razor.cs | 8 +- .../Pages/DiscountPage.razor.cs | 8 +- .../Pages/OrdersPage.razor.cs | 2 +- .../Pages/ProductsPage.razor.cs | 7 +- .../Pages/ShippingPage.razor.cs | 7 +- .../Pages/UserSettingsPage.razor.cs | 14 +-- .../Utilities/Models/DialogUtility.cs | 13 +++ NetinaShop.AdminPanel.PWA/version.json | 7 +- .../wwwroot/assets/fonts/Shabnam.ttf | Bin 58020 -> 0 bytes .../wwwroot/css/app.min.css | 24 ++++- .../wwwroot/css/app.output.css | 49 +++++++++- NetinaShop.AdminPanel.PWA/wwwroot/index.html | 34 ++++++- 19 files changed, 245 insertions(+), 117 deletions(-) create mode 100644 NetinaShop.AdminPanel.PWA/Utilities/Models/DialogUtility.cs delete mode 100644 NetinaShop.AdminPanel.PWA/wwwroot/assets/fonts/Shabnam.ttf diff --git a/NetinaShop.AdminPanel.PWA/Dialogs/OrderActionDialogBox.razor b/NetinaShop.AdminPanel.PWA/Dialogs/OrderActionDialogBox.razor index a43e052..3eaae15 100644 --- a/NetinaShop.AdminPanel.PWA/Dialogs/OrderActionDialogBox.razor +++ b/NetinaShop.AdminPanel.PWA/Dialogs/OrderActionDialogBox.razor @@ -1,14 +1,17 @@ - +@using Color = MudBlazor.Color +@using Size = MudBlazor.Size + @inject ISnackbar Snackbar @inject IRestWrapper RestWrapper @inject IUserUtility UserUtility @inject IDialogService DialogService @inject IPrintingService PrintingService +@inject IJSRuntime JsRuntime - + - - + + @@ -164,7 +167,9 @@ @foreach (var item in ViewModel.PageDto.Payments) { - @item.Type.ToDisplay() + @item.Type.ToDisplay() + - + @item.Status.ToDisplay() @item.Amount.ToString("N0") ریالــ @@ -174,7 +179,7 @@ - + @@ -193,7 +198,7 @@ Icon="@Icons.Material.Outlined.Print" Size="Size.Small" Variant="Variant.Outlined" Color="Color.Info" - OnClickCallback="@(()=> PrintingService.Print("http://localhost:32770/api/order/efc18848-fde5-4687-a9f3-0df6aff8b8ed/invoice?access_token=eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJQZXJtaXNzaW9uIjpbIk1hbmFnZUJsb2dzIiwiTWFuYWdlQmxvZ3MiLCJNYW5hZ2VCcmFuZHMiLCJWaWV3QnJhbmRzIiwiTWFuYWdlQ2F0ZWdvcmllcyIsIlZpZXdDYXRlZ29yaWVzIiwiTWFuYWdlRGlzY291bnRzIiwiVmlld0Rpc2NvdW50cyIsIk1hbmFnZU9yZGVycyIsIlZpZXdBbGxPcmRlcnMiLCJWaWV3TWluZU9yZGVycyIsIkNyZWF0ZU9yZGVyIiwiTWFuYWdlUHJvZHVjdHMiLCJWaWV3UHJvZHVjdHMiLCJBZGRSZXZpZXciLCJBZGRSZXZpZXciLCJDb25maXJtUmV2aWV3IiwiVmlld0FsbFJldmlld3MiLCJWaWV3TWluZVJldmlld3MiLCJNYW5hZ2VXYXJlaG91c2VzIiwiVmlld1dhcmVob3VzZXMiLCJNYW5hZ2VTaGlwcGluZyIsIlZpZXdTaGlwcGluZyIsIk1hbmFnZVVzZXJzIiwiVmlld1VzZXJzIiwiTWFuYWdlRmlsZXMiLCJWaWV3RmlsZXMiXSwicm9sZSI6IlJvb3RBZG1pbiIsIlJvbGVJZCI6ImVmNjYxYTFkLWE2NGItNDc1NC05NDJhLWQwZTlhMWY2YWQ3NSIsIlNpZ25VcFN0YXR1cyI6IjAiLCJ1bmlxdWVfbmFtZSI6IjA5MjE0ODAyODEzIiwibmFtZWlkIjoiMjRmOTMwMDQtN2E3My00ZmRiLWE4OTMtYTRjOTkxOTRhMjBhIiwiZW1haWwiOiJhdnZhbXBpZXJAZ21haWwuY29tIiwiSnd0SUQiOiIzMmNlYTMzOCIsImdlbmRlciI6IkZlbWFsZSIsIm5iZiI6MTcwODg3MTM0NywiZXhwIjoxNzEwMTY3MzQ3LCJpYXQiOjE3MDg4NzEzNDcsImlzcyI6IkJyaXpjbyIsImF1ZCI6IkJyaXpjbyJ9.rupn8kw0V5hNkMvFkkoKo5gUbLy0k-ZxYQM-RptsRlxLhVeA9024u5tS2hY1QazxE9di8HAsebPZeVDnJ4gGuw",true))" + OnClickCallback="@ViewModel.PrintInvoiceAsync" Content="چاپــ فاکتور" /> بستن @@ -213,9 +218,9 @@ protected override async Task OnInitializedAsync() { if (Order == null) - ViewModel = new OrderActionDialogBoxViewModel(Snackbar, RestWrapper, UserUtility, DialogService, MudDialog , PrintingService); + ViewModel = new OrderActionDialogBoxViewModel(Snackbar, RestWrapper, UserUtility, DialogService, MudDialog, PrintingService, JsRuntime); else - ViewModel = new OrderActionDialogBoxViewModel(Snackbar, RestWrapper, UserUtility, DialogService, MudDialog, Order, PrintingService); + ViewModel = new OrderActionDialogBoxViewModel(Snackbar, RestWrapper, UserUtility, DialogService, MudDialog, Order , PrintingService , JsRuntime); await ViewModel.InitializeAsync(); await base.OnInitializedAsync(); } diff --git a/NetinaShop.AdminPanel.PWA/Dialogs/OrderActionDialogBox.razor.cs b/NetinaShop.AdminPanel.PWA/Dialogs/OrderActionDialogBox.razor.cs index 90778c9..d5f9f18 100644 --- a/NetinaShop.AdminPanel.PWA/Dialogs/OrderActionDialogBox.razor.cs +++ b/NetinaShop.AdminPanel.PWA/Dialogs/OrderActionDialogBox.razor.cs @@ -1,4 +1,7 @@ using Append.Blazor.Printing; +using NetinaShop.AdminPanel.PWA.Utilities.Models; +using NetinaShop.Common.Extensions; +using Syncfusion.Pdf.Graphics; namespace NetinaShop.AdminPanel.PWA.Dialogs; @@ -11,10 +14,11 @@ public class OrderActionDialogBoxViewModel : BaseViewModel private readonly IDialogService _dialogService; private readonly MudDialogInstance _mudDialog; private readonly IPrintingService _printingService; + private readonly IJSRuntime _jsRuntime; public OrderActionDialogBoxViewModel(ISnackbar snackbar, IRestWrapper restWrapper, IUserUtility userUtility, IDialogService dialogService, MudDialogInstance mudDialog, - IPrintingService printingService) + IPrintingService printingService, IJSRuntime jsRuntime) { _snackbar = snackbar; _restWrapper = restWrapper; @@ -22,6 +26,7 @@ public class OrderActionDialogBoxViewModel : BaseViewModel _dialogService = dialogService; _mudDialog = mudDialog; _printingService = printingService; + _jsRuntime = jsRuntime; } public OrderActionDialogBoxViewModel(ISnackbar snackbar, IRestWrapper restWrapper, @@ -29,7 +34,8 @@ public class OrderActionDialogBoxViewModel : BaseViewModel IDialogService dialogService, MudDialogInstance mudDialog, OrderSDto order, - IPrintingService printingService) + IPrintingService printingService, + IJSRuntime jsRuntime) { _snackbar = snackbar; _restWrapper = restWrapper; @@ -39,6 +45,7 @@ public class OrderActionDialogBoxViewModel : BaseViewModel PageDto.Id = order.Id; IsEditing = true; _printingService = printingService; + _jsRuntime = jsRuntime; } @@ -104,6 +111,7 @@ public class OrderActionDialogBoxViewModel : BaseViewModel public async Task PrintInvoiceAsync() { + return; try { var token = await _userUtility.GetBearerTokenAsync(); @@ -112,11 +120,11 @@ public class OrderActionDialogBoxViewModel : BaseViewModel IsProcessing = true; string fileUrl = $"{Address.OrderController}/{PageDto.Id}/invoice?access_token={token.Split("Bearer").Last().Trim()}"; - var content = await _restWrapper.OrderRestApi.GetOrderInvoice(PageDto.Id, token); - var bytes = await content.ReadAsByteArrayAsync(); - var base64 = Convert.ToBase64String(bytes); - await _printingService.Print(fileUrl, showModal: true); - Console.WriteLine(fileUrl); + + PdfStringFormat format = new PdfStringFormat(PdfTextAlignment.Left); + format.TextDirection = PdfTextDirection.RightToLeft; + await _jsRuntime.InvokeVoidAsync("openFile", new {fileName = "invoice.pdf",url=fileUrl}); + } catch (ApiException ex) { @@ -136,11 +144,36 @@ public class OrderActionDialogBoxViewModel : BaseViewModel public async Task SubmitConfirmAsync() { - var options = new DialogOptions { CloseOnEscapeKey = true }; - var parameters = new DialogParameters(); - parameters.Add(x => x.ContentText, "آیا از حذف دسته بندی اطمینان دارید ?"); - var dialogReference = await _dialogService.ShowAsync("حذف شرح حال", parameters, options); - var result = await dialogReference.Result; + OrderStatus nextOrderStatus = OrderStatus.Canceled; + switch (PageDto.OrderStatus) + { + case OrderStatus.OrderBag: + return; + break; + case OrderStatus.Submitted: + nextOrderStatus = OrderStatus.Paid; + break; + case OrderStatus.Paid: + nextOrderStatus = OrderStatus.Processing; + break; + case OrderStatus.Processing: + nextOrderStatus = OrderStatus.Delivered; + break; + case OrderStatus.Delivered: + nextOrderStatus = OrderStatus.Done; + break; + case OrderStatus.Done: + return; + break; + case OrderStatus.Canceled: + return; + break; + default: + throw new ArgumentOutOfRangeException(); + } + var reference = await _dialogService.ShowQuestionDialog($"آیا از ثبت سفارش به {nextOrderStatus.ToDisplay()} اطمینان دارید ?"); + var result = await reference.Result; + if (!result.Canceled) { @@ -150,36 +183,10 @@ public class OrderActionDialogBoxViewModel : BaseViewModel if (token == null) throw new Exception("Token is null"); IsProcessing = true; - OrderStatus nextOrderStatus = OrderStatus.Canceled; - switch (PageDto.OrderStatus) - { - case OrderStatus.OrderBag: - return; - break; - case OrderStatus.Submitted: - nextOrderStatus = OrderStatus.Paid; - break; - case OrderStatus.Paid: - nextOrderStatus = OrderStatus.Processing; - break; - case OrderStatus.Processing: - nextOrderStatus = OrderStatus.Delivered; - break; - case OrderStatus.Delivered: - nextOrderStatus = OrderStatus.Done; - break; - case OrderStatus.Done: - return; - break; - case OrderStatus.Canceled: - return; - break; - default: - throw new ArgumentOutOfRangeException(); - } + await _restWrapper.OrderRestApi.ConfirmOrderStepAsync(PageDto.Id, nextOrderStatus, token); - _snackbar.Add($"ویرایش سفارش {PageDto.FactorCode} با موفقیت انجام شد", Severity.Success); + _snackbar.Add($"سفارش {PageDto.FactorCode} به {nextOrderStatus.ToDisplay()} تغییر یافت", Severity.Success); _mudDialog.Close(); } catch (ApiException ex) diff --git a/NetinaShop.AdminPanel.PWA/Dialogs/Originals/QuestionDialog.razor b/NetinaShop.AdminPanel.PWA/Dialogs/Originals/QuestionDialog.razor index 94ce7e7..208a724 100644 --- a/NetinaShop.AdminPanel.PWA/Dialogs/Originals/QuestionDialog.razor +++ b/NetinaShop.AdminPanel.PWA/Dialogs/Originals/QuestionDialog.razor @@ -1,17 +1,25 @@ - + -

@ContentText

-
- -
- تایید + + @ContentText + + + + + + + تایید + - انصراف -
-
-
-@code -{ + + انصراف + + +
+
+ @code + { [CascadingParameter] MudDialogInstance? MudDialog { get; set; } diff --git a/NetinaShop.AdminPanel.PWA/NetinaShop.AdminPanel.PWA.csproj b/NetinaShop.AdminPanel.PWA/NetinaShop.AdminPanel.PWA.csproj index 1e7254b..92a1487 100644 --- a/NetinaShop.AdminPanel.PWA/NetinaShop.AdminPanel.PWA.csproj +++ b/NetinaShop.AdminPanel.PWA/NetinaShop.AdminPanel.PWA.csproj @@ -5,8 +5,8 @@ enable enable service-worker-assets.js - 0.17.18.25 - 0.17.18.25 + 0.17.19.26 + 0.17.19.26 $(MSBuildProjectName) @@ -14,6 +14,26 @@ + + + + + + + + + + + Never + + + + + + Always + + + @@ -29,6 +49,7 @@ + @@ -53,6 +74,7 @@ + diff --git a/NetinaShop.AdminPanel.PWA/Pages/BlogCategoriesPage.razor.cs b/NetinaShop.AdminPanel.PWA/Pages/BlogCategoriesPage.razor.cs index 3240577..7cc8dd6 100644 --- a/NetinaShop.AdminPanel.PWA/Pages/BlogCategoriesPage.razor.cs +++ b/NetinaShop.AdminPanel.PWA/Pages/BlogCategoriesPage.razor.cs @@ -111,11 +111,8 @@ public class BlogCategoriesPageViewModel:BaseViewModel(); - parameters.Add(x => x.ContentText, "آیا از حذف بلاگ اطمینان دارید ?"); - var dialogReference = await _dialogService.ShowAsync("حذف بلاگ", parameters, options); - var result = await dialogReference.Result; + var reference = await _dialogService.ShowQuestionDialog($"آیا از حذف دسته بلاگ اطمینان دارید ?"); + var result = await reference.Result; if (!result.Canceled) { diff --git a/NetinaShop.AdminPanel.PWA/Pages/BlogsPage.razor.cs b/NetinaShop.AdminPanel.PWA/Pages/BlogsPage.razor.cs index 32d6122..a7130d0 100644 --- a/NetinaShop.AdminPanel.PWA/Pages/BlogsPage.razor.cs +++ b/NetinaShop.AdminPanel.PWA/Pages/BlogsPage.razor.cs @@ -111,11 +111,8 @@ public class BlogsPageViewModel : BaseViewModel> public async Task DeleteBlogAsync(Guid selectedCategoryId) { - var options = new DialogOptions { CloseOnEscapeKey = true }; - var parameters = new DialogParameters(); - parameters.Add(x => x.ContentText, "آیا از حذف بلاگ اطمینان دارید ?"); - var dialogReference = await _dialogService.ShowAsync("حذف بلاگ", parameters, options); - var result = await dialogReference.Result; + var reference = await _dialogService.ShowQuestionDialog($"آیا از حذف بلاگ اطمینان دارید ?"); + var result = await reference.Result; if (!result.Canceled) { diff --git a/NetinaShop.AdminPanel.PWA/Pages/BrandsPage.razor.cs b/NetinaShop.AdminPanel.PWA/Pages/BrandsPage.razor.cs index 33b76bb..41e6a2c 100644 --- a/NetinaShop.AdminPanel.PWA/Pages/BrandsPage.razor.cs +++ b/NetinaShop.AdminPanel.PWA/Pages/BrandsPage.razor.cs @@ -62,11 +62,8 @@ public class BrandsPageViewModel : BaseViewModel> } public async Task DeleteBrandAsync(Guid selectedCategoryId) { - var options = new DialogOptions { CloseOnEscapeKey = true }; - var parameters = new DialogParameters(); - parameters.Add(x => x.ContentText, "آیا از حذف برند اطمینان دارید ?"); - var dialogReference = await _dialogService.ShowAsync("حذف برند", parameters, options); - var result = await dialogReference.Result; + var reference = await _dialogService.ShowQuestionDialog($"آیا از حذف برند اطمینان دارید ?"); + var result = await reference.Result; if (!result.Canceled) { diff --git a/NetinaShop.AdminPanel.PWA/Pages/CategoriesPage.razor.cs b/NetinaShop.AdminPanel.PWA/Pages/CategoriesPage.razor.cs index 5225b6f..43bd8c8 100644 --- a/NetinaShop.AdminPanel.PWA/Pages/CategoriesPage.razor.cs +++ b/NetinaShop.AdminPanel.PWA/Pages/CategoriesPage.razor.cs @@ -1,5 +1,6 @@ using System.Collections.ObjectModel; using MudBlazor; +using NetinaShop.AdminPanel.PWA.Utilities.Models; using NetinaShop.Common.Models.Exception; namespace NetinaShop.AdminPanel.PWA.Pages; @@ -114,11 +115,8 @@ public class CategoriesPageViewModel : BaseViewModel(); - parameters.Add(x => x.ContentText, "آیا از حذف دسته بندی اطمینان دارید ?"); - var dialogReference = await _dialogService.ShowAsync("حذف شرح حال", parameters, options); - var result = await dialogReference.Result; + var reference = await _dialogService.ShowQuestionDialog($"آیا از حذف دسته بندی اطمینان دارید ?"); + var result = await reference.Result; if (!result.Canceled) { diff --git a/NetinaShop.AdminPanel.PWA/Pages/DiscountPage.razor.cs b/NetinaShop.AdminPanel.PWA/Pages/DiscountPage.razor.cs index 0142d0b..82deacb 100644 --- a/NetinaShop.AdminPanel.PWA/Pages/DiscountPage.razor.cs +++ b/NetinaShop.AdminPanel.PWA/Pages/DiscountPage.razor.cs @@ -1,4 +1,5 @@ using MudBlazor; +using NetinaShop.AdminPanel.PWA.Utilities.Models; using NetinaShop.Domain.Entities.Discounts; namespace NetinaShop.AdminPanel.PWA.Pages; @@ -127,11 +128,8 @@ public class DiscountPageViewModel : BaseViewModel(); - parameters.Add(x => x.ContentText, "آیا از حذف تخفیف اطمینان دارید ?"); - var dialogReference = await _dialogService.ShowAsync("حذف تخفیف", parameters, options); - var result = await dialogReference.Result; + var reference = await _dialogService.ShowQuestionDialog($"آیا از حذف تخفیف اطمینان دارید ?"); + var result = await reference.Result; if (!result.Canceled) { diff --git a/NetinaShop.AdminPanel.PWA/Pages/OrdersPage.razor.cs b/NetinaShop.AdminPanel.PWA/Pages/OrdersPage.razor.cs index c39b35c..b014e90 100644 --- a/NetinaShop.AdminPanel.PWA/Pages/OrdersPage.razor.cs +++ b/NetinaShop.AdminPanel.PWA/Pages/OrdersPage.razor.cs @@ -94,7 +94,7 @@ public class OrdersPageViewModel : BaseViewModel public async Task ShowClicked(OrderSDto order) { - DialogOptions maxWidth = new DialogOptions() { MaxWidth = MaxWidth.Large, NoHeader = true, FullWidth = true, DisableBackdropClick = true }; + DialogOptions maxWidth = new DialogOptions() { MaxWidth = MaxWidth.False, NoHeader = true, FullWidth = true, DisableBackdropClick = true }; var parameters = new DialogParameters(); parameters.Add(x => x.Order, order); var dialogResult = await _dialogService.ShowAsync($" سفارش {order.FactorCode}", parameters, maxWidth); diff --git a/NetinaShop.AdminPanel.PWA/Pages/ProductsPage.razor.cs b/NetinaShop.AdminPanel.PWA/Pages/ProductsPage.razor.cs index de84f2d..d79d2d0 100644 --- a/NetinaShop.AdminPanel.PWA/Pages/ProductsPage.razor.cs +++ b/NetinaShop.AdminPanel.PWA/Pages/ProductsPage.razor.cs @@ -132,11 +132,8 @@ public class ProductsPageViewModel : BaseViewModel(); - parameters.Add(x => x.ContentText, "آیا از حذف محصول اطمینان دارید ?"); - var dialogReference = await _dialogService.ShowAsync("حذف شرح حال", parameters, options); - var result = await dialogReference.Result; + var reference = await _dialogService.ShowQuestionDialog($"آیا از حذف محصول اطمینان دارید ?"); + var result = await reference.Result; if (!result.Canceled) { diff --git a/NetinaShop.AdminPanel.PWA/Pages/ShippingPage.razor.cs b/NetinaShop.AdminPanel.PWA/Pages/ShippingPage.razor.cs index 9ca1bc9..225e810 100644 --- a/NetinaShop.AdminPanel.PWA/Pages/ShippingPage.razor.cs +++ b/NetinaShop.AdminPanel.PWA/Pages/ShippingPage.razor.cs @@ -121,11 +121,8 @@ public class ShippingPageViewModel : BaseViewModel(); - parameters.Add(x => x.ContentText, "آیا از حذف روش ارسال اطمینان دارید ?"); - var dialogReference = await _dialogService.ShowAsync("حذف روش ارسال", parameters, options); - var result = await dialogReference.Result; + var reference = await _dialogService.ShowQuestionDialog($"آیا از حذف روش ارسال اطمینان دارید ?"); + var result = await reference.Result; if (!result.Canceled) { diff --git a/NetinaShop.AdminPanel.PWA/Pages/UserSettingsPage.razor.cs b/NetinaShop.AdminPanel.PWA/Pages/UserSettingsPage.razor.cs index aa6856e..77446a2 100644 --- a/NetinaShop.AdminPanel.PWA/Pages/UserSettingsPage.razor.cs +++ b/NetinaShop.AdminPanel.PWA/Pages/UserSettingsPage.razor.cs @@ -182,11 +182,8 @@ public class UserSettingsPageViewModel : BaseViewModel public async Task DeleteRoleAsync(Guid selectedRoleId) { - var options = new DialogOptions { CloseOnEscapeKey = true }; - var parameters = new DialogParameters(); - parameters.Add(x => x.ContentText, "آیا از حذف نقش اطمینان دارید ?"); - var dialogReference = await _dialogService.ShowAsync("حذف نقش", parameters, options); - var result = await dialogReference.Result; + var reference = await _dialogService.ShowQuestionDialog($"آیا از حذف نقش اطمینان دارید ?"); + var result = await reference.Result; if (!result.Canceled) { @@ -245,11 +242,8 @@ public class UserSettingsPageViewModel : BaseViewModel public async Task DeleteUserAsync(Guid selectedUserId) { - var options = new DialogOptions { CloseOnEscapeKey = true }; - var parameters = new DialogParameters(); - parameters.Add(x => x.ContentText, "آیا از حذف کاربر اطمینان دارید ?"); - var dialogReference = await _dialogService.ShowAsync("حذف کاربر", parameters, options); - var result = await dialogReference.Result; + var reference = await _dialogService.ShowQuestionDialog($"آیا از حذف کاربر اطمینان دارید ?"); + var result = await reference.Result; if (!result.Canceled) { diff --git a/NetinaShop.AdminPanel.PWA/Utilities/Models/DialogUtility.cs b/NetinaShop.AdminPanel.PWA/Utilities/Models/DialogUtility.cs new file mode 100644 index 0000000..6594c42 --- /dev/null +++ b/NetinaShop.AdminPanel.PWA/Utilities/Models/DialogUtility.cs @@ -0,0 +1,13 @@ +namespace NetinaShop.AdminPanel.PWA.Utilities.Models; + +public static class DialogUtility +{ + public static async Task ShowQuestionDialog(this IDialogService dialogService, string question) + { + var options = new DialogOptions { MaxWidth = MaxWidth.Small, FullWidth = true,NoHeader = true, CloseOnEscapeKey = true }; + var parameters = new DialogParameters(); + parameters.Add(x => x.ContentText, question); + var dialogReference = await dialogService.ShowAsync(string.Empty, parameters, options); + return dialogReference; + } +} \ No newline at end of file diff --git a/NetinaShop.AdminPanel.PWA/version.json b/NetinaShop.AdminPanel.PWA/version.json index 66e2506..ea549b0 100644 --- a/NetinaShop.AdminPanel.PWA/version.json +++ b/NetinaShop.AdminPanel.PWA/version.json @@ -1,13 +1,14 @@ { - "version": "0.17.18.25", - "versionNumber": 0.171825, + "version": "0.17.19.26", + "versionNumber": 0.171926, "versionName": "چرتکه", "description": "", "features": [ "افزودن تم دارک", "تکمیل پروسه سفارش گیری", "قابلیت افزودن تصویر به برند ها", - "قابلیت افزودن تصویر به دسته بندی محصولات" + "قابلیت افزودن تصویر به دسته بندی محصولات", + "تغییر دیالوگ پرسشی" ], "bugFixes": [ "حل مشکلات امنیتی", diff --git a/NetinaShop.AdminPanel.PWA/wwwroot/assets/fonts/Shabnam.ttf b/NetinaShop.AdminPanel.PWA/wwwroot/assets/fonts/Shabnam.ttf deleted file mode 100644 index 7861e3fd524c719076ca25fb77d09bcc4be224bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58020 zcmd>n31Ae(@^>FIvzvn?yPHkOL6Xf02}j7uoq*i;eFRiOxNia?ASxmva*60uR6s;U zK~&^W{%&VQNn$Uy@m2v=dshrO?iG^#8SrIZpc{J=i|y}PDg$e?!Sv)=eWsp z$L2S@dJ<#3S25OS&G<3pqg@Yeeu=U5z-L9{k>Pq;zJ=?NxK1BGW!9X6w2@i31`XP$ zlc!abC#`kf%h)}jPgG7RpEF%#hd;#FeN=wR)bc4~?lGgD#PvzW(w0o0HglHK`si`S z{;`0u@S)Qy$4r0Y(M7j1_E|Xa*WgRsW3Th9IQo6g)9O)7GC)vg9CZt!hTY&R7{NwCawgKt8xtDPs z!y7QclXw%PoAN>?c@ZxLj)pf1e2Fean}VVIMPab$j-7iBWb?`^%SW-r<&{&WvIj<0 zmQP?iE6S(NWP2;dkEvt_E9O>CX77$0Gp&*x8&^4I6006xK6L_jjvq6sl1EP}pIXjS zCznr4;Y}x(&zj0xO(~x>p3j~-2{{X=jVqtRS5;m%wUV!$HFoMa{=ls9^7iR3M=TLU{3{m_34S6-YVU{58WNmV*o*w6QIIwk+W;?`)@lJebkoPq%oCK zS-gTNQ_3qRv4&G7O_{_BaE~*Gs)3>tt@oTq?_Ed8`%dz`8R7xg06` z_ZHydT8zL`_?1QWb!er19bVs-s_0bwhA>e$r_Hm#%Vn8>tynnT=425p8YQGz-2fX~ z|Dd$_BJNApo^@o%tw~W!N8k%BKs`ZtApM-1{uA_!zZ#hDvxkvmpyX)KoXd(>8_?R7 z^=1QE85_yQvdOHH%|YK<#FnyE=o@SC?2-^cB^V6>Qyp$V-6*9ThYv8;LGQ{kHlgGd z4yVdTpA0;8ozqd1_8A9}PIa^bjC3pjY;Rl%nCIvYnC}3uM1(OPFwv0?YNOGsOIRr= zyohyTomm%9+8uQofxg*{=kn$}kLU9O^wU3rOWf&??@)X%!FM#i6Y(XTI2+&j_%6hE z3BD`wy#?Pp@ZEs#CVaQzyB*)%_&$a2KG3^Fe;qJQa{*>+*8=Jq`law_yC`2rZA76q z9vr$w-$*&?uKiS9SR!t~-B#jNK(E*h*hQ8D=7}SK)8$UUR5=r{Kpa4=cT;<^XVIP{ ziRoz1u4u=}XunmEC~9XeKKD-m&fEUs!5o?Fzxb>i>Bn2nz)AHtL(Y5tdNohw`WF(8 z`AAJph=1-`Ig_lD$a%-wSA)~UAB&tP{h`RQ^(*z8pzQuziFL#qUosA92xlMg-TW!O zkH5$d@wfSh{4@SF|DK=VzX~P{5iZ=KzDN@3B3tB&BGE>45M4!YF;J9=kz%ZvEGoqu zag|skmWoy4R=paPLGikHS9~mvh;PL)@w2FwLONxHjF#~-MP|yz zGEcUU?PN#UUG|lO*c+2i`*t3lTXTLkZIiZD+pg`_p3?SdFKUOhx3v$o&$O?#@3j-!uR7BWJzRI|_4On@UC-8Y z^&-8E-a+rG_tppMW%@{ctUg(<)aU3|>5KHG`YQcaeXYJxe?Wg&->L7>_v-uggZk_G zyZXoa5&c{JnEta~Z3x3@L>SRVypdvL8jX!SqlMAV=xB5|`Wl0c5ymKEyfM|7Wy~`c z7>kYN#%g1YvEI1X*kWum9y6Xao;3~_uNZHl)!+6%1=z?>Bkxg26z6+Q=m6$7Mae&YJ69HfIrvbXFmjbq^M$h6!)sF!#w9w=DWquD}uj=)HIn^rx z3(c!h+DY?qz@JS##omDRz{N`IC}0BQkn_~)+X1~MdMm%ukKV-p;qM5{{pJTqKWKdd zINn@`oW*7`(v8d~01N#s04vOVzy@Z2+?{I}1p^;5lCTE753MQ`Lc(p~nIAGGoI{v6Pp zVKqQH-s}MQjP(tm&zuE#x4#l_gdgN>D&Ebfa}zI+bV9mP0HzKQj3gH{iQX@ zHrGv*BbQi^OnHfQ7&&eeBN5(y4{{vD2N~n%$O$)z^AToGP&nKA8Squ>HRL!{ANj%j z6ghqU4#2MJ?JrrMBVEtJh{H#yUiPi^KGI(iRidTBd6A$fp@BCY9i`eg)^>IH12*%bLx%pHJ>&AxycCR&-jZe9xb1odmSf?9!nZ<0hgiDt3E-w5dv zCDjUw-qyd6^PE2)@T7vL%+A1!#V8C5K|z(~$IPu58J)1#+QF76!%QUuR>?S)#b$HC znsW{FlBako&t`{s6U|?W zG|FMS9ApP8+d>xUqfMB1g-Ka=M%? z=gWn1iCigfk$1=qa+BODx69q~DY;L+C=bcE<%jY!`L+CBo{+z4Of$4_&8^kflC*R! zTg%mov^H7?t*h2s8>p3OBek*GWUW%0qg|yf(w1tgv|F{c+D7dG?O|=Fwny8m?bi-! zuWRpWA8SXnZ?$9E&sw!Ebf+GnN9*x=ik_)A*7NihdON+N-d*pj57tNMqxA9mRDG5{ zPhX%f)|cz6^)>o>{a$^GzD<8je^P%|KcK&&zp1~kf2x0}f2aSbpVTcwGeV6hBgRNH zQjLa2Q=`CWWt1A7jh;q-W2kY7G1{1DOgCm5^NoeZ5@V%ti*bjs!PsPMHMSeOji-!# z#*4-w<86aRoDSMWfN{pPkn5iuhX8-p-vRu>fc_C-dMl)V(2tU?mZXhG>KMmmkp`_R zSL(2W!~_ktw20SMkjBta0`H|q1G){;UC+w<0hj8x;%=J6C?gii0e}g$X?~3k+nLYP zL65jye+21eI_b&Q{Yt=lG^$GvxsK|tcSAZ>(x~^m zc0JNl#kH*5a@yiHq-oZSXAFnh_!MQM+#_jZuUNXM#YAJ(9a`4!qez!@5z70u+M zfFngYa++xL_DFdJV0#Cwks65Fv1*#}@%A*2$TQM zf2l7A{1sZ9i+vJpEv1B9ab3$o{!dyxqze@fe>5(~-CVsrV5)X6?%t&n&Mv(%p8Z9? z5%4v=0y+09xvet54KYny1UN(^J7<=b2Dm^Yshg=0-|o{%PQKON0o<=Whn!5}KYvdr zdtkVJKi~rWKEND}_;54Li`hSPjPlGf(1QGaNpLaEbNLH;XTYxdAe3Xv_Et?t`fF_% zXzs7xYvVQY@@M7^i^`TT$_jVZ0$3^N0n6DnC&!@f#>wA0AHo@F)RNB@Mird zQ1Yw(Poy;+T9}Vel6IZ`G4fC9s5KzT`9nJT1$t#iq?hU|08eSV0dF&M0DsbZ0p3qN zogW}>i+kiSa_-XB0M6BB0glk#0=!Aq2URCT6>#i6`;j<`{GnPNU;{Y``5RPQ+dbEY zho~p=<@$8Mld8-`8r5-?-UImA@&sT{c>{8?^nMua9p|)sys&)8=6OxoJnt);=L1ml z|D#19e1qXFWWHQqD^|$*!b<$V;^W`oC(jyvHn0b?FO~&iwP~okZh> ze1NTLcQ&qFvYktGP%4-gEI)W1z#0v@LAibP@8Frwo*z5-?(<`u`%c~R>!fSsr?xg{ zKW}4SF#iI)sV$|>+iEj^ld4;OFb%m|Mm>Nrvjf^(rRqL-HZN=p`)TVL!t{?0{03UT zwhU_;;rY=<*0kDO^^C%`o>8re+61W~EZ{5Y4!mgtW7VI~Gw1u*(oT2%SpB<@&)Idl zkY~<^1O9=7boavA;C$u$r}Du~yKgFe@z>D!m-3J3gEUx$K^_KW0UWiZWGnGkNebzh z9SW~bO9xv$_-j35eW!3dpc8ohtl*tL!(&iKYcIjpJyR1Zo|>EeS(cBa72dwUr!Jp^ z>ELhOoxHnd3|bQj-2fpLvn(!3Mb`{8e;C)G2Q`ePse z2J_&BK5-_k7y8s+f#>JuL2K=q{r6nd*w$pgrrbbpw$o&n+H}C)xGt#K=^j~{_MJZq z&CO`5-c~5Acr{}DUO9oWLCHX%uW(!bgLVY8jp`qytw>f-s?zhnSL*ri5syr?Z*8x& zttEOQKnpO={``KA3~-P7{r{ln+V8ZsLbGfDjn&o5%qnV+S{~M>YUv|h16z%BHeZ6H zo)sFzLO&zgJmzM)hf-_q1TilBm)b({?;KpZ@KXMBm^3z>s~`N?H~y7n)ujP8xU#nE z=KYbhO&3Ab7bEf?dG>d4m!lv20r?2fQKv@+d#A0fL0`>1qLi+KcYc?S|4VP8RXs`z z^!;nvpP5^7bG=g@sLIev^3Inp9{_f?B-HR`ok$(C!>qkVMT?!H?H+V&* z+V8O6@O%1C_218E{phdLFDR>yg>O@Je)>@NI{KMvL7y7>X?;u4cV@nQRSRwW3-9N_ z@@q@@vnlW`us-u=O0dTKnWz5DGynVS`#;QEW#9iN{C`1TA67j)!1~wJIe3iv9ZW{4EEmY12#r* z^{}>_Anw^Y7j)eh?|?p3ZyHOw8|?y*RrM$4=l;=k*AatK6u?!5TcOq^pwFhZul=h^ zI>)Pn^*hI{b7fJKh+wHK4NyaTi37iG{FBI!MqI5I{~98eMBvJcNXu4CM==JA;fux3 zTABVLU(DLFc>h}eT9%+-ih@1`Qx!~8FkQh6MMS28_F7rCO6MrpSm88Lu&IL06wFny zxq^8LGhe|1|3?2tR;coeR8FxU)^1x(hC(_q~Kx&xBFl7zs7beoF^6BtKdEb4=DJig6}H$p@N?(ctpXk75q-Y zV+x*7@T7v(1i7Z5Q^9bR|9_I-py)5>_f-E>@SEU#Rlfx)y->kL3NBV~yZ?~?(0`QQ zpy3?+ZVmaq%YPT-n_!B9J_S=1MQJLXuHgCPyRo|4M8T#CHd8QH!R88{DcSTc+kX+1 zY|3e&-q=#%w^HfWD&0n<+bY;j!An%WE!m?~xC} z(f;}tYJYu4wZFda6xv_ETP}C)C6hwIA=gj@}4b}eo zhU%_?`}VGIwM!iMb#t6&lv20E^QF(d@BVzd=+Bpb?j7<}lRv-f{*S-we02<|sF*UH zwNS8~f}O`sm|D(yPnbGk78^Ku!nkr)Hf7A{32am)F4%YlD?vTkZT49V_OE?SEkO53 z{%9vXt#a8MkZ27D_E%9p{f6O`h!og=v{%1B_FIj@-tS5_Pqi6G+E7p4s(wSclXvIK z`70ty^v6D$J=m#`igFQ|FWUruciO**iPn(f+P1*&5&QyApBVUEV(07oL5CaCl!Sjo zGue&QD!=^_?@(f(zA=cCrhin!RP5KMPu*weqyRU{tbK-3)MCUZN|TJ*S3z9LqcVs$ zT20!gsojF@Lfrp<>6y{28M}ww$L?pF z*@Ns6_9)xM9%p}NPqXLP3+yHKvKmX?VDGRG*eC3B_7ywIeqcYbU)X7che+<=VLXz% zxCi?K8nVmT73^xB!LDJ~u^X^2@iG@B~Kh!m&xRHmstm9)39GfQC)u^sFQ zR>huS&$EB9x7d5^BX*d5!M#-Hw%hRzFVJ^FpXR&M9^*BF9 zK))p8AA<7nk7K5pg}lairvvY7%_1>>Y=>5(-JJFD=1b9U%UK0Wgm-SNI-Q27*ospm zcC#nhUYsCtfW67yWgoIn*%9_N`;Hw$#QaHCO$r4%D4Z?l(L9YeVsqGho{7^b7OV3e z{%2HhoLM5V%P3az`Kk( z=Yn*_brSMJF`uV;BqEKyZb;!QAC(f|BmSdJ2rC`6aMGzNJRaAZIi10BACCdNr{+$A zx)Z1F#Hu^!lYvsMf_z0_AI3yBOX=MDczZgm9s4wuyMW!9tpn`D?gZ?JHF8kSZUgLq z^Hc;*ZK0j8r8t9#Y8O1=g=)|Z`~E9MZNrGk~LM>-Z`fVfB0+kqtb_{*~{rvBC`k!VD>$nh@FomLeD6 z0epxW)^}{D(V#!Ys&*WzuFsg`koPmv zQoP>{t!wy#}bL4r-JeCrM zG6$cYcY5jRm8aLA-g^4$)792=YqsC-|J?tP|2_Y^{+a#>{<2>~e-)?9Q@@@%b?U^a zpH3Y=_1&p&PJMdny;BEH?LGCxshy{`oVxSW9j8{Gn)B(nPdj7ZF2mU+KVnDk$J)Kx zYLO~@Hcvq5U;5!_Szwa)kDmxYJPEtT-Vn}FMc)f_oC>NUjzvmO}Wwyig zPmn~Kh>6kI?I@{&yA14Z6}dV2E}tvI=kj&L0SoDTjWu2$^y`BivAb9B?qF9xeG{zM zdMve+&Qz03$Z~LzGtwb^IQYu@xLj$enzMdRdO=Zf5|1|0Qf0nO<2`y7wdmQixH#`c z?_Iqo_vF0iH2Z2ef2`Cgug7uaOK9wi3})bEXoO?a;TjvQ5dIkLRd&NmE&={qGUdEMe#kB zbv;kFKD2(~&)^`TD*mk1-0FjW%JItCCcniW;$*egFZG^X%d}MCjL9jgspBS8ttYD3 zBTzN;uv^*d;%yldWw7yTUU)xFkNa8A$2I7|{RbgthTaa>6V>$wCiPgoEv_f2>n*sS zrI+FwnhW@S{eEqXo{4K{a$HY`oQ~By;CiaMt^oekdK+BRP98t(i{LddaeW7q@&mm! z?#}=}1Q&iwgvjSnKaXlpR8cTqfi{(52opjMXE^hyPgq9%o{n|8ISWvTiy zJWzjgSs;N|K~k17U6#n*u)c~|S)?d8yypy#Lv9L_op^!92r{Ak<_4d>bkJ* z>6w}C;*2oiO>N!42zBTpGBUDpgF1KQ<8AWC=B0J&oHlX%m~m}9GpAQpPOofH+0xTy z+-Ps3?CflB;e>*`artdLv!(@a+4Z^?^%{nHg|S%Hpfuh#2?pVZ@nMq0xR=-KjiT!KE88YFs?m7KhRx;4b!L9uiPH`yJPmc%zN}*^QoQzcKu#NEz&? zqT=fCdV2d^yA(SnDSaw%=8&bO8#?GnX6dCqP$0TWbPu6i4uSWFhK44GCKC-Yb!d=~ zQL4Wl6YD_IVZ_G7#&|?wpoe6O>%YV@Y~-9iU8ail5x3r$;%vVD^;JDu zfBW#@Hink8CJB7Ti2fvmW2o^~R3=L)VlIPqS=Ej?ALV>oyKVV7&?(_)ja`oIQCY03 zb-n*aV5H!|5N!V6?Y|Bvq<6|pzp(T{gyZjE<^hM+sLsT3n}6ef*Czv~o3+Avwr)8m z%Yx-tLZ7JJrplRLJqtLr%2lTv@Ms7`GGuy{(NaMy)R<|HbvC}N8z-<7uRkw^5& zzy1w$4Y!&(a>dH1ES@B1TSHM^S+G27Xz-nWzig^!04JGMY2AU-+Qt#PweA6&;eNj( zSNaJD`|Hzd%MrU}dR-jt2yjwx;>sJfIC8gmBY-o+4A)+kt%x46*B=g?%pg7faKb_T z0yyAuPHDsB7;il|a8xG^^bIHiZ1sZjp5xo!MnN;4nU)&K zvxm9jFM@nY&m4ugMf&651`b@j`0qVIZq z_NM)EMnPwc-4P*~Gm9R7^V+9A*Y8^YilRlmN57nC;St(e&_c5WB`@0A04-jNi91Cm z`gv9&?F1tAsT4%q{s1MSCsB3oXSsuyJVMyjxx!Tq0-4Don@oriJR_~Vg2KivM4(TW!163uZZ5nXNeB2=gP7D=B zr54aN623_I7kS7?9Y=RKMmV{{;db=QN=r?3)4vW;p^gS5*HOOK9F*m|z@-kgG zRO@9Y&lLl$uXjuNG4ore-;v@g9*;1SOE`agw-BR>EuV|?V|HDKQ$6%+P}dawT{#_f zZEV*SX8=uCbrtAqtwV^Xp{xmOSK2xbjvI)r1MGFcj=?D&Oy|?VZKey@Ee0JDG!i{m z4uj3&mOb4a+!uAu^!c2Q#2gY{>BDGKSfIOoc@T?ehmq#PfagW4q@@rO6gONl-y7|` zzv1?mckr=y<~OcB{ta*Y`lLa8=JdC$qvN-CHJ_sz2Ux-%;}1Mw&1;fX(&R1?vtq{D zM=l;dy`x=Eesc{|9(c=^Evk?93$?E!LrX-Rn+DrgOAOW-_S)V06x2D1H7ji#f$=m9 z{Sz&W86TP(mX>h!&|#lyWteKZwVtldsWCpE;fSwW$qY0jb<`Ly#2@uUpD2>YvVyfT zJ3X>=%f1N%1GTb_%}uPSh+Dp9hA&w*{Vvp{svpTEbQRG=bc>g?1kjyZLw7<@F3kw- zCM^ylUv6m=2ZsUOJt|W5QkaG~JcP)Xm^Mf@3<=gNxj|h0*q9W}0c$M-D#qi^2n>N3 z0AZyWu^CO%FeXI^RF0%_W)5k9_!1_P!go31RWetxH~iK}eYSv&;yb z=XfI=U6*Z1>38M5@8{=L-qEu``ueAv#6KEx)too2yTM1h9f(%_NmZXb?J(+-S5u$E zc76OmLx)S8%qm%2DftyRRE-)GkcM^Rk{~>-(B}=2;Z;>MUinQ&vHmfYsn5_Q$}A6- zsY@zTjUDm&YV8N$B+JHHG;qlNLjT6N5M9&$mhl$Gq6U!p($cmKqUwc1TPI>h0TEyV zYEGMuX}-|-)EY^UWwyX4CuKLvN>BAAHA!ylGKjM=koW?{*NkE>aTOzcl7Q%EWEJu} zCG?GWimNc+8Z&W{OQCb*-wukP}q&CyQ zvAVb*l>uFW=?dwJ@G#Ee<6Kc;N#RL2nJ$!vI-s_Bsu4v7QIV@4OOsI!gT}(5Vk3^H zxeDDGvi8~C2g-=F zR;{Gm&wt5g7A8{c~L$OYu4xuE7stnZnI*Mm8S2e?Hc}6y8|_gP|H944g1s?m(x;|xQN9d;?QpRRG6<9_c0&fJNN^=O8Mn| zo_>hmzmNa$ye_!o;|8W_h(a8r+8Le#9Q_{No8RA_zgJ})ZA*HhdI!-;I)Hy#{UO>r zV2_I3)gRjJ4a@Sd3^$rW&)7Z|^po5iUYOy{z!!GO_m-P~FArb+;?*tjMUz3^f7WKo z-p2D-NpHZNu=WE$Mv73e<!e(WLn?`CiymBvLd{%*uz=ke^q=F{Wl=cvZ?JCRP+Ts_%&M#ZKv% zP|_`{xSsBcj;a^g(A{1p^ciyLjFu6+Gq2aEP5Z53VX-msiBa`i#3bsThRq_Sqh6~K zLkglZi~2OoibCs-!0DnPCH;r4Z8&*k;?U~2xCYrCcep1#Hzp*6>de!uNa<4N@t=!N zX*Qp%$U1yNsoLk_2crpiYwUpI!saWozt=vm;pItff$VF%fipAV~4f$%02{SAo%88T}q{!A%5Gaw_ zb9nEDsgZrchK&lrsoOIKg$)QxY|^cLc59)JFKbuOyV2aD(5pFN+#`SZ63Yxb~`=&@k~jazRU z5I@s>HS7g`oo>md&QzBJe{bT5|GG0~t?It@hHT1yvG1QOv+vt8U)4YIj3W85^8>5| zWd&O>42DETBF>eEQh+YNFi5@;oQMbgc$QAcC`@p9qR6gP(s7Ma*^Xe=)k;X zVS~f2tsn0T71;wvHyAY~qhCP^3@lGpa#?fHs$O_cI^C|qXel3ZY=C8-rTCjj&J@H_ z5aF0|2?3WVZW?YEIa3ssGCzUmOVR3`S&u$C>m8#NA8Y;0L#;cAA3@(LYyvN{ebFch zzDu%7$rnw^kimCZ-{VsgUBG0d>j9J z$8O`gbt`I6(YnJ`TekeL1tsCULv#@MZD}2*G!ipuHDF_=8pSbEXQT;P?B+i|A#dKk zR+D-BU~@~Y5%8dY7q${SSq26a;Uz^wtp(SO9IcE#ya7d}d9q+X!)WrR6{0-S#xa=o z=EuNpO3iZf<4=gCk2aF|uRQ~Y-+C=F-+FO&@62$gQ&fqff@d(ud@_3aFN3YGaG>^4 zqIrYuOJ=Doue4b_gw`E_S*_@vKnEz2V^6>e9S!m3@Q|pvhZ}Rs47ZPT9Y=T0a@oBZ z!vh2*E5_qZ%Pn+E%)-&ti}U5!>#yPu^7!VjE$?44`_lHw{0V;JgKdhIFW~F6HVtRrj!N8%&(kjGKcRh{_MqFzo5bxJO7Yx8}-4YgM8a)?}XC&PKPdqjx}W1 z17IFX3}vALoiRi3Vz(ex4?Sb*i-ipRw1&XilNs3O2 zj0ka%>%+EJ17l5!CnnbIfs~;UiUXr_Y>cS)?1(`lW-W`$dG3#$Gi;P{p zs%=rd`l83=(Kl@!eYJJ#qDpJFwF7?`V?f&tA*1?^SvR!T(0d_%cQQk}QC|xmas%dL zX{9OXIAS;^BbbpAV@A-ll>BC%jLeKQ(i|Bum(?tkdQMg*uNeo`WkxbIXQDXJ zsC9bqA~lht`F>zZr$4@b`+WnhtoG8x ztqQ>?FTG;DF{(M=^X5O))C{s$W?@b$i_xBqSjW=#sZcf;;W>tQE~i5V(P^fFxjK$A zh3f$?r$rt%0_G$JdCoG@<6`3x#$7<4ug>9XY#fvf{ zIJA|hvi&Ht_!7z6O`O=ObyokVu#RQhd2h6bVeXwQWJs^)`sqzOTS=mx@~1ok8?1l( z7;ocYZ~U$MXz8%V&n#Zl(EI?_i1+QQjWLfWHBr11BMh(D>D&vc%~WGY0vH-}b7G*u zfDF9gL|zRYu=mBqgYnpdbnq4N|88Th=2u@FR1nH`b4^a1aJbrUAfyoB7j3a!_)eem`|jzLvk{3 zvO&8lM^3JpKf*VmIpCYgAwOCo1R$@%3fs6mh+|gZH}CMfC=2!4AI9I<>g?3SL-} z=F7XL;di^=w3cjs;I{rne9zlxE#=ek`;C)EMN}qYK$$C&H`bb4(>u;X3vj;MvOSrq zFI$-BL*1*s93U7A%^1?9vP&iYtQePlJHRkv6zmM7j}PkBYqWs%zQpI z$GibP*9Wcn24BdJS%&#)C`HE5{F3JG+A5k~vdwZAfam*wDLgn%V>vdzG&j!UMmO_@qI#@e z7_4v-IWPc!hzR}9HqOH$6IIK~xC zJJT`GLXZR6KVVm(y$76iJy2cO#tcA_0)M!vbRA@oBCyWXak%I736fWzc!BgFPdyvQ z|C5;@CW;+|!%D32z)7pY8E?z9{}(e|UM`j^oHA<$aMEjVW(4Fupie;ubg)fFjUL54 zeXLqX^YKIep1^so2B&AuI}-E~xrpAu>k}P_xeV5)mW~8HPhz@2Kuj4LMNuMMy2qa!adv_no(+9 zq0_ZWGCsrznl8al=g#vrYpy%uY}HtJrfO`>z0l?X^MTjfFZ;X-<@jSkV!ReQ8Om{& z=rzAA(fi{1?%!4~A@%sYb#ifwdAzW7Mq1vrSx0xjV~$x~_2EZ+&pXua{vV-NIw?A< z1J{;Tq|XA~rY#prcaDl`2CZ34S`)RU8bLy8btibD>Sv6O%A{yMrDMlgGir3KYTerR zDP6pfF@#MtW{VY`O$*+w%D6UgZ&C0b{L^L7&8zVC(TKiv;_ch=smX1<6NPnT4>$HIo6hx-FoVhWLyIvN`Dl5KOkbtJVFbZ_?TxlMYcDmCCZE#08^3PX z7oC>&9&A3_KHvOIt)Lx%@zqi^-t%QuSyRgeW12RIfsa4=AJbOIWl;uVc^bk92yAv~742Ed*z~Jrn`J^Kj?M+b@d05^P-L1`jc6{e{eup)t>OD@2 z_T2vq)>qMgFx;n=ra199dCMU^(AqGI18W~{U%Jnyq$k>!4_P5)2ghW7UR$0o260FH zr4Njbc8_}S@RsV`e8p>3Q=`38s$R1|bI?bNwhxRs7Ss3h$*6dQeFBth&BuB-chv6= zorU`ba8+InE*cYmP3b4#cC5vPZx3r%z*TuQxJ-`_3yq_|?Np1acykoEDz6529eiow zMlx_apM{%T!$)-o^af%~@NB%|_cAD)hQxh1pf`(B2s-x;x6e9we9cH|W zvK~R7MvTZ!E$kSP7QjH65fHn_9lKFRSL+7W~hk~i9;E=j-7!r9KgKAznZzp z^75}nF^`HsKncpT<4J~4dHxc!5ak8zqB=1rT`ex}&?iJ?@<`Bx^8ADF_m$*12HwIvoBcZV4tUWn}B_gBo|Ph584M9Ap-F>{-2;bp#L!D zCb6XoCtx4c!Ku|9No>2q3D^gxnE*;tt+^eyHYT|_u-{SOXhw*%h*ewp#(t((wLv`r5Nnb-aY^=P# zmJY;bTwj+C{RV|IP|m5P12}U6bky2g8Nqh7W0JtDT6-%=++>}=^UnowtP{a^Sj__V zRuca9A;nq+?5)~1qcI_1Zzb_<3MXK1)#3!>pCGd|e^&8OWa}Y@2CJKio)9MmkdW5{ zdW*b5BRlI}|-(?7#uV4TmO zRk`9^glwsRtyo=?uWdYH{bKFn-QL-VB4K?qBEek2iF3n1c_F%3Qh#TXGsl-wcTvYH+s<&rlH1wq^mtPG9xr&0i zL1S>F$HbE1Aa9@am35lPd4JQEY5k9N?-vLf8$Xf{xo&aS%ST@P@}AaLSMfnZTIF1Y zfU!kaj4ybiYma`HcI8z{XDHdyJ3%J0K&u)T>{zj&Z0X$~n@OUTHnpy7X;Xu;kr0P~zwzO__aPssxh4Yfu4mdTkrBNuOvTI;BZIzEewi^0Lw$Q({C*;G}MTA&8 zND~+q2`@Uufg+#@>t%{voVi_2L)Wlq-)Cmw57iKxv}>-rW#~s% zBOd;F$5G9r`dTNh<kTZeB)VSiLHMSBd1>uIuTnC;E9S^ zQ@ROs=}V|C?6CF_a9*mxc_>hqKwKN@LOvvJ&qWaD=3-cja0P5%N!BIZt!wte>a`6+ zJt~7%_Yv*pwQZyQft7twYPj3YNz@l$K<1$#T+!licap zb)!5*w&@@ysx}80nH_2|8nU311FuBxl3X{t%%nihbQM?Rh|A9z3 z7=J;-o}6F?8qN+_IY+?Uw*`X^44AU&tf;v*3u_|8&J3G7e)Nl~6)PV*GiXlP`T9$+ z^OGquEDmtMwdjx|oQRK8PCL62K3@nbkzt$ZScCCmkthrCKKP+fKX@!K z;Y;PyF1vfI?-z{A+qMGiUcG}``@U?|qN?g|w^qIVuU`-Gm(A*z`OCbK^|p2Su3ca= z^wGckmhmsK4AO$Qi*PtjXyzFLCTMzPsMC;|#zugsFfAbSjj&pjl9ZSb7we67M@7~P z3xTsdn`eik2Vlj@fFqHdbAU9dD9VEGi`Ix;`5sz7@_^m3Bvi(=J9;;J=GmUfZQG7| zvTy0O)nW!a6^-CZU2@F?r#bNjf%I=%mC9{J6c z9WtK+`P3)u7(~cj6J$W{g0YA8z0h)fF8WJ~en8S(|BV`);9MW`E**cLj&Q^!lIH4f z*5D}LE9_jwBYlCwnJcFO=dBu?X@Pzhh;xMeQaqrFdkoFN#48m09=eux@*oZ(H69UP zSOtW?M})u`!sr#Dh>C72kFH!>b8Z7kWvy& zB2QlFv=m$PN#?O;8VFRaL-gIf=Xz5%P6-RAVAPAPUxoyUz7|oc)HF53&+k_?9V`!$ zE@D>BxU*S6<`IJmIc#RjA>VDso(5z-M>|eqgrlJr1Dp?PaAE>uqG~JcXTp(dRV?U- zH8?636f&=Pq@7YY_iITg=c5{&q@c_PVoL2;Qph}H;4;L$CSp7=`xAn3%!HVelO1`FpvDG&>H@^QBpG{GOkj21*$fQvKMWjE_zhl?a{ zwhTZ%n%BrjK!$?yKr$pg*W!Wmc@0i{Ko$dSpm6fEIN%(q!HEmXtIZRI(?gZ>MGa1% z9QdbI>@xH(#Q`IZAHLvl>4Og_hh_-%p?;EK@j?`TJ3|P>nq!8L*)$OUn3aO%!I)U6 zT3xMt=HnXczyW2eIqFOjt`Tp+#Bp@GtX@Tr&Q`^*pMuxLEN$aFt0#8 zl)V5y;S9w8U>zm_e&KrPI}w3ZKR7M`HrZwDEr08fHNH!a?tQ+smLIm}^A0PgPJRB>d7@v%(1PBR2DEhLKQ*!Himh8` zOvmE5fUnEahQTWphV>Wh<*V<6DRw4P5toPwS3te{(6i6M&vaVIu=(kTK}a(xOdkx+ z6wv>=;^eSS(Q~`v@1DHwbX*HodPj7QcKcI#d1j^c^xOs3_6ccx68D3J$t}7j>K7OP z>#jTJm1JX6)n#{ON?tX0UeJ~f#E56o84!>xk_>y6VMmCQ{h;JT=SsE;wM<|gt-;C+ z${*$j2lYz`2Y+$%THt(FgL7>FNAX6FQaF1w@=g7-2B*-*fp0>^m*ZYx@Lp|PIsE@F zy?s!*it#rV_~BfsfY|NA#!FdosyCz-#sjX-5LIz`vk5^cD(d zrFJoJYUfuM2WS~iF$3BUpoLCg16P9a>(r;s`;8Kf)<}|NirkFn1N&#-=h$5H4x$78 zN%%0X(mn@HV7`KKKCi(cI@&0lFSK&t1lF~IQy!!P_9tTH(Qk`EhhX#kmctKUR5DJJ z=v3Mv*&P|7F$2qQEDIA?tUDrp1-nEjejXc_r!vE^cT&`>jhqK03(gl-Zw-2>>guccymsQ9gVss@xy0m+2iI5N55V3&TJfa79_If zrA>8Q6HR)yexd=e}Ipckr*O{+Xs98xLIActASW&tJwE9Kx_pt6oh^ z5!e()%Wr4y3M(c%4?*T>h2^_OrN|S&vB#uE!{@)>@DJrPrIb*fj6*HM7R=dxSssYt_PqRi`D*+t5b?dn3TZma5<2 zTEAHBl~6H2J}=_rz(&Nc&14$l=i#S7#JDboW9x)))8@!Pk}A|FD>FSQF|K}8guQP< z1<}{;oAAIa!_2s5+eB1`FUEu6(5rlAsWP~Q;^K^q9@j4!G}}-cC|2_w$GzC*%@^lq zudB0{!pba;ZEhI-rymdQq*x)+8cFNBRvE1wv!7J<`El7>y5WCGWW}Wg*d>4!J47ov z;J#p51#O6{VPA}wg6O=7F^N%#q=NkpZ;T=z12zREgYLlG0p!PGFvQ%yfd9#H$-!N2nXnRnX}hed``6{qZvEsi=bwEF7Ta`bI_Pr1 zH;fp+2Iwx~5L4I`x)U>bomId)L5#(2zJRDesU+2pshKD{5Dkx>%mZ|I>X1iab!2oz zJ8UTyY?G#Kxo=F5ef!%fA~X7ah`m6FJzdtk+k7$R^N%?H_=x%QL@vgF*6)Wud$Mn@ zrXBj$^f9$31^T@eXjh}2y%&Y_yG84v|BA|FH`rs1=qo~lYq27fG_x9O)S9I7Q^Vgx ze(Inv8-AOBpW0q?4B+_d`m$?rY@fVb2w6pJ3Us{k!^c! zLigbGM6g-02X+_sZHQ+Jt;s@gzj;|~g2;65sPJuX!1IstO5QNcAY#Oe_n{9W02w_x7%#{W2bbmpZa8iB%z%wTemsga zB115SF0nVYm`S@ckWj&tQfU0;9&PG}L=PzGSe}qP{^#k#x~3O7Bds5MzA~Oy8DeSg zziqko+b2tS*i7EK`<2s=x#s5OOv*`3XjnFNb?bIv&g5nnU4y@Seu`gvn{|ox%knWT z>nD!rTy^n=Nf*yds1KH*E`jx8=<5vZ+=HGB$8H7>WDe42aHA4I%KA(Ps)I8XDAH??>Dy4ff>;xoGN7rt~(J}IiJVj(L#!_V;-Sc!v+c9rW z?JzVnv;v_LpN$R)9ol}{o1@$EH+cKjqk22TldoK<@fBC5ggg6`w{9a5A}R>y>~*-PMo(N`72_h?)r6Pd(J!cv~`%hM+tI4>v(7sTDud6 zVe6*T{4o{VU1%h5a0BPDz`jKkt)Qq6K8*aQLc3soApC|mH5!-llPN=ox;ZR3W z=TDqndHO_IWvLBH&7#YO9i>=B-TJ=mz0PgR(woK|zdWFa)xIUvp)FAcy{y*65o-Yd z9_(^#&KD}sawJs097eheo)7qCqdjhT&)^VYaXi)zx|FWmSbM)xTbp!5g~OkdCXSlZ zu}|sK>{LGcbYUz)_lJx%55ktm)(VRl$2TYj%P4INZDG zH}~$vn)DCGvZzd+sMaI9_~-ghpln*s4XzFCfWN?LYywULWuJFh5{dO=!MD-kChCB7 zc=?0lbWIsut=s(XVNH|Dcn>Ib*K#AMEXO;6vS=Oo2LG-AF2&5%#mzDwl0RTCY>>8Y z*xdKNjcdIhzzweHwlp8toeGy|r1jsO){y`%+1pgEy;zLB2}CdK28oDd+j2l(#8?m0 zrFL!x9};aMk5gw7WKcwhk4%U)k31rWSPQI%{FD7V^eLzJUTn>-`a~Y0et~j{29z7k z3QO}ag2P9P5u8DssB{C)LNQ#T_mh31YaUl*L^xvFwP-!s73B<^f573OQnnnqz@uPm z;FVee?2Egsc>dO*N2*ikwbmQ3GPqaXS&hFSR)uDT9dpG04o=_ufQ2H47N?Hn=3sYC zejbKbBP}(tM^SMPeA6cP=uueQ1NegQMGo-8VbwZ!c_Tvw_P*h)4n&bBarKnCunXV~ z@pOjA18B{tEiA*+G#&*9N|kn*!UY;)St<*CJSE;+&naYXj=PqYnDe}12~mdcpx?fU z53}EJbaIa~-$*+5h_wUt_$TTS2aOc^cxqy7WT>XziIZr898d(Dqhd<}1)lT0mVa`l z+e38mYkvD`vWaPpSFFOREE%P#F06m>?g%Dgh;c-d*LYCf`B>*rb})s>Vh=V}1#I&H z3cV4h5OPGwircaI*5Hr7l#=?6%-hIQfgm({OLDU_qZS9FQ|2VjF~D9 z3Hl5%2Wq~lVv2B0Yt+ie=X7Bj=AivZbb5h`rb4VYv>dE;SZWM0=U9rxsu}#faGl~H zecPGsbUL$~nTTGCZRl~6yO%}BsLeTaaEjVqhapLAB=aGfpM=#8L(kU-O}uU5#M`>H z%pNyx{7tLJjT@J75udg3{iP2)X*NVy{C?5q=JDfi9&g3PWshFDa?BV$dd!NOMx`fX zk!s3hzK46PlYv-yd;YA2!6HyQWPD**>4*V)F^s~w0!m>egTb)nsLu|wP5#sjUuJr9 zwRUU-L#44jqk)LR9_;+|LXX;>L7U-~!w8gLk&RZI!U=I%|!<2^Jf8%$m$b8&)GWT97@ZIb;uLkStbInxAI#_bk3*uLJms z-mex3A|fKPBC=9_v5hiQ)hI~2;M7j8OzesC1er?*3D90*3@TtQ%opBq5>9Tyr)SSe z>8-%qajS{9S?&3p%`e}!sp>BNQ}+pl1>L(B7EG|NPG~d+tQ|di%*s_28Oa#mr%bLQ zc_3eb*pL3vglu)}uhi9;EwCy#9V~U|+))uc*8%<_9FC-HlW0UqyP`Au+HPN1Ds_fx zoGIjWAX+$!&UC<$8?=KrffqHUBcWnrw6{YB42Zg;Z(mnf*GnJZo+eN)kM7|Pb5F<4 zYBNH|UVMH?n6vB64f{qFcan1Gu-BLMnV{*`4<+5kKE+GSuQ0iE@zoqFcMn2f2QmNK zmpj~PU#8R2P0+`pg(0pDz7@LDvFj8xP%h9VRY)mlFSv% z1#ix_n`m&NsHYW3sCu!V#a(iaaR_#QsV7Wfd(4|`?64p9`-b zCH~|1OL%T|zK@@fIfDA0K>~CbvZq{POayL+w6?0;G^-tz%eS>vsEFeTuC@Ons^nbb z1>jy3eL~?zn>Z1M{7=d*P$WO1%4H|zVmZ%voM`YK1a1d5$hs#$!@*#|_t?1KX#-_5 zV-C@9v<+|(5N-`-@kB$LAS!v$l<`0Z6rqkL)(Qt1&k`;A59*mva}P^Uv;XL|f_1DP7_K+TYlLjrC}Idtfb6%gN%N0Z&-dc+cw>?U-D#bJ2~z{BjuYQnsx| zYxl`)k;K|P#i!Y}mQ-u^C>NhE$EIXW&bc(Q4c26xl)>Kcv>{CTeGO4%4~3RvHz*?U z{1)ZngXiqCCPN3~e$&u$yCnOjLTDkrqci^?x?AvtOv{^jcXaQ$L|~3 zd+ZDBl^ZSw`K$O*7LF5K%JA#f_o?4?j%DyIEn#K!OJ98$`(L$P3v^sZdA@V?^wrCH z`XN6?T3L3i)mpMvvgDY=`?xD_EKBlgWow;4bhW#Z){(SgcV*crZPV~*>e4i&kkS$! zrI13(30DrJAy5dMHl-MfP(`VbewcEw#36%I?n|)Kafw0Lgi9Y7h^~%(9;FK(vhs^4>9583YXrMT{DnYcZ$$l#(B)_uZbf*d_9#nh z@6g|&?Sc(2m%UzlO6c_sU{>jO=r3r$>*!fBs5O(k6~|E$38 zuw!Kl?C~e-*GrbxUv%tQR)hM%^%n^j-~TiV+~A!-{ zr`KQ5A4a(d9%REOwF~-R%47Xr?PmR6^xvyB>3^WT7v)KO_NlgJRo zd;QJ&K@lId`ax|M`KjdBaX;s`wH6$Q^LPp$?e9dph#jFPwXZ@i*sSz*+O2v0kvmA< z{PD9&ekaD1J<5hv%sIz5^q2e<_&y?IkxGh1vY#qjC?<__uvO>!_4048Kfmc1v1)Mi z-+}(8*RNCT79Wc^z6*A~8-Dn=_3JktQ+${Hk9NNF;QIB_@%0xd){BoRhAJx{->tC0 zPv9TKf4R4COmm^)1?_If&thKu2lP0zeqI0g`uD{g8Hde30Q>w1_{#5&zlB}LwOgGy zaQx%=#VMV5C|zEEf9Vg`KZ390_muunt3`Pb_>R^?hKxc`{wd@mD?4&E20%2 zsCcsCxysur-&1+5@^jll+orc=wtaou^Tw$0CgXAAY2%Ak168l7dTW(k_1)@QszcSI z)#s}3t$w8XCpD*P5;gbNJYMt7+Gy>i+V|ByUi;bFFV&r_yRYt{x-Zmyt?pZO&(-~C zyT0An-mv|S?VqUE>y7#be39e)9I8KFKT`ji`i1&msDGgTz4dneXX>A6XldBj(AjXj zVYK0nhKmiC8=h?VOv5t`-)Y>_*wN^2yrprx@j~Nl<8tF$8XszWxba%!CmKK7_-x}> z8o$|iz40eaMpHvmN0YZH)O1JFQqvon9&Gwh(+NA`YV?=yS9viE!Y^nKg+weR!p3+)@- z_w;^!|H=KQ_CK)yBm2L$|66>VKg6GF)7qMFmBwJ($+leEm)e8vBkd2jKidABtJKxv z>Tn%(1zl0sMb|y92VEa>{awe-j-HMS9dGS;_CW1{mIM0^{KA3HcXoC@(E0Yx_jEqf z`Q^^9cmDWb!@)xbZ#ft}c=6yH4!-B$lLtSCh{H<42Jy{Ri8h08GIhisJ%wJ=Vpacw zBYXp=?Zp03tm>#gBu9wf6*!XZ^d^emQ}q(;CLd9CdRy72RJ}|)tUayjiBbV^`ok;qy7n1$7NmB z&!{?{b6$O2)yuSKjjrnDxPAGYs#j`nsY$4MP2J?haw zdihEwH8-E*hvGN!qdh%+eC7)Gr*hd`CTT6Yd3Y)A;l70h9wDkMk0i6n%%x<)V+4~I zt#d0pj@P@)C9~YhBzbCyFR#ojq~bi0UbIq6#*OTI`-%O8HIvNnh?UKy?n-77R%UC2 ziFs>g$y$sg=T;W1j5>k<;*j@vhCIEh@mw;KO{JG)+s!G{+W)VkE`@p^ha z{oP*gK=LLvK*>IvUV=(FD9XFRIFZbz=9ZF)EoB6S-^!vBIOnXpQyEU914{c`n)@== z3^boxxUxK-B^HZGVU(4n1hkz9kMObOyd$XxPLOU|F8`g3DdB-3@XDIPi7WVS>d=;7VihjBw@69hcHa@l`Iq`b=(LZ(%KNyDLd~j!f+Gj zk#vSVG7bO&cLg5ks>aI74kw~!c>_1xvscW>A95d`bKZq8dUtE;M{OuV&K= zG^>T%C^#$*&&@&qteU^*iQi?-A+KT{E~O2cY()6VgUWHMfI`B;Qkh(sC8184JTx{M z0=EUnCk1Opf>>e0(x8J~m;3M-XgB!=s@HP|PzXlmMf^ z*mx`w9zGRyV^9>0ZX+7;1X-!Q4;fDoBfr(h0) z1`L~{X2dt*<`d&)AWRk5F&r@ikQ#=A?O_SDf>U5@bizD4i3ZR)5N_lADO2bH1$_7) z5RwV?N1-n9iH=2J5GBg_@Pz5+zDRh2JQ9kGL0t0ZSV%;`BCpUxO*Kx9@^*tyWMl1VS7<(kK{ z)&jsVigJpeLawwHFia&yO!5tR*l-rZAE=g3l6 z>vBdqGw0#+x!m&cBS*6FOlmoo^<+~E9<(1B3ys{lnw-HlP!S}s|Gl*0$);B_@gxA| zlAfhx?#OEDuGEnf_I#H;%k#@eR3cUTPPKW}0(euzvUUX*K%_LhQxESiqIbf?anBLQ zRgyjU=|gP>6dd2WrqG|oC!-}b3-6$Cqcx0oPsDMr1J`_bOT_}pNS;?#93?R(i7}V( zI{``q-$5pEc5Z3sG2%la& zaf38>xSSKRWT9JHXkMVZ8CvAqu{10w)jdHYbiAXxxpu7guv8;l+&z z8|^+TaLA*?U3!#bw3Il37LsKSIOMliZb!+(4_V3YG*aqw4lQ?sV+Jh_cHjozlWr7A z8DSUc^Eue{3gTd1NGfA-5u6K=vH}@NUgA7~h#WyVh7n0&$B@#Kqn$WXD@n$My?POk zhUU-|$DcC~Hpe~95#m5RD5e&GunKF_EZAt{pEb6L6Uns|wu}=C6va|+p2_s2^`HHR z&^Pn^|IZFvtvO^q_t$?p%lU3AcbXxG@=uJTr(V?*Z zk#5q1E6_73q<6eSSY#K+*9Nq4R;MhmsDCRxs9oxL1oBXpBF=KPl)O_oCS(~=j#Q54 zw$|FQoRn6^nbeTvDnwmDqg7##Md18&1Ub_v0#_h0MJs72^SMN%NFhzqLhr1w#6?iV z!QHW;#4*4nE%c>4>3E1Vr${89$Oy~g8daK|QGrA@n*q%w@GQ)bf~Opt64vHSu!NDs zm!ga;P_ULWR|*!RdEmr&@i@|sR%r5+0a-|n;#iZ`pcdl)(*7hpX{_}9qA2AtWvf@> zi=0>ildz+uG@^Y}!BQ_BDHO4m$V5_pLMNNkTy`=V$xiu==BLbYQc}vUw60RNAfFfF zSlWTI8_jcRXJ`Lomzda~pR#Qf4RGjZN!~DX&4s~Sa?EB0Z*ilmhz{pPHGV_Z{iT@bdD znmDt~Stn@cAkR7I+)1u08`obsL*v*RSz>=e)}S*8k}eJ3IxCyQ@&6-Jy|h+xhefkf zu7|VvcsqqFn8;FNc&~XBwF%ThsGY~TK}7V0(Z;cli=gKm_WVJ#2GPmPs5_eHd-HN=e|2Vie&L{TY0sO42CW3#c2VBF?0RlCX-Y_^!ViX-w>m=H*hDc5xuU`fghbjAB}o-UzYi9n@q~I>P)W(iCgf$3rND*Gdk9;~LH0kV z_)!dy{v-Gy+mgN$0>MP<8MH~hk}HQ)qzTDQ)*;`MPf5NojtIezKIs**=ZH8e*iFU) z`P7FIXN2T5o-`qgNbivJ#hQ>$ZuHJp(P4l}A`ma~8(C^ZpiIEBCVWMlWD8k@;))_a z01XNeC*z*%?a)dqkbg#nXU{@&=@H3~&QOcBAU~ZKo+$W3dVnOPxFAHwW(DsPCdur` zL(xo8=J=st6`Fq(VeXjFmfG=e$p@^M$>Q zTziW5on#GXohjZ4$g_iCk-KTdEv759%CjZ8W);qLh}Kz?H=iFGCX))??ZO6tvAkMq2wx z3W??HQwqH39E-lKqTK?ak%gr+geI-|(rc_CWFboD%#dWE-G2srRz;n@Ym++$`F$JF z63yK}bDM(-Nfn4Qp^ns(xX8Ri(>`yzxEFwsrOQnQ`X+P-!7HLM3%JVYE zzS07-qL22hj+A7_LiEwz`nVYD>_aIg$h-6{pWMaC?^tufdvu;lnDo7H4)Pqwb4HFp zvbeAYMR*qdUL*aW_x)KNf)-NJ{w)lr@c<5Rl zx}v2N*H%{JNm-4!&!$;x!JQ^Map%Ww+>f?L!&C3I4{DF#a`94zN3F98ytix{-VIj8 zs#y(guc%|&@e;HK*2tPzGizZxa4+I6wwtxGJ!~(Y8?c{o*2dbIi*>LAtdkvNhuBT* zFzaG&*3CTZ2MG^b{<#RV>`m;K*?sI+*j4tc?9J@g*!}F+*#qo1a83PhvbVCgu?N|2vA46|X1~MU!5(7o zWbb0{#%&J2%iha=kG+q*pFPZepM8LRkUfG|iF^p}+J2OMnAvO%kF9!)eT01!uVnl~ z_5|K6@+A8>o;3DHxZB`U>?!tX_8GkI;g8v$u&3Fdvd^+VW6!WZXP?6(tv=8Gf_;Jg zC3_b4CjK@18}>!^x41X%@7b5wKd>*ee`H@_|HQt^{+WG^{R{g#`&agF>>KQx?BCh9 z*tgkt*nhC^vj1e?W8Y`bu^+JO?7wh-@C)ok_Cxj~_TTKsxYqwCY#o<$G2CEPg4g$z z;R?bEy;9$%8+w&qt=H(adY!&qugC3Ije3*btheYp^qu-HeYf7K@6q?_`}F-f*W2`V z-KBR_tSqH^dVD?Gtl3lwkMkNF6fFb2{i^hcRwZVLCNY%VOPDFTndY#@uCEbA1 zY9Jtb2Kssjlsp4UuK}eOZuF)28aU=i(%<9Y_xCvX{XNQhKE>bXNYUSuuk|Vm1e9e1 z61)Fcf1m0JDXfs<5>hq{DI10yI%UI<@?l8H9#T?-gb#7`pI>U%J22p_pxM#aBRC)J zIV!XZ`TGS2l!60F!2zY<5b_@rvZ56BLMfsErHF!%e^B)gs{TP?J+v$SLqemFe@Nh> z6dIuv8le;#p%faSRO5%#c%Q=aDLhljXDazZsz0RqLu!0TjyI+ELgq1vZyuBQ<}rzH z9+UVc-pm0ngHGDPJSK6>V-m+yb}*G4Ol1dC*}*&}am`~2cTnnW%6JQzg9>+0;SMU? zL8-SnsPG3BzRY15r|^}XO=V|uQ0i?CO1({GcT?HjRCYI&-A!e8Q`y~Ab~lyX%^`(9 zr0|E7{zD3XNc!0vl72Ra6#kIHSAH{<-%OvR=YzfbA!Q}{lG?^F0b zh3`}NK83I1!c=i#`jq{B%Km!Vf6?fWi+b{D8s_DExrJ4=DVA!Vf5XnKMFWK;Z`zen8;|6n;SA2Nix$ z;Rh9dP~is^eo)~D6@F0R2Nix$;RlueL4_Yw_(6pqRQN%KZz_CK;hPHIRQRUCHx<6A z@J)rU=DDfnxoIkVQ{kHm-&FXf!Z#JZ%%mYxW>S<2UuIGqEBuhcmzfmp3SVYY94q}p z3O}UqLjhc^XW{zbJ8_*!wW=OPJ?k9w(Lt^15eIi#)nX+XFg>%WrNRNOd(Gv0aP418 z9{75T$Z${~!$E;;AXG$#g8~^2h^$J{hL0O23qqgSYD@59ggwf9r2ynD~q+}zeCr_31Vr=QSj&z`o+CoW9c-d6ii zYvH?4al5qh z!nH%p2$*rxE;pyz?2-eq$n8^YuC~^zQ`{aON7KnzE4K%!HW-WXHA!tH>_cc$N8IkA z{vM)yYJ7@AnyVJKjq#~zv~cP(s5U^gf$7%iSS;3Rv#waoWozS8$ylu0F2Tix+%7#} zL9(*I_>^7d^4sMuKlF&%Y`WVnb-N%JPpp;A_&N2E#H~^S`fcmeX5210+=k8ozsj!y zV6CU@0F*pCH9g*HMPgH~SX+$SCnu)R*Gj4>{BFC*R;C8 z&PTm_;P}*Q)7P4Sw0I1)eB5Fg~?Lfed5$ufo3sd$`SoVNM;aiX zQ-OM8&}10$52JOXt6su^Yns;Rf{6pRcFQ$9MMgwJqg%sGzh-pGu5N~< z&!++Z(e2xDlZ@u~U!7iSDDSdYx?0;|rY7jt*wt+}yVn?%EwD3{JKSp}RPJ=Il~TFO zy;er$ZueR_m96fz3M%)w*D9&p>t5SN(*)_Z4;OW|307E0SqvFdT#-CcG!X5kS`fMG=HmebH>4Z0{J zzAOd8u-op*yOy=sM-H!*v1W4$iHscBTWp!l-ACQLU&z}BI%aOp21qhnibw5Q%SR~d zYr$JwgKI}wGb!hV0U+^~W2P}Htif)(-|g9PqT3$$X{3nYILME|CtAw^?%~5U^I^;I z)vLpRL&JzHb|ta{=ONcHfswaP2$PWl%A#6y%EM1! zc_oQeBbXITUVZ>aVRYqJa_Oke(KYQ-o`Hbi;;qF}j-dASJ~Zt>V2 z;0J`cC;%PnQgFF2D?FGbQpO;%1{Q#Pq&oWk^iUk$DlmSQ=p(yPf;r(DY;7y@cUw%! zXp%7;qlQTTHnKd4sPxFIJPeha<>bUx0rRlYV|y_dPrXEY7)h5kHQN24xy@}KLvfm{ zX2PyKgf-Ez(}R4xz=Rc|RCzVggiv`6(NN`1qM^z((NM)A z8b2yCL_?K0(NHBpG*n5t?c;ef&(eW?3!3Ld?N-$0MLePTBo0z;`{q3LMLH1FcZnKN zFNhkEF1qa#dD1015Tt2QBhqD2BhuHp?N{YVGjt$Gv!X_%IZ-3h758J?@T_>X^YVAu zl}Wp#WBjtS=HQVN*w|M^u*+fhBQwjb{PLPs;eU)CD|47?AKk0hmFbnT-lnybi264F z$1Co^bDni=8+xkzAJ>3j0NI5uh}*r?&( eNB8UXWqS4DCm7yFRr+gKID(IrCCas6@P7fcrd<^P diff --git a/NetinaShop.AdminPanel.PWA/wwwroot/css/app.min.css b/NetinaShop.AdminPanel.PWA/wwwroot/css/app.min.css index 4d17956..8cbe524 100644 --- a/NetinaShop.AdminPanel.PWA/wwwroot/css/app.min.css +++ b/NetinaShop.AdminPanel.PWA/wwwroot/css/app.min.css @@ -1104,6 +1104,9 @@ input:checked + .toggle-bg { margin-top: auto; margin-bottom: auto; } +.-mb-3 { + margin-bottom: -0.75rem; +} .-ml-4 { margin-left: -1rem; } @@ -1230,6 +1233,9 @@ input:checked + .toggle-bg { .h-4 { height: 1rem; } +.h-40 { + height: 10rem; +} .h-5 { height: 1.25rem; } @@ -1273,8 +1279,8 @@ input:checked + .toggle-bg { .max-h-\[30rem\] { max-height: 30rem; } -.max-h-\[40rem\] { - max-height: 40rem; +.max-h-\[50rem\] { + max-height: 50rem; } .min-h-\[33rem\] { min-height: 33rem; @@ -1300,6 +1306,9 @@ input:checked + .toggle-bg { .w-4 { width: 1rem; } +.w-40 { + width: 10rem; +} .w-5 { width: 1.25rem; } @@ -1671,6 +1680,9 @@ input:checked + .toggle-bg { .pt-4 { padding-top: 1rem; } +.pt-8 { + padding-top: 2rem; +} .text-center { text-align: center; } @@ -2126,6 +2138,10 @@ code { @media (min-width: 1024px) { + .lg\:h-60 { + height: 15rem; + } + .lg\:h-96 { height: 24rem; } @@ -2142,6 +2158,10 @@ code { max-height: 35rem; } + .lg\:w-60 { + width: 15rem; + } + .lg\:w-96 { width: 24rem; } diff --git a/NetinaShop.AdminPanel.PWA/wwwroot/css/app.output.css b/NetinaShop.AdminPanel.PWA/wwwroot/css/app.output.css index d79945e..42a93db 100644 --- a/NetinaShop.AdminPanel.PWA/wwwroot/css/app.output.css +++ b/NetinaShop.AdminPanel.PWA/wwwroot/css/app.output.css @@ -1298,6 +1298,10 @@ input:checked + .toggle-bg { margin-top: 2rem; } +.-mb-3 { + margin-bottom: -0.75rem; +} + .line-clamp-1 { overflow: hidden; display: -webkit-box; @@ -1402,6 +1406,10 @@ input:checked + .toggle-bg { height: 100vh; } +.h-40 { + height: 10rem; +} + .\!max-h-\[80vh\] { max-height: 80vh !important; } @@ -1414,8 +1422,8 @@ input:checked + .toggle-bg { max-height: 30rem; } -.max-h-\[40rem\] { - max-height: 40rem; +.max-h-\[50rem\] { + max-height: 50rem; } .min-h-\[33rem\] { @@ -1483,6 +1491,10 @@ input:checked + .toggle-bg { width: 100vw; } +.w-40 { + width: 10rem; +} + .flex-1 { flex: 1 1 0%; } @@ -1920,6 +1932,11 @@ input:checked + .toggle-bg { padding-bottom: 2rem; } +.py-5 { + padding-top: 1.25rem; + padding-bottom: 1.25rem; +} + .pt-2 { padding-top: 0.5rem; } @@ -1928,6 +1945,18 @@ input:checked + .toggle-bg { padding-top: 1rem; } +.pl-8 { + padding-left: 2rem; +} + +.pr-8 { + padding-right: 2rem; +} + +.pt-8 { + padding-top: 2rem; +} + .text-center { text-align: center; } @@ -2461,6 +2490,14 @@ code { height: 38rem; } + .lg\:h-80 { + height: 20rem; + } + + .lg\:h-60 { + height: 15rem; + } + .lg\:max-h-\[25rem\] { max-height: 25rem; } @@ -2477,6 +2514,14 @@ code { width: 38rem; } + .lg\:w-80 { + width: 20rem; + } + + .lg\:w-60 { + width: 15rem; + } + .lg\:p-8 { padding: 2rem; } diff --git a/NetinaShop.AdminPanel.PWA/wwwroot/index.html b/NetinaShop.AdminPanel.PWA/wwwroot/index.html index 96ff3e3..1d3471e 100644 --- a/NetinaShop.AdminPanel.PWA/wwwroot/index.html +++ b/NetinaShop.AdminPanel.PWA/wwwroot/index.html @@ -60,7 +60,7 @@ - + +