1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-16 08:13:42 +00:00

revert changes to reports

This commit is contained in:
jaasen-livefront
2024-07-09 09:40:15 -07:00
parent 1c4a6e3c75
commit e53218211d
5 changed files with 143 additions and 137 deletions

View File

@@ -24,12 +24,12 @@
<div class="mt-4" *ngIf="!form.loading && checkedUsername"> <div class="mt-4" *ngIf="!form.loading && checkedUsername">
<p *ngIf="error">{{ "reportError" | i18n }}...</p> <p *ngIf="error">{{ "reportError" | i18n }}...</p>
<ng-container *ngIf="!error"> <ng-container *ngIf="!error">
<bit-callout type="success" title="{{ 'goodNews' | i18n }}" *ngIf="!breachedAccounts.length"> <app-callout type="success" title="{{ 'goodNews' | i18n }}" *ngIf="!breachedAccounts.length">
{{ "breachUsernameNotFound" | i18n: checkedUsername }} {{ "breachUsernameNotFound" | i18n: checkedUsername }}
</bit-callout> </app-callout>
<bit-callout type="danger" title="{{ 'breachFound' | i18n }}" *ngIf="breachedAccounts.length"> <app-callout type="danger" title="{{ 'breachFound' | i18n }}" *ngIf="breachedAccounts.length">
{{ "breachUsernameFound" | i18n: checkedUsername : breachedAccounts.length }} {{ "breachUsernameFound" | i18n: checkedUsername : breachedAccounts.length }}
</bit-callout> </app-callout>
<ul class="list-group list-group-breach" *ngIf="breachedAccounts.length"> <ul class="list-group list-group-breach" *ngIf="breachedAccounts.length">
<li *ngFor="let a of breachedAccounts" class="list-group-item min-height-fix"> <li *ngFor="let a of breachedAccounts" class="list-group-item min-height-fix">
<div class="row"> <div class="row">

View File

