Skip to content

Commit 294837f

Browse files
committed
Integrate migrated services [copilot]
1 parent 82f5151 commit 294837f

3 files changed

Lines changed: 23 additions & 14 deletions

File tree

.storybook/preview.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ const preview: Preview = {
230230
>
231231
<UserContextProvider>
232232
<ThemeProviderSCSSModules
233-
service="mundo"
233+
service={context.globals.service.service}
234234
variant={context.globals.service.variant}
235235
>
236236
<ThemeProvider

src/app/components/ThemeProviderSCSSModules/index.tsx

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,35 @@
11
import type { PropsWithChildren } from 'react';
22
import defaultServiceVariants from '../../lib/config/services/defaultServiceVariants';
3-
import { Variants } from '../../models/types/global';
3+
import {
4+
ServicesVariantsProps,
5+
ServicesWithVariants,
6+
Variants,
7+
} from '../../models/types/global';
8+
import { LoadableTheme } from '../../models/types/theming';
49
import themes from './themes/loadableConfig';
510

6-
interface Props {
7-
service: 'mundo';
11+
const isLoadableTheme = (theme: unknown): theme is LoadableTheme =>
12+
theme !== null && typeof theme === 'object' && 'render' in theme;
13+
14+
type Props = Omit<ServicesVariantsProps, 'variant'> & {
815
variant?: Variants | null;
9-
}
16+
};
1017

1118
export const ThemeProvider = ({
1219
children,
1320
service,
1421
variant,
1522
}: PropsWithChildren<Props>) => {
16-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
17-
let LoadableContextProvider;
23+
let LoadableContextProvider: LoadableTheme | undefined;
1824

1925
const serviceVariant: Variants = variant || defaultServiceVariants[service];
26+
const serviceTheme = themes[service];
2027

21-
if (serviceVariant === 'default' || !serviceVariant) {
22-
LoadableContextProvider = themes[service];
23-
} else {
24-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
25-
// @ts-ignore - TODO: come back to this
26-
LoadableContextProvider = themes[service][serviceVariant];
28+
if (isLoadableTheme(serviceTheme)) {
29+
LoadableContextProvider = serviceTheme;
30+
} else if (serviceVariant !== 'default') {
31+
LoadableContextProvider =
32+
serviceTheme[serviceVariant as ServicesWithVariants['variant']];
2733
}
2834

2935
if (!LoadableContextProvider) {

ws-nextjs-app/pages/_app.page.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,10 @@ export default class CustomApp extends App<Props> {
201201
</ThemeProvider>
202202
) : (
203203
<UserContextProvider>
204-
<ThemeProviderSCSSModules service="mundo">
204+
<ThemeProviderSCSSModules
205+
service={service}
206+
variant={variant}
207+
>
205208
<ThemeProvider service={service} variant={variant}>
206209
<PageWrapper
207210
navItems={navItems}

0 commit comments

Comments
 (0)