{"version":3,"sources":["utils/TitleHelper.js","../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/slicedToArray.js","../node_modules/react-i18next/dist/es/utils.js","../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/objectWithoutProperties.js","../node_modules/js-cookie/dist/js.cookie.js","../node_modules/@babel/runtime/helpers/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/nonIterableRest.js","../node_modules/react-i18next/dist/es/useTranslation.js","../node_modules/react-i18next/dist/es/withTranslation.js","AppTitleHelper.js"],"names":["titleChanger","title","description","keywords","document","querySelector","setAttribute","getTitle","getDescription","getAttribute","getKeywords","setCanonical","href","el","createElement","head","insertBefore","removeCanonical","removeChild","setLangLinks","hrefEn","hrefRu","hrefUk","en","ru","uk","xdefault","module","exports","source","excluded","key","i","target","sourceKeys","Object","keys","length","indexOf","__esModule","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","arr","warn","console","_console","_len","arguments","args","Array","_key","concat","apply","alreadyWarned","warnOnce","_len2","_key2","Date","loadNamespaces","i18n","ns","cb","isInitialized","on","initialized","setTimeout","off","hasLoadedNamespace","options","undefined","languages","lng","fallbackLng","lastLng","toLowerCase","loadNotPending","l","n","loadState","services","backendConnector","state","bindI18n","backend","isLanguageChangingTo","hasResourceBundle","getDisplayName","Component","displayName","name","arrayLikeToArray","o","minLen","prototype","toString","call","slice","constructor","from","test","len","arr2","objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","assign","init","converter","defaultAttributes","set","value","attributes","expires","now","toUTCString","encodeURIComponent","replace","decodeURIComponent","escape","stringifiedAttributes","attributeName","split","cookie","write","get","cookies","jar","parts","join","foundKey","read","e","create","remove","withAttributes","this","withConverter","freeze","path","factory","isArray","_i","Symbol","iterator","_s","_e","_arr","_n","_d","next","done","push","err","TypeError","ownKeys","object","enumerableOnly","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","useTranslation","props","i18nFromProps","_ref","useContext","I18nContext","i18nFromContext","defaultNSFromContext","defaultNS","getI18n","reportNamespaces","ReportNamespaces","notReadyT","k","retNotReady","t","ready","react","wait","i18nOptions","getDefaults","useSuspense","keyPrefix","namespaces","addUsedNamespaces","initializedStoreOnce","every","getT","getFixedT","nsMode","_useState","useState","_useState2","_slicedToArray","setT","isMounted","useRef","useEffect","bindI18nStore","boundReset","current","store","isInitial","ret","Promise","resolve","_excluded","withTranslation","WrappedComponent","I18nextWithTranslation","forwardedRef","rest","_objectWithoutProperties","_useTranslation","_useTranslation2","passDownProps","tReady","withRef","ref","React","forwardRef","AppTitleHelper","checkPathLocalization","history","location","pathname","changeTitle","changeHrefLink","unlisten","listen","action","ptitle","getTraslate","pdesc","pkeywords","searchPrefix","substring","tStr","lastIndexOf","window","hrefen","protocol","host","hrefru","hrefuk","forceSet","callback","pathParts","lang","language","aspNetLang","Cookies","HistoryStorage","historyArray","changeLanguage","then","LanguageStorage","currentLang","documentElement","style","display"],"mappings":"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","file":"static/js/63.a6933c66.chunk.js","sourcesContent":["export const titleChanger = (title, description, keywords) => {\r\n if (title != null) {\r\n document.title = title;\r\n document.querySelector('meta[name=\"description\"]').setAttribute(\"content\", description ? description : '');\r\n document.querySelector('meta[name=\"keywords\"]').setAttribute(\"content\", keywords ? keywords : '');\r\n }\r\n}\r\n\r\nexport const getTitle = () => {\r\n return document.title;\r\n}\r\n\r\nexport const getDescription = () => {\r\n return document.querySelector('meta[name=\"description\"]').getAttribute(\"content\");\r\n}\r\nexport const getKeywords = () => {\r\n return document.querySelector('meta[name=\"keywords\"]').getAttribute(\"content\");\r\n}\r\n\r\nexport const setNoIndex = () => {\r\n let el = document.querySelector('meta[content=\"noindex\"]');\r\n if (!el) {\r\n el = document.createElement(\"meta\");\r\n el.setAttribute(\"name\", \"robots\");\r\n el.setAttribute(\"content\", \"noindex\");\r\n document.head.insertBefore(el, document.querySelector('meta[name=\"description\"]'));\r\n }\r\n}\r\n\r\nexport const removeNoIndex = () => {\r\n let el = document.querySelector('meta[content=\"noindex\"]');\r\n if (el) {\r\n document.head.removeChild(el);\r\n }\r\n}\r\n\r\nexport const setCanonical = (href) => {\r\n let el = document.querySelector('link[rel=\"canonical\"]');\r\n if (!el) {\r\n el = document.createElement(\"link\");\r\n el.setAttribute(\"rel\", \"canonical\");\r\n document.head.insertBefore(el, document.querySelector('meta[name=\"description\"]'));\r\n }\r\n el.setAttribute(\"href\", href);\r\n}\r\n\r\nexport const removeCanonical= () => {\r\n let el = document.querySelector('link[rel=\"canonical\"]');\r\n if (el) {\r\n document.head.removeChild(el);\r\n }\r\n}\r\n\r\nexport const setLangLinks = (hrefEn, hrefRu, hrefUk) => {\r\n let en = document.querySelector('link[hreflang=\"en\"]');\r\n let ru = document.querySelector('link[hreflang=\"ru\"]');\r\n let uk = document.querySelector('link[hreflang=\"uk\"]');\r\n let xdefault = document.querySelector('link[hreflang=\"x-default\"]');\r\n if (en) {\r\n en.setAttribute(\"href\", hrefEn);\r\n }\r\n if (ru) {\r\n ru.setAttribute(\"href\", hrefRu);\r\n }\r\n if (uk) {\r\n uk.setAttribute(\"href\", hrefUk);\r\n }\r\n if (xdefault) {\r\n xdefault.setAttribute(\"href\", hrefEn);\r\n }\r\n}","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableRest = require(\"./nonIterableRest.js\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","export function warn() {\n if (console && console.warn) {\n var _console;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (typeof args[0] === 'string') args[0] = \"react-i18next:: \".concat(args[0]);\n\n (_console = console).warn.apply(_console, args);\n }\n}\nvar alreadyWarned = {};\nexport function warnOnce() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[0] === 'string' && alreadyWarned[args[0]]) return;\n if (typeof args[0] === 'string') alreadyWarned[args[0]] = new Date();\n warn.apply(void 0, args);\n}\nexport function loadNamespaces(i18n, ns, cb) {\n i18n.loadNamespaces(ns, function () {\n if (i18n.isInitialized) {\n cb();\n } else {\n var initialized = function initialized() {\n setTimeout(function () {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n\n i18n.on('initialized', initialized);\n }\n });\n}\nexport function hasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce('i18n.languages were undefined or empty', i18n.languages);\n return true;\n }\n\n var lng = i18n.languages[0];\n var fallbackLng = i18n.options ? i18n.options.fallbackLng : false;\n var lastLng = i18n.languages[i18n.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = i18n.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18n.services.backendConnector.backend && i18n.isLanguageChangingTo && !loadNotPending(i18n.isLanguageChangingTo, ns)) return false;\n if (i18n.hasResourceBundle(lng, ns)) return true;\n if (!i18n.services.backendConnector.backend) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n}\nexport function getDisplayName(Component) {\n return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown');\n}","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutProperties;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","/*! js-cookie v3.0.1 | MIT */\n;\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = global || self, (function () {\n var current = global.Cookies;\n var exports = global.Cookies = factory();\n exports.noConflict = function () { global.Cookies = current; return exports; };\n }()));\n}(this, (function () { 'use strict';\n\n /* eslint-disable no-var */\n function assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n }\n /* eslint-enable no-var */\n\n /* eslint-disable no-var */\n var defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n };\n /* eslint-enable no-var */\n\n /* eslint-disable no-var */\n\n function init (converter, defaultAttributes) {\n function set (key, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n key = encodeURIComponent(key)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n key + '=' + converter.write(value, key) + stringifiedAttributes)\n }\n\n function get (key) {\n if (typeof document === 'undefined' || (arguments.length && !key)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var foundKey = decodeURIComponent(parts[0]);\n jar[foundKey] = converter.read(value, foundKey);\n\n if (key === foundKey) {\n break\n }\n } catch (e) {}\n }\n\n return key ? jar[key] : jar\n }\n\n return Object.create(\n {\n set: set,\n get: get,\n remove: function (key, attributes) {\n set(\n key,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n }\n\n var api = init(defaultConverter, { path: '/' });\n /* eslint-enable no-var */\n\n return api;\n\n})));\n","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { useState, useEffect, useContext, useRef } from 'react';\nimport { getI18n, getDefaults, ReportNamespaces, I18nContext } from './context';\nimport { warnOnce, loadNamespaces, hasLoadedNamespace } from './utils';\nexport function useTranslation(ns) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nFromProps = props.i18n;\n\n var _ref = useContext(I18nContext) || {},\n i18nFromContext = _ref.i18n,\n defaultNSFromContext = _ref.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using initReactI18next');\n\n var notReadyT = function notReadyT(k) {\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n\n var retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\n }\n\n if (i18n.options.react && i18n.options.react.wait !== undefined) warnOnce('It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');\n\n var i18nOptions = _objectSpread(_objectSpread(_objectSpread({}, getDefaults()), i18n.options.react), props);\n\n var useSuspense = i18nOptions.useSuspense,\n keyPrefix = i18nOptions.keyPrefix;\n var namespaces = ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n if (i18n.reportNamespaces.addUsedNamespaces) i18n.reportNamespaces.addUsedNamespaces(namespaces);\n var ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(function (n) {\n return hasLoadedNamespace(n, i18n, i18nOptions);\n });\n\n function getT() {\n return i18n.getFixedT(null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n }\n\n var _useState = useState(getT),\n _useState2 = _slicedToArray(_useState, 2),\n t = _useState2[0],\n setT = _useState2[1];\n\n var isMounted = useRef(true);\n useEffect(function () {\n var bindI18n = i18nOptions.bindI18n,\n bindI18nStore = i18nOptions.bindI18nStore;\n isMounted.current = true;\n\n if (!ready && !useSuspense) {\n loadNamespaces(i18n, namespaces, function () {\n if (isMounted.current) setT(getT);\n });\n }\n\n function boundReset() {\n if (isMounted.current) setT(getT);\n }\n\n if (bindI18n && i18n) i18n.on(bindI18n, boundReset);\n if (bindI18nStore && i18n) i18n.store.on(bindI18nStore, boundReset);\n return function () {\n isMounted.current = false;\n if (bindI18n && i18n) bindI18n.split(' ').forEach(function (e) {\n return i18n.off(e, boundReset);\n });\n if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(function (e) {\n return i18n.store.off(e, boundReset);\n });\n };\n }, [i18n, namespaces.join()]);\n var isInitial = useRef(true);\n useEffect(function () {\n if (isMounted.current && !isInitial.current) {\n setT(getT);\n }\n\n isInitial.current = false;\n }, [i18n]);\n var ret = [t, i18n, ready];\n ret.t = t;\n ret.i18n = i18n;\n ret.ready = ready;\n if (ready) return ret;\n if (!ready && !useSuspense) return ret;\n throw new Promise(function (resolve) {\n loadNamespaces(i18n, namespaces, function () {\n resolve();\n });\n });\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"forwardedRef\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport React from 'react';\nimport { useTranslation } from './useTranslation';\nimport { getDisplayName } from './utils';\nexport function withTranslation(ns) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return function Extend(WrappedComponent) {\n function I18nextWithTranslation(_ref) {\n var forwardedRef = _ref.forwardedRef,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n var _useTranslation = useTranslation(ns, rest),\n _useTranslation2 = _slicedToArray(_useTranslation, 3),\n t = _useTranslation2[0],\n i18n = _useTranslation2[1],\n ready = _useTranslation2[2];\n\n var passDownProps = _objectSpread(_objectSpread({}, rest), {}, {\n t: t,\n i18n: i18n,\n tReady: ready\n });\n\n if (options.withRef && forwardedRef) {\n passDownProps.ref = forwardedRef;\n } else if (!options.withRef && forwardedRef) {\n passDownProps.forwardedRef = forwardedRef;\n }\n\n return React.createElement(WrappedComponent, passDownProps);\n }\n\n I18nextWithTranslation.displayName = \"withI18nextTranslation(\".concat(getDisplayName(WrappedComponent), \")\");\n I18nextWithTranslation.WrappedComponent = WrappedComponent;\n\n var forwardRef = function forwardRef(props, ref) {\n return React.createElement(I18nextWithTranslation, Object.assign({}, props, {\n forwardedRef: ref\n }));\n };\n\n return options.withRef ? React.forwardRef(forwardRef) : I18nextWithTranslation;\n };\n}","import React, { Component } from \"react\";\r\nimport { withTranslation } from \"react-i18next\";\r\nimport { removeNoIndex, setNoIndex, titleChanger, setCanonical, removeCanonical, setLangLinks } from \"./utils/TitleHelper\";\r\nimport Cookies from \"js-cookie\";\r\nimport { LanguageStorage } from \"./language/languageExtention\";\r\nimport HistoryStorage from \"./utils/HistoryStorage\";\r\n\r\nclass AppTitleHelper extends Component {\r\n componentDidMount() {\r\n this.checkPathLocalization(this.props.history.location.pathname, true, () => {\r\n this.changeTitle(this.props.history.location);\r\n this.changeHrefLink(this.props.history.location);\r\n });\r\n this.unlisten = this.props.history.listen((location, action) => {\r\n this.checkPathLocalization(location.pathname, false, () => {\r\n this.changeTitle(location);\r\n this.changeHrefLink(this.props.history.location);\r\n });\r\n });\r\n }\r\n\r\n changeTitle(location) { \r\n const path = location.pathname;\r\n //let ptitle = this.props.t('seo.title.' + path);\r\n let ptitle = this.getTraslate(path, 'seo.title.');\r\n let pdesc = this.getTraslate(path, 'seo.desc.');\r\n let pkeywords = this.getTraslate(path, 'seo.keywords.');\r\n if (ptitle == null) {\r\n ptitle = this.props.t('mainTitle');\r\n }\r\n if (pdesc == null) {\r\n pdesc = this.props.t('mainDescription');\r\n }\r\n\r\n titleChanger(ptitle, pdesc, pkeywords);\r\n //document.getElementById(\"logLang\").innerHTML += '-tchanged-';\r\n //console.log(location);\r\n //console.log(this.props.t('seo.title.' + location.pathname));\r\n //console.log(this.props.t('seo.desc.' + location.pathname));\r\n\r\n //if (path.indexOf(\"en/kovanie-izdeliya-ceni/perila-dlya-lestnici\") != -1) {\r\n // setNoIndex();\r\n //} else {\r\n // removeNoIndex();\r\n //}\r\n } \r\n\r\n getTraslate(path, searchPrefix) {\r\n if (path.substring(1, 3) == 'ru' || path.substring(1, 3) == 'en') {\r\n path = path.substring(3);\r\n }\r\n while (path != '/' && path != '') {\r\n let tStr = this.props.t(searchPrefix + path);\r\n if (tStr != searchPrefix + path) {\r\n return tStr;\r\n }\r\n path = path.substring(0, path.lastIndexOf('/'));\r\n }\r\n return null;\r\n }\r\n\r\n changeHrefLink(location) {\r\n if (location.pathname == \"/\") {\r\n setCanonical(window.location.href);\r\n } else if (location.pathname == \"/ru/\" || location.pathname == \"/ru\") {\r\n setCanonical(window.location.href);\r\n } else if (location.pathname == \"/en/\" || location.pathname == \"/en\") {\r\n setCanonical(window.location.href);\r\n } else {\r\n removeCanonical();\r\n }\r\n\r\n const path = location.pathname.replace('/ru', '').replace('/en', '');\r\n const hrefen = `${window.location.protocol}//${window.location.host}/en` + path;\r\n const hrefru = `${window.location.protocol}//${window.location.host}/ru` + path;\r\n const hrefuk = `${window.location.protocol}//${window.location.host}` + path; \r\n setLangLinks(hrefen, hrefru, hrefuk);\r\n }\r\n\r\n checkPathLocalization(path, forceSet, callback) {\r\n if (path.indexOf(\"/embedding\") != -1) {\r\n if (callback) callback();\r\n return;\r\n } \r\n\r\n const pathParts = path.split('/');\r\n let lang = 'ua';\r\n if (pathParts.length >= 2) {\r\n if (pathParts[1] == 'en' || pathParts[1] == 'ru') {\r\n lang = pathParts[1];\r\n }\r\n }\r\n\r\n //if (forceSet) {\r\n // document.getElementById(\"logLang\").innerHTML += `url:${window.location.href}; i18nlang: ${this.props.i18n.language}, detect: ${lang}, cookie:${Cookies.get('i18next')}`;\r\n //} else {\r\n // //document.getElementById(\"logLang\").innerHTML += ';not1sttime';\r\n //}\r\n\r\n const currentlang = this.props.i18n.language == \"uk\" ? \"ua\" : this.props.i18n.language; \r\n if (currentlang != lang || forceSet) {\r\n let aspNetLang = lang == 'ua' ? 'uk' : lang; \r\n Cookies.set('.AspNetCore.Culture', `c=${aspNetLang}|uic=${aspNetLang}`);\r\n HistoryStorage.historyArray = [];\r\n this.props.i18n.changeLanguage(lang).then((t) => {\r\n LanguageStorage.currentLang = null;\r\n if (callback) callback();\r\n });\r\n\r\n document.documentElement.setAttribute('lang', aspNetLang);\r\n return;\r\n }\r\n if (callback) callback();\r\n }\r\n\r\n componentWillUnmount() {\r\n if (this.unlisten)\r\n this.unlisten();\r\n }\r\n\r\n render() {\r\n return ;\r\n }\r\n}\r\n\r\nexport default withTranslation()(AppTitleHelper);"],"sourceRoot":""}