diff --git a/apps/web/src/app/tools/access-intelligence/access-intelligence.component.html b/apps/web/src/app/tools/access-intelligence/access-intelligence.component.html index 78ddfb2392..0b2a839958 100644 --- a/apps/web/src/app/tools/access-intelligence/access-intelligence.component.html +++ b/apps/web/src/app/tools/access-intelligence/access-intelligence.component.html @@ -1,4 +1,20 @@ - +
{{ "accessIntelligence" | i18n }}
+

{{ "passwordRisk" | i18n }}

+
{{ "discoverAtRiskPasswords" | i18n }}
+
+ + {{ + "dataLastUpdated" | i18n: (dataLastUpdated | date: "MMMM d, y 'at' h:mm a") + }} + + {{ "refresh" | i18n }} + +
diff --git a/apps/web/src/app/tools/access-intelligence/access-intelligence.component.ts b/apps/web/src/app/tools/access-intelligence/access-intelligence.component.ts index 3444e3a7ff..90b2979d1b 100644 --- a/apps/web/src/app/tools/access-intelligence/access-intelligence.component.ts +++ b/apps/web/src/app/tools/access-intelligence/access-intelligence.component.ts @@ -5,7 +5,7 @@ import { ActivatedRoute } from "@angular/router"; import { first } from "rxjs"; import { JslibModule } from "@bitwarden/angular/jslib.module"; -import { TabsModule } from "@bitwarden/components"; +import { AsyncActionsModule, ButtonModule, TabsModule } from "@bitwarden/components"; import { HeaderModule } from "../../layouts/header/header.module"; @@ -25,6 +25,8 @@ export enum AccessIntelligenceTabType { templateUrl: "./access-intelligence.component.html", imports: [ ApplicationTableComponent, + AsyncActionsModule, + ButtonModule, CommonModule, JslibModule, HeaderModule, @@ -36,11 +38,22 @@ export enum AccessIntelligenceTabType { }) export class AccessIntelligenceComponent { tabIndex: AccessIntelligenceTabType; + dataLastUpdated = new Date(); apps: any[] = []; priorityApps: any[] = []; notifiedMembers: any[] = []; + async refreshData() { + // TODO: Implement + return new Promise((resolve) => + setTimeout(() => { + this.dataLastUpdated = new Date(); + resolve(true); + }, 1000), + ); + } + constructor(route: ActivatedRoute) { route.queryParams.pipe(takeUntilDestroyed(), first()).subscribe(({ tabIndex }) => { this.tabIndex = !isNaN(tabIndex) ? tabIndex : AccessIntelligenceTabType.AllApps; diff --git a/apps/web/src/locales/en/messages.json b/apps/web/src/locales/en/messages.json index c50775efa6..048c549170 100644 --- a/apps/web/src/locales/en/messages.json +++ b/apps/web/src/locales/en/messages.json @@ -8,6 +8,21 @@ "accessIntelligence": { "message": "Access Intelligence" }, + "passwordRisk": { + "message": "Password Risk" + }, + "discoverAtRiskPasswords": { + "message": "Discover at-risk passwords and notify users to change those passwords." + }, + "dataLastUpdated": { + "message": "Data last updated: $DATE$", + "placeholders": { + "date": { + "content": "$1", + "example": "2021-01-01" + } + } + }, "notifiedMembers": { "message": "Notified members" },