feat: added login/out buttons to nav menu and index page

This commit is contained in:
Mikhail Shabanov committed 2021-08-30 18:06:29 +02:00
1 parent 6cbb809f44
commit 6390c454d0
8 files changed
+190 -6

No files matched your search

@@ -4,7 +4,15 @@
<div>
<RadzenPanelMenu Click="@(MenuClicked)">
<RadzenPanelMenuItem Text="@Localize["Home"]" Icon="home"></RadzenPanelMenuItem>
<RadzenPanelMenuItem Text="@Localize["Login with WG.net ID"]" Icon="vpn_key"></RadzenPanelMenuItem>
@if(LoginInfo != null)
{
<RadzenPanelMenuItem Text="@LoginInfo.NickName" Icon="person"></RadzenPanelMenuItem>
<RadzenPanelMenuItem Text="@Localize["Log out"]" Icon="logout"></RadzenPanelMenuItem>
}
else
{
<RadzenPanelMenuItem Text="@Localize["Login with WG.net ID"]" Icon="vpn_key"></RadzenPanelMenuItem>
}
<RadzenPanelMenuItem Text="@Localize["Search player"]" Icon="person_search"></RadzenPanelMenuItem>
<RadzenPanelMenuItem Text="@Localize["Search clan"]" Icon="screen_search_desktop"></RadzenPanelMenuItem>
</RadzenPanelMenu>
@@ -23,10 +23,20 @@ namespace WotBlitzStatisticsPro.Blazor.Shared
[Inject]
private IStringLocalizer<App> Localizer { get; set; }
[Inject]
public ILocalStorageService LocalStorage { get; set; }
[Parameter]
public EventCallback CloseSideBar { get; set; }
public LoginInfo? LoginInfo { get; set; }
protected override async Task OnInitializedAsync()
{
LoginInfo = await LocalStorage.GetItemAsync<LoginInfo>(Constants.LoginInfoLocalStorageKey);
}
public async Task MenuClicked(MenuItemEventArgs menuItem)
{
await CloseSideBar.InvokeAsync();
@@ -38,6 +48,9 @@ namespace WotBlitzStatisticsPro.Blazor.Shared
case var _ when (Localizer.GetString("Login with WG.net ID")) == menuItem.Text:
await Mediator.Publish(new LoginToWgMessage());
break;
case var _ when (Localizer.GetString("Log out")) == menuItem.Text:
await Mediator.Publish(new LogOutFromWgMessage());
break;
case var _ when (Localizer.GetString("Search player")) == menuItem.Text:
await Mediator.Publish(new OpenSearchDialogMessage(DialogType.FindPlayer));
//await SearchDialogService.OpenSearchDialog(DialogType.FindPlayer);
@@ -45,6 +58,9 @@ namespace WotBlitzStatisticsPro.Blazor.Shared
case var _ when (Localizer.GetString("Search clan")) == menuItem.Text:
await Mediator.Publish(new OpenSearchDialogMessage(DialogType.FindClan));
break;
case var _ when (LoginInfo?.NickName) == menuItem.Text:
await Mediator.Publish(new OpenPlayerInfoMessage(LoginInfo.AccountId, true));
break;
}
}
}