import { Component, Input, OnChanges } from "@angular/core"; import { I18nService } from "jslib-common/abstractions/i18n.service"; @Component({ selector: "app-password-strength", templateUrl: "password-strength.component.html", }) export class PasswordStrengthComponent implements OnChanges { @Input() score?: number; @Input() showText = false; scoreWidth = 0; color = "bg-danger"; text: string; constructor(private i18nService: I18nService) {} ngOnChanges(): void { this.scoreWidth = this.score == null ? 0 : (this.score + 1) * 20; switch (this.score) { case 4: this.color = "bg-success"; this.text = this.i18nService.t("strong"); break; case 3: this.color = "bg-primary"; this.text = this.i18nService.t("good"); break; case 2: this.color = "bg-warning"; this.text = this.i18nService.t("weak"); break; default: this.color = "bg-danger"; this.text = this.score != null ? this.i18nService.t("weak") : null; break; } } }