@@ -3,49 +3,63 @@ import {
33 ThemeProvider ,
44 ToastProvider ,
55} from '@appquality/unguess-design-system' ;
6+ import isPropValid from '@emotion/is-prop-valid' ;
67import Helmet from 'react-helmet' ;
78import { useTranslation } from 'react-i18next' ;
89import { Provider } from 'react-redux' ;
10+ import analytics from 'src/analytics' ;
911import { appTheme } from 'src/app/theme' ;
10- import { AnalyticsProvider } from 'use-analytics' ;
1112import Pages from 'src/common/Pages' ;
12- import analytics from 'src/analytics' ;
13+ import { StyleSheetManager } from 'styled-components' ;
14+ import { AnalyticsProvider } from 'use-analytics' ;
1315import '../i18n' ;
1416import { store } from './store' ;
1517
18+ // This implements the default behavior from styled-components v5
19+ function shouldForwardProp ( propName : string , target : any ) {
20+ if ( typeof target === 'string' ) {
21+ // For HTML elements, forward the prop if it is a valid HTML attribute
22+ return isPropValid ( propName ) ;
23+ }
24+ // For other elements, forward all props
25+ return true ;
26+ }
27+
1628const App = ( ) => {
1729 const { t } = useTranslation ( ) ;
1830 return (
19- < Provider store = { store } >
20- < AnalyticsProvider instance = { analytics } >
21- < ThemeProvider theme = { appTheme } >
22- < GlobalStyle />
23- < Helmet >
24- < meta
25- property = "og:title"
26- content = { `UNGUESS - ${ t ( '__APP_META_PAYOFF' ) } ` }
27- />
28- < title > UNGUESS - { t ( '__APP_META_PAYOFF' ) } </ title >
29- < meta name = "description" content = { t ( '__APP_META_DESCRIPTION' ) } />
30- </ Helmet >
31- < ToastProvider
32- limit = { 5 }
33- zIndex = { 500 }
34- placementProps = { {
35- top : {
36- style : {
37- top :
38- parseInt ( appTheme . components . chrome . header . height , 10 ) +
39- appTheme . space . base * 4 ,
31+ < StyleSheetManager shouldForwardProp = { shouldForwardProp } >
32+ < Provider store = { store } >
33+ < AnalyticsProvider instance = { analytics } >
34+ < ThemeProvider theme = { appTheme } >
35+ < GlobalStyle />
36+ < Helmet >
37+ < meta
38+ property = "og:title"
39+ content = { `UNGUESS - ${ t ( '__APP_META_PAYOFF' ) } ` }
40+ />
41+ < title > UNGUESS - { t ( '__APP_META_PAYOFF' ) } </ title >
42+ < meta name = "description" content = { t ( '__APP_META_DESCRIPTION' ) } />
43+ </ Helmet >
44+ < ToastProvider
45+ limit = { 5 }
46+ zIndex = { 500 }
47+ placementProps = { {
48+ top : {
49+ style : {
50+ top :
51+ parseInt ( appTheme . components . chrome . header . height , 10 ) +
52+ appTheme . space . base * 4 ,
53+ } ,
4054 } ,
41- } ,
42- } }
43- >
44- < Pages / >
45- </ ToastProvider >
46- </ ThemeProvider >
47- </ AnalyticsProvider >
48- </ Provider >
55+ } }
56+ >
57+ < Pages / >
58+ </ ToastProvider >
59+ </ ThemeProvider >
60+ </ AnalyticsProvider >
61+ </ Provider >
62+ </ StyleSheetManager >
4963 ) ;
5064} ;
5165
0 commit comments