File tree Expand file tree Collapse file tree 6 files changed +37
-12
lines changed Expand file tree Collapse file tree 6 files changed +37
-12
lines changed Original file line number Diff line number Diff line change 11"use client" ;
22
3- import React , { Suspense , lazy } from "react" ;
3+ import React from "react" ;
44import { ArtworkGov } from "./ArtworkGov" ;
55import { useIsGov } from "../../mui/useIsGov" ;
6- const ArtworkWhiteLabel = lazy ( ( ) => import ( "./ArtworkWhiteLabel" ) ) ;
6+ import { useArtworkWhiteLabel } from "./ArtworkWhiteLabel/useArtworkWhiteLabel" ;
7+ import { assert } from "tsafe/assert" ;
78
89export function Artwork ( props : { theme : "light" | "dark" | "system" ; className ?: string } ) {
910 const { theme, className } = props ;
1011
1112 const { isGov } = useIsGov ( ) ;
13+ const { ArtworkWhiteLabel } = useArtworkWhiteLabel ( ) ;
1214
1315 if ( ! isGov ) {
14- return (
15- < Suspense >
16- < ArtworkWhiteLabel theme = { theme } sizePx = { 80 } />
17- </ Suspense >
18- ) ;
16+ assert ( ArtworkWhiteLabel !== undefined ) ;
17+
18+ return < ArtworkWhiteLabel theme = { theme } sizePx = { 80 } /> ;
1919 }
2020
2121 return < ArtworkGov theme = { theme } className = { className } /> ;
Original file line number Diff line number Diff line change @@ -4,10 +4,7 @@ import React from "react";
44import { useTheme } from "@mui/material/styles" ;
55import { assert , type Equals } from "tsafe/assert" ;
66
7- export default function ArtworkWhiteLabel ( props : {
8- theme : "light" | "dark" | "system" ;
9- sizePx : number ;
10- } ) {
7+ export function ArtworkWhiteLabel ( props : { theme : "light" | "dark" | "system" ; sizePx : number } ) {
118 const { theme : theme_mode , sizePx } = props ;
129
1310 const theme = useTheme ( ) ;
Original file line number Diff line number Diff line change 1+ import React , { type ReactNode } from "react" ;
2+ import { context } from "./context" ;
3+ import { ArtworkWhiteLabel } from "./ArtworkWhiteLabel" ;
4+
5+ export function DisplayArtworkWhiteLabelProvider ( props : { children : ReactNode } ) {
6+ const { children } = props ;
7+
8+ return < context . Provider value = { ArtworkWhiteLabel } > { children } </ context . Provider > ;
9+ }
Original file line number Diff line number Diff line change 1+ import { JSX } from "../../../tools/JSX" ;
2+ import { createContext } from "react" ;
3+
4+ export const context = createContext <
5+ ( ( props : { theme : "light" | "dark" | "system" ; sizePx : number } ) => JSX . Element ) | undefined
6+ > ( undefined ) ;
Original file line number Diff line number Diff line change 1+ import { useContext } from "react" ;
2+ import { context } from "./context" ;
3+
4+ export function useArtworkWhiteLabel ( ) {
5+ const ArtworkWhiteLabel = useContext ( context ) ;
6+
7+ return { ArtworkWhiteLabel } ;
8+ }
Original file line number Diff line number Diff line change @@ -17,6 +17,7 @@ import { deepAssign } from "../tools/deepAssign";
1717import { Global , css } from "@emotion/react" ;
1818import { getAssetUrl } from "../tools/getAssetUrl" ;
1919import { IsGovProvider } from "./useIsGov" ;
20+ import { DisplayArtworkWhiteLabelProvider } from "../Display/Artwork/ArtworkWhiteLabel/DisplayArtworkWhiteLabelProvider" ;
2021import marianneFaviconSvgUrl from "../dsfr/favicon/favicon.svg" ;
2122import blankFaviconSvgUrl from "../assets/blank-favicon.svg" ;
2223
@@ -597,7 +598,11 @@ export function createDsfrCustomBrandingProvider(params: {
597598 />
598599 ) }
599600 < IsGovProvider isGov = { isGov } >
600- < mui . ThemeProvider theme = { theme } > { children } </ mui . ThemeProvider >
601+ < mui . ThemeProvider theme = { theme } >
602+ < DisplayArtworkWhiteLabelProvider >
603+ { children }
604+ </ DisplayArtworkWhiteLabelProvider >
605+ </ mui . ThemeProvider >
601606 </ IsGovProvider >
602607 </ >
603608 ) ;
You can’t perform that action at this time.
0 commit comments