@@ -3,7 +3,6 @@ import { AppStore, Redoc } from 'redoc';
3
3
// eslint-disable-next-line import/no-extraneous-dependencies
4
4
import { renderToString } from 'react-dom/server' ;
5
5
import { ServerStyleSheet } from 'styled-components' ;
6
- import { OnlyOnClient } from '../../utils/OnlyOnClient' ;
7
6
8
7
/**
9
8
* @see https://stackoverflow.com/a/54077142
@@ -59,29 +58,38 @@ export function ServerStyles({
59
58
lightStore : AppStore ;
60
59
darkStore : AppStore ;
61
60
} ) {
61
+ const css = {
62
+ light : '' ,
63
+ dark : '' ,
64
+ } ;
62
65
const lightSheet = new ServerStyleSheet ( ) ;
63
66
renderToString (
64
67
lightSheet . collectStyles ( React . createElement ( Redoc , { store : lightStore } ) ) ,
65
68
) ;
66
69
const lightCss = lightSheet . getStyleTags ( ) ;
67
- const lightModeOnlyCss = prefixCssSelectors (
68
- lightCss ,
69
- LIGHT_MODE_PREFIX ,
70
- ) . slice ( LIGHT_MODE_PREFIX . length + 1 ) ;
70
+ css . light = prefixCssSelectors ( lightCss , LIGHT_MODE_PREFIX ) . slice (
71
+ LIGHT_MODE_PREFIX . length + 1 ,
72
+ ) ;
71
73
72
74
const darkSheet = new ServerStyleSheet ( ) ;
73
75
renderToString (
74
76
darkSheet . collectStyles ( React . createElement ( Redoc , { store : darkStore } ) ) ,
75
77
) ;
76
78
const darkCss = darkSheet . getStyleTags ( ) ;
77
- const darkModeOnlyCss = prefixCssSelectors ( darkCss , DARK_MODE_PREFIX ) . slice (
79
+ css . dark = prefixCssSelectors ( darkCss , DARK_MODE_PREFIX ) . slice (
78
80
DARK_MODE_PREFIX . length + 1 ,
79
81
) ;
80
82
81
83
return (
82
84
< div className = "redocusaurus-styles" >
83
- < OnlyOnClient key = "light-mode-styles" html = { lightModeOnlyCss } />
84
- < OnlyOnClient key = "dark-mode-styles" html = { darkModeOnlyCss } />
85
+ < div
86
+ key = "light-mode-styles"
87
+ dangerouslySetInnerHTML = { { __html : css . light } }
88
+ />
89
+ < div
90
+ key = "dark-mode-styles"
91
+ dangerouslySetInnerHTML = { { __html : css . dark } }
92
+ />
85
93
</ div >
86
94
) ;
87
95
}
0 commit comments