Feature/add reusable premium indicator component (#1041)

* Add premium indicator component

* Update changelog
This commit is contained in:
Thomas Kaul
2022-06-25 12:38:15 +02:00
committed by GitHub
parent f7bf6e652b
commit 069ddcc6b2
20 changed files with 147 additions and 81 deletions

View File

@@ -1,3 +1,4 @@
import { RouterTestingModule } from '@angular/router/testing';
import { GfLogoModule } from '@ghostfolio/ui/logo';
import { Meta, Story, moduleMetadata } from '@storybook/angular';
@@ -8,7 +9,7 @@ export default {
component: NoTransactionsInfoComponent,
decorators: [
moduleMetadata({
imports: [GfLogoModule]
imports: [GfLogoModule, RouterTestingModule]
})
]
} as Meta<NoTransactionsInfoComponent>;

View File

@@ -0,0 +1 @@
export * from './premium-indicator.module';

View File

@@ -0,0 +1,6 @@
<a
class="align-items-center d-flex"
[ngStyle]="{ 'pointer-events': enableLink ? 'initial' : 'none' }"
[routerLink]="['/pricing']"
><ion-icon class="text-muted" name="diamond-outline"></ion-icon
></a>

View File

@@ -0,0 +1,3 @@
:host {
display: block;
}

View File

@@ -0,0 +1,29 @@
import { CommonModule } from '@angular/common';
import { RouterTestingModule } from '@angular/router/testing';
import { Meta, Story, moduleMetadata } from '@storybook/angular';
import { PremiumIndicatorComponent } from './premium-indicator.component';
export default {
title: 'Premium Indicator',
component: PremiumIndicatorComponent,
decorators: [
moduleMetadata({
imports: [CommonModule, RouterTestingModule]
})
]
} as Meta<PremiumIndicatorComponent>;
const Template: Story<PremiumIndicatorComponent> = (
args: PremiumIndicatorComponent
) => ({
props: args
});
export const Default = Template.bind({});
Default.args = {};
export const WithoutLink = Template.bind({});
WithoutLink.args = {
enableLink: false
};

View File

@@ -0,0 +1,13 @@
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
@Component({
selector: 'gf-premium-indicator',
changeDetection: ChangeDetectionStrategy.OnPush,
templateUrl: './premium-indicator.component.html',
styleUrls: ['./premium-indicator.component.scss']
})
export class PremiumIndicatorComponent {
@Input() enableLink = true;
public constructor() {}
}

View File

@@ -0,0 +1,14 @@
import { CommonModule } from '@angular/common';
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { PremiumIndicatorComponent } from './premium-indicator.component';
@NgModule({
declarations: [PremiumIndicatorComponent],
exports: [PremiumIndicatorComponent],
imports: [CommonModule, RouterModule],
providers: [],
schemas: [CUSTOM_ELEMENTS_SCHEMA]
})
export class GfPremiumIndicatorModule {}