Files
clients/angular/src/components/premium.component.ts

49 lines
2.0 KiB
TypeScript
Raw Normal View History

import { Directive, OnInit } from '@angular/core';
2018-04-13 13:19:14 -04:00
import { ApiService } from 'jslib-common/abstractions/api.service';
import { I18nService } from 'jslib-common/abstractions/i18n.service';
import { LogService } from 'jslib-common/abstractions/log.service';
import { PlatformUtilsService } from 'jslib-common/abstractions/platformUtils.service';
import { UserService } from 'jslib-common/abstractions/user.service';
2018-04-13 13:19:14 -04:00
@Directive()
2018-04-13 13:19:14 -04:00
export class PremiumComponent implements OnInit {
isPremium: boolean = false;
2018-08-31 15:38:40 -04:00
price: number = 10;
2018-04-13 13:19:14 -04:00
refreshPromise: Promise<any>;
constructor(protected i18nService: I18nService, protected platformUtilsService: PlatformUtilsService,
protected apiService: ApiService, protected userService: UserService, private logService: LogService) { }
2018-04-13 13:19:14 -04:00
async ngOnInit() {
this.isPremium = await this.userService.canAccessPremium();
2018-04-13 13:19:14 -04:00
}
async refresh() {
try {
this.refreshPromise = this.apiService.refreshIdentityToken();
await this.refreshPromise;
2018-10-02 23:09:19 -04:00
this.platformUtilsService.showToast('success', null, this.i18nService.t('refreshComplete'));
this.isPremium = await this.userService.canAccessPremium();
} catch (e) {
this.logService.error(e);
}
2018-04-13 13:19:14 -04:00
}
async purchase() {
const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('premiumPurchaseAlert'),
this.i18nService.t('premiumPurchase'), this.i18nService.t('yes'), this.i18nService.t('cancel'));
if (confirmed) {
this.platformUtilsService.launchUri('https://vault.bitwarden.com/#/?premium=purchase');
}
}
async manage() {
const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('premiumManageAlert'),
this.i18nService.t('premiumManage'), this.i18nService.t('yes'), this.i18nService.t('cancel'));
if (confirmed) {
this.platformUtilsService.launchUri('https://vault.bitwarden.com/#/?premium=manage');
}
}
}