| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- import type { Meta, StoryObj } from '@storybook/react-webpack5'
- import SplitTestBadge from '../../js/shared/components/split-test-badge'
- import { SplitTestContext } from '../../js/shared/context/split-test-context'
- type Story = StoryObj<typeof SplitTestBadge>
- const splitTestContextValue = {
- splitTestVariants: {} as Record<string, string>,
- splitTestInfo: {} as Record<string, any>,
- }
- export const Alpha: Story = {
- render: args => {
- splitTestContextValue.splitTestVariants = {
- 'storybook-test': 'active',
- }
- splitTestContextValue.splitTestInfo = {
- 'storybook-test': {
- phase: 'alpha',
- badgeInfo: {
- url: '/alpha/participate',
- tooltipText: 'This is an alpha feature',
- },
- },
- }
- return <SplitTestBadge {...args} />
- },
- }
- export const AlphaNotDisplayed: Story = {
- render: args => {
- splitTestContextValue.splitTestVariants = {
- 'storybook-test': 'default',
- }
- splitTestContextValue.splitTestInfo = {
- 'storybook-test': {
- phase: 'alpha',
- badgeInfo: {
- url: '/alpha/participate',
- tooltipText: 'This is an alpha feature',
- },
- },
- }
- return <SplitTestBadge {...args} />
- },
- }
- export const Beta: Story = {
- render: args => {
- splitTestContextValue.splitTestVariants = {
- 'storybook-test': 'active',
- }
- splitTestContextValue.splitTestInfo = {
- 'storybook-test': {
- phase: 'beta',
- badgeInfo: {
- url: '/beta/participate',
- tooltipText: 'This is a beta feature',
- },
- },
- }
- return <SplitTestBadge {...args} />
- },
- }
- export const BetaNotDisplayed: Story = {
- render: args => {
- splitTestContextValue.splitTestVariants = {
- 'storybook-test': 'default',
- }
- splitTestContextValue.splitTestInfo = {
- 'storybook-test': {
- phase: 'beta',
- badgeInfo: {
- url: '/beta/participate',
- tooltipText: 'This is a beta feature',
- },
- },
- }
- return <SplitTestBadge {...args} />
- },
- }
- export const Release: Story = {
- render: args => {
- splitTestContextValue.splitTestVariants = {
- 'storybook-test': 'active',
- }
- splitTestContextValue.splitTestInfo = {
- 'storybook-test': {
- phase: 'release',
- badgeInfo: {
- url: '/feedback/form',
- tooltipText: 'This is a new feature',
- },
- },
- }
- return <SplitTestBadge {...args} />
- },
- }
- export const ReleaseNotDisplayed: Story = {
- render: args => {
- splitTestContextValue.splitTestVariants = {
- 'storybook-test': 'default',
- }
- splitTestContextValue.splitTestInfo = {
- 'storybook-test': {
- phase: 'release',
- badgeInfo: {
- url: '/feedback/form',
- tooltipText: 'This is a new feature',
- },
- },
- }
- return <SplitTestBadge {...args} />
- },
- }
- const meta: Meta<typeof SplitTestBadge> = {
- title: 'Shared / Components / Split Test Badge',
- component: SplitTestBadge,
- parameters: {
- controls: {
- include: ['splitTestName', 'tooltip'],
- },
- },
- argTypes: {
- splitTestName: { control: 'text' },
- tooltip: { control: 'text' },
- },
- args: {
- splitTestName: 'storybook-test',
- displayOnVariants: ['active'],
- },
- decorators: [
- Story => (
- <SplitTestContext.Provider value={splitTestContextValue}>
- <Story />
- </SplitTestContext.Provider>
- ),
- ],
- }
- export default meta
|