@@ -11,13 +11,13 @@
<span class="sr-only">{{ "loading" | i18n }}</span> <span class="sr-only">{{ "loading" | i18n }}</span>
</div> </div>
<div class="mt-4" *ngIf="hasLoaded"> <div class="mt-4" *ngIf="hasLoaded">
<bit-callout type="success" title="{{ 'goodNews' | i18n }}" *ngIf="!ciphers.length"> <app-callout type="success" title="{{ 'goodNews' | i18n }}" *ngIf="!ciphers.length">
{{ "noInactive2fa" | i18n }} {{ "noInactive2fa" | i18n }}
</bit-callout> </app-callout>
<ng-container *ngIf="ciphers.length"> <ng-container *ngIf="ciphers.length">
<bit-callout type="danger" title="{{ 'inactive2faFound' | i18n }}"> <app-callout type="danger" title="{{ 'inactive2faFound' | i18n }}">
{{ "inactive2faFoundReportDesc" | i18n: (ciphers.length | number) : vaultMsg }} {{ "inactive2faFoundReportDesc" | i18n: (ciphers.length | number) : vaultMsg }}
</bit-callout> </app-callout>
<bit-toggle-group <bit-toggle-group
*ngIf="showFilterToggle && !isAdminConsoleActive" *ngIf="showFilterToggle && !isAdminConsoleActive"
[selected]="filterOrgStatus$ | async" [selected]="filterOrgStatus$ | async"
@@ -31,74 +31,71 @@
</bit-toggle> </bit-toggle>
</ng-container> </ng-container>
</bit-toggle-group> </bit-toggle-group>
<bit-table [dataSource]="dataSource"> <table class="table table-hover table-list table-ciphers">
<ng-container header *ngIf="!isAdminConsoleActive"> <thead
class="tw-border-0 tw-border-b-2 tw-border-solid tw-border-secondary-300 tw-font-bold tw-text-muted"
*ngIf="!isAdminConsoleActive"
>
<tr> <tr>
<th></th> <th></th>
<th>{{ "name" | i18n }}</th> <th>{{ "name" | i18n }}</th>
<th>{{ "owner" | i18n }}</th> <th>{{ "owner" | i18n }}</th>
</tr> </tr>
</ng-container> </thead>
<tbody> <tbody>
<ng-template body let-rows$> <tr *ngFor="let c of ciphers">
<tr bitRow *ngFor="let r of rows$ | async"> <td class="table-list-icon">
<td bitCell> <app-vault-icon [cipher]="c"></app-vault-icon>
<app-vault-icon [cipher]="r"></app-vault-icon> </td>
</td> <td class="reduced-lh wrap">
<td class="reduced-lh wrap"> <a href="#" appStopClick (click)="selectCipher(c)" title="{{ 'editItem' | i18n }}">{{
<a c.name
href="#" }}</a>
appStopClick <ng-container *ngIf="!organization && c.organizationId">
(click)="selectCipher(r)" <i
title="{{ 'editItem' | i18n }}" class="bwi bwi-collection"
>{{ r.name }}</a
>
<ng-container *ngIf="!organization && r.organizationId">
<i
class="bwi bwi-collection"
appStopProp
title="{{ 'shared' | i18n }}"
aria-hidden="true"
></i>
<span class="sr-only">{{ "shared" | i18n }}</span>
</ng-container>
<ng-container *ngIf="r.hasAttachments">
<i
class="bwi bwi-paperclip"
appStopProp
title="{{ 'attachments' | i18n }}"
aria-hidden="true"
></i>
<span class="sr-only">{{ "attachments" | i18n }}</span>
</ng-container>
<br />
<small>{{ r.subTitle }}</small>
</td>
<td>
<app-org-badge
*ngIf="!organization"
[disabled]="disabled"
[organizationId]="r.organizationId"
[organizationName]="r.organizationId | orgNameFromId: (organizations$ | async)"
appStopProp appStopProp
> title="{{ 'shared' | i18n }}"
</app-org-badge> aria-hidden="true"
</td> ></i>
<td class="text-right"> <span class="sr-only">{{ "shared" | i18n }}</span>
<a </ng-container>
bitBadge <ng-container *ngIf="c.hasAttachments">
href="{{ cipherDocs.get(r.id) }}" <i
target="_blank" class="bwi bwi-paperclip"
rel="noreferrer" appStopProp
*ngIf="cipherDocs.has(r.id)" title="{{ 'attachments' | i18n }}"
> aria-hidden="true"
{{ "instructions" | i18n }}</a ></i>
> <span class="sr-only">{{ "attachments" | i18n }}</span>
</td> </ng-container>
</tr> <br />
</ng-template> <small>{{ c.subTitle }}</small>
</tbody></bit-table </td>
> <td>
<app-org-badge
*ngIf="!organization"
[disabled]="disabled"
[organizationId]="c.organizationId"
[organizationName]="c.organizationId | orgNameFromId: (organizations$ | async)"
appStopProp
>
</app-org-badge>
</td>
<td class="text-right">
<a
bitBadge
href="{{ cipherDocs.get(c.id) }}"
target="_blank"
rel="noreferrer"
*ngIf="cipherDocs.has(c.id)"
>
{{ "instructions" | i18n }}</a
>
</td>
</tr>
</tbody>
</table>
</ng-container> </ng-container>
</div> </div>
<ng-template #cipherAddEdit></ng-template> <ng-template #cipherAddEdit></ng-template>

View File

