feat(LookUpSms),refactor(OrderDialog),refactor(OrdersPage)
-Add new look up sms when order status changes ( like : customer-orderDelivery lookup , manager-orderSubmit look up) -Change order dialog style and improve responseive -Change orders page style and improve responsiverelease
parent
fdfe778a7a
commit
173e8e2dc0
|
@ -9,12 +9,12 @@
|
||||||
@inject IJSRuntime JsRuntime
|
@inject IJSRuntime JsRuntime
|
||||||
@inject IConfiguration Configuration
|
@inject IConfiguration Configuration
|
||||||
|
|
||||||
<MudDialog class="w-full">
|
<MudDialog class="w-full overflow-y-scroll p-0">
|
||||||
<DialogContent>
|
<DialogContent>
|
||||||
<MudStack class="max-h-[50rem] mt-4 w-full" Style="overflow-y: scroll">
|
<MudStack class="mt-2 h-full w-full p-0">
|
||||||
<MudGrid class="w-full">
|
|
||||||
|
<MudGrid class="w-full" Spacing="0">
|
||||||
<MudItem xs="12" md="9">
|
<MudItem xs="12" md="9">
|
||||||
<MudStack>
|
|
||||||
|
|
||||||
<MudStack Row="true">
|
<MudStack Row="true">
|
||||||
|
|
||||||
|
@ -91,11 +91,11 @@
|
||||||
</Columns>
|
</Columns>
|
||||||
</MudDataGrid>
|
</MudDataGrid>
|
||||||
|
|
||||||
</MudStack>
|
|
||||||
</MudItem>
|
</MudItem>
|
||||||
|
|
||||||
<MudItem xs="12" md="3">
|
<MudItem xs="12" md="3">
|
||||||
|
|
||||||
|
<MudStack class="sm:mr-3">
|
||||||
<MudText Typo="Typo.h6" class="mb-2"><b>مبــــالغ</b></MudText>
|
<MudText Typo="Typo.h6" class="mb-2"><b>مبــــالغ</b></MudText>
|
||||||
<MudPaper class="bg-[--mud-palette-background-grey] rounded-md">
|
<MudPaper class="bg-[--mud-palette-background-grey] rounded-md">
|
||||||
<MudStack class="p-3">
|
<MudStack class="p-3">
|
||||||
|
@ -180,12 +180,13 @@
|
||||||
|
|
||||||
</MudStack>
|
</MudStack>
|
||||||
</MudPaper>
|
</MudPaper>
|
||||||
|
</MudStack>
|
||||||
</MudItem>
|
</MudItem>
|
||||||
</MudGrid>
|
</MudGrid>
|
||||||
</MudStack>
|
</MudStack>
|
||||||
</DialogContent>
|
</DialogContent>
|
||||||
<DialogActions>
|
<DialogActions>
|
||||||
<MudGrid Row="true" class="bottom-0 mx-4 mb-3 h-fit w-full">
|
<MudGrid class="bottom-0 mx-4 mb-3 h-fit w-full">
|
||||||
|
|
||||||
<MudItem xs="12" sm="6" md="6">
|
<MudItem xs="12" sm="6" md="6">
|
||||||
<BaseButtonUi class="h-12 w-full rounded-md" IsProcessing="@ViewModel.IsProcessing"
|
<BaseButtonUi class="h-12 w-full rounded-md" IsProcessing="@ViewModel.IsProcessing"
|
||||||
|
|
|
@ -5,9 +5,9 @@
|
||||||
@inject IDialogService DialogService
|
@inject IDialogService DialogService
|
||||||
|
|
||||||
|
|
||||||
<MudDialog class="mx-auto">
|
<MudDialog class="mx-auto overflow-y-scroll">
|
||||||
<DialogContent>
|
<DialogContent>
|
||||||
<MudContainer class="h-full">
|
<MudContainer class="h-full p-0">
|
||||||
<MudTabs Outlined="true" Elevation="0" Rounded="true" Centered="true">
|
<MudTabs Outlined="true" Elevation="0" Rounded="true" Centered="true">
|
||||||
<MudTabPanel class="h-full" Text="اطلاعات کلی" Icon="@Icons.Material.Outlined.Info">
|
<MudTabPanel class="h-full" Text="اطلاعات کلی" Icon="@Icons.Material.Outlined.Info">
|
||||||
<div class="h-full">
|
<div class="h-full">
|
||||||
|
@ -18,13 +18,13 @@
|
||||||
</MudStack>
|
</MudStack>
|
||||||
<MudGrid>
|
<MudGrid>
|
||||||
|
|
||||||
<MudItem sm="12" lg="4" md="6">
|
<MudItem xs="12" lg="4" md="6">
|
||||||
<MudTextField @bind-Value="@ViewModel.PageDto.PersianName" T="string" Label="نام فارسی محصول" Variant="Variant.Outlined" />
|
<MudTextField @bind-Value="@ViewModel.PageDto.PersianName" T="string" Label="نام فارسی محصول" Variant="Variant.Outlined" />
|
||||||
</MudItem>
|
</MudItem>
|
||||||
<MudItem sm="12" lg="4" md="6">
|
<MudItem xs="12" lg="4" md="6">
|
||||||
<MudTextField @bind-Value="@ViewModel.PageDto.EnglishName" T="string" Label="نام انگلیسی محصول" Variant="Variant.Outlined" />
|
<MudTextField @bind-Value="@ViewModel.PageDto.EnglishName" T="string" Label="نام انگلیسی محصول" Variant="Variant.Outlined" />
|
||||||
</MudItem>
|
</MudItem>
|
||||||
<MudItem sm="12" lg="4" md="6">
|
<MudItem xs="12" lg="4" md="6">
|
||||||
|
|
||||||
<MudAutocomplete Required="true" ToStringFunc="dto => dto.Name" @bind-Value="@ViewModel.SelectedCategory"
|
<MudAutocomplete Required="true" ToStringFunc="dto => dto.Name" @bind-Value="@ViewModel.SelectedCategory"
|
||||||
SearchFunc="ViewModel.SearchProductCategory"
|
SearchFunc="ViewModel.SearchProductCategory"
|
||||||
|
@ -34,9 +34,9 @@
|
||||||
<ProgressIndicatorInPopoverTemplate>
|
<ProgressIndicatorInPopoverTemplate>
|
||||||
<MudList Clickable="false">
|
<MudList Clickable="false">
|
||||||
<MudListItem>
|
<MudListItem>
|
||||||
<div class="flex flex-row w-full mx-auto">
|
<div class="mx-auto flex w-full flex-row">
|
||||||
<MudProgressCircular class="my-auto mr-1 -ml-4" Size="Size.Small" Indeterminate="true" />
|
<MudProgressCircular class="my-auto -ml-4 mr-1" Size="Size.Small" Indeterminate="true" />
|
||||||
<p class="font-bold my-1 mx-auto text-md">منتظر بمانید</p>
|
<p class="text-md mx-auto my-1 font-bold">منتظر بمانید</p>
|
||||||
</div>
|
</div>
|
||||||
</MudListItem>
|
</MudListItem>
|
||||||
</MudList>
|
</MudList>
|
||||||
|
@ -46,7 +46,7 @@
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</MudAutocomplete>
|
</MudAutocomplete>
|
||||||
</MudItem>
|
</MudItem>
|
||||||
<MudItem sm="12" lg="4" md="6">
|
<MudItem xs="12" lg="4" md="6">
|
||||||
|
|
||||||
<MudAutocomplete Required="true" ToStringFunc="dto => dto.PersianName" @bind-Value="@ViewModel.SelectedBrand"
|
<MudAutocomplete Required="true" ToStringFunc="dto => dto.PersianName" @bind-Value="@ViewModel.SelectedBrand"
|
||||||
SearchFunc="ViewModel.SearchBrand"
|
SearchFunc="ViewModel.SearchBrand"
|
||||||
|
@ -56,9 +56,9 @@
|
||||||
<ProgressIndicatorInPopoverTemplate>
|
<ProgressIndicatorInPopoverTemplate>
|
||||||
<MudList Clickable="false">
|
<MudList Clickable="false">
|
||||||
<MudListItem>
|
<MudListItem>
|
||||||
<div class="flex flex-row w-full mx-auto">
|
<div class="mx-auto flex w-full flex-row">
|
||||||
<MudProgressCircular class="my-auto mr-1 -ml-4" Size="Size.Small" Indeterminate="true" />
|
<MudProgressCircular class="my-auto -ml-4 mr-1" Size="Size.Small" Indeterminate="true" />
|
||||||
<p class="font-bold my-1 mx-auto text-md">منتظر بمانید</p>
|
<p class="text-md mx-auto my-1 font-bold">منتظر بمانید</p>
|
||||||
</div>
|
</div>
|
||||||
</MudListItem>
|
</MudListItem>
|
||||||
</MudList>
|
</MudList>
|
||||||
|
@ -68,39 +68,39 @@
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</MudAutocomplete>
|
</MudAutocomplete>
|
||||||
</MudItem>
|
</MudItem>
|
||||||
<MudItem sm="12" lg="4" md="6">
|
<MudItem xs="12" lg="4" md="6">
|
||||||
<MudTextField @bind-Value="@ViewModel.PageDto.Cost" T="double" Label="قیمت محصول" Adornment="Adornment.End" Format="N0" AdornmentText="ریالــ" Variant="Variant.Outlined" />
|
<MudTextField @bind-Value="@ViewModel.PageDto.Cost" T="double" Label="قیمت محصول" Adornment="Adornment.End" Format="N0" AdornmentText="ریالــ" Variant="Variant.Outlined" />
|
||||||
</MudItem>
|
</MudItem>
|
||||||
<MudItem sm="12" lg="4" md="6">
|
<MudItem xs="12" lg="4" md="6">
|
||||||
<MudTextField @bind-Value="@ViewModel.PageDto.PackingCost" T="double" Label="مبلغ بسته بندی" Format="N0" Adornment="Adornment.End" AdornmentText="ریالــ" Variant="Variant.Outlined" />
|
<MudTextField @bind-Value="@ViewModel.PageDto.PackingCost" T="double" Label="مبلغ بسته بندی" Format="N0" Adornment="Adornment.End" AdornmentText="ریالــ" Variant="Variant.Outlined" />
|
||||||
</MudItem>
|
</MudItem>
|
||||||
<MudItem sm="12" lg="4" md="6">
|
<MudItem xs="12" lg="4" md="6">
|
||||||
<MudTextField @bind-Value="@ViewModel.PageDto.Stock" T="int" Format="N0" Label="موجودی انبار" Variant="Variant.Outlined" />
|
<MudTextField @bind-Value="@ViewModel.PageDto.Stock" T="int" Format="N0" Label="موجودی انبار" Variant="Variant.Outlined" />
|
||||||
</MudItem>
|
</MudItem>
|
||||||
<MudItem sm="12" lg="4" md="6">
|
<MudItem xs="12" lg="4" md="6">
|
||||||
<MudTextField @bind-Value="@ViewModel.PageDto.MaxOrderCount" T="int" Format="N0" Label="بیشترین خرید" Variant="Variant.Outlined" />
|
<MudTextField @bind-Value="@ViewModel.PageDto.MaxOrderCount" T="int" Format="N0" Label="بیشترین خرید" Variant="Variant.Outlined" />
|
||||||
</MudItem>
|
</MudItem>
|
||||||
<MudItem sm="12" lg="4" md="6">
|
<MudItem xs="12" lg="4" md="6">
|
||||||
<MudTextField @bind-Value="@ViewModel.PageDto.Warranty" T="string" Label="گارانتی" Variant="Variant.Outlined" />
|
<MudTextField @bind-Value="@ViewModel.PageDto.Warranty" T="string" Label="گارانتی" Variant="Variant.Outlined" />
|
||||||
</MudItem>
|
</MudItem>
|
||||||
<MudItem sm="12" lg="4" md="6">
|
<MudItem xs="12" lg="4" md="6">
|
||||||
<MudSelect T="bool" @bind-Value="@ViewModel.PageDto.HasExpressDelivery" Label="آیا ارسال سریع دارد ؟" ToStringFunc="b=>b.ToPersianString()" Variant="Variant.Outlined" AnchorOrigin="Origin.BottomCenter">
|
<MudSelect T="bool" @bind-Value="@ViewModel.PageDto.HasExpressDelivery" Label="آیا ارسال سریع دارد ؟" ToStringFunc="b=>b.ToPersianString()" Variant="Variant.Outlined" AnchorOrigin="Origin.BottomCenter">
|
||||||
<MudSelectItem T="bool" Value="true" />
|
<MudSelectItem T="bool" Value="true" />
|
||||||
<MudSelectItem T="bool" Value="false" />
|
<MudSelectItem T="bool" Value="false" />
|
||||||
</MudSelect>
|
</MudSelect>
|
||||||
</MudItem>
|
</MudItem>
|
||||||
<MudItem sm="12" lg="4" md="6">
|
<MudItem xs="12" lg="4" md="6">
|
||||||
<MudSelect T="bool" @bind-Value="@ViewModel.PageDto.BeDisplayed" Label="آیا نمایش داده شود است ؟" ToStringFunc="b=>b.ToPersianString()" Variant="Variant.Outlined" AnchorOrigin="Origin.BottomCenter">
|
<MudSelect T="bool" @bind-Value="@ViewModel.PageDto.BeDisplayed" Label="آیا نمایش داده شود است ؟" ToStringFunc="b=>b.ToPersianString()" Variant="Variant.Outlined" AnchorOrigin="Origin.BottomCenter">
|
||||||
<MudSelectItem T="bool" Value="true" />
|
<MudSelectItem T="bool" Value="true" />
|
||||||
<MudSelectItem T="bool" Value="false" />
|
<MudSelectItem T="bool" Value="false" />
|
||||||
</MudSelect>
|
</MudSelect>
|
||||||
</MudItem>
|
</MudItem>
|
||||||
<MudItem sm="12" lg="12" md="12">
|
<MudItem xs="12" lg="12" md="12">
|
||||||
<MudStack>
|
<MudStack>
|
||||||
<MudTextField @bind-Value="@ViewModel.PageDto.Tags" T="string" Label="تگ ها" HelperText="تگ ها را با , میتوانید جدا کنید" HelperTextOnFocus="true" Variant="Variant.Outlined" />
|
<MudTextField @bind-Value="@ViewModel.PageDto.Tags" T="string" Label="تگ ها" HelperText="تگ ها را با , میتوانید جدا کنید" HelperTextOnFocus="true" Variant="Variant.Outlined" />
|
||||||
</MudStack>
|
</MudStack>
|
||||||
</MudItem>
|
</MudItem>
|
||||||
<MudItem sm="12" lg="12" md="12">
|
<MudItem xs="12" lg="12" md="12">
|
||||||
<MudTextField class="-mt-3" @bind-Value="@ViewModel.PageDto.Summery" T="string" Label="توضیحاتــ" Variant="Variant.Outlined"></MudTextField>
|
<MudTextField class="-mt-3" @bind-Value="@ViewModel.PageDto.Summery" T="string" Label="توضیحاتــ" Variant="Variant.Outlined"></MudTextField>
|
||||||
</MudItem>
|
</MudItem>
|
||||||
</MudGrid>
|
</MudGrid>
|
||||||
|
@ -116,24 +116,25 @@
|
||||||
</MudStack>
|
</MudStack>
|
||||||
<MudGrid>
|
<MudGrid>
|
||||||
|
|
||||||
<MudItem lg="4" md="6">
|
<MudItem xs="12" lg="4" md="6">
|
||||||
<MudTextField @bind-Value="@ViewModel.SpecificationTitle" T="string" Label="عنوان" Variant="Variant.Outlined"></MudTextField>
|
<MudTextField @bind-Value="@ViewModel.SpecificationTitle" T="string" Label="عنوان" Variant="Variant.Outlined"></MudTextField>
|
||||||
</MudItem>
|
</MudItem>
|
||||||
|
|
||||||
<MudItem lg="4" md="6">
|
<MudItem xs="12" lg="4" md="6">
|
||||||
<MudTextField @bind-Value="@ViewModel.SpecificationValue" T="string" Label="مقدار" Variant="Variant.Outlined"></MudTextField>
|
<MudTextField @bind-Value="@ViewModel.SpecificationValue" T="string" Label="مقدار" Variant="Variant.Outlined"></MudTextField>
|
||||||
</MudItem>
|
</MudItem>
|
||||||
|
|
||||||
<MudItem lg="4" md="12">
|
<MudItem xs="12" lg="4" md="12">
|
||||||
<MudButton Variant="Variant.Filled"
|
<MudButton Variant="Variant.Filled"
|
||||||
Size="Size.Large"
|
Size="Size.Large"
|
||||||
|
FullWidth="true"
|
||||||
Color="Color.Info"
|
Color="Color.Info"
|
||||||
class="w-full py-3 mt-2"
|
class="mt-2 w-full py-3"
|
||||||
OnClick="ViewModel.AddSpecification"
|
OnClick="ViewModel.AddSpecification"
|
||||||
StartIcon="@Icons.Material.Outlined.Add">افزودن</MudButton>
|
StartIcon="@Icons.Material.Outlined.Add">افزودن</MudButton>
|
||||||
</MudItem>
|
</MudItem>
|
||||||
|
|
||||||
<MudItem sm="12">
|
<MudItem xs="12">
|
||||||
<MudDataGrid Items="@ViewModel.Specifications" Elevation="0" Outlined="true" Bordered="true" Striped="true" Filterable="false" SortMode="@SortMode.None" Groupable="false">
|
<MudDataGrid Items="@ViewModel.Specifications" Elevation="0" Outlined="true" Bordered="true" Striped="true" Filterable="false" SortMode="@SortMode.None" Groupable="false">
|
||||||
<Columns>
|
<Columns>
|
||||||
<PropertyColumn Property="x => x.Title" Title="عنوان" />
|
<PropertyColumn Property="x => x.Title" Title="عنوان" />
|
||||||
|
@ -176,7 +177,7 @@
|
||||||
<MudTabPanel Text="تـــــصاویر" Icon="@Icons.Material.Outlined.ImageSearch">
|
<MudTabPanel Text="تـــــصاویر" Icon="@Icons.Material.Outlined.ImageSearch">
|
||||||
|
|
||||||
<div class="min-h-[33rem]">
|
<div class="min-h-[33rem]">
|
||||||
<MudStack class="mt-4 mb-2" Spacing="0">
|
<MudStack class="mb-2 mt-4" Spacing="0">
|
||||||
|
|
||||||
<MudText Typo="Typo.h6">تصاویر محصول</MudText>
|
<MudText Typo="Typo.h6">تصاویر محصول</MudText>
|
||||||
<MudText Typo="Typo.caption">می توانید برای محصول چند تصویر اپلود کنید</MudText>
|
<MudText Typo="Typo.caption">می توانید برای محصول چند تصویر اپلود کنید</MudText>
|
||||||
|
@ -185,15 +186,15 @@
|
||||||
<MudIconButton HtmlTag="label"
|
<MudIconButton HtmlTag="label"
|
||||||
Color="Color.Info"
|
Color="Color.Info"
|
||||||
Variant="Variant.Outlined"
|
Variant="Variant.Outlined"
|
||||||
class="w-28 h-28"
|
class="h-28 w-28"
|
||||||
Size="Size.Large"
|
Size="Size.Large"
|
||||||
Icon="@Icons.Material.Outlined.Wallpaper"
|
Icon="@Icons.Material.Outlined.Wallpaper"
|
||||||
OnClick="async () => await ViewModel.SelectFileAsync()">
|
OnClick="async () => await ViewModel.SelectFileAsync()">
|
||||||
</MudIconButton>
|
</MudIconButton>
|
||||||
@foreach (var item in ViewModel.Files)
|
@foreach (var item in ViewModel.Files)
|
||||||
{
|
{
|
||||||
<div class="w-28 h-28">
|
<div class="h-28 w-28">
|
||||||
<MudImage Src="@item.GetLink()" Elevation="25" Class="rounded-lg w-28 h-28 absolute" />
|
<MudImage Src="@item.GetLink()" Elevation="25" Class="absolute h-28 w-28 rounded-lg" />
|
||||||
|
|
||||||
<MudIconButton DisableElevation="true"
|
<MudIconButton DisableElevation="true"
|
||||||
class="absolute m-1.5"
|
class="absolute m-1.5"
|
||||||
|
@ -204,11 +205,11 @@
|
||||||
Icon="@Icons.Material.Outlined.Delete" />
|
Icon="@Icons.Material.Outlined.Delete" />
|
||||||
@if (item.IsHeader)
|
@if (item.IsHeader)
|
||||||
{
|
{
|
||||||
<p class="bg-pink-500 px-1.5 py-0.5 absolute bottom-0 mr-2 rounded-lg text-white">هدر</p>
|
<p class="absolute bottom-0 mr-2 rounded-lg bg-pink-500 px-1.5 py-0.5 text-white">هدر</p>
|
||||||
}
|
}
|
||||||
@if (item.IsPrimary)
|
@if (item.IsPrimary)
|
||||||
{
|
{
|
||||||
<p class="bg-blue-500 px-1.5 py-0.5 absolute bottom-0 mr-2 rounded-lg text-white">اصلی</p>
|
<p class="absolute bottom-0 mr-2 rounded-lg bg-blue-500 px-1.5 py-0.5 text-white">اصلی</p>
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
|
@ -232,7 +233,7 @@
|
||||||
Color="Color.Info" />
|
Color="Color.Info" />
|
||||||
</MudItem>
|
</MudItem>
|
||||||
|
|
||||||
<MudItem md="4">
|
<MudItem xs="12" md="4">
|
||||||
|
|
||||||
<MudSelect Disabled="@ViewModel.IsSpecialOffer.Not()" T="DiscountAmountType" ValueChanged="@ViewModel.AmountTypeChanged" Label="نوع تخفیفـــ" ToStringFunc="b=>b.ToDisplay()" Variant="Variant.Outlined" AnchorOrigin="Origin.BottomCenter">
|
<MudSelect Disabled="@ViewModel.IsSpecialOffer.Not()" T="DiscountAmountType" ValueChanged="@ViewModel.AmountTypeChanged" Label="نوع تخفیفـــ" ToStringFunc="b=>b.ToDisplay()" Variant="Variant.Outlined" AnchorOrigin="Origin.BottomCenter">
|
||||||
<MudSelectItem T="DiscountAmountType" Value="DiscountAmountType.Percent" />
|
<MudSelectItem T="DiscountAmountType" Value="DiscountAmountType.Percent" />
|
||||||
|
@ -240,20 +241,20 @@
|
||||||
</MudSelect>
|
</MudSelect>
|
||||||
</MudItem>
|
</MudItem>
|
||||||
|
|
||||||
<MudItem md="4">
|
<MudItem xs="12" md="4">
|
||||||
<MudTextField Disabled="@ViewModel.IsPercentType.Not()" @bind-Value="@ViewModel.Discount.DiscountPercent" Format="N0" T="int" Label="درصد تخفیف" Variant="Variant.Outlined" />
|
<MudTextField Disabled="@ViewModel.IsPercentType.Not()" @bind-Value="@ViewModel.Discount.DiscountPercent" Format="N0" T="int" Label="درصد تخفیف" Variant="Variant.Outlined" />
|
||||||
</MudItem>
|
</MudItem>
|
||||||
|
|
||||||
<MudItem md="4">
|
<MudItem xs="12" md="4">
|
||||||
<MudTextField Disabled="@ViewModel.IsAmountType.Not()" @bind-Value="@ViewModel.Discount.DiscountAmount" Format="N0" T="long" Label="مبلغ تخفیفــ" Adornment="Adornment.End" AdornmentText="ریالــ" Variant="Variant.Outlined" />
|
<MudTextField Disabled="@ViewModel.IsAmountType.Not()" @bind-Value="@ViewModel.Discount.DiscountAmount" Format="N0" T="long" Label="مبلغ تخفیفــ" Adornment="Adornment.End" AdornmentText="ریالــ" Variant="Variant.Outlined" />
|
||||||
</MudItem>
|
</MudItem>
|
||||||
|
|
||||||
|
|
||||||
<MudItem sm="6">
|
<MudItem xs="12" sm="6">
|
||||||
<MudDatePicker Disabled="@ViewModel.IsSpecialOffer.Not()" @bind-Date="@ViewModel.StartDate" UseShortNames="false" TitleDateFormat="dddd, dd MMMM" Label="تاریخ شروع تخفیفــ" Variant="Variant.Outlined" Culture="@PersianCultureInfo.GetPersianCulture()" />
|
<MudDatePicker Disabled="@ViewModel.IsSpecialOffer.Not()" @bind-Date="@ViewModel.StartDate" UseShortNames="false" TitleDateFormat="dddd, dd MMMM" Label="تاریخ شروع تخفیفــ" Variant="Variant.Outlined" Culture="@PersianCultureInfo.GetPersianCulture()" />
|
||||||
|
|
||||||
</MudItem>
|
</MudItem>
|
||||||
<MudItem sm="6">
|
<MudItem xs="12" sm="6">
|
||||||
<MudDatePicker Disabled="@ViewModel.IsSpecialOffer.Not()" @bind-Date="@ViewModel.ExpireDate" UseShortNames="false" TitleDateFormat="dddd, dd MMMM" Label="تاریخ پایان تخفیفــ" Variant="Variant.Outlined" Culture="@PersianCultureInfo.GetPersianCulture()" />
|
<MudDatePicker Disabled="@ViewModel.IsSpecialOffer.Not()" @bind-Date="@ViewModel.ExpireDate" UseShortNames="false" TitleDateFormat="dddd, dd MMMM" Label="تاریخ پایان تخفیفــ" Variant="Variant.Outlined" Culture="@PersianCultureInfo.GetPersianCulture()" />
|
||||||
|
|
||||||
</MudItem>
|
</MudItem>
|
||||||
|
@ -266,18 +267,18 @@
|
||||||
</MudContainer>
|
</MudContainer>
|
||||||
</DialogContent>
|
</DialogContent>
|
||||||
<DialogActions>
|
<DialogActions>
|
||||||
<MudStack Row="true" class="w-full h-fit mx-4 mb-3 bottom-0">
|
<MudStack Row="true" class="bottom-0 mx-4 mb-3 h-fit w-full">
|
||||||
|
|
||||||
@if (ViewModel.IsEditing)
|
@if (ViewModel.IsEditing)
|
||||||
{
|
{
|
||||||
<BaseButtonUi class="w-64 rounded-md" IsProcessing="@ViewModel.IsProcessing"
|
<BaseButtonUi class="w-52 rounded-md sm:w-64" IsProcessing="@ViewModel.IsProcessing"
|
||||||
Icon="@Icons.Material.Outlined.Check"
|
Icon="@Icons.Material.Outlined.Check"
|
||||||
Variant="Variant.Filled" Color="Color.Success"
|
Variant="Variant.Filled" Color="Color.Success"
|
||||||
Content="ثبت ویرایش" OnClickCallback="async()=>await ViewModel.SubmitEditAsync()" />
|
Content="ثبت ویرایش" OnClickCallback="async()=>await ViewModel.SubmitEditAsync()" />
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
<BaseButtonUi class="w-64 rounded-md" IsProcessing="@ViewModel.IsProcessing"
|
<BaseButtonUi class="w-52 rounded-md sm:w-64" IsProcessing="@ViewModel.IsProcessing"
|
||||||
Icon="@Icons.Material.Outlined.Check"
|
Icon="@Icons.Material.Outlined.Check"
|
||||||
Variant="Variant.Filled" Color="Color.Success"
|
Variant="Variant.Filled" Color="Color.Success"
|
||||||
Content="تایید" OnClickCallback="ViewModel.SubmitCreateAsync" />
|
Content="تایید" OnClickCallback="ViewModel.SubmitCreateAsync" />
|
||||||
|
|
|
@ -6,9 +6,9 @@
|
||||||
@inject ISnackbar Snackbar
|
@inject ISnackbar Snackbar
|
||||||
@inject IUserUtility UserUtility
|
@inject IUserUtility UserUtility
|
||||||
@inject IRestWrapper RestWrapper
|
@inject IRestWrapper RestWrapper
|
||||||
|
@inject IBrowserViewportService BrowserViewportService
|
||||||
|
|
||||||
|
<MudStack class="bg-[--mud-palette-background-grey] h-screen w-full overflow-x-hidden overflow-y-scroll md:p-5 lg:px-8">
|
||||||
<MudStack class="bg-[--mud-palette-background-grey] h-screen w-full overflow-x-hidden overflow-y-scroll px-3 md:p-5 lg:px-8">
|
|
||||||
|
|
||||||
<MudHidden Breakpoint="Breakpoint.Xs">
|
<MudHidden Breakpoint="Breakpoint.Xs">
|
||||||
<MudGrid>
|
<MudGrid>
|
||||||
|
@ -85,7 +85,7 @@
|
||||||
Clearable="true"
|
Clearable="true"
|
||||||
AdornmentIcon="@Icons.Material.Filled.Search"
|
AdornmentIcon="@Icons.Material.Filled.Search"
|
||||||
IconSize="Size.Medium"
|
IconSize="Size.Medium"
|
||||||
class="my-auto"
|
class="mx-2 my-auto"
|
||||||
@bind-Value="@ViewModel.FactorCodeSearch"
|
@bind-Value="@ViewModel.FactorCodeSearch"
|
||||||
OnAdornmentClick="@ViewModel.SearchAsync"></MudTextField>
|
OnAdornmentClick="@ViewModel.SearchAsync"></MudTextField>
|
||||||
</MudItem>
|
</MudItem>
|
||||||
|
@ -94,7 +94,7 @@
|
||||||
Value="@ViewModel.OrderStatusSearch"
|
Value="@ViewModel.OrderStatusSearch"
|
||||||
SearchFunc="@ViewModel.OrderStatusSearchAsync"
|
SearchFunc="@ViewModel.OrderStatusSearchAsync"
|
||||||
T="FilterOptionDto<OrderStatus>"
|
T="FilterOptionDto<OrderStatus>"
|
||||||
class="-mt-0.5"
|
class="-mt-0.5 mx-2"
|
||||||
OnClearButtonClick="async () => await ViewModel.SearchByOrderStatusAsync(null)"
|
OnClearButtonClick="async () => await ViewModel.SearchByOrderStatusAsync(null)"
|
||||||
Clearable="true"
|
Clearable="true"
|
||||||
Label="وظعیت سفارش">
|
Label="وظعیت سفارش">
|
||||||
|
@ -238,7 +238,7 @@
|
||||||
public OrdersPageViewModel ViewModel { get; set; }
|
public OrdersPageViewModel ViewModel { get; set; }
|
||||||
protected override async Task OnInitializedAsync()
|
protected override async Task OnInitializedAsync()
|
||||||
{
|
{
|
||||||
ViewModel = new OrdersPageViewModel(NavigationManager, Snackbar, UserUtility, RestWrapper, DialogService);
|
ViewModel = new OrdersPageViewModel(NavigationManager, Snackbar, UserUtility, RestWrapper, DialogService, BrowserViewportService);
|
||||||
await ViewModel.InitializeAsync();
|
await ViewModel.InitializeAsync();
|
||||||
await base.OnInitializedAsync();
|
await base.OnInitializedAsync();
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,7 @@ public class OrdersPageViewModel : BaseViewModel<OrderDashboardDto>
|
||||||
private readonly ISnackbar _snackbar;
|
private readonly ISnackbar _snackbar;
|
||||||
private readonly IUserUtility _userUtility;
|
private readonly IUserUtility _userUtility;
|
||||||
private readonly IDialogService _dialogService;
|
private readonly IDialogService _dialogService;
|
||||||
|
private readonly IBrowserViewportService _browserViewportService;
|
||||||
private readonly IRestWrapper _restWrapper;
|
private readonly IRestWrapper _restWrapper;
|
||||||
|
|
||||||
public string Search = string.Empty;
|
public string Search = string.Empty;
|
||||||
|
@ -18,13 +19,15 @@ public class OrdersPageViewModel : BaseViewModel<OrderDashboardDto>
|
||||||
ISnackbar snackbar,
|
ISnackbar snackbar,
|
||||||
IUserUtility userUtility,
|
IUserUtility userUtility,
|
||||||
IRestWrapper restWrapper,
|
IRestWrapper restWrapper,
|
||||||
IDialogService dialogService) : base(userUtility)
|
IDialogService dialogService,
|
||||||
|
IBrowserViewportService browserViewportService) : base(userUtility)
|
||||||
{
|
{
|
||||||
_navigationManager = navigationManager;
|
_navigationManager = navigationManager;
|
||||||
_snackbar = snackbar;
|
_snackbar = snackbar;
|
||||||
_userUtility = userUtility;
|
_userUtility = userUtility;
|
||||||
_restWrapper = restWrapper;
|
_restWrapper = restWrapper;
|
||||||
_dialogService = dialogService;
|
_dialogService = dialogService;
|
||||||
|
_browserViewportService = browserViewportService;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override async Task InitializeAsync()
|
public override async Task InitializeAsync()
|
||||||
|
@ -109,6 +112,11 @@ public class OrdersPageViewModel : BaseViewModel<OrderDashboardDto>
|
||||||
public async Task ShowClicked(OrderSDto order)
|
public async Task ShowClicked(OrderSDto order)
|
||||||
{
|
{
|
||||||
DialogOptions maxWidth = new DialogOptions() { MaxWidth = MaxWidth.False, NoHeader = true, FullWidth = true, DisableBackdropClick = true };
|
DialogOptions maxWidth = new DialogOptions() { MaxWidth = MaxWidth.False, NoHeader = true, FullWidth = true, DisableBackdropClick = true };
|
||||||
|
|
||||||
|
var breakPoint = await _browserViewportService.GetCurrentBreakpointAsync();
|
||||||
|
if (breakPoint == Breakpoint.Xs)
|
||||||
|
maxWidth = new DialogOptions { FullScreen = true, CloseButton = true };
|
||||||
|
|
||||||
var parameters = new DialogParameters<OrderActionDialogBox>();
|
var parameters = new DialogParameters<OrderActionDialogBox>();
|
||||||
parameters.Add(x => x.Order, order);
|
parameters.Add(x => x.Order, order);
|
||||||
var dialogResult = await _dialogService.ShowAsync<OrderActionDialogBox>($" سفارش {order.FactorCode}", parameters, maxWidth);
|
var dialogResult = await _dialogService.ShowAsync<OrderActionDialogBox>($" سفارش {order.FactorCode}", parameters, maxWidth);
|
||||||
|
|
|
@ -6,8 +6,9 @@
|
||||||
@inject ISnackbar Snackbar
|
@inject ISnackbar Snackbar
|
||||||
@inject IUserUtility UserUtility
|
@inject IUserUtility UserUtility
|
||||||
@inject IRestWrapper RestWrapper
|
@inject IRestWrapper RestWrapper
|
||||||
|
@inject IBrowserViewportService BrowserViewportService
|
||||||
|
|
||||||
<MudStack class="w-full p-8 h-screen bg-[--mud-palette-background-grey]">
|
<MudStack class="bg-[--mud-palette-background-grey] h-screen w-full p-8">
|
||||||
<MudGrid>
|
<MudGrid>
|
||||||
<MudItem xs="12">
|
<MudItem xs="12">
|
||||||
<MudGrid Row="true" class="mb-5">
|
<MudGrid Row="true" class="mb-5">
|
||||||
|
@ -23,13 +24,13 @@
|
||||||
StartIcon="@Icons.Material.Outlined.Add"
|
StartIcon="@Icons.Material.Outlined.Add"
|
||||||
Color="Color.Secondary"
|
Color="Color.Secondary"
|
||||||
OnClick="@ViewModel.AddProductClicked"
|
OnClick="@ViewModel.AddProductClicked"
|
||||||
class="md:my-auto w-full md:w-auto">افزودن محصول</MudButton>
|
class="w-full md:my-auto md:w-auto">افزودن محصول</MudButton>
|
||||||
<MudButton Variant="Variant.Filled"
|
<MudButton Variant="Variant.Filled"
|
||||||
DisableElevation="true"
|
DisableElevation="true"
|
||||||
StartIcon="@Icons.Material.Outlined.Add"
|
StartIcon="@Icons.Material.Outlined.Add"
|
||||||
Color="Color.Error"
|
Color="Color.Error"
|
||||||
OnClick="@ViewModel.AddDigikalaProductClicked"
|
OnClick="@ViewModel.AddDigikalaProductClicked"
|
||||||
class="md:my-auto w-full md:w-auto">افزودن محصول از دیجیکالا</MudButton>
|
class="w-full md:my-auto md:w-auto">افزودن محصول از دیجیکالا</MudButton>
|
||||||
</MudItem>
|
</MudItem>
|
||||||
</MudGrid>
|
</MudGrid>
|
||||||
<MudHidden Breakpoint="Breakpoint.SmAndUp">
|
<MudHidden Breakpoint="Breakpoint.SmAndUp">
|
||||||
|
@ -54,9 +55,9 @@
|
||||||
<ProgressIndicatorInPopoverTemplate>
|
<ProgressIndicatorInPopoverTemplate>
|
||||||
<MudList Clickable="false">
|
<MudList Clickable="false">
|
||||||
<MudListItem>
|
<MudListItem>
|
||||||
<div class="flex flex-row w-full mx-auto">
|
<div class="mx-auto flex w-full flex-row">
|
||||||
<MudProgressCircular class="my-auto mr-1 -ml-4" Size="Size.Small" Indeterminate="true" />
|
<MudProgressCircular class="my-auto -ml-4 mr-1" Size="Size.Small" Indeterminate="true" />
|
||||||
<p class="font-bold my-1 mx-auto text-md">منتظر بمانید</p>
|
<p class="text-md mx-auto my-1 font-bold">منتظر بمانید</p>
|
||||||
</div>
|
</div>
|
||||||
</MudListItem>
|
</MudListItem>
|
||||||
</MudList>
|
</MudList>
|
||||||
|
@ -77,7 +78,7 @@
|
||||||
SortMode="@SortMode.None" Groupable="false">
|
SortMode="@SortMode.None" Groupable="false">
|
||||||
|
|
||||||
<ToolBarContent>
|
<ToolBarContent>
|
||||||
<MudGrid class="md:visible collapse">
|
<MudGrid class="collapse md:visible">
|
||||||
|
|
||||||
<MudItem xs="12" sm="6">
|
<MudItem xs="12" sm="6">
|
||||||
<MudTextField T="string" Placeholder="جست جو بر اساس نام" Adornment="Adornment.Start" Immediate="true"
|
<MudTextField T="string" Placeholder="جست جو بر اساس نام" Adornment="Adornment.Start" Immediate="true"
|
||||||
|
@ -98,9 +99,9 @@
|
||||||
<ProgressIndicatorInPopoverTemplate>
|
<ProgressIndicatorInPopoverTemplate>
|
||||||
<MudList Clickable="false">
|
<MudList Clickable="false">
|
||||||
<MudListItem>
|
<MudListItem>
|
||||||
<div class="flex flex-row w-full mx-auto">
|
<div class="mx-auto flex w-full flex-row">
|
||||||
<MudProgressCircular class="my-auto mr-1 -ml-4" Size="Size.Small" Indeterminate="true" />
|
<MudProgressCircular class="my-auto -ml-4 mr-1" Size="Size.Small" Indeterminate="true" />
|
||||||
<p class="font-bold my-1 mx-auto text-md">منتظر بمانید</p>
|
<p class="text-md mx-auto my-1 font-bold">منتظر بمانید</p>
|
||||||
</div>
|
</div>
|
||||||
</MudListItem>
|
</MudListItem>
|
||||||
</MudList>
|
</MudList>
|
||||||
|
@ -161,7 +162,7 @@
|
||||||
<MudStack Row="true" class="w-full">
|
<MudStack Row="true" class="w-full">
|
||||||
|
|
||||||
<MudPagination Rectangular="true" Variant="Variant.Filled" Count="@ViewModel.PageCount"
|
<MudPagination Rectangular="true" Variant="Variant.Filled" Count="@ViewModel.PageCount"
|
||||||
SelectedChanged="@ViewModel.ChangePageAsync" class="my-4 mx-auto"/>
|
SelectedChanged="@ViewModel.ChangePageAsync" class="mx-auto my-4"/>
|
||||||
</MudStack>
|
</MudStack>
|
||||||
|
|
||||||
</PagerContent>
|
</PagerContent>
|
||||||
|
@ -176,7 +177,7 @@
|
||||||
public ProductsPageViewModel ViewModel { get; set; }
|
public ProductsPageViewModel ViewModel { get; set; }
|
||||||
protected override async Task OnInitializedAsync()
|
protected override async Task OnInitializedAsync()
|
||||||
{
|
{
|
||||||
ViewModel = new ProductsPageViewModel(NavigationManager, Snackbar, UserUtility, RestWrapper, DialogService);
|
ViewModel = new ProductsPageViewModel(NavigationManager, Snackbar, UserUtility, RestWrapper, DialogService, BrowserViewportService);
|
||||||
await ViewModel.InitializeAsync();
|
await ViewModel.InitializeAsync();
|
||||||
await base.OnInitializedAsync();
|
await base.OnInitializedAsync();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
namespace Netina.AdminPanel.PWA.Pages;
|
using MudBlazor.Services;
|
||||||
|
|
||||||
|
namespace Netina.AdminPanel.PWA.Pages;
|
||||||
|
|
||||||
public class ProductsPageViewModel : BaseViewModel<ObservableCollection<ProductSDto>>
|
public class ProductsPageViewModel : BaseViewModel<ObservableCollection<ProductSDto>>
|
||||||
{
|
{
|
||||||
|
@ -6,6 +8,7 @@ public class ProductsPageViewModel : BaseViewModel<ObservableCollection<ProductS
|
||||||
private readonly ISnackbar _snackbar;
|
private readonly ISnackbar _snackbar;
|
||||||
private readonly IUserUtility _userUtility;
|
private readonly IUserUtility _userUtility;
|
||||||
private readonly IDialogService _dialogService;
|
private readonly IDialogService _dialogService;
|
||||||
|
private readonly IBrowserViewportService _browserViewportService;
|
||||||
private readonly IRestWrapper _restWrapper;
|
private readonly IRestWrapper _restWrapper;
|
||||||
|
|
||||||
public string Search = string.Empty;
|
public string Search = string.Empty;
|
||||||
|
@ -17,13 +20,15 @@ public class ProductsPageViewModel : BaseViewModel<ObservableCollection<ProductS
|
||||||
ISnackbar snackbar,
|
ISnackbar snackbar,
|
||||||
IUserUtility userUtility,
|
IUserUtility userUtility,
|
||||||
IRestWrapper restWrapper,
|
IRestWrapper restWrapper,
|
||||||
IDialogService dialogService) : base(userUtility)
|
IDialogService dialogService,
|
||||||
|
IBrowserViewportService browserViewportService) : base(userUtility)
|
||||||
{
|
{
|
||||||
_navigationManager = navigationManager;
|
_navigationManager = navigationManager;
|
||||||
_snackbar = snackbar;
|
_snackbar = snackbar;
|
||||||
_userUtility = userUtility;
|
_userUtility = userUtility;
|
||||||
_restWrapper = restWrapper;
|
_restWrapper = restWrapper;
|
||||||
_dialogService = dialogService;
|
_dialogService = dialogService;
|
||||||
|
_browserViewportService = browserViewportService;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override async Task InitializeAsync()
|
public override async Task InitializeAsync()
|
||||||
|
@ -106,6 +111,9 @@ public class ProductsPageViewModel : BaseViewModel<ObservableCollection<ProductS
|
||||||
public async Task AddProductClicked()
|
public async Task AddProductClicked()
|
||||||
{
|
{
|
||||||
DialogOptions maxWidth = new DialogOptions() { MaxWidth = MaxWidth.Large, FullWidth = true, DisableBackdropClick = true };
|
DialogOptions maxWidth = new DialogOptions() { MaxWidth = MaxWidth.Large, FullWidth = true, DisableBackdropClick = true };
|
||||||
|
var breakPoint = await _browserViewportService.GetCurrentBreakpointAsync();
|
||||||
|
if (breakPoint == Breakpoint.Xs)
|
||||||
|
maxWidth = new DialogOptions { FullScreen = true , CloseButton = true};
|
||||||
var dialogResult = await _dialogService.ShowAsync<ProductActionDialogBox>("افزودن محصول جدید", maxWidth);
|
var dialogResult = await _dialogService.ShowAsync<ProductActionDialogBox>("افزودن محصول جدید", maxWidth);
|
||||||
var result = await dialogResult.Result;
|
var result = await dialogResult.Result;
|
||||||
if (!result.Canceled && result.Data is bool and true)
|
if (!result.Canceled && result.Data is bool and true)
|
||||||
|
|
|
@ -19,3 +19,4 @@
|
||||||
@using Netina.Domain.Entities.Users
|
@using Netina.Domain.Entities.Users
|
||||||
@using Netina.AdminPanel.PWA.Components.Originals
|
@using Netina.AdminPanel.PWA.Components.Originals
|
||||||
@using Netina.Domain.Models.Claims
|
@using Netina.Domain.Models.Claims
|
||||||
|
@using MudBlazor.Services
|
|
@ -1298,9 +1298,6 @@ input:checked + .toggle-bg {
|
||||||
.max-h-\[30rem\] {
|
.max-h-\[30rem\] {
|
||||||
max-height: 30rem;
|
max-height: 30rem;
|
||||||
}
|
}
|
||||||
.max-h-\[50rem\] {
|
|
||||||
max-height: 50rem;
|
|
||||||
}
|
|
||||||
.max-h-\[60vh\] {
|
.max-h-\[60vh\] {
|
||||||
max-height: 60vh;
|
max-height: 60vh;
|
||||||
}
|
}
|
||||||
|
@ -2223,10 +2220,18 @@ code {
|
||||||
|
|
||||||
@media (min-width: 640px) {
|
@media (min-width: 640px) {
|
||||||
|
|
||||||
|
.sm\:mr-3 {
|
||||||
|
margin-right: 0.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
.sm\:mt-6 {
|
.sm\:mt-6 {
|
||||||
margin-top: 1.5rem;
|
margin-top: 1.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.sm\:w-64 {
|
||||||
|
width: 16rem;
|
||||||
|
}
|
||||||
|
|
||||||
.sm\:py-3 {
|
.sm\:py-3 {
|
||||||
padding-top: 0.75rem;
|
padding-top: 0.75rem;
|
||||||
padding-bottom: 0.75rem;
|
padding-bottom: 0.75rem;
|
||||||
|
|
|
@ -1443,10 +1443,6 @@ input:checked + .toggle-bg {
|
||||||
max-height: 30rem;
|
max-height: 30rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.max-h-\[50rem\] {
|
|
||||||
max-height: 50rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.max-h-\[60vh\] {
|
.max-h-\[60vh\] {
|
||||||
max-height: 60vh;
|
max-height: 60vh;
|
||||||
}
|
}
|
||||||
|
@ -1987,10 +1983,6 @@ input:checked + .toggle-bg {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.text-justify {
|
|
||||||
text-align: justify;
|
|
||||||
}
|
|
||||||
|
|
||||||
.align-bottom {
|
.align-bottom {
|
||||||
vertical-align: bottom;
|
vertical-align: bottom;
|
||||||
}
|
}
|
||||||
|
@ -2049,11 +2041,6 @@ input:checked + .toggle-bg {
|
||||||
color: rgb(217 119 6 / var(--tw-text-opacity));
|
color: rgb(217 119 6 / var(--tw-text-opacity));
|
||||||
}
|
}
|
||||||
|
|
||||||
.text-blue-500 {
|
|
||||||
--tw-text-opacity: 1;
|
|
||||||
color: rgb(63 131 248 / var(--tw-text-opacity));
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-blue-600 {
|
.text-blue-600 {
|
||||||
--tw-text-opacity: 1;
|
--tw-text-opacity: 1;
|
||||||
color: rgb(28 100 242 / var(--tw-text-opacity));
|
color: rgb(28 100 242 / var(--tw-text-opacity));
|
||||||
|
@ -2571,10 +2558,18 @@ code {
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (min-width: 640px) {
|
@media (min-width: 640px) {
|
||||||
|
.sm\:mr-3 {
|
||||||
|
margin-right: 0.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
.sm\:mt-6 {
|
.sm\:mt-6 {
|
||||||
margin-top: 1.5rem;
|
margin-top: 1.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.sm\:w-64 {
|
||||||
|
width: 16rem;
|
||||||
|
}
|
||||||
|
|
||||||
.sm\:py-3 {
|
.sm\:py-3 {
|
||||||
padding-top: 0.75rem;
|
padding-top: 0.75rem;
|
||||||
padding-bottom: 0.75rem;
|
padding-bottom: 0.75rem;
|
||||||
|
|
Loading…
Reference in New Issue