]>
Commit | Line | Data |
---|---|---|
1 | <div class="margin-content"> | |
2 | <div i18n class="title-page title-page-single"> | |
3 | Login | |
4 | </div> | |
5 | ||
6 | <div *ngIf="error" class="alert alert-danger">{{ error }} | |
7 | <span *ngIf="error === 'User email is not verified.'"> <a i18n routerLink="/verify-account/ask-send-email">Request new verification email.</a></span> | |
8 | </div> | |
9 | ||
10 | <form role="form" (ngSubmit)="login()" [formGroup]="form"> | |
11 | <div class="form-group"> | |
12 | <div> | |
13 | <label i18n for="username">User</label> | |
14 | <input | |
15 | type="text" id="username" i18n-placeholder placeholder="Username or email address" required tabindex="1" | |
16 | formControlName="username" [ngClass]="{ 'input-error': formErrors['username'] }" #emailInput | |
17 | > | |
18 | <a i18n *ngIf="signupAllowed === true" routerLink="/signup" class="create-an-account"> | |
19 | or create an account | |
20 | </a> | |
21 | ||
22 | <a i18n *ngIf="signupAllowed === false" href="https://joinpeertube.org/en/#instances-list" target="_blank" title="Click here to see a list of instances where to register" class="create-an-account"> | |
23 | or create an account on another instance | |
24 | </a> | |
25 | ||
26 | <my-help | |
27 | *ngIf="signupAllowed === false" helpType="custom" i18n-customHtml | |
28 | customHtml="User registration is not allowed on this instance, but you can register on many others!" | |
29 | ></my-help> | |
30 | </div> | |
31 | ||
32 | <div *ngIf="formErrors.username" class="form-error"> | |
33 | {{ formErrors.username }} | |
34 | </div> | |
35 | </div> | |
36 | ||
37 | <div class="form-group"> | |
38 | <label i18n for="password">Password</label> | |
39 | <div> | |
40 | <input | |
41 | type="password" name="password" id="password" i18n-placeholder placeholder="Password" required tabindex="2" | |
42 | formControlName="password" [ngClass]="{ 'input-error': formErrors['password'] }" | |
43 | > | |
44 | <a i18n class="forgot-password-button" (click)="openForgotPasswordModal()" title="Click here to reset your password">I forgot my password</a> | |
45 | </div> | |
46 | <div *ngIf="formErrors.password" class="form-error"> | |
47 | {{ formErrors.password }} | |
48 | </div> | |
49 | </div> | |
50 | ||
51 | <input type="submit" i18n-value value="Login" [disabled]="!form.valid"> | |
52 | </form> | |
53 | </div> | |
54 | ||
55 | <ng-template #forgotPasswordModal> | |
56 | <div class="modal-header"> | |
57 | <h4 i18n class="modal-title">Forgot your password</h4> | |
58 | ||
59 | <my-global-icon iconName="cross" aria-label="Close" role="button" (click)="hideForgotPasswordModal()"></my-global-icon> | |
60 | </div> | |
61 | ||
62 | <div class="modal-body"> | |
63 | ||
64 | <div *ngIf="isEmailDisabled()" class="alert alert-danger" i18n> | |
65 | We are sorry, you cannot recover you password because your instance administrator did not configure the PeerTube email system. | |
66 | </div> | |
67 | ||
68 | <div class="form-group" [hidden]="isEmailDisabled()"> | |
69 | <label i18n for="forgot-password-email">Email</label> | |
70 | <input | |
71 | type="email" id="forgot-password-email" i18n-placeholder placeholder="Email address" required | |
72 | [(ngModel)]="forgotPasswordEmail" #forgotPasswordEmailInput | |
73 | > | |
74 | </div> | |
75 | </div> | |
76 | ||
77 | <div class="modal-footer inputs"> | |
78 | <span i18n class="action-button action-button-cancel" (click)="hideForgotPasswordModal()">Cancel</span> | |
79 | ||
80 | <input | |
81 | type="submit" i18n-value value="Send me an email to reset my password" class="action-button-submit" | |
82 | (click)="askResetPassword()" [disabled]="!forgotPasswordEmailInput.validity.valid" | |
83 | > | |
84 | </div> | |
85 | </ng-template> |