Добавьте файлы проекта.

This commit is contained in:
FrigaT
2026-04-13 14:16:44 +03:00
parent b2b5a3945a
commit 37c997dbe0
120 changed files with 5364 additions and 0 deletions

View File

@@ -0,0 +1,67 @@
@page "/register"
@inject HttpClient Http
@inject AuthStateProvider AuthProvider
@inject NavigationManager Navigation
@inject ISnackbar Snackbar
<MudContainer MaxWidth="MaxWidth.Small" Class="mt-16">
<MudCard>
<MudCardContent Class="text-center">
<MudText Typo="Typo.h5" Class="mb-4">Регистрация</MudText>
<MudTextField @bind-Value="_model.Username" Label="Имя пользователя" Variant="Variant.Outlined" FullWidth="true" Class="mb-3" />
<MudTextField @bind-Value="_model.Email" Label="Email" Variant="Variant.Outlined" FullWidth="true" Class="mb-3" />
<MudTextField @bind-Value="_model.Password" Label="Пароль" Variant="Variant.Outlined" FullWidth="true" Type="InputType.Password" />
<MudTextField @bind-Value="_model.ConfirmPassword" Label="Подтверждение пароля" Variant="Variant.Outlined" FullWidth="true" Type="InputType.Password" />
<MudButton Variant="Variant.Filled" Color="Color.Primary" OnClick="OnRegister" FullWidth="true" Class="mt-4">
Зарегистрироваться
</MudButton>
<MudText Class="mt-4" Typo="Typo.body2">
Уже есть аккаунт? <MudLink Href="/login">Войти</MudLink>
</MudText>
</MudCardContent>
</MudCard>
</MudContainer>
@code {
private RegisterModel _model = new();
private async Task OnRegister()
{
if (_model.Password != _model.ConfirmPassword)
{
Snackbar.Add("Пароли не совпадают", Severity.Error);
return;
}
var response = await Http.PostAsJsonAsync("/api/account/register", _model);
if (response.IsSuccessStatusCode)
{
var result = await response.Content.ReadFromJsonAsync<ApiResponse<LoginResponse>>();
if (result?.Success == true)
{
await AuthProvider.MarkUserAsAuthenticated(result.Data.Token, result.Data.RefreshToken);
Navigation.NavigateTo("/");
}
else
{
Snackbar.Add(result?.Error?.Message ?? "Ошибка регистрации", Severity.Error);
}
}
else
{
var error = await response.Content.ReadFromJsonAsync<ApiResponse<object>>();
Snackbar.Add(error?.Error?.Message ?? "Ошибка регистрации", Severity.Error);
}
}
public class RegisterModel
{
public string Username { get; set; }
public string Email { get; set; }
public string Password { get; set; }
public string ConfirmPassword { get; set; }
}
}