Добавьте файлы проекта.
This commit is contained in:
52
PlaylistShared.PWA2123/Pages/Login.razor
Normal file
52
PlaylistShared.PWA2123/Pages/Login.razor
Normal file
@@ -0,0 +1,52 @@
|
||||
@page "/login"
|
||||
@using PlaylistShared.PWA.Services
|
||||
@inject NavigationManager Navigation
|
||||
@inject AuthStateProvider AuthProvider
|
||||
@inject ApiClient ApiClient
|
||||
@inject ISnackbar Snackbar
|
||||
|
||||
<MudContainer MaxWidth="MaxWidth.Small" Class="mt-16">
|
||||
<MudCard>
|
||||
<MudCardContent Class="text-center">
|
||||
<MudText Typo="Typo.h5" Class="mb-4">Вход в PlaylistShared</MudText>
|
||||
|
||||
<MudButton Variant="Variant.Filled" Color="Color.Primary" OnClick="LoginWithYandex" StartIcon="@Icons.Custom.Brands.Yandex" FullWidth="true">
|
||||
Войти через Яндекс
|
||||
</MudButton>
|
||||
|
||||
<MudDivider Class="my-4">или</MudDivider>
|
||||
|
||||
<MudTextField Label="Логин" @bind-Value="_username" Variant="Variant.Outlined" FullWidth="true" />
|
||||
<MudTextField Label="Пароль" @bind-Value="_password" InputType="InputType.Password" Variant="Variant.Outlined" FullWidth="true" />
|
||||
<MudButton Variant="Variant.Filled" Color="Color.Secondary" OnClick="LoginWithPassword" FullWidth="true">Войти по паролю</MudButton>
|
||||
|
||||
<MudText Class="mt-4">
|
||||
Нет аккаунта? <MudLink Href="/register">Зарегистрироваться</MudLink>
|
||||
</MudText>
|
||||
</MudCardContent>
|
||||
</MudCard>
|
||||
</MudContainer>
|
||||
|
||||
@code {
|
||||
private string _username = "";
|
||||
private string _password = "";
|
||||
|
||||
private void LoginWithYandex()
|
||||
{
|
||||
Navigation.NavigateTo("https://localhost:5001/api/externalauth/login-yandex", true);
|
||||
}
|
||||
|
||||
private async Task LoginWithPassword()
|
||||
{
|
||||
var result = await ApiClient.LoginAsync(_username, _password);
|
||||
if (result != null)
|
||||
{
|
||||
await AuthProvider.MarkUserAsAuthenticated(result.Token, result.RefreshToken);
|
||||
Navigation.NavigateTo("/");
|
||||
}
|
||||
else
|
||||
{
|
||||
Snackbar.Add("Неверный логин или пароль", Severity.Error);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user