gatsby-i18n
Version:
Gatsby plugin that provides i18n support
56 lines (43 loc) • 1.72 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _reactHelmet = _interopRequireDefault(require("react-helmet"));
var _I18nContext = require("./I18nContext");
var defaultProps = {
hreflang: true // TODO https://github.com/nfl/react-helmet/issues/342
};
function Head(_ref) {
var availableLngs = _ref.availableLngs,
children = _ref.children,
lng = _ref.lng,
originalPath = _ref.originalPath,
siteUrl = _ref.siteUrl,
hreflang = _ref.hreflang;
return _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(_reactHelmet["default"], null, _react["default"].createElement("html", {
lang: lng
}), _react["default"].createElement("link", {
rel: "alternate",
href: "".concat(siteUrl),
hreflang: "x-default"
}), availableLngs.map(function (value) {
return _react["default"].createElement("link", {
key: value,
rel: "alternate",
href: "".concat(siteUrl).concat(value).concat(originalPath),
hreflang: value
});
}), children));
}
Head.defaultProps = defaultProps;
var _default = function _default(props) {
return _react["default"].createElement(_I18nContext.I18nConsumer, null, function (lngProps) {
return _react["default"].createElement(Head, (0, _extends2["default"])({}, lngProps, props));
});
};
exports["default"] = _default;