UNPKG

@pittica/gatsby-plugin-seo

Version:
51 lines (39 loc) 1.45 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.onRenderBody = onRenderBody; exports.wrapPageElement = void 0; exports.wrapRootElement = wrapRootElement; var _react = _interopRequireDefault(require("react")); var _reactHelmetAsync = require("react-helmet-async"); var _socialContext = _interopRequireDefault(require("./context/social-context")); var _gatsbyBrowser = require("./gatsby-browser"); exports.wrapPageElement = _gatsbyBrowser.wrapPageElement; const helmetContext = {}; function wrapRootElement({ element }, pluginOptions) { return /*#__PURE__*/_react.default.createElement(_reactHelmetAsync.HelmetProvider, { context: helmetContext }, /*#__PURE__*/_react.default.createElement(_socialContext.default.Provider, { value: pluginOptions }, element)); } function onRenderBody({ setHtmlAttributes, setBodyAttributes, setHeadComponents }) { const { helmet } = helmetContext; if (helmet) { setHeadComponents([helmet.base.toComponent(), helmet.title.toComponent(), helmet.meta.toComponent(), helmet.link.toComponent(), helmet.style.toComponent(), helmet.script.toComponent(), helmet.noscript.toComponent()]); if (setHtmlAttributes) { setHtmlAttributes(helmet.htmlAttributes.toComponent()); } if (setBodyAttributes) { setBodyAttributes(helmet.bodyAttributes.toComponent()); } } }