UNPKG

2.42 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
4
5Object.defineProperty(exports, "__esModule", {
6 value: true
7});
8exports.default = void 0;
9
10var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/extends"));
11
12var _react = _interopRequireDefault(require("react"));
13
14var _server = require("react-dom/server");
15
16var _reactHelmet = _interopRequireDefault(require("react-helmet"));
17
18var _jss = require("react-jss/lib/jss");
19
20var _env = require("@sharyn/env");
21
22var _Providers = _interopRequireDefault(require("@sharyn/components/Providers"));
23
24var _htmlBase = _interopRequireDefault(require("./html-base"));
25
26var _propTypes = _interopRequireDefault(require("prop-types"));
27
28/* eslint-disable import/no-extraneous-dependencies */
29// flow-disable-next-line
30// flow-disable-next-line
31// flow-disable-next-line
32var renderPage = function renderPage(_ref) {
33 var _ref$Providers = _ref.Providers,
34 Providers = _ref$Providers === void 0 ? _Providers.default : _ref$Providers,
35 App = _ref.App,
36 theme = _ref.theme,
37 store = _ref.store,
38 url = _ref.url,
39 globalStyles = _ref.globalStyles,
40 swPath = _ref.swPath;
41 var appHtml;
42 var css;
43 var helmet;
44 var routerContext = {};
45
46 if (!_env.NO_SSR) {
47 var sheetsRegistry = new _jss.SheetsRegistry();
48 appHtml = (0, _server.renderToString)(_react.default.createElement(Providers, (0, _extends2.default)({
49 theme: theme,
50 store: store,
51 url: url,
52 globalStyles: globalStyles,
53 routerContext: routerContext,
54 sheetsRegistry: sheetsRegistry
55 }, {
56 isSsr: true
57 }), _react.default.createElement(App, null)));
58 css = sheetsRegistry.toString();
59 helmet = _reactHelmet.default.renderStatic();
60 }
61
62 return {
63 routerContext: routerContext,
64 html: (0, _htmlBase.default)({
65 appHtml: appHtml,
66 css: css,
67 helmet: helmet,
68 swPath: swPath,
69 windowVars: [['__PRELOADED_STATE__', store.getState()]]
70 })
71 };
72};
73
74renderPage.propTypes = {
75 Providers: _propTypes.default.func,
76 App: _propTypes.default.func.isRequired,
77 theme: _propTypes.default.object.isRequired,
78 store: _propTypes.default.object.isRequired,
79 url: _propTypes.default.string.isRequired,
80 globalStyles: _propTypes.default.any,
81 swPath: _propTypes.default.string
82};
83var _default = renderPage;
84exports.default = _default;
\No newline at end of file