diff --git a/CHANGELOG.md b/CHANGELOG.md index 5c244dffd..75e40bcb0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,10 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +### Added + - Added support to exclude an activity from analysis based on tags +- Added a _Storybook_ story for the membership card component ### Changed +- Moved the support for changing the asset profile identifier (`dataSource` and `symbol`) in the asset profile details dialog of the admin control panel from experimental to general availability - Improved the balance of headings on the landing page - Improved the language localization for Spanish (`es`) - Upgraded `angular` from version `20.0.7` to `20.1.3` diff --git a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts index 19bf69bab..0ea28c618 100644 --- a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts +++ b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts @@ -233,8 +233,7 @@ export class GfAssetProfileDialogComponent implements OnDestroy, OnInit { public get canEditAssetProfileIdentifier() { return ( this.assetProfile?.assetClass && - !['MANUAL'].includes(this.assetProfile?.dataSource) && - this.user?.settings?.isExperimentalFeatures + !['MANUAL'].includes(this.assetProfile?.dataSource) ); } 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..6b6fbe038 --- /dev/null +++ b/libs/ui/src/lib/membership-card/membership-card.component.stories.ts @@ -0,0 +1,50 @@ +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 { addYears } from 'date-fns'; + +import { GfLogoComponent } from '../logo'; +import { GfMembershipCardComponent } from './membership-card.component'; + +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: { + name: 'Basic' + } +}; + +export const Premium: Story = { + args: { + expiresAt: addYears(new Date(), 1).toLocaleDateString(), + hasPermissionToCreateApiKey: true, + name: 'Premium' + } +};