From d88397f44df11fe0e31e760ec9e371e1ab26d7f4 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Fri, 1 Aug 2025 07:03:09 +0200 Subject: [PATCH 1/2] Feature/move changing asset profile identifier in asset profile dialog to general availability (#5296) * Move support for changing asset profile identifier to general availability * Update changelog --- CHANGELOG.md | 1 + .../asset-profile-dialog/asset-profile-dialog.component.ts | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 912925a8b..903f316d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### 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) ); } From 3873430b54d37d480d27adb3fc2b49e2ab3a1e06 Mon Sep 17 00:00:00 2001 From: Kenrick Tandrian <60643640+KenTandrian@users.noreply.github.com> Date: Fri, 1 Aug 2025 22:04:51 +0700 Subject: [PATCH 2/2] Task/set up Storybook story for membership card component (#5300) * Set up Storybook story for membership card component * Update changelog --- CHANGELOG.md | 4 ++ .../membership-card.component.stories.ts | 50 +++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 libs/ui/src/lib/membership-card/membership-card.component.stories.ts diff --git a/CHANGELOG.md b/CHANGELOG.md index 903f316d5..8bc6b88a5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +### Added + +- 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 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' + } +};