{"version":3,"file":"static/js/60291.86f53bd2.chunk.js","mappings":"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","sources":["hooks/useMetaData.ts","utils/bom-dom-manipulation/add-dom-element.ts"],"sourcesContent":["import { useRef } from 'react';\nimport { addDomElement } from 'utils/bom-dom-manipulation/add-dom-element';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\n\nexport const useMetaData = () => {\n const ogUrlBase = useRef();\n\n const generateMetaData = (\n metaTitle: string,\n metaDescription: string,\n completeUrl: string,\n skipCanonicalAndOgUrl: boolean\n ) => {\n if (SpringConfigs.MOCKED_DATA) {\n return;\n }\n\n if (!ogUrlBase.current) {\n ogUrlBase.current = (\n document.querySelector('meta[property=\"og:url\"]') as HTMLMetaElement\n )?.content;\n }\n\n setCanonical(completeUrl, skipCanonicalAndOgUrl);\n setOgUrlMeta(completeUrl, skipCanonicalAndOgUrl);\n setMetaTitle(metaTitle);\n setOgMetaTitle(metaTitle);\n setTwitterMetaTitle(metaTitle);\n setMetaDescription(metaDescription);\n setOgDescription(metaDescription);\n setTwitterDescription(metaDescription);\n setItemPropDescription(metaDescription);\n };\n\n const setMetaTitle = (metaTitle: string) => {\n if (document.title === metaTitle) {\n return;\n }\n\n document.title = metaTitle;\n };\n\n const setCanonical = (url: string, skipCanonicalAndOgUrl: boolean) => {\n const canonicalLink = document.querySelector('link[rel=\"canonical\"]');\n\n if (canonicalLink) {\n if (!skipCanonicalAndOgUrl) {\n canonicalLink.setAttribute('href', url);\n }\n } else {\n addDomElement(\n [\n {\n elemAttr: 'rel',\n elemValue: 'canonical'\n },\n {\n elemAttr: 'href',\n elemValue: url\n }\n ],\n 'link'\n );\n }\n };\n\n const setOgUrlMeta = (url: string, skipCanonicalAndOgUrl: boolean) => {\n const ogUrlMeta = document.querySelector('meta[property=\"og:url\"]');\n\n if (ogUrlMeta) {\n if (!skipCanonicalAndOgUrl) {\n ogUrlMeta.setAttribute('content', url);\n }\n } else {\n addDomElement([\n {\n elemAttr: 'property',\n elemValue: 'og:url'\n },\n {\n elemAttr: 'content',\n elemValue: url\n }\n ]);\n }\n };\n\n const setOgMetaTitle = (metaTitle: string) => {\n const ogTitleMeta = document.querySelector('meta[property=\"og:title\"]');\n\n if (ogTitleMeta) {\n ogTitleMeta.setAttribute('content', metaTitle);\n } else {\n addDomElement([\n {\n elemAttr: 'property',\n elemValue: 'og:title'\n },\n {\n elemAttr: 'content',\n elemValue: metaTitle\n }\n ]);\n }\n };\n\n const setTwitterMetaTitle = (metaTitle: string) => {\n const twitterTitleMeta = document.querySelector(\n 'meta[name=\"twitter:title\"]'\n );\n\n if (twitterTitleMeta) {\n twitterTitleMeta.setAttribute('content', metaTitle);\n } else {\n addDomElement([\n {\n elemAttr: 'name',\n elemValue: 'twitter:title'\n },\n {\n elemAttr: 'content',\n elemValue: metaTitle\n }\n ]);\n }\n };\n\n const setMetaDescription = (metaDescription: string) => {\n const descriptionMeta = document.querySelector('meta[name=\"description\"]');\n\n if (descriptionMeta) {\n descriptionMeta.setAttribute('content', metaDescription);\n } else {\n addDomElement([\n {\n elemAttr: 'name',\n elemValue: 'description'\n },\n {\n elemAttr: 'content',\n elemValue: metaDescription\n }\n ]);\n }\n };\n\n const setOgDescription = (metaDescription: string) => {\n const ogDescriptionMeta = document.querySelector(\n 'meta[property=\"og:description\"]'\n );\n\n if (ogDescriptionMeta) {\n ogDescriptionMeta.setAttribute('content', metaDescription);\n } else {\n addDomElement([\n {\n elemAttr: 'property',\n elemValue: 'og:description'\n },\n {\n elemAttr: 'content',\n elemValue: metaDescription\n }\n ]);\n }\n };\n\n const setTwitterDescription = (metaDescription: string) => {\n const twitterDescriptionMeta = document.querySelector(\n 'meta[name=\"twitter:description\"]'\n );\n\n if (twitterDescriptionMeta) {\n twitterDescriptionMeta.setAttribute('content', metaDescription);\n } else {\n addDomElement([\n {\n elemAttr: 'name',\n elemValue: 'twitter:description'\n },\n {\n elemAttr: 'content',\n elemValue: metaDescription\n }\n ]);\n }\n };\n\n const setItemPropDescription = (metaDescription: string) => {\n const itemPropDescriptionMeta = document.querySelector(\n 'meta[itemprop=\"description\"]'\n );\n\n if (itemPropDescriptionMeta) {\n itemPropDescriptionMeta.setAttribute('content', metaDescription);\n } else {\n addDomElement([\n {\n elemAttr: 'itemprop',\n elemValue: 'description'\n },\n {\n elemAttr: 'content',\n elemValue: metaDescription\n }\n ]);\n }\n };\n\n return {\n generateMetaData: generateMetaData\n };\n};\n","export const addDomElement = (\n arr: { elemAttr: string; elemValue: string }[],\n element = 'meta',\n textNode: string | undefined = undefined\n): void => {\n const elem = document.createElement(element);\n arr.forEach(metaTuple => {\n elem.setAttribute(metaTuple.elemAttr, metaTuple.elemValue);\n });\n\n if (textNode) {\n elem.textContent = textNode;\n }\n\n document.getElementsByTagName('head')[0]?.appendChild(elem);\n};\n"],"names":["useMetaData","ogUrlBase","useRef","setMetaTitle","metaTitle","document","title","setCanonical","url","skipCanonicalAndOgUrl","canonicalLink","querySelector","setAttribute","addDomElement","elemAttr","elemValue","setOgUrlMeta","ogUrlMeta","setOgMetaTitle","ogTitleMeta","setTwitterMetaTitle","twitterTitleMeta","setMetaDescription","metaDescription","descriptionMeta","setOgDescription","ogDescriptionMeta","setTwitterDescription","twitterDescriptionMeta","setItemPropDescription","itemPropDescriptionMeta","generateMetaData","completeUrl","SpringConfigs","MOCKED_DATA","_document$querySelect","current","content","arr","_document$getElements","element","arguments","length","undefined","textNode","elem","createElement","forEach","metaTuple","textContent","getElementsByTagName","appendChild"],"sourceRoot":""}