{"version":3,"file":"static/chunks/pages/about-616007060e29c058.js","mappings":"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","sources":["webpack://_N_E/?7d9c","webpack://_N_E/./pages/about.tsx","webpack://_N_E/./pages/basicpages.module.scss","webpack://_N_E/../../node_modules/next/head.js","webpack://_N_E/../../libs/sanity-library/src/lib/Languages.js","webpack://_N_E/"],"sourcesContent":["\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/about\",\n function () {\n return require(\"private-next-pages/about.tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/about\"])\n });\n }\n ","import { PortableText } from \"@portabletext/react\";\nimport { Text } from \"@taskalliance/lms\";\nimport { Footer, Header } from \"@taskalliance/lms\";\nimport { pageQuery, settingsQuery } from \"@utils/groqQueries\";\nimport { getClient } from \"libs/sanity-library/src/lib/sanity.server\";\nimport Head from \"next/head\";\nimport Link from \"next/link\";\nimport { FunctionComponent } from \"react\";\nimport { useRouter } from \"next/router\";\nimport { ParsePageLanguage } from \"@taskalliance/sanity-library/Languages\";\nimport styles from \"./basicpages.module.scss\";\n\ninterface AboutProps {\n data: {\n sanityData: {\n pageMainTitle: string;\n contentPage: any;\n };\n setting: any;\n }\n}\n\nconst About: FunctionComponent = ({ data }) => {\n //filter language data using router\n const router = useRouter();\n data = ParsePageLanguage(data, router.locale);\n\n //sanity portabletext styling/parsing\n const customComponents = {\n block: {\n h1: ({ children }: any) => (\n \n {children}\n \n )\n }\n };\n\n return (\n <>\n \n {data.sanityData.pageMainTitle}\n \n
\n \n
\n
\n
\n \n {data.sanityData.pageMainTitle}\n \n
\n \n
\n
\n {data.setting?.defaultVariables.defaultBack}\n
\n
\n
\n
\n
\n \n );\n};\n\nexport async function getStaticProps({ preview = false }) {\n const sanityData = await getClient(preview).fetch(pageQuery(\"aboutPage\"));\n const setting = await getClient(preview).fetch(settingsQuery);\n\n //workaround for build errors\n //why are we getting build errors for this page, while runtime is running fine without having to check for [0]?\n return {\n props: {\n preview,\n data: {\n sanityData: sanityData[0] ? sanityData[0] : {},\n setting: setting[0]\n }\n },\n revalidate: 1\n };\n}\n\nexport default About;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"basicpages_container__p247s\",\"title\":\"basicpages_title__Xxn_s\",\"portabletext\":\"basicpages_portabletext__wGu2v\",\"backBtnContainer\":\"basicpages_backBtnContainer__xl17P\"};","module.exports = require('./dist/shared/lib/head')\n","/**\n * Languages supported and available in the studio and at runtime.\n * isDefault=true marks default language if none is found or set.\n * Note: there's some ... differences on how to interpret this id with i18n vs other standard.\n * .id should -never- change, and should be considered a unique key. It may not be correct or ideal. This ID will be used in JSON/Sanity structure as a key.\n */\nexport const languageList = [\n { id: \"da\", title: \"Danish\" },\n { id: \"de\", title: \"German\" },\n { id: \"en\", title: \"English\" },\n { id: \"es\", title: \"Spanish\" },\n { id: \"fi\", title: \"Finnish\" },\n { id: \"fr\", title: \"French\" },\n { id: \"it\", title: \"Italian\" },\n { id: \"lt\", title: \"Lithuanian\" },\n { id: \"nb\", title: \"Norwegian (Bokmål)\", isDefault: true },\n { id: \"pl\", title: \"Polish\" },\n { id: \"pt\", title: \"Portuguese\" },\n { id: \"sv\", title: \"Swedish\" },\n];\n\n/**\n * Fetches the Sanity language list off SiteSettings, and generates compatible structure for languageFilter plugin (remapping to avoid issues).\n * Combines Sanity languageList with languages.js.languageList array.\n * This only works once per refresh - it isn't real time.\n * Currently this is quite similar (if not identical at this point) to languageList itself, but that could change (whence remapping/\"translation\" options).\n */\nexport async function GetLanguageFilterOffSanity(sanityClient) {\n const newSanityLanguageListRaw = await sanityClient.fetch(\n `*[_type in [\"siteSettings\"]].languageList`\n );\n const newSanityLanguageList = newSanityLanguageListRaw[0];\n let newLanguageFilter = [];\n try {\n if (newSanityLanguageList !== null) {\n for (let i = 0; i < newSanityLanguageList.length; i++) {\n let detectedLanguage = languageList.find(\n (language) => language.id === newSanityLanguageList[i].id\n );\n if (i === 0) detectedLanguage.isDefault = true;\n newLanguageFilter.push(detectedLanguage);\n }\n } else {\n newLanguageFilter.push(languageList[0]);\n }\n } catch (error) {\n //if anything changes that causes runtime error, default to first item\n newLanguageFilter.push(languageList[0]);\n }\n //console.log(\"GetLanguageFilterOffSanity=\",newLanguageFilter, \", sanityClient=\",sanityClient);\n\n return newLanguageFilter;\n}\n\n/**\n * Setter function for local settingsLanguages.\n * @param {*} newLanguages Array of language elements.\n */\nexport function SetSettingsLanguages(newLanguages) {\n settingsLanguages = newLanguages;\n}\n\n/**\n * Getter for local variable.\n * @todo Is this needed anymore?\n */\nexport function GetSettingsLanguages() {\n return settingsLanguages;\n}\n\n/**\n * Sorts 2D array.\n * @returns Modifies input directly.\n */\nfunction SortArrayModule2D(a, b) {\n const x = a.title;\n const y = b.title;\n if (x < y) return -1;\n if (x > y) return 1;\n return 0;\n}\n\n/**\n * Checks if value input is an array that has a matching element with _key that is a language id (en_gb).\n * If none is found, assumes value directly (no language for instance, or legacy).\n * @param valueData String, Object or Array.\n * @param languageID Languages .id to check object for.\n * @returns String, object.\n */\nexport function GetLanguageValue(valueData, languageID) {\n let foundLanguageIndex = -1;\n //console.log(\"GetLanguageValue: valueData=\",valueData,\", languageID=\",languageID,\", typeof=\",typeof valueData);\n if (typeof valueData === \"object\") {\n try {\n foundLanguageIndex = valueData.findIndex(\n (item) => item?._key === languageID\n );\n } catch (error) {\n //debugger;\n }\n }\n if (foundLanguageIndex >= 0) {\n return valueData[foundLanguageIndex].value;\n } else {\n return valueData;\n }\n}\n\n/**\n * Recursive returning a cloned object with Locale* values matching a specific language ID.\n * Useful for duplicating globally parsed JSON-data, and make use of language versions at runtime (opens up realtime changes).\n * @param valueData Object to traverse and modify.\n * @param languageID Languages .id to check for.\n * @returns Cloned input with language object arrays reduced to active language only.\n */\nexport function ReturnClonedLanguageObject(valueData, languageID) {\n let cloneValues = Array.isArray(valueData)\n ? Object.assign([], valueData)\n : Object.assign({}, valueData);\n\n if (typeof valueData === \"object\") {\n for (let key in cloneValues) {\n if (typeof cloneValues[key] === \"object\") {\n //check if key is a language array, which always is prefixed by _type=locale\n for (let i in cloneValues[key]) {\n //console.log(\"i=\",i,\"=\",cloneValues[key][i], \", [key]=\",cloneValues[key]);\n const currentObject = cloneValues[key][i];\n\n //locale-object detected?\n if (\n currentObject !== null &&\n String(currentObject?._type).indexOf(\"Locale\") !== -1\n ) {\n /*if (\n Object.prototype.hasOwnProperty.call(currentObject, \"_key\") &&\n currentObject._key === languageID\n ) {\n cloneValues[key] = GetLanguageValue(cloneValues[key], languageID);\n break;\n }*/\n cloneValues[key] = GetLanguageValue(cloneValues[key], languageID);\n break;\n } else {\n //this can be a massive bottleneck if not handled with care\n //we're in effect calling the same objects over and over again (recursive)\n cloneValues[key] = ReturnClonedLanguageObject(\n cloneValues[key],\n languageID\n );\n\n //immediately break after to avoid recursive looping \"per symbol\"\n break;\n }\n }\n }\n }\n }\n //console.log(\"cloneValues=\", cloneValues);\n return cloneValues;\n}\n\n/**\n * Takes Sanity data normally meant for page, parses it for language, and returns new data in legacy format.\n * @param {object} pageData Page data as {sanityData, setting}. We'll need this as one object so we can modify it, and return it language compiled.\n * @param {string} routerLocale Languages language-id.\n * @returns New page/Sanity data with Sanity default language, and selected router locale used as override if not blank.\n */\nexport function ParsePageLanguage(pageData, routerLocale) {\n let newData = pageData;\n\n if (pageData != null) {\n //get default language before parsing language data\n const defaultLanguage = pageData.setting?.languageList[0]?.id;\n\n //parse language, either using sanity default, or local default\n if (routerLocale !== \"\") {\n newData = ReturnClonedLanguageObject(pageData, routerLocale);\n } else {\n newData = ReturnClonedLanguageObject(pageData, defaultLanguage);\n }\n\n //just in case some languages are missing arrays causing runtime errors, default to default language\n newData = ReturnClonedLanguageObject(newData, defaultLanguage);\n }\n\n return newData;\n}\n\n//sort language list by default\n//for actual languages, use its id not its index so order doesn't matter\nlanguageList.sort(SortArrayModule2D);\n\n/**\n * SiteSettings languages, parsed off Sanity at runtime. Not sorted/ordered, with [0] being the default language.\n */\nexport let settingsLanguages = [];\nexport const languageDefault = languageList.find(\n (language) => language.isDefault\n);\n"],"names":["window","__NEXT_P","push","__webpack_require__","__webpack_exports__","data","param","router","useRouter","ParsePageLanguage","locale","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsxs","Fragment","jsx","Head","title","sanityData","pageMainTitle","main","Header","headerData","setting","header","languages","hrefLanguages","article","div","className","styles","Text","as","customClassName","PortableText","value","contentPage","components","block","h1","children","size","Link","href","defaultVariables","defaultBack","Footer","footerData","footer","module","exports","languageList","id","isDefault","ReturnClonedLanguageObject","valueData","languageID","cloneValues","Array","isArray","Object","assign","key","i","currentObject","String","_type","indexOf","GetLanguageValue","foundLanguageIndex","findIndex","item","_key","error","pageData","routerLocale","newData","defaultLanguage","sort","a","b","x","y","find","language"],"sourceRoot":""}