AdminPanel/Netina.AdminPanel.PWA/Components/Originals/SideBarUi.razor

147 lines
6.6 KiB
Plaintext
Raw Permalink Normal View History

@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)
{
2024-05-29 12:55:05 +03:30
<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>
}
2024-09-25 17:08:35 +03:30
<MudNavGroup Title="نظرات و امتیازاتـــ" Expanded="false"
Icon="@Icons.Material.Outlined.Comment">
<MudNavLink Href="reviews"
Icon="@Icons.Material.Filled.Comment">مدیریت نظراتـــ</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>
2024-05-16 13:52:55 +03:30
<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>
<MudNavLink Href="setting/pages" Icon="@Icons.Material.Outlined.Folder">تنظیماتــ برگه ها</MudNavLink>
2024-05-16 13:52:55 +03:30
</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">
2024-04-13 22:20:58 +03:30
<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;
2024-05-29 12:55:05 +03:30
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();
}