diff --git a/jslib b/jslib index 74464957..f7375e90 160000 --- a/jslib +++ b/jslib @@ -1 +1 @@ -Subproject commit 744649573a387575aabf9bc5eefc8eb559958f3d +Subproject commit f7375e9064e16f5998700ce0516aad85818de54d diff --git a/src/app/components/premium-badge.component.ts b/src/app/components/premium-badge.component.ts new file mode 100644 index 00000000..3852b7df --- /dev/null +++ b/src/app/components/premium-badge.component.ts @@ -0,0 +1,19 @@ +import { Component } from "@angular/core"; + +import { MessagingService } from "jslib-common/abstractions/messaging.service"; + +@Component({ + selector: "app-premium-badge", + template: ` + + {{ "premium" | i18n }} + + `, +}) +export class PremiumBadgeComponent { + constructor(private messagingService: MessagingService) {} + + premiumRequired() { + this.messagingService.send("premiumRequired"); + } +} diff --git a/src/app/oss.module.ts b/src/app/oss.module.ts index b8eaeb0d..4db91ea0 100644 --- a/src/app/oss.module.ts +++ b/src/app/oss.module.ts @@ -53,6 +53,7 @@ import localeZhTw from "@angular/common/locales/zh-Hant"; import { NgModule } from "@angular/core"; import { FormsModule, ReactiveFormsModule } from "@angular/forms"; import { RouterModule } from "@angular/router"; +import { BadgeModule } from "@bitwarden/components"; import { InfiniteScrollModule } from "ngx-infinite-scroll"; import { ToastrModule } from "ngx-toastr"; @@ -70,6 +71,7 @@ import { BoxRowDirective } from "jslib-angular/directives/box-row.directive"; import { FallbackSrcDirective } from "jslib-angular/directives/fallback-src.directive"; import { InputStripSpacesDirective } from "jslib-angular/directives/input-strip-spaces.directive"; import { InputVerbatimDirective } from "jslib-angular/directives/input-verbatim.directive"; +import { NotPremiumDirective } from "jslib-angular/directives/not-premium.directive"; import { SelectCopyDirective } from "jslib-angular/directives/select-copy.directive"; import { StopClickDirective } from "jslib-angular/directives/stop-click.directive"; import { StopPropDirective } from "jslib-angular/directives/stop-prop.directive"; @@ -100,6 +102,7 @@ import { VerifyRecoverDeleteComponent } from "./accounts/verify-recover-delete.c import { NestedCheckboxComponent } from "./components/nested-checkbox.component"; import { PasswordRepromptComponent } from "./components/password-reprompt.component"; import { PasswordStrengthComponent } from "./components/password-strength.component"; +import { PremiumBadgeComponent } from "./components/premium-badge.component"; import { FooterComponent } from "./layouts/footer.component"; import { FrontendLayoutComponent } from "./layouts/frontend-layout.component"; import { NavbarComponent } from "./layouts/navbar.component"; @@ -292,10 +295,11 @@ registerLocaleData(localeZhTw, "zh-TW"); ToastrModule, ReactiveFormsModule, RouterModule, + BadgeModule, ], declarations: [ - A11yTitleDirective, A11yInvalidDirective, + A11yTitleDirective, AcceptEmergencyComponent, AcceptOrganizationComponent, AccessComponent, @@ -364,6 +368,7 @@ registerLocaleData(localeZhTw, "zh-TW"); MasterPasswordPolicyComponent, NavbarComponent, NestedCheckboxComponent, + NotPremiumDirective, OptionsComponent, OrgAccountComponent, OrgAddEditComponent, @@ -412,6 +417,7 @@ registerLocaleData(localeZhTw, "zh-TW"); PasswordStrengthComponent, PaymentComponent, PersonalOwnershipPolicyComponent, + PremiumBadgeComponent, PremiumComponent, ProfileComponent, ProvidersComponent, @@ -456,8 +462,8 @@ registerLocaleData(localeZhTw, "zh-TW"); UnsecuredWebsitesReportComponent, UpdateKeyComponent, UpdateLicenseComponent, - UpdateTempPasswordComponent, UpdatePasswordComponent, + UpdateTempPasswordComponent, UserBillingComponent, UserLayoutComponent, UserNamePipe, diff --git a/src/app/settings/emergency-access-add-edit.component.html b/src/app/settings/emergency-access-add-edit.component.html index c48b489e..b66a7451 100644 --- a/src/app/settings/emergency-access-add-edit.component.html +++ b/src/app/settings/emergency-access-add-edit.component.html @@ -9,7 +9,7 @@ >