From 2de747f31202ed3eaa0ea42d0aae91bbdfc83bb0 Mon Sep 17 00:00:00 2001 From: KenTandrian Date: Fri, 1 Aug 2025 08:47:32 +0700 Subject: [PATCH] feat(ui): add storybook for membership card --- .../membership-card.component.stories.ts | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 libs/ui/src/lib/membership-card/membership-card.component.stories.ts diff --git a/libs/ui/src/lib/membership-card/membership-card.component.stories.ts b/libs/ui/src/lib/membership-card/membership-card.component.stories.ts new file mode 100644 index 000000000..6cf43ffcf --- /dev/null +++ b/libs/ui/src/lib/membership-card/membership-card.component.stories.ts @@ -0,0 +1,54 @@ +import { CommonModule } from '@angular/common'; +import '@angular/localize/init'; +import { MatButtonModule } from '@angular/material/button'; +import { ActivatedRoute, RouterModule } from '@angular/router'; +import { IonIcon } from '@ionic/angular/standalone'; +import { moduleMetadata } from '@storybook/angular'; +import type { Meta, StoryObj } from '@storybook/angular'; + +import { GfLogoComponent } from '../logo'; +import { GfMembershipCardComponent } from './membership-card.component'; + +const expiresAt = new Date(); +expiresAt.setFullYear(expiresAt.getFullYear() + 1); + +export default { + title: 'Membership Card', + component: GfMembershipCardComponent, + decorators: [ + moduleMetadata({ + imports: [ + CommonModule, + GfLogoComponent, + IonIcon, + MatButtonModule, + RouterModule.forChild([]) + ], + providers: [{ provide: ActivatedRoute, useValue: {} }] + }) + ], + argTypes: { + name: { + control: { type: 'select' }, + options: ['Basic', 'Premium'] + } + } +} as Meta; + +type Story = StoryObj; + +export const Basic: Story = { + args: { + expiresAt: expiresAt.toLocaleDateString(), + hasPermissionToCreateApiKey: false, + name: 'Basic' + } +}; + +export const Premium: Story = { + args: { + expiresAt: expiresAt.toLocaleDateString(), + hasPermissionToCreateApiKey: true, + name: 'Premium' + } +};