mirror of https://github.com/ghostfolio/ghostfolio
Thomas Kaul
2 years ago
committed by
GitHub
17 changed files with 298 additions and 66 deletions
@ -0,0 +1 @@ |
|||
export interface SubscriptionInterstitialDialogParams {} |
@ -0,0 +1,22 @@ |
|||
import { ChangeDetectionStrategy, Component, Inject } from '@angular/core'; |
|||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; |
|||
|
|||
import { SubscriptionInterstitialDialogParams } from './interfaces/interfaces'; |
|||
|
|||
@Component({ |
|||
changeDetection: ChangeDetectionStrategy.OnPush, |
|||
host: { class: 'd-flex flex-column flex-grow-1 h-100' }, |
|||
selector: 'gf-subscription-interstitial-dialog', |
|||
styleUrls: ['./subscription-interstitial-dialog.scss'], |
|||
templateUrl: 'subscription-interstitial-dialog.html' |
|||
}) |
|||
export class SubscriptionInterstitialDialog { |
|||
public constructor( |
|||
@Inject(MAT_DIALOG_DATA) public data: SubscriptionInterstitialDialogParams, |
|||
public dialogRef: MatDialogRef<SubscriptionInterstitialDialog> |
|||
) {} |
|||
|
|||
public onCancel() { |
|||
this.dialogRef.close({}); |
|||
} |
|||
} |
@ -0,0 +1,42 @@ |
|||
<h1 class="align-items-center d-flex" mat-dialog-title> |
|||
<span>Ghostfolio Premium</span> |
|||
<gf-premium-indicator class="ml-1"></gf-premium-indicator> |
|||
</h1> |
|||
<div class="flex-grow-1" mat-dialog-content> |
|||
<p class="h5" i18n> |
|||
Are you an ambitious investor who needs the full picture? |
|||
</p> |
|||
<p i18n> |
|||
By upgrading to Ghostfolio Premium, you will get these additional features: |
|||
</p> |
|||
<ul class="list-unstyled mb-3"> |
|||
<li class="align-items-center d-flex mb-1"> |
|||
<ion-icon class="mr-1" name="checkmark-circle-outline"></ion-icon> |
|||
<span i18n>Portfolio Summary</span> |
|||
</li> |
|||
<li class="align-items-center d-flex mb-1"> |
|||
<ion-icon class="mr-1" name="checkmark-circle-outline"></ion-icon> |
|||
<span i18n>Performance Benchmarks</span> |
|||
</li> |
|||
<li class="align-items-center d-flex mb-1"> |
|||
<ion-icon class="mr-1" name="checkmark-circle-outline"></ion-icon> |
|||
<span i18n>Allocations</span> |
|||
</li> |
|||
<li class="align-items-center d-flex mb-1"> |
|||
<ion-icon class="mr-1" name="checkmark-circle-outline"></ion-icon> |
|||
<span i18n>FIRE Calculator</span> |
|||
</li> |
|||
<li class="align-items-center d-flex mb-1"> |
|||
<ion-icon class="mr-1" name="checkmark-circle-outline"></ion-icon> |
|||
<a i18n [routerLink]="['/features']">and more Features...</a> |
|||
</li> |
|||
</ul> |
|||
<p>Refine your personal investment strategy now.</p> |
|||
</div> |
|||
<div class="justify-content-end" mat-dialog-actions> |
|||
<button i18n mat-button (click)="onCancel()">Skip</button> |
|||
<a color="primary" mat-flat-button [routerLink]="['/pricing']"> |
|||
<span i18n>Upgrade Plan</span> |
|||
<ion-icon class="ml-1" name="arrow-forward-outline"></ion-icon> |
|||
</a> |
|||
</div> |
@ -0,0 +1,21 @@ |
|||
import { CommonModule } from '@angular/common'; |
|||
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; |
|||
import { MatButtonModule } from '@angular/material/button'; |
|||
import { MatDialogModule } from '@angular/material/dialog'; |
|||
import { RouterModule } from '@angular/router'; |
|||
import { GfPremiumIndicatorModule } from '@ghostfolio/ui/premium-indicator'; |
|||
|
|||
import { SubscriptionInterstitialDialog } from './subscription-interstitial-dialog.component'; |
|||
|
|||
@NgModule({ |
|||
declarations: [SubscriptionInterstitialDialog], |
|||
imports: [ |
|||
CommonModule, |
|||
GfPremiumIndicatorModule, |
|||
MatButtonModule, |
|||
MatDialogModule, |
|||
RouterModule |
|||
], |
|||
schemas: [CUSTOM_ELEMENTS_SCHEMA] |
|||
}) |
|||
export class GfSubscriptionInterstitialDialogModule {} |
@ -0,0 +1,11 @@ |
|||
:host { |
|||
display: block; |
|||
|
|||
.mat-dialog-content { |
|||
max-height: unset; |
|||
|
|||
ion-icon[name='checkmark-circle-outline'] { |
|||
color: rgba(var(--palette-accent-500), 1); |
|||
} |
|||
} |
|||
} |
Loading…
Reference in new issue