File tree Expand file tree Collapse file tree 2 files changed +33
-1
lines changed Expand file tree Collapse file tree 2 files changed +33
-1
lines changed Original file line number Diff line number Diff line change @@ -5,13 +5,16 @@ import { RecoilRoot } from "recoil";
5
5
import ReactQueryProvider from "./reactQueryProvider.helper" ;
6
6
import LayoutProvider from "./layoutProvider.helper" ;
7
7
import ApolloClientProvider from "./apolloClientProvider.helper" ;
8
+ import StyledComponentsProvider from "./styledComponentsProvider.helper" ;
8
9
9
10
const Provider = ( { children } : React . PropsWithChildren ) => {
10
11
return (
11
12
< ReactQueryProvider >
12
13
< ApolloClientProvider >
13
14
< RecoilRoot >
14
- < LayoutProvider > { children } </ LayoutProvider >
15
+ < LayoutProvider >
16
+ < StyledComponentsProvider > { children } </ StyledComponentsProvider >
17
+ </ LayoutProvider >
15
18
</ RecoilRoot >
16
19
</ ApolloClientProvider >
17
20
</ ReactQueryProvider >
Original file line number Diff line number Diff line change
1
+ "use client" ;
2
+
3
+ import React , { useState } from "react" ;
4
+ import { useServerInsertedHTML } from "next/navigation" ;
5
+ import { ServerStyleSheet , StyleSheetManager } from "styled-components" ;
6
+
7
+ export default function StyledComponentsProvider ( {
8
+ children,
9
+ } : {
10
+ children : React . ReactNode ;
11
+ } ) {
12
+ const [ styledComponentsStyleSheet ] = useState ( ( ) => new ServerStyleSheet ( ) ) ;
13
+
14
+ useServerInsertedHTML ( ( ) => {
15
+ const styles = styledComponentsStyleSheet . getStyleElement ( ) ;
16
+ styledComponentsStyleSheet . instance . clearTag ( ) ;
17
+ // eslint-disable-next-line
18
+ return < > { styles } </ > ;
19
+ } ) ;
20
+
21
+ // eslint-disable-next-line
22
+ if ( typeof window !== "undefined" ) return < > { children } </ > ;
23
+
24
+ return (
25
+ < StyleSheetManager sheet = { styledComponentsStyleSheet . instance } >
26
+ { children }
27
+ </ StyleSheetManager >
28
+ ) ;
29
+ }
You can’t perform that action at this time.
0 commit comments