1 <div class=
"margin-content">
2 <div i18n
class=
"title-page title-page-single">
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>
10 <form role=
"form" (ngSubmit)=
"login()" [formGroup]=
"form">
11 <div class=
"form-group">
13 <label i18n
for=
"username">User
</label>
15 type=
"text" id=
"username" i18n-placeholder
placeholder=
"Username or email address" required
tabindex=
"1"
16 formControlName=
"username" [ngClass]=
"{ 'input-error': formErrors['username'] }" #emailInput
18 <a i18n *
ngIf=
"signupAllowed === true" routerLink=
"/signup" class=
"create-an-account">
22 <a i18n *
ngIf=
"signupAllowed === false" href=
"https://joinpeertube.org/instances#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
26 <my-help *
ngIf=
"signupAllowed === false">
27 <ng-template ptTemplate=
"customHtml">
28 <ng-container i18n
>User registration is not allowed on this instance, but you can register on many others!
</ng-container>
33 <div *
ngIf=
"formErrors.username" class=
"form-error">
34 {{ formErrors.username }}
38 <div class=
"form-group">
39 <label i18n
for=
"password">Password
</label>
42 type=
"password" name=
"password" id=
"password" i18n-placeholder
placeholder=
"Password" required
tabindex=
"2"
43 formControlName=
"password" [ngClass]=
"{ 'input-error': formErrors['password'] }"
45 <a i18n
class=
"forgot-password-button" (click)=
"openForgotPasswordModal()" title=
"Click here to reset your password">I forgot my password
</a>
47 <div *
ngIf=
"formErrors.password" class=
"form-error">
48 {{ formErrors.password }}
52 <input type=
"submit" i18n-value
value=
"Login" [disabled]=
"!form.valid">
56 <ng-template #forgotPasswordModal
>
57 <div class=
"modal-header">
58 <h4 i18n
class=
"modal-title">Forgot your password
</h4>
60 <my-global-icon iconName=
"cross" aria-label=
"Close" role=
"button" (click)=
"hideForgotPasswordModal()"></my-global-icon>
63 <div class=
"modal-body">
65 <div *
ngIf=
"isEmailDisabled()" class=
"alert alert-danger" i18n
>
66 We are sorry, you cannot recover your password because your instance administrator did not configure the PeerTube email system.
69 <div class=
"form-group" [hidden]=
"isEmailDisabled()">
70 <label i18n
for=
"forgot-password-email">Email
</label>
72 type=
"email" id=
"forgot-password-email" i18n-placeholder
placeholder=
"Email address" required
73 [(ngModel)]=
"forgotPasswordEmail" #forgotPasswordEmailInput
78 <div class=
"modal-footer inputs">
79 <span i18n
class=
"action-button action-button-cancel" (click)=
"hideForgotPasswordModal()">Cancel
</span>
82 type=
"submit" i18n-value
value=
"Send me an email to reset my password" class=
"action-button-submit"
83 (click)=
"askResetPassword()" [disabled]=
"!forgotPasswordEmailInput.validity.valid"