{"version":3,"names":["loggedOut","locationInput","userGroup","datePicker","teacherName","consent","composeButton","contactLink","collapsedInfo","signUpButton","isLoggedIn","picker","waitForElement","selector","Promise","resolve","document","querySelector","observer","MutationObserver","mutations","disconnect","observe","body","childList","subtree","setInputValue","value","dispatchEvent","Event","setCheckboxValue","checked","toggleUserFieldVisibility","userGroupElement","clearFields","selectedGroup","firstElementChild","dataset","datePickerUserField","teacherNameUserField","consentUserField","datePickerInput","teacherNameInput","consentInput","parentElement","style","display","classList","add","scripts","then","addEventListener","e","open","locationInstructionText","locationInputElement","locationHelp","createElement","innerHTML","parentNode","insertBefore","nextSibling","localStorage","setItem","window","location","href","target","getItem","click","removeItem","collapsedInfoElement","remove","pikadayScript","src","appendChild","pikadayStyle","rel","type","waitForPikaday","Pikaday","presentYear","Date","getFullYear","earliestYear","field","format","yearRange","setTimeout","onload"],"sources":["theme-50-inline-common-head_tag.js"],"sourcesContent":["\n  const loggedOut = \".anon\";\n  const locationInput = \"input#edit-location\";\n  const userGroup = \".user-field-i-am-a .select-kit\";\n  const datePicker = \".user-field-date-of-birth\";\n  const teacherName = \".user-field-teacher-name\";\n  const consent = \".user-field.confirm\";\n  const composeButton = \"button.compose-pm\";\n  const contactLink = \".js-contact\";\n  const collapsedInfo = \"#collapsed-info-panel\";\n  const signUpButton = \".sign-up-button\";\n\n  let isLoggedIn = true;\n  let picker;\n\n  function waitForElement(selector) {\n    return new Promise((resolve) => {\n      if (document.querySelector(selector)) {\n        return resolve(document.querySelector(selector));\n      }\n\n      const observer = new MutationObserver((mutations) => {\n        if (document.querySelector(selector)) {\n          observer.disconnect();\n          resolve(document.querySelector(selector));\n        }\n      });\n\n      observer.observe(document.body, {\n        childList: true,\n        subtree: true,\n      });\n    });\n  }\n\n  function setInputValue(selector, value) {\n    selector.value = value;\n    selector.dispatchEvent(new Event(\"change\"));\n  }\n\n  function setCheckboxValue(selector, value) {\n    selector.checked = value;\n    selector.dispatchEvent(new Event(\"change\"));\n  }\n\n  function toggleUserFieldVisibility(userGroupElement, clearFields = false) {\n    const selectedGroup = userGroupElement.firstElementChild.dataset.value;\n\n    const datePickerUserField = document.querySelector(datePicker);\n    const teacherNameUserField = document.querySelector(teacherName);\n    const consentUserField = document.querySelector(consent);\n\n    const datePickerInput = document.querySelector(datePicker + \" input\");\n    const teacherNameInput = document.querySelector(teacherName + \" input\");\n    const consentInput = document.querySelector(consent + \" input\");\n\n    if (selectedGroup == \"Young Person\") {\n      datePickerUserField.parentElement.style.display = \"block\";\n      teacherNameUserField.parentElement.style.display = \"block\";\n      consentUserField.parentElement.style.display = \"block\";\n\n      if (!isLoggedIn) {\n        setInputValue(datePickerInput, \"\");\n        setInputValue(teacherNameInput, \"\");\n        setCheckboxValue(consentInput, false);\n      }\n    }\n\n    if (selectedGroup == \"Teacher\") {\n      datePickerUserField.parentElement.style.display = \"none\";\n      teacherNameUserField.parentElement.style.display = \"none\";\n      consentUserField.parentElement.style.display = \"none\";\n\n      document.querySelector(\".pika-single\").classList.add(\"is-hidden\");\n\n      if (!isLoggedIn) {\n        setInputValue(datePickerInput, \"01/01/1970\");\n        setInputValue(teacherNameInput, \"N/A\");\n        setCheckboxValue(consentInput, true);\n      }\n    }\n  }\n\n  function scripts() {\n    waitForElement(loggedOut).then(() => {\n      isLoggedIn = false;\n    });\n\n    // Initialise user field display\n    waitForElement(datePicker).then(() => {\n      document.querySelector(datePicker).parentElement.style.display = \"none\";\n    });\n\n    waitForElement(teacherName).then(() => {\n      document.querySelector(teacherName).parentElement.style.display = \"none\";\n    });\n\n    waitForElement(consent).then(() => {\n      document.querySelector(consent).parentElement.style.display = \"none\";\n    });\n\n    // Show/hide fields based on user group\n    waitForElement(userGroup).then(() => {\n      const userGroupElement = document.querySelector(userGroup);\n\n      // Set initial state of fields in profile view\n      toggleUserFieldVisibility(userGroupElement);\n\n      userGroupElement.addEventListener(\"toggle\", (e) => {\n        if (!userGroupElement.open) {\n          toggleUserFieldVisibility(userGroupElement);\n        }\n      });\n    });\n\n    // Display instructional text alongside location field\n    waitForElement(locationInput).then(() => {\n      const locationInstructionText = \"Provide the name of the city/town and country where you live (e.g. London, UK)\";\n      const locationInputElement = document.querySelector(locationInput);\n      const locationHelp = document.createElement(\"div\");\n\n      locationHelp.innerHTML = locationInstructionText;\n      locationHelp.classList.add(\"instructions\");\n      locationInputElement.parentNode.insertBefore(\n        locationHelp,\n        locationInputElement.nextSibling\n      );\n    });\n\n    // Trigger message modal if action query param is message...\n    waitForElement(contactLink).then(() => {\n      document.querySelector(contactLink).addEventListener(\"click\", (e) => {\n        localStorage.setItem(\"message\", \"true\");\n        window.location.href = e.target.dataset.href;\n      });\n    });\n\n    // ...then launch message modal\n    waitForElement(composeButton).then(() => {\n      if (localStorage.getItem(\"message\") == \"true\") {\n        document.querySelector(composeButton).click();\n        localStorage.removeItem(\"message\");\n      }\n    });\n\n    // Unload user stats on profile pages\n    waitForElement(collapsedInfo).then(() => {\n      const collapsedInfoElement = document.querySelector(collapsedInfo);\n      collapsedInfoElement.remove();\n    });\n\n    // Reload scripts after Discourse navigation\n    waitForElement(signUpButton).then(() => {\n      document.querySelector(signUpButton).addEventListener(\"click\", (e) => {\n        scripts();\n      });\n    });\n  }\n\n  // Load Pikaday scripts\n  waitForElement(datePicker).then(() => {\n    let pikadayScript = document.createElement(\"script\");\n    pikadayScript.src = \"https://cdn.jsdelivr.net/npm/pikaday/pikaday.js\";\n    document.body.appendChild(pikadayScript);\n\n    let pikadayStyle = document.createElement(\"link\");\n    pikadayStyle.href = \"https://cdn.jsdelivr.net/npm/pikaday/css/pikaday.css\";\n    pikadayStyle.rel = \"stylesheet\";\n    pikadayStyle.type = \"text/css\";\n    document.body.appendChild(pikadayStyle);\n\n    function waitForPikaday() {\n      if (typeof Pikaday !== \"undefined\") {\n        const presentYear = new Date().getFullYear();\n        const earliestYear = presentYear - 100;\n\n        picker = new Pikaday({\n          field: document.querySelector(datePicker + \" input\"),\n          format: \"L\",\n          yearRange: [earliestYear, presentYear],\n        });\n      } else {\n        setTimeout(waitForPikaday, 300);\n      }\n    }\n\n    waitForPikaday();\n  });\n\n  window.onload = scripts();\n"],"mappings":"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","ignoreList":[]}