1
0
mirror of https://github.com/bitwarden/browser synced 2026-02-10 21:50:15 +00:00

even more cleanup

This commit is contained in:
✨ Audrey ✨
2025-03-20 22:16:30 -04:00
parent bf089705a7
commit 786603559a
16 changed files with 82 additions and 174 deletions

View File

@@ -3,13 +3,13 @@
<h2 class="tw-font-bold" bitTypography="h6">
{{ "achievements" | i18n }}
</h2>
<span bitTypography="body1" slot="end">{{ allAchievementCards.length }}</span>
<span bitTypography="body1" slot="end">{{ achievements.length }}</span>
</bit-section-header>
<bit-item-group>
@for (achievement of achievements; track achievement.name) {
<achievement-item
[icon]="lookupIcon(achievement)"
[icon]="icon(achievement)"
[title]="achievement.name"
[description]="achievement.description"
[earned]="isEarned(achievement)"

View File

@@ -1,5 +1,5 @@
import { CommonModule } from "@angular/common";
import { Component } from "@angular/core";
import { Component, NgZone } from "@angular/core";
import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
import { filter, switchMap } from "rxjs";
@@ -51,6 +51,7 @@ export class AchievementsListComponent {
constructor(
private achievementService: AchievementService,
private accountService: AccountService,
zone: NgZone,
) {
this.achievements = achievementService.achievementMap();
@@ -60,7 +61,7 @@ export class AchievementsListComponent {
switchMap((account) => this.achievementService.earnedMap$(account)),
takeUntilDestroyed(),
)
.subscribe((earned) => (this._earned = earned));
.subscribe((earned) => zone.run(() => (this._earned = earned)));
this.accountService.activeAccount$
.pipe(
@@ -68,7 +69,7 @@ export class AchievementsListComponent {
switchMap((account) => this.achievementService.metricsMap$(account)),
takeUntilDestroyed(),
)
.subscribe((progress) => (this._progress = progress));
.subscribe((progress) => zone.run(() => (this._progress = progress)));
}
protected isEarned(achievement: Achievement) {
@@ -87,7 +88,7 @@ export class AchievementsListComponent {
return this._progress.get(achievement.active.metric)?.achievement?.value ?? -1;
}
protected lookupIcon(achievement: Achievement): Icon {
protected icon(achievement: Achievement): Icon {
return (iconMap[achievement.achievement] as Icon) ?? AchievementIcon;
}
}