@@ -11,13 +11,13 @@
<span class="sr-only">{{ "loading" | i18n }}</span> <span class="sr-only">{{ "loading" | i18n }}</span>
</div> </div>
<div class="mt-4" *ngIf="hasLoaded"> <div class="mt-4" *ngIf="hasLoaded">
<bit-callout type="success" title="{{ 'goodNews' | i18n }}" *ngIf="!ciphers.length"> <app-callout type="success" title="{{ 'goodNews' | i18n }}" *ngIf="!ciphers.length">
{{ "noReusedPasswords" | i18n }} {{ "noReusedPasswords" | i18n }}
</bit-callout> </app-callout>
<ng-container *ngIf="ciphers.length"> <ng-container *ngIf="ciphers.length">
<bit-callout type="danger" title="{{ 'reusedPasswordsFound' | i18n }}"> <app-callout type="danger" title="{{ 'reusedPasswordsFound' | i18n }}">
{{ "reusedPasswordsFoundReportDesc" | i18n: (ciphers.length | number) : vaultMsg }} {{ "reusedPasswordsFoundReportDesc" | i18n: (ciphers.length | number) : vaultMsg }}
</bit-callout> </app-callout>
<bit-toggle-group <bit-toggle-group
*ngIf="showFilterToggle && !isAdminConsoleActive" *ngIf="showFilterToggle && !isAdminConsoleActive"
@@ -33,33 +33,36 @@
</ng-container> </ng-container>
</bit-toggle-group> </bit-toggle-group>
<bit-table [dataSource]="dataSource"> <table class="table table-hover table-list table-ciphers">
<ng-container header *ngIf="!isAdminConsoleActive"> <thead
class="tw-border-0 tw-border-b-2 tw-border-solid tw-border-secondary-300 tw-font-bold tw-text-muted"
*ngIf="!isAdminConsoleActive"
>
<tr> <tr>
<th></th> <th></th>
<th>{{ "name" | i18n }}</th> <th>{{ "name" | i18n }}</th>
<th>{{ "owner" | i18n }}</th> <th>{{ "owner" | i18n }}</th>
</tr> </tr>
</ng-container> </thead>
<ng-template body let-rows$> <tbody>
<tr bitRow *ngFor="let r of rows$ | async"> <tr *ngFor="let c of ciphers">
<td bitCell> <td class="table-list-icon">
<app-vault-icon [cipher]="r"></app-vault-icon> <app-vault-icon [cipher]="c"></app-vault-icon>
</td> </td>
<td> <td class="reduced-lh wrap">
<ng-container *ngIf="!organization || canManageCipher(r); else cantManage"> <ng-container *ngIf="!organization || canManageCipher(c); else cantManage">
<a <a
href="#" href="#"
appStopClick appStopClick
(click)="selectCipher(r)" (click)="selectCipher(c)"
title="{{ 'editItem' | i18n }}" title="{{ 'editItem' | i18n }}"
>{{ r.name }}</a >{{ c.name }}</a
> >
</ng-container> </ng-container>
<ng-template #cantManage> <ng-template #cantManage>
<span>{{ r.name }}</span> <span>{{ c.name }}</span>
</ng-template> </ng-template>
<ng-container *ngIf="!organization && r.organizationId"> <ng-container *ngIf="!organization && c.organizationId">
<i <i
class="bwi bwi-collection" class="bwi bwi-collection"
appStopProp appStopProp
@@ -68,7 +71,7 @@
></i> ></i>
<span class="sr-only">{{ "shared" | i18n }}</span> <span class="sr-only">{{ "shared" | i18n }}</span>
</ng-container> </ng-container>
<ng-container *ngIf="r.hasAttachments"> <ng-container *ngIf="c.hasAttachments">
<i <i
class="bwi bwi-paperclip" class="bwi bwi-paperclip"
appStopProp appStopProp
@@ -78,26 +81,26 @@
<span class="sr-only">{{ "attachments" | i18n }}</span> <span class="sr-only">{{ "attachments" | i18n }}</span>
</ng-container> </ng-container>
<br /> <br />
<small>{{ r.subTitle }}</small> <small>{{ c.subTitle }}</small>
</td> </td>
<td> <td>
<app-org-badge <app-org-badge
*ngIf="!organization" *ngIf="!organization"
[disabled]="disabled" [disabled]="disabled"
[organizationId]="r.organizationId" [organizationId]="c.organizationId"
[organizationName]="r.organizationId | orgNameFromId: (organizations$ | async)" [organizationName]="c.organizationId | orgNameFromId: (organizations$ | async)"
appStopProp appStopProp
> >
</app-org-badge> </app-org-badge>
</td> </td>
<td class="text-right"> <td class="text-right">
<span bitBadge variant="warning"> <span bitBadge variant="warning">
{{ "reusedXTimes" | i18n: passwordUseMap.get(r.login.password) }} {{ "reusedXTimes" | i18n: passwordUseMap.get(c.login.password) }}
</span> </span>
</td> </td>
</tr> </tr>
</ng-template> </tbody>
</bit-table> </table>
</ng-container> </ng-container>
</div> </div>
<ng-template #cipherAddEdit></ng-template> <ng-template #cipherAddEdit></ng-template>

View File

