2018-04-04 20:19:44 +02:00
|
|
|
<form #form (ngSubmit)="submit()" [appApiAction]="formPromise">
|
|
|
|
<header>
|
|
|
|
<div class="left">
|
2018-04-05 04:59:42 +02:00
|
|
|
<a routerLink="/home">{{ "cancel" | i18n }}</a>
|
2021-12-21 15:43:35 +01:00
|
|
|
</div>
|
2021-11-02 23:28:53 +01:00
|
|
|
<h1 class="center">
|
2018-04-04 20:19:44 +02:00
|
|
|
<span class="title">{{ "appName" | i18n }}</span>
|
2021-12-21 15:43:35 +01:00
|
|
|
</h1>
|
2018-04-04 20:19:44 +02:00
|
|
|
<div class="right">
|
|
|
|
<button type="submit" appBlurClick [disabled]="form.loading">
|
|
|
|
<span [hidden]="form.loading">{{ "login" | i18n }}</span>
|
2022-01-28 11:53:06 +01:00
|
|
|
<i class="bwi bwi-spinner bwi-lg bwi-spin" [hidden]="!form.loading" aria-hidden="true"></i>
|
2018-04-04 14:27:31 +02:00
|
|
|
</button>
|
2021-12-21 15:43:35 +01:00
|
|
|
</div>
|
2018-04-04 20:19:44 +02:00
|
|
|
</header>
|
2022-04-29 02:06:33 +02:00
|
|
|
<main tabindex="-1">
|
2018-04-05 16:29:11 +02:00
|
|
|
<div class="box">
|
|
|
|
<div class="box-content">
|
|
|
|
<div class="box-content-row" appBoxRow>
|
|
|
|
<label for="email">{{ "emailAddress" | i18n }}</label>
|
2021-12-21 15:43:35 +01:00
|
|
|
<input
|
2019-02-21 22:53:57 +01:00
|
|
|
id="email"
|
|
|
|
type="text"
|
|
|
|
name="Email"
|
|
|
|
[(ngModel)]="email"
|
2021-12-21 15:43:35 +01:00
|
|
|
required
|
2019-02-21 22:53:57 +01:00
|
|
|
inputmode="email"
|
|
|
|
appInputVerbatim="false"
|
2021-12-21 15:43:35 +01:00
|
|
|
/>
|
2018-04-04 20:19:44 +02:00
|
|
|
</div>
|
2021-11-02 23:28:53 +01:00
|
|
|
<div class="box-content-row box-content-row-flex" appBoxRow>
|
2018-04-04 20:19:44 +02:00
|
|
|
<div class="row-main">
|
|
|
|
<label for="masterPassword">{{ "masterPass" | i18n }}</label>
|
2021-12-21 15:43:35 +01:00
|
|
|
<input
|
2018-04-05 16:29:11 +02:00
|
|
|
id="masterPassword"
|
2018-04-04 20:19:44 +02:00
|
|
|
type="{{ showPassword ? 'text' : 'password' }}"
|
|
|
|
name="MasterPassword"
|
|
|
|
class="monospaced"
|
2019-02-21 22:53:57 +01:00
|
|
|
[(ngModel)]="masterPassword"
|
2021-12-21 15:43:35 +01:00
|
|
|
required
|
2018-04-04 20:19:44 +02:00
|
|
|
appInputVerbatim
|
2021-12-21 15:43:35 +01:00
|
|
|
/>
|
2021-11-02 23:28:53 +01:00
|
|
|
</div>
|
2018-04-04 20:19:44 +02:00
|
|
|
<div class="action-buttons">
|
|
|
|
<button
|
|
|
|
type="button"
|
|
|
|
class="row-btn"
|
2021-07-31 21:03:51 +02:00
|
|
|
appStopClick
|
2018-04-04 20:19:44 +02:00
|
|
|
appBlurClick
|
|
|
|
appA11yTitle="{{ 'toggleVisibility' | i18n }}"
|
|
|
|
(click)="togglePassword()"
|
2019-10-08 23:04:44 +02:00
|
|
|
[attr.aria-pressed]="showPassword"
|
|
|
|
>
|
|
|
|
<i
|
2022-01-28 11:53:06 +01:00
|
|
|
class="bwi bwi-lg"
|
|
|
|
[ngClass]="{ 'bwi-eye': !showPassword, 'bwi-eye-slash': showPassword }"
|
2019-10-08 23:04:44 +02:00
|
|
|
aria-hidden="true"
|
|
|
|
></i>
|
2018-04-04 14:27:31 +02:00
|
|
|
</button>
|
2021-12-21 15:43:35 +01:00
|
|
|
</div>
|
2018-04-04 14:27:31 +02:00
|
|
|
</div>
|
2018-04-05 16:29:11 +02:00
|
|
|
<div class="box-content-row" [hidden]="!showCaptcha()">
|
2021-07-23 20:22:53 +02:00
|
|
|
<iframe id="hcaptcha_iframe" height="80"></iframe>
|
2018-04-04 14:27:31 +02:00
|
|
|
</div>
|
2021-12-21 15:43:35 +01:00
|
|
|
</div>
|
|
|
|
</div>
|
2018-04-05 16:29:11 +02:00
|
|
|
<p class="text-center">
|
|
|
|
<a routerLink="/hint">{{ "getMasterPasswordHint" | i18n }}</a>
|
|
|
|
</p>
|
2022-02-15 23:06:35 +01:00
|
|
|
<app-private-mode-warning></app-private-mode-warning>
|
2022-04-29 02:06:33 +02:00
|
|
|
</main>
|
2018-04-04 04:14:54 +02:00
|
|
|
</form>
|