140 lines
6.2 KiB
Plaintext
140 lines
6.2 KiB
Plaintext
@inject NavigationManager NavigationManager
|
||
@inject IRestWrapper RestWrapper
|
||
@inject IUserUtility UserUtility
|
||
@inject ISnackbar Snackbar
|
||
|
||
<MudStack class="bg-[--mud-palette-background] h-screen w-full pt-4">
|
||
|
||
<MudNavMenu Rounded="true" Margin="Margin.Dense" Color="Color.Warning" Bordered="true">
|
||
<MudNavLink Href="home" Match="NavLinkMatch.Prefix" Icon="@Icons.Material.Filled.Dashboard">داشبورد</MudNavLink>
|
||
@if (isShop)
|
||
{
|
||
<MudNavLink Href="orders" Icon="@Icons.Material.Outlined.ShoppingBag">فروش</MudNavLink>
|
||
}
|
||
@if (isShop)
|
||
{
|
||
<MudNavGroup Title="محصولاتــ" Expanded="false"
|
||
Icon="@Icons.Material.Outlined.CenterFocusStrong">
|
||
|
||
<MudNavLink Href="products"
|
||
Icon="@Icons.Material.Outlined.CenterFocusStrong">محصولاتــ فروشگاه</MudNavLink>
|
||
<MudNavLink Href="product/categories"
|
||
Icon="@Icons.Material.Outlined.AllInbox">دسته بندی محصولاتـــ</MudNavLink>
|
||
<MudNavLink Href="product/brands"
|
||
Icon="@Icons.Custom.Brands.Facebook">برند محصولاتــــ</MudNavLink>
|
||
|
||
<MudNavLink Href="product/shipping"
|
||
Icon="@Icons.Material.Outlined.AirportShuttle">روش های ارسال</MudNavLink>
|
||
</MudNavGroup>
|
||
}
|
||
|
||
<MudNavGroup Title="وبلاگــــ" Expanded="false"
|
||
Icon="@Icons.Material.Outlined.Web">
|
||
|
||
<MudNavLink Href="blogs"
|
||
Icon="@Icons.Material.Outlined.WebStories">بلاگـــ ها</MudNavLink>
|
||
<MudNavLink Href="blog/categories"
|
||
Icon="@Icons.Material.Outlined.WebAsset">دسته بندی های بلاگـــ</MudNavLink>
|
||
</MudNavGroup>
|
||
|
||
<MudNavGroup Title="مدیریت برگه ها" Expanded="false"
|
||
Icon="@Icons.Material.Outlined.Pages">
|
||
<MudNavLink Href="management/pages" Icon="@Icons.Material.Filled.Pageview">برگه ها</MudNavLink>
|
||
<MudNavLink Href="setting/faq" Icon="@Icons.Material.Filled.ManageAccounts">سوالات متداول</MudNavLink>
|
||
</MudNavGroup>
|
||
|
||
<MudNavGroup Title="شخصی سازی" Expanded="false" Icon="@Icons.Material.Filled.SettingsSystemDaydream">
|
||
<MudNavLink Href="personaliztion/main" Icon="@Icons.Material.Filled.SettingsBrightness">کاتالوگ و بنرها</MudNavLink>
|
||
</MudNavGroup>
|
||
|
||
@if (isShop)
|
||
{
|
||
<MudNavGroup Title="حسابداری" Expanded="false"
|
||
Icon="@Icons.Material.Outlined.BusinessCenter">
|
||
|
||
<MudNavLink Href="discounts"
|
||
Icon="@Icons.Material.Outlined.LocalOffer">تخفیفـــ ها</MudNavLink>
|
||
<MudNavLink Href="payments"
|
||
Icon="@Icons.Material.Outlined.AccountBalance">پرداختـــ ها</MudNavLink>
|
||
</MudNavGroup>
|
||
}
|
||
|
||
@if (isShop)
|
||
{
|
||
<MudNavGroup Title="باشگاه مشتریانـــ" Expanded="false"
|
||
Icon="@Icons.Material.Outlined.AccountBalance">
|
||
|
||
<MudNavLink Href="customers"
|
||
Icon="@Icons.Material.Outlined.PeopleAlt">مشترکین</MudNavLink>
|
||
<MudNavLink Href="newsletler"
|
||
Icon="@Icons.Material.Outlined.Newspaper">خبرنامه</MudNavLink>
|
||
</MudNavGroup>
|
||
}
|
||
@if (isShop)
|
||
{
|
||
<MudNavGroup Title="فروشگاه من" Expanded="false" Icon="@Icons.Material.Outlined.Settings">
|
||
<MudNavLink Href="management/shop" Icon="@Icons.Material.Filled.Shop2">فروشگاه</MudNavLink>
|
||
<MudNavLink Href="management/marketer" Icon="@Icons.Material.Filled.Person4">بازاریاب ها</MudNavLink>
|
||
<MudNavLink Href="personalization/nav" Icon="@Icons.Material.Filled.MenuOpen">فهرست ها</MudNavLink>
|
||
</MudNavGroup>
|
||
}
|
||
else
|
||
{
|
||
|
||
<MudNavGroup Title="وب سایتــ من" Expanded="false" Icon="@Icons.Material.Outlined.Settings">
|
||
<MudNavLink Href="management/shop" Icon="@Icons.Material.Filled.Shop2">وب سایتــ</MudNavLink>
|
||
</MudNavGroup>
|
||
}
|
||
|
||
<MudNavGroup Title="تنظیماتـــ" Expanded="false" Icon="@Icons.Material.Outlined.Settings">
|
||
<MudNavLink Href="setting/users" Icon="@Icons.Material.Filled.ManageAccounts">نقش ها و کاربران</MudNavLink>
|
||
</MudNavGroup>
|
||
</MudNavMenu>
|
||
<p class="bottom-0 mx-auto align-bottom">Version : @version</p>
|
||
</MudStack>
|
||
|
||
@code
|
||
{
|
||
private bool isShop = true;
|
||
private List<string> _permissions;
|
||
protected override async Task OnInitializedAsync()
|
||
{
|
||
try
|
||
{
|
||
try
|
||
{
|
||
_permissions = await UserUtility.GetPermissionsAsync() ?? new List<string>();
|
||
var token = await UserUtility.GetBearerTokenAsync();
|
||
if (token == null)
|
||
{
|
||
await UserUtility.LogoutAsync();
|
||
NavigationManager.NavigateTo("login", true, true);
|
||
return;
|
||
}
|
||
|
||
var rest = await RestWrapper.SettingRestApi.GetSettingAsync<NetinaSetting>(nameof(NetinaSetting), token);
|
||
if (rest.WebSiteType == 0)
|
||
isShop = true;
|
||
else
|
||
isShop = false;
|
||
}
|
||
catch (Exception e)
|
||
{
|
||
Snackbar.Add("در دریافت اطلاعات مشکلی رخ داده است", Severity.Error);
|
||
}
|
||
await base.OnInitializedAsync();
|
||
|
||
}
|
||
catch (ApiException e)
|
||
{
|
||
var exe = await e.GetContentAsAsync<ApiResult>();
|
||
if (e.StatusCode == HttpStatusCode.Unauthorized)
|
||
{
|
||
await UserUtility.LogoutAsync();
|
||
NavigationManager.NavigateTo("login", true, true);
|
||
}
|
||
}
|
||
}
|
||
|
||
string? version = typeof(Program)?.Assembly.GetName()?.Version?.ToString();
|
||
} |