From d9edf1149c7c63cc96dc03662d2fa919c8d7a8f1 Mon Sep 17 00:00:00 2001 From: Daniel James Smith Date: Thu, 20 Mar 2025 23:03:06 +0100 Subject: [PATCH] Add ability to display achievement specific icons Ideally the name of the icon is present on the achievement configuration. Currently a iconMap is used to lookup the icon by achievementId --- .../achievements/achievements.component.ts | 10 ++-- .../achievement-item.component.html | 2 +- .../achievement-item.component.ts | 2 +- .../achievement-notifier.service.ts | 55 ++++++++++--------- .../achievements-list.component.html | 1 + .../achievements-list.component.ts | 40 ++++++++++++-- .../tools/achievements/icons/card/index.ts | 0 .../src/tools/achievements/icons/iconMap.ts | 15 +++++ .../src/tools/achievements/icons/index.ts | 2 + .../login/fifty-login-items-created.icon.ts | 15 +++++ .../tools/achievements/icons/login/index.ts | 4 ++ .../login/one-login-item-created.icon.ts | 14 +++++ .../onehundred-login-items-created.icon.ts | 17 ++++++ .../login/ten-login-items-created.icon.ts | 15 +++++ 14 files changed, 156 insertions(+), 36 deletions(-) create mode 100644 libs/angular/src/tools/achievements/icons/card/index.ts create mode 100644 libs/angular/src/tools/achievements/icons/iconMap.ts create mode 100644 libs/angular/src/tools/achievements/icons/index.ts create mode 100644 libs/angular/src/tools/achievements/icons/login/fifty-login-items-created.icon.ts create mode 100644 libs/angular/src/tools/achievements/icons/login/index.ts create mode 100644 libs/angular/src/tools/achievements/icons/login/one-login-item-created.icon.ts create mode 100644 libs/angular/src/tools/achievements/icons/login/onehundred-login-items-created.icon.ts create mode 100644 libs/angular/src/tools/achievements/icons/login/ten-login-items-created.icon.ts diff --git a/apps/browser/src/tools/popup/achievements/achievements.component.ts b/apps/browser/src/tools/popup/achievements/achievements.component.ts index 8f3c04e02c3..e8c5392c50f 100644 --- a/apps/browser/src/tools/popup/achievements/achievements.component.ts +++ b/apps/browser/src/tools/popup/achievements/achievements.component.ts @@ -7,7 +7,7 @@ import { AchievementsListComponent } from "@bitwarden/angular/tools/achievements import { AccountService } from "@bitwarden/common/auth/abstractions/account.service"; import { AchievementHub } from "@bitwarden/common/tools/achievements/achievement-hub"; import { EventStoreAbstraction } from "@bitwarden/common/tools/achievements/event-store.abstraction.service"; -import { VaultItems_10_Added_Achievement } from "@bitwarden/common/tools/achievements/examples/achievements"; +import { LoginItems_50_Added_Achievement } from "@bitwarden/common/tools/achievements/examples/achievements/login-item-added"; import { AchievementEarnedEvent, AchievementId } from "@bitwarden/common/tools/achievements/types"; import { UserId } from "@bitwarden/common/types/guid"; import { ButtonModule, IconModule } from "@bitwarden/components"; @@ -38,7 +38,7 @@ export class AchievementsComponent implements OnInit { constructor( private eventStore: EventStoreAbstraction, private accountService: AccountService, - private achievementHub: AchievementHub + private achievementHub: AchievementHub, ) {} async ngOnInit() { @@ -62,10 +62,10 @@ export class AchievementsComponent implements OnInit { version: "2025.3.1-innovation-sprint", }, user: { id: this.currentUserId }, - achievement: { type: "earned", name: VaultItems_10_Added_Achievement.name as AchievementId }, + achievement: { type: "earned", name: LoginItems_50_Added_Achievement.name as AchievementId }, }; - // this.eventStore.addEvent(earnedAchievement); - this.achievementHub.addEvent(earnedAchievement); + this.eventStore.addEvent(earnedAchievement); + // this.achievementHub.addEvent(earnedAchievement); } } diff --git a/libs/angular/src/tools/achievements/achievement-item.component.html b/libs/angular/src/tools/achievements/achievement-item.component.html index e68663c1a20..5ab276e69dd 100644 --- a/libs/angular/src/tools/achievements/achievement-item.component.html +++ b/libs/angular/src/tools/achievements/achievement-item.component.html @@ -1,7 +1,7 @@