2018-06-28 17:58:33 +02:00
|
|
|
<div class="page-header">
|
|
|
|
<h1>{{'dataBreachReport' | i18n}}</h1>
|
|
|
|
</div>
|
|
|
|
<p>{{'breachDesc' | i18n}}</p>
|
2018-06-29 14:21:08 +02:00
|
|
|
<form #form (ngSubmit)="submit()" [appApiAction]="formPromise" ngNativeValidate>
|
|
|
|
<div class="row">
|
|
|
|
<div class="form-group col-6">
|
|
|
|
<label for="username">{{'username' | i18n}}</label>
|
|
|
|
<input id="username" type="text" name="Username" class="form-control" [(ngModel)]="username" required>
|
|
|
|
<small class="form-text text-muted">{{'breachCheckUsernameEmail' | i18n}}</small>
|
|
|
|
</div>
|
|
|
|
</div>
|
2018-07-18 05:15:15 +02:00
|
|
|
<button type="submit" class="btn btn-primary btn-submit" [disabled]="form.loading">
|
|
|
|
<i class="fa fa-spinner fa-spin" title="{{'loading' | i18n}}"></i>
|
2018-06-29 14:21:08 +02:00
|
|
|
<span>{{'checkBreaches' | i18n}}</span>
|
|
|
|
</button>
|
|
|
|
</form>
|
|
|
|
<div class="mt-4" *ngIf="!form.loading && checkedUsername">
|
2018-06-28 17:58:33 +02:00
|
|
|
<p *ngIf="error">{{'reportError' | i18n}}...</p>
|
|
|
|
<ng-container *ngIf="!error">
|
|
|
|
<app-callout type="success" title="{{'goodNews' | i18n}}" *ngIf="!breachedAccounts.length">
|
2018-06-29 14:21:08 +02:00
|
|
|
{{'breachUsernameNotFound' | i18n : checkedUsername}}
|
2018-06-28 17:58:33 +02:00
|
|
|
</app-callout>
|
|
|
|
<app-callout type="danger" title="{{'breachFound' | i18n}}" *ngIf="breachedAccounts.length">
|
2018-06-29 14:21:08 +02:00
|
|
|
{{'breachUsernameFound' | i18n : checkedUsername : breachedAccounts.length}}
|
2018-06-28 17:58:33 +02:00
|
|
|
</app-callout>
|
|
|
|
<ul class="list-group list-group-breach" *ngIf="breachedAccounts.length">
|
2018-07-08 05:49:48 +02:00
|
|
|
<li *ngFor="let a of breachedAccounts" class="list-group-item min-height-fix">
|
2018-06-28 17:58:33 +02:00
|
|
|
<div class="row">
|
|
|
|
<div class="col-2 text-center">
|
2018-11-28 15:51:43 +01:00
|
|
|
<img [src]="a.logoPath" alt="" class="img-fluid">
|
2018-06-28 17:58:33 +02:00
|
|
|
</div>
|
|
|
|
<div class="col-7">
|
2018-06-29 04:27:32 +02:00
|
|
|
<h3 class="text-lg">{{a.title}}</h3>
|
2018-06-28 17:58:33 +02:00
|
|
|
<p [innerHTML]="a.description"></p>
|
|
|
|
<p class="mb-1">{{'compromisedData' | i18n}}:</p>
|
|
|
|
<ul>
|
|
|
|
<li *ngFor="let d of a.dataClasses">{{d}}</li>
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
<div class="col-3">
|
|
|
|
<dl>
|
|
|
|
<dt>{{'website' | i18n}}</dt>
|
|
|
|
<dd>{{a.domain}}</dd>
|
|
|
|
<dt>{{'affectedUsers' | i18n}}</dt>
|
|
|
|
<dd>{{a.pwnCount | number}}</dd>
|
|
|
|
<dt>{{'breachOccurred' | i18n}}</dt>
|
|
|
|
<dd>{{a.breachDate | date: 'mediumDate'}}</dd>
|
|
|
|
<dt>{{'breachReported' | i18n}}</dt>
|
|
|
|
<dd>{{a.addedDate | date: 'mediumDate'}}</dd>
|
|
|
|
</dl>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</ng-container>
|
2018-06-29 14:21:08 +02:00
|
|
|
</div>
|