mirror of
https://github.com/bitwarden/browser
synced 2026-02-11 05:53:42 +00:00
even more cleanup
This commit is contained in:
@@ -248,7 +248,7 @@ import { EventCollectionService } from "@bitwarden/common/services/event/event-c
|
||||
import { EventUploadService } from "@bitwarden/common/services/event/event-upload.service";
|
||||
import { SearchService } from "@bitwarden/common/services/search.service";
|
||||
import { AchievementService } from "@bitwarden/common/tools/achievements/achievement.service.abstraction";
|
||||
import { NextAchievementService } from "@bitwarden/common/tools/achievements/next-achievement.service";
|
||||
import { DefaultAchievementService } from "@bitwarden/common/tools/achievements/next-achievement.service";
|
||||
import { DefaultUserEventCollector } from "@bitwarden/common/tools/log/default-user-event-collector";
|
||||
import { UserEventCollector } from "@bitwarden/common/tools/log/user-event-collector";
|
||||
import {
|
||||
@@ -1503,7 +1503,7 @@ const safeProviders: SafeProvider[] = [
|
||||
}),
|
||||
safeProvider({
|
||||
provide: AchievementService,
|
||||
useClass: NextAchievementService,
|
||||
useClass: DefaultAchievementService,
|
||||
deps: [UserEventCollector],
|
||||
}),
|
||||
safeProvider({
|
||||
|
||||
@@ -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)"
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user