@@ -11,13 +11,13 @@
<span class="sr-only">{{ "loading" | i18n }}</span> <span class="sr-only">{{ "loading" | i18n }}</span>
</div> </div>
<div class="mt-4" *ngIf="hasLoaded"> <div class="mt-4" *ngIf="hasLoaded">
<bit-callout type="success" title="{{ 'goodNews' | i18n }}" *ngIf="!ciphers.length"> <app-callout type="success" title="{{ 'goodNews' | i18n }}" *ngIf="!ciphers.length">
{{ "noUnsecuredWebsites" | i18n }} {{ "noUnsecuredWebsites" | i18n }}
</bit-callout> </app-callout>
<ng-container *ngIf="ciphers.length"> <ng-container *ngIf="ciphers.length">
<bit-callout type="danger" title="{{ 'unsecuredWebsitesFound' | i18n }}"> <app-callout type="danger" title="{{ 'unsecuredWebsitesFound' | i18n }}">
{{ "unsecuredWebsitesFoundReportDesc" | i18n: (ciphers.length | number) : vaultMsg }} {{ "unsecuredWebsitesFoundReportDesc" | i18n: (ciphers.length | number) : vaultMsg }}
</bit-callout> </app-callout>
<bit-toggle-group <bit-toggle-group
*ngIf="showFilterToggle && !isAdminConsoleActive" *ngIf="showFilterToggle && !isAdminConsoleActive"
@@ -32,24 +32,27 @@
</bit-toggle> </bit-toggle>
</ng-container> </ng-container>
</bit-toggle-group> </bit-toggle-group>
<bit-table [dataSource]="dataSource"> <table class="table table-hover table-list table-ciphers">
<ng-container header *ngIf="!isAdminConsoleActive"> <thead
class="tw-border-0 tw-border-b-2 tw-border-solid tw-border-secondary-300 tw-font-bold tw-text-muted"
*ngIf="!isAdminConsoleActive"
>
<tr> <tr>
<th></th> <th></th>
<th>{{ "name" | i18n }}</th> <th>{{ "name" | i18n }}</th>
<th>{{ "owner" | i18n }}</th> <th>{{ "owner" | i18n }}</th>
</tr> </tr>
</ng-container> </thead>
<ng-template body let-rows$> <tbody>
<tr bitRow *ngFor="let r of rows$ | async"> <tr *ngFor="let c of ciphers">
<td bitCell> <td class="table-list-icon">
<app-vault-icon [cipher]="r"></app-vault-icon> <app-vault-icon [cipher]="c"></app-vault-icon>
</td> </td>
<td class="reduced-lh wrap"> <td class="reduced-lh wrap">
<a href="#" appStopClick (click)="selectCipher(r)" title="{{ 'editItem' | i18n }}">{{ <a href="#" appStopClick (click)="selectCipher(c)" title="{{ 'editItem' | i18n }}">{{
r.name c.name
}}</a> }}</a>
<ng-container *ngIf="!organization && r.organizationId"> <ng-container *ngIf="!organization && c.organizationId">
<i <i
class="bwi bwi-collection" class="bwi bwi-collection"
appStopProp appStopProp
@@ -58,7 +61,7 @@
></i> ></i>
<span class="sr-only">{{ "shared" | i18n }}</span> <span class="sr-only">{{ "shared" | i18n }}</span>
</ng-container> </ng-container>
<ng-container *ngIf="r.hasAttachments"> <ng-container *ngIf="c.hasAttachments">
<i <i
class="bwi bwi-paperclip" class="bwi bwi-paperclip"
appStopProp appStopProp
@@ -68,21 +71,21 @@
<span class="sr-only">{{ "attachments" | i18n }}</span> <span class="sr-only">{{ "attachments" | i18n }}</span>
</ng-container> </ng-container>
<br /> <br />
<small>{{ r.subTitle }}</small> <small>{{ c.subTitle }}</small>
</td> </td>
<td> <td>
<app-org-badge <app-org-badge
*ngIf="!organization" *ngIf="!organization"
[disabled]="disabled" [disabled]="disabled"
[organizationId]="r.organizationId" [organizationId]="c.organizationId"
[organizationName]="r.organizationId | orgNameFromId: (organizations$ | async)" [organizationName]="c.organizationId | orgNameFromId: (organizations$ | async)"
appStopProp appStopProp
> >
</app-org-badge> </app-org-badge>
</td> </td>
</tr> </tr>
</ng-template> </tbody>
</bit-table> </table>
</ng-container> </ng-container>
</div> </div>
<ng-template #cipherAddEdit></ng-template> <ng-template #cipherAddEdit></ng-template>

View File

