Skip to content

Commit 3afb4cc

Browse files
authored
Fix Storybook stories ServiceContext accessing (#13788)
1 parent 7598071 commit 3afb4cc

File tree

3 files changed

+47
-49
lines changed

3 files changed

+47
-49
lines changed

src/app/components/Copyright/index.stories.tsx

Lines changed: 11 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,19 @@
1-
import { useMemo } from 'react';
2-
import services from '#server/utilities/serviceConfigs';
3-
import { ServiceContext } from '../../contexts/ServiceContext';
1+
import {
2+
ServiceContext,
3+
ServiceContextProvider,
4+
} from '#app/contexts/ServiceContext';
45
import CopyrightContainer from '.';
56
import { StoryProps, StoryArgs } from '../../models/types/storybook';
6-
import { ServiceConfig } from '../../models/types/serviceConfig';
77

88
const Component = (_: StoryArgs, { service, variant }: StoryProps) => {
9-
const imageCaptionText =
10-
services[service][variant].imageCopyrightOffscreenText;
11-
12-
const serviceContextStub = useMemo(
13-
() => ({
14-
imageCaptionOffscreenText: imageCaptionText,
15-
lang: services[service][variant].lang,
16-
dir: services[service][variant].dir,
17-
}),
18-
[imageCaptionText, service, variant],
19-
);
209
return (
21-
<ServiceContext.Provider value={serviceContextStub as ServiceConfig}>
22-
<CopyrightContainer>{imageCaptionText}</CopyrightContainer>
23-
</ServiceContext.Provider>
10+
<ServiceContextProvider service={service} variant={variant}>
11+
<ServiceContext.Consumer>
12+
{({ imageCopyrightOffscreenText }) => (
13+
<CopyrightContainer>{imageCopyrightOffscreenText}</CopyrightContainer>
14+
)}
15+
</ServiceContext.Consumer>
16+
</ServiceContextProvider>
2417
);
2518
};
2619

src/app/components/Curation/Subhead/index.stories.tsx

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,34 @@
1-
import { ServiceContextProvider } from '../../../contexts/ServiceContext';
2-
3-
import services from '../../../../server/utilities/serviceConfigs';
4-
import ThemeProvider from '../../ThemeProvider';
1+
import {
2+
ServiceContextProvider,
3+
ServiceContext,
4+
} from '#app/contexts/ServiceContext';
55

66
import Subheading from '.';
7-
import { StoryProps, StoryArgs } from '../../../models/types/storybook';
7+
import { StoryProps, StoryArgs } from '#models/types/storybook';
88

99
const Component = (_: StoryArgs, { service, variant }: StoryProps) => {
1010
return (
11-
<ThemeProvider service={service} variant={variant}>
12-
<ServiceContextProvider service={service} variant={variant}>
13-
<Subheading>
14-
{services[service][variant].translations.relatedContent}
15-
</Subheading>
16-
</ServiceContextProvider>
17-
</ThemeProvider>
11+
<ServiceContextProvider service={service} variant={variant}>
12+
<ServiceContext.Consumer>
13+
{({ translations }) => (
14+
<Subheading>{translations?.relatedContent}</Subheading>
15+
)}
16+
</ServiceContext.Consumer>
17+
</ServiceContextProvider>
1818
);
1919
};
2020

2121
const WithLink = (_: StoryArgs, { service, variant }: StoryProps) => {
2222
return (
23-
<ThemeProvider service={service} variant={variant}>
24-
<ServiceContextProvider service={service} variant={variant}>
25-
<Subheading link="https://bbc.com">
26-
{services[service][variant].translations.relatedContent}
27-
</Subheading>
28-
</ServiceContextProvider>
29-
</ThemeProvider>
23+
<ServiceContextProvider service={service} variant={variant}>
24+
<ServiceContext.Consumer>
25+
{({ translations }) => (
26+
<Subheading link="https://bbc.com">
27+
{translations.relatedContent}
28+
</Subheading>
29+
)}
30+
</ServiceContext.Consumer>
31+
</ServiceContextProvider>
3032
);
3133
};
3234

src/app/components/PromotionalBanner/index.stories.tsx

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
import { ServiceContextProvider } from '#app/contexts/ServiceContext';
1+
import {
2+
ServiceContextProvider,
3+
ServiceContext,
4+
} from '#app/contexts/ServiceContext';
25
import PromotionalBannerComponent from '.';
3-
import services from '#server/utilities/serviceConfigs';
46
import { StoryProps } from '../../models/types/storybook';
57
import metadata from './metadata.json';
68
import readme from './README.md';
@@ -10,18 +12,19 @@ const ComponentWithContext = ({
1012
service = 'mundo',
1113
variant = 'default',
1214
}: StoryProps) => {
13-
const bannerConfig = services[service]?.[variant]
14-
?.promotionalBanner as PromotionalBannerConfig;
15-
1615
return (
1716
<ServiceContextProvider service={service} variant={variant}>
18-
<PromotionalBannerComponent
19-
onPrimaryClick={() => console.log('Primary clicked')}
20-
onSecondaryClick={() => console.log('Secondary clicked')}
21-
onClose={() => console.log('Banner closed')}
22-
isDismissible
23-
{...bannerConfig}
24-
/>
17+
<ServiceContext.Consumer>
18+
{({ promotionalBanner }) => (
19+
<PromotionalBannerComponent
20+
onPrimaryClick={() => console.log('Primary clicked')}
21+
onSecondaryClick={() => console.log('Secondary clicked')}
22+
onClose={() => console.log('Banner closed')}
23+
isDismissible
24+
{...(promotionalBanner as PromotionalBannerConfig)}
25+
/>
26+
)}
27+
</ServiceContext.Consumer>
2528
</ServiceContextProvider>
2629
);
2730
};

0 commit comments

Comments
 (0)