Files
MireaFrontend/src/pages/setup/create-admin/create-admin.component.html

85 lines
3.4 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<h1>Создание администратора</h1>
<hr/>
<p class="mat-body-2 secondary">
На этой странице вы можете создать учетную запись администратора.
</p>
<p class="mat-body-2 secondary">
Заполните необходимые поля, такие как имя пользователя, адрес электронной почты и пароль, чтобы создать учетную запись
с правами администратора для управления приложением.
</p>
<form [formGroup]="createAdminForm">
<p>
Ведите данные для создания аккаунта администратора:
</p>
<div style="display:flex; flex-direction: column;">
<mat-form-field color="accent">
<mat-label>Имя пользователя</mat-label>
<input matInput
matTooltip='Укажите имя пользователя используя латинские буквы и цифры без пробелов'
required
formControlName="user">
@if (createAdminForm.get('user')?.hasError('required')) {
<mat-error>
Имя пользователя является <i>обязательным</i>
</mat-error>
}
@if (createAdminForm.get('user')?.hasError('pattern')) {
<mat-error>
Имя пользователя должен содержать латинские символы и цифры и быть не менее 4 символов
</mat-error>
}
</mat-form-field>
<mat-form-field color="accent">
<mat-label>Email</mat-label>
<input matInput
matTooltip="Укажите email администратора"
required
formControlName="email">
@if (createAdminForm.get('email')?.hasError('required')) {
<mat-error>
Email является <i>обязательным</i>
</mat-error>
}
@if (createAdminForm.get('email')?.hasError('email')) {
<mat-error>
Введите корректный Email адрес
</mat-error>
}
</mat-form-field>
<password-input [formGroup]="createAdminForm" [isSetupMode]="true"/>
<mat-form-field color="accent">
<mat-label>Повторите пароль</mat-label>
<input matInput
matTooltip="Укажите пароль, который был указан ранее"
formControlName="retype"
required
[type]="hideRetypePass ? 'password' : 'text'"
onpaste="return false;">
<button mat-icon-button matSuffix (click)="toggleRetypePassword($event)" [attr.aria-label]="'Hide password'"
[attr.aria-pressed]="hideRetypePass">
<mat-icon>{{ hideRetypePass ? 'visibility_off' : 'visibility' }}</mat-icon>
</button>
@if (createAdminForm.get('retype')?.hasError('passwordsMismatch')) {
<mat-error>
Пароли не совпадают
</mat-error>
}
</mat-form-field>
<OAuthProviders [canUnlink]="true" [activeProvidersId]="activatedProviders"
(oAuthUpdateProviders)="updateProviders()"
[message]="'Или можете получить часть данных от сторонних сервисов'"
[action]="OAuthAction.Bind" [isSetup]="true"/>
</div>
</form>