premium callout

This commit is contained in:
Kyle Spearrin 2018-07-20 10:44:17 -04:00
parent b99df5905f
commit b9ea3de860
4 changed files with 21 additions and 4 deletions

View File

@ -2,7 +2,7 @@
<h1>{{'goPremium' | i18n}}</h1> <h1>{{'goPremium' | i18n}}</h1>
</div> </div>
<app-callout type="success"> <app-callout type="success">
<p>{{'premiumSignUpAndGet' | i18n}}</p> <p>{{'premiumUpgradeUnlockFeatures' | i18n}}</p>
<ul class="fa-ul"> <ul class="fa-ul">
<li> <li>
<i class="fa fa-check text-success fa-li"></i> <i class="fa fa-check text-success fa-li"></i>

View File

@ -72,6 +72,17 @@
</a> </a>
</div> </div>
</div> </div>
<div class="card border-success mb-4" *ngIf="showPremiumCallout">
<div class="card-header bg-success text-white">
<i class="fa fa-star fa-fw"></i> {{'goPremium' | i18n}}
</div>
<div class="card-body">
<p>{{'premiumUpgradeUnlockFeatures' | i18n}}</p>
<a class="btn btn-block btn-outline-secondary" routerLink="/settings/premium">
{{'goPremium' | i18n}}
</a>
</div>
</div>
<div class="card"> <div class="card">
<div class="card-header d-flex"> <div class="card-header d-flex">
{{'organizations' | i18n}} {{'organizations' | i18n}}

View File

@ -33,6 +33,7 @@ import { ShareComponent } from './share.component';
import { CryptoService } from 'jslib/abstractions/crypto.service'; import { CryptoService } from 'jslib/abstractions/crypto.service';
import { I18nService } from 'jslib/abstractions/i18n.service'; import { I18nService } from 'jslib/abstractions/i18n.service';
import { MessagingService } from 'jslib/abstractions/messaging.service'; import { MessagingService } from 'jslib/abstractions/messaging.service';
import { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';
import { SyncService } from 'jslib/abstractions/sync.service'; import { SyncService } from 'jslib/abstractions/sync.service';
import { TokenService } from 'jslib/abstractions/token.service'; import { TokenService } from 'jslib/abstractions/token.service';
import { UserService } from 'jslib/abstractions/user.service'; import { UserService } from 'jslib/abstractions/user.service';
@ -62,6 +63,7 @@ export class VaultComponent implements OnInit {
showVerifyEmail = false; showVerifyEmail = false;
showBrowserOutdated = false; showBrowserOutdated = false;
showUpdateKey = false; showUpdateKey = false;
showPremiumCallout = false;
private modal: ModalComponent = null; private modal: ModalComponent = null;
@ -69,13 +71,17 @@ export class VaultComponent implements OnInit {
private router: Router, private location: Location, private router: Router, private location: Location,
private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver, private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,
private tokenService: TokenService, private cryptoService: CryptoService, private tokenService: TokenService, private cryptoService: CryptoService,
private messagingService: MessagingService, private userService: UserService) { } private messagingService: MessagingService, private userService: UserService,
private platformUtilsService: PlatformUtilsService) { }
async ngOnInit() { async ngOnInit() {
this.showVerifyEmail = !(await this.tokenService.getEmailVerified()); this.showVerifyEmail = !(await this.tokenService.getEmailVerified());
this.showBrowserOutdated = window.navigator.userAgent.indexOf('MSIE') !== -1; this.showBrowserOutdated = window.navigator.userAgent.indexOf('MSIE') !== -1;
const hasEncKey = await this.cryptoService.hasEncKey(); const hasEncKey = await this.cryptoService.hasEncKey();
this.showUpdateKey = !hasEncKey; this.showUpdateKey = !hasEncKey;
const isPremium = await this.tokenService.getPremium();
this.showPremiumCallout = !this.showVerifyEmail && !isPremium &&
!this.platformUtilsService.isSelfHost();
this.route.queryParams.subscribe(async (params) => { this.route.queryParams.subscribe(async (params) => {
await this.syncService.fullSync(false); await this.syncService.fullSync(false);

View File

@ -1267,8 +1267,8 @@
"premiumUpdated": { "premiumUpdated": {
"message": "You've upgraded to premium." "message": "You've upgraded to premium."
}, },
"premiumSignUpAndGet": { "premiumUpgradeUnlockFeatures": {
"message": "Sign up for a premium membership and get:" "message": "Upgrade your account to a premium membership and unlock some great additional features."
}, },
"premiumSignUpStorage": { "premiumSignUpStorage": {
"message": "1 GB of encrypted file storage." "message": "1 GB of encrypted file storage."