@@ -0,0 +1,37 @@
1+import React from 'react'
2+import {JssProvider, SheetsRegistry} from 'react-jss'
3+
4+const globalLeak = new Map();
5+
6+export const wrapRootElement = ({ element, pathname }) => {
7+ const sheets = new SheetsRegistry()
8+ globalLeak.set(pathname, sheets);
9+
10+ return <JssProvider registry={sheets}>{element}</JssProvider>
11+}
12+
13+export const onRenderBody = (
14+ { setHeadComponents, pathname },
15+ ) => {
16+ const sheets = globalLeak.get(pathname);
17+
18+ if (!sheets) {
19+ return;
20+ }
21+
22+ const css = sheets.toString();
23+
24+ // css = disableAutoprefixing ? css : autoprefixer(css, pathname);
25+ // css = disableMinification ? css : cleanCSS.minify(css).styles;
26+
27+ setHeadComponents([
28+ <style
29+ id="jss-server-side"
30+ key="jss-server-side"
31+ dangerouslySetInnerHTML={{ __html: css }}
32+ />,
33+ ]);
34+
35+ globalLeak.delete(pathname);
36+ };
37+