import { Alert, Container } from '@mui/material'; import type { ComponentMeta, ComponentStory } from '@storybook/react'; import { makeStyles } from 'tss-react/mui'; import { getModuleLicenseCheckEndpoint } from '../api'; import LicenseCheck from '.'; const useStyles = makeStyles()({ container: { height: '100vh' } }); export default { argTypes: { isLicenseValid: { control: 'boolean' }, moduleName: { control: 'text' } }, component: LicenseCheck, title: 'LicenseCheck' } as ComponentMeta; const getMockData = ({ moduleName, isLicenseValid }): Array => [ { method: 'GET', response: { success: isLicenseValid }, status: 200, url: getModuleLicenseCheckEndpoint(moduleName) } ]; interface Props { moduleName: string; } const Module = ({ moduleName }: Props): JSX.Element => ( Welcome to {moduleName} ); const Story = ({ moduleName }: Props): JSX.Element => { const { classes } = useStyles(); return (
); }; const TemplateLicenseCheck: ComponentStory = (args) => ( ); export const PlaygroundLicenseCheck = TemplateLicenseCheck.bind({}); PlaygroundLicenseCheck.args = { moduleName: 'paidModule1' }; PlaygroundLicenseCheck.parameters = { mockData: getMockData({ isLicenseValid: true, moduleName: 'paidModule1' }) }; export const withInvalidLicense = (): JSX.Element => ( ); withInvalidLicense.parameters = { mockData: getMockData({ isLicenseValid: false, moduleName: 'paidModule2' }) }; export const withValidLicense = (): JSX.Element => ( ); withValidLicense.parameters = { mockData: getMockData({ isLicenseValid: true, moduleName: 'paidModule3' }) };