client/components/mma/accountoverview/ManageProduct.stories.tsx (108 lines of code) (raw):

import type { Meta, StoryObj } from '@storybook/react'; import { ReactRouterDecorator } from '../../../../.storybook/ReactRouterDecorator'; import { featureSwitches } from '../../../../shared/featureSwitches'; import { PRODUCT_TYPES } from '../../../../shared/productTypes'; import { digitalPackPaidByDirectDebit, guardianAdLite, guardianWeeklyPaidByCard, monthlyContributionPaidByCard, newspaperVoucherPaidByPaypal, observerDelivery, supporterPlusAnnual, supporterPlusMonthlyAllAccessDigital, tierThree, } from '../../../fixtures/productBuilder/testProducts'; import { ManageProduct } from './ManageProduct'; export default { title: 'Pages/ManageProduct', component: ManageProduct, decorators: [ReactRouterDecorator], parameters: { layout: 'fullscreen', }, } as Meta<typeof ManageProduct>; export const GuardianWeekly: StoryObj<typeof ManageProduct> = { render: () => { return <ManageProduct productType={PRODUCT_TYPES.guardianweekly} />; }, parameters: { reactRouter: { state: { productDetail: guardianWeeklyPaidByCard() }, }, }, }; export const TierThree: StoryObj<typeof ManageProduct> = { render: () => { return <ManageProduct productType={PRODUCT_TYPES.tierthree} />; }, parameters: { reactRouter: { state: { productDetail: tierThree() }, }, }, }; export const DigitalSubscription: StoryObj<typeof ManageProduct> = { render: () => { return <ManageProduct productType={PRODUCT_TYPES.digipack} />; }, parameters: { reactRouter: { state: { productDetail: digitalPackPaidByDirectDebit() }, }, }, }; export const NewspaperSubscriptionCard: StoryObj<typeof ManageProduct> = { render: () => { return <ManageProduct productType={PRODUCT_TYPES.digitalvoucher} />; }, parameters: { reactRouter: { state: { productDetail: newspaperVoucherPaidByPaypal() }, }, }, }; export const Contribution: StoryObj<typeof ManageProduct> = { render: () => { return <ManageProduct productType={PRODUCT_TYPES.contributions} />; }, parameters: { reactRouter: { state: { productDetail: monthlyContributionPaidByCard() }, }, }, }; featureSwitches.supporterPlusUpdateAmount = true; export const SupporterPlus: StoryObj<typeof ManageProduct> = { render: () => { return <ManageProduct productType={PRODUCT_TYPES.supporterplus} />; }, parameters: { reactRouter: { state: { productDetail: supporterPlusAnnual() }, }, }, }; export const SupporterPlusAllAccessDigital: StoryObj<typeof ManageProduct> = { render: () => { return <ManageProduct productType={PRODUCT_TYPES.supporterplus} />; }, parameters: { reactRouter: { state: { productDetail: supporterPlusMonthlyAllAccessDigital() }, }, }, }; export const GuardianAdLite: StoryObj<typeof ManageProduct> = { render: () => { return <ManageProduct productType={PRODUCT_TYPES.guardianadlite} />; }, parameters: { reactRouter: { state: { productDetail: guardianAdLite() }, }, }, }; export const NewspaperDeliverySunday: StoryObj<typeof ManageProduct> = { render: () => { return <ManageProduct productType={PRODUCT_TYPES.homedelivery} />; }, parameters: { reactRouter: { state: { productDetail: observerDelivery() }, }, }, };