@@ -11,13 +11,13 @@
<span class="sr-only">{{ "loading" | i18n }}</span> <span class="sr-only">{{ "loading" | i18n }}</span>
</div> </div>
<div class="mt-4" *ngIf="hasLoaded"> <div class="mt-4" *ngIf="hasLoaded">
<bit-callout type="success" title="{{ 'goodNews' | i18n }}" *ngIf="!ciphers.length"> <app-callout type="success" title="{{ 'goodNews' | i18n }}" *ngIf="!ciphers.length">
{{ "noWeakPasswords" | i18n }} {{ "noWeakPasswords" | i18n }}
</bit-callout> </app-callout>
<ng-container *ngIf="ciphers.length"> <ng-container *ngIf="ciphers.length">
<bit-callout type="danger" title="{{ 'weakPasswordsFound' | i18n }}"> <app-callout type="danger" title="{{ 'weakPasswordsFound' | i18n }}">
{{ "weakPasswordsFoundReportDesc" | i18n: (ciphers.length | number) : vaultMsg }} {{ "weakPasswordsFoundReportDesc" | i18n: (ciphers.length | number) : vaultMsg }}
</bit-callout> </app-callout>
<bit-toggle-group <bit-toggle-group
*ngIf="showFilterToggle && !isAdminConsoleActive" *ngIf="showFilterToggle && !isAdminConsoleActive"
[selected]="filterOrgStatus$ | async" [selected]="filterOrgStatus$ | async"
@@ -31,33 +31,36 @@
</bit-toggle> </bit-toggle>
</ng-container> </ng-container>
</bit-toggle-group> </bit-toggle-group>
<bit-table [dataSource]="dataSource"> <table class="table table-hover table-list table-ciphers">
<ng-container header *ngIf="!isAdminConsoleActive"> <thead
class="tw-border-0 tw-border-b-2 tw-border-solid tw-border-secondary-300 tw-font-bold tw-text-muted"
*ngIf="!isAdminConsoleActive"
>
<tr> <tr>
<th></th> <th></th>
<th>{{ "name" | i18n }}</th> <th>{{ "name" | i18n }}</th>
<th>{{ "owner" | i18n }}</th> <th>{{ "owner" | i18n }}</th>
</tr> </tr>
</ng-container> </thead>
<ng-template body let-rows$> <tbody>
<tr bitRow *ngFor="let r of rows$ | async"> <tr *ngFor="let c of ciphers">
<td bitCell> <td class="table-list-icon">
<app-vault-icon [cipher]="r"></app-vault-icon> <app-vault-icon [cipher]="c"></app-vault-icon>
</td> </td>
<td class="reduced-lh wrap"> <td class="reduced-lh wrap">
<ng-container *ngIf="!organization || canManageCipher(r); else cantManage"> <ng-container *ngIf="!organization || canManageCipher(c); else cantManage">
<a <a
href="#" href="#"
appStopClick appStopClick
(click)="selectCipher(r)" (click)="selectCipher(c)"
title="{{ 'editItem' | i18n }}" title="{{ 'editItem' | i18n }}"
>{{ r.name }}</a >{{ c.name }}</a
> >
</ng-container> </ng-container>
<ng-template #cantManage> <ng-template #cantManage>
<span>{{ r.name }}</span> <span>{{ c.name }}</span>
</ng-template> </ng-template>
<ng-container *ngIf="!organization && r.organizationId"> <ng-container *ngIf="!organization && c.organizationId">
<i <i
class="bwi bwi-collection" class="bwi bwi-collection"
appStopProp appStopProp
@@ -66,7 +69,7 @@
></i> ></i>
<span class="sr-only">{{ "shared" | i18n }}</span> <span class="sr-only">{{ "shared" | i18n }}</span>
</ng-container> </ng-container>
<ng-container *ngIf="r.hasAttachments"> <ng-container *ngIf="c.hasAttachments">
<i <i
class="bwi bwi-paperclip" class="bwi bwi-paperclip"
appStopProp appStopProp
@@ -76,26 +79,26 @@
<span class="sr-only">{{ "attachments" | i18n }}</span> <span class="sr-only">{{ "attachments" | i18n }}</span>
</ng-container> </ng-container>
<br /> <br />
<small>{{ r.subTitle }}</small> <small>{{ c.subTitle }}</small>
</td> </td>
<td> <td>
<app-org-badge <app-org-badge
*ngIf="!organization" *ngIf="!organization"
[disabled]="disabled" [disabled]="disabled"
[organizationId]="r.organizationId" [organizationId]="c.organizationId"
[organizationName]="r.organizationId | orgNameFromId: (organizations$ | async)" [organizationName]="c.organizationId | orgNameFromId: (organizations$ | async)"
appStopProp appStopProp
> >
</app-org-badge> </app-org-badge>
</td> </td>
<td class="text-right"> <td class="text-right">
<span bitBadge [variant]="passwordStrengthMap.get(r.id)[1]"> <span bitBadge [variant]="passwordStrengthMap.get(c.id)[1]">
{{ passwordStrengthMap.get(r.id)[0] | i18n }} {{ passwordStrengthMap.get(c.id)[0] | i18n }}
</span> </span>
</td> </td>
</tr> </tr>
</ng-template> </tbody>
</bit-table> </table>
</ng-container> </ng-container>
</div> </div>
<ng-template #cipherAddEdit></ng-template> <ng-template #cipherAddEdit></ng-template>