diff --git a/libs/ui/src/lib/membership-card/index.ts b/libs/ui/src/lib/membership-card/index.ts new file mode 100644 index 000000000..d2d31728f --- /dev/null +++ b/libs/ui/src/lib/membership-card/index.ts @@ -0,0 +1 @@ +export * from './membership-card.module'; \ No newline at end of file diff --git a/libs/ui/src/lib/membership-card/membership-card.component.html b/libs/ui/src/lib/membership-card/membership-card.component.html new file mode 100644 index 000000000..1ad89c304 --- /dev/null +++ b/libs/ui/src/lib/membership-card/membership-card.component.html @@ -0,0 +1,17 @@ +
+
+ +
+
+
+

Card Holder

+

{{ name }}

+
+
+

Expires

+

{{ expiresAt | date: 'MM/yy' }}

+
+
+
diff --git a/libs/ui/src/lib/membership-card/membership-card.component.scss b/libs/ui/src/lib/membership-card/membership-card.component.scss new file mode 100644 index 000000000..ff28d38a2 --- /dev/null +++ b/libs/ui/src/lib/membership-card/membership-card.component.scss @@ -0,0 +1,26 @@ +:host { + display: block; + + .card-item { + max-width: 430px; + height: 270px; + margin-left: auto; + margin-right: auto; + border-radius: 15px; + } + .card-item-heading { + opacity: 0.7; + font-size: 13px; + margin-bottom: 5px; + } + .card-item-name { + font-size: 18px; + line-height: 1; + white-space: nowrap; + max-width: 100%; + overflow: hidden; + text-overflow: ellipsis; + text-transform: uppercase; + margin-bottom: 3px; + } +} diff --git a/libs/ui/src/lib/membership-card/membership-card.component.ts b/libs/ui/src/lib/membership-card/membership-card.component.ts new file mode 100644 index 000000000..6ce3a1c0d --- /dev/null +++ b/libs/ui/src/lib/membership-card/membership-card.component.ts @@ -0,0 +1,12 @@ +import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; + +@Component({ + changeDetection: ChangeDetectionStrategy.OnPush, + selector: 'gf-membership-card', + styleUrls: ['./membership-card.component.scss'], + templateUrl: './membership-card.component.html' +}) +export class MembershipCardComponent { + @Input() public expiresAt: Date; + @Input() public name: string; +} \ No newline at end of file diff --git a/libs/ui/src/lib/membership-card/membership-card.module.ts b/libs/ui/src/lib/membership-card/membership-card.module.ts new file mode 100644 index 000000000..cb0928b50 --- /dev/null +++ b/libs/ui/src/lib/membership-card/membership-card.module.ts @@ -0,0 +1,13 @@ +import { CommonModule } from '@angular/common'; +import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; + +import { MembershipCardComponent } from './membership-card.component'; +import { GfLogoModule } from '@ghostfolio/ui/logo'; + +@NgModule({ + declarations: [MembershipCardComponent], + exports: [MembershipCardComponent], + imports: [CommonModule, GfLogoModule], + schemas: [CUSTOM_ELEMENTS_SCHEMA] +}) +export class GFMembershipCardModule { } \ No newline at end of file