{"version":3,"file":"e127ada6.js","mappings":"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","sources":["webpack://audioeye-web/./src/components/form/Onboarding/OnboardingModal.jsx"],"sourcesContent":["/* eslint-disable no-unused-expressions */\n/* eslint-disable camelcase */\n/* eslint-disable indent */\n\nimport React, { useState, useEffect } from 'react'\nimport { navigate } from 'gatsby'\nimport styled from '@emotion/styled'\nimport useMediaQuery from '@material-ui/core/useMediaQuery'\nimport Dialog from '@material-ui/core/Dialog'\nimport { withStyles, useTheme } from '@material-ui/core/styles'\nimport FocusTrap from 'react-focus-trap'\n\nimport mapValues from 'lodash/mapValues'\nimport keyBy from 'lodash/keyBy'\nimport { onboardingHsFormCollect } from '../hubspot/HubSpotFormAPI'\nimport { provisionAccount } from './accountCreation'\nimport Text from '../../common/Text'\nimport TextLink from '../../common/TextLink'\nimport Button from '../../common/Button'\nimport Input, { RequiredSpan } from '../Input'\nimport Space from '../../common/Space'\nimport PhoneNumberInput from '../PhoneNumberInput'\nimport { trackEvent } from '../../../utils/segmentTrack'\nimport { theme } from '../../../styles'\nimport { FormWrapper, StageWrapper, FormHeader } from './utils'\nimport { FormInner, ButtonWrapper, CloseButton, FormHeaderWrapper, InputContainer } from '../common'\nimport { AgencyFormFields } from './AgencyFormFields'\n\nimport CheckSite from './CheckSite'\n\nimport EyeIcon from '../../../../static/get-started-free/eye.svg'\nimport CrossedEyeIcon from '../../../../static/get-started-free/crossed-eye.svg'\nimport WarningGraphic from '../../../../static/get-started-free/warning-graphic.svg'\nimport checkAgencyKeywords from '../../../utils/checkAgencyKeywords'\n\nconst StyledDialog = withStyles({\n root: {\n maxWidth: '100vw',\n minHeight: '100%',\n padding: '0px 16px',\n backgroundImage: `linear-gradient(to bottom, rgba(45, 3, 99, .85) 0%, rgba(113, 25, 225, .85) 100%)`,\n },\n container: {\n padding: '32px 0px',\n borderRadius: '10px',\n },\n paper: {\n borderRadius: '10px',\n overflowX: 'hidden',\n overflowY: 'hidden',\n maxWidth: 'unset',\n margin: '16px',\n position: 'unset',\n backgroundColor: 'transparent',\n },\n paperScrollPaper: {\n borderRadius: '10px',\n height: 'auto',\n width: 'auto',\n boxShadow: 'none',\n '@media (max-height: 900px)': {\n height: '100%',\n },\n },\n paperFullScreen: {\n borderRadius: '10px',\n maxHeight: 'calc(100% - 24px)',\n },\n})(Dialog)\n\nexport const NameInputWrapper = styled(InputContainer)`\n @media (max-width: 800px) {\n flex-direction: row;\n }\n`\n\nexport const ValidatedInputWrapper = styled.div`\n display: flex;\n width: 100%;\n flex-direction: column;\n`\n\nconst PasswordContainer = styled.div`\n position: relative;\n display: flex;\n`\n\nconst EyeImg = styled.img`\n width: 28px;\n margin-left: -40px;\n margin-top: 10px;\n cursor: pointer;\n z-index: 1;\n`\n\nconst WarningImg = styled.img`\n position: absolute;\n left: 30%;\n top: -18px;\n width: 140px;\n z-index: 3;\n`\n\nconst PasswordText = styled.label`\n display: grid;\n grid-auto-flow: column;\n grid-gap: 4px;\n grid-template-columns: auto 1fr;\n justify-items: flex-end;\n align-items: baseline;\n margin-bottom: 0px;\n`\n\nconst OnboardingModal = ({ open }) => {\n const urlInputRef = React.createRef()\n\n const [focusStageOne, setFocusStageOne] = useState(false)\n const [stage, setStage] = useState(1)\n const [showPass, setShowPass] = useState(false)\n const [passwordWarn, setPasswordWarn] = useState(false)\n const [passwordErr, setPasswordErr] = useState(false)\n const [numWebsitesErr, setNumWebsitesErr] = useState(false)\n const [partnerName, setPartnerName] = useState(null)\n const [intlNum, setIntlNum] = useState('')\n const [formSubmitReady, setFormSubmitReady] = useState(false)\n const [emailError, setEmailError] = useState()\n\n const [formData, setFormData] = useState({\n fullName: '',\n email: '',\n phone: '',\n freelancerAgency: '',\n numWebsites: '',\n company: '',\n url: '',\n password: '',\n agencyKeywordsFound: '',\n form_name: 'Onboarding Modal',\n })\n\n const [sessionFormData, setSessionFormData] = useState({\n fullName: '',\n email: '',\n phone: '',\n freelancerAgency: '',\n numWebsites: '',\n url: '',\n })\n\n const MUItheme = useTheme()\n const fullScreen = useMediaQuery(MUItheme.breakpoints.down('sm'))\n\n const windowGlobal = typeof window !== `undefined` && window\n\n const updateFormData = prop => setFormData({ ...formData, ...prop })\n const updateSessionFormData = prop => setSessionFormData({ ...sessionFormData, ...prop })\n\n const onOpenOne = async () => {\n setFocusStageOne(true)\n const nameInput = windowGlobal && document.querySelector('#name-input')\n if (nameInput) nameInput.focus()\n }\n\n const onExitOne = () => {\n setFocusStageOne(false)\n }\n\n const onEntered = () => {\n onOpenOne()\n }\n\n const closeModal = () => {\n if (windowGlobal) {\n onExitOne()\n navigate(windowGlobal.location.pathname)\n }\n }\n\n useEffect(() => {\n const htmlElement = document.querySelector('html')\n if (open && !htmlElement.classList.contains('overflow-hidden')) {\n htmlElement.classList.add('overflow-hidden')\n } else {\n htmlElement.classList.remove('overflow-hidden')\n }\n }, [open])\n\n useEffect(() => {\n // reset to stage one and track modal pageview upon re-opening modal\n if (open === true) {\n setStageOne()\n\n if (windowGlobal) {\n const scan_url = windowGlobal.sessionStorage.getItem('scan_url')\n const hsFormData = typeof window !== 'undefined' && window.sessionStorage.getItem('hs-form-data')\n const parsedData = JSON.parse(hsFormData)\n const mappedData = mapValues(keyBy(parsedData, 'name'), 'value')\n const sessionFirstName = mappedData.firstname\n const sessionLastName = mappedData.lastname\n const sessionEmail = mappedData.email\n const sessionPhone = mappedData.phone\n const sessionAgency = mappedData.agency_or_freelancer\n const sessionAgencySize = mappedData.record_type\n\n if (\n scan_url ||\n sessionFirstName ||\n sessionLastName ||\n sessionEmail ||\n sessionPhone ||\n sessionAgency ||\n sessionAgencySize\n ) {\n updateFormData({\n url: scan_url,\n fullName: `${sessionFirstName || ''} ${sessionLastName || ''}`,\n email: sessionEmail,\n phone: sessionPhone,\n freelancerAgency: sessionAgency,\n numWebsites: sessionAgencySize,\n })\n updateSessionFormData({\n url: scan_url,\n fullName: `${sessionFirstName || ''} ${sessionLastName || ''}`,\n email: sessionEmail,\n phone: sessionPhone,\n freelancerAgency: sessionAgency,\n numWebsites: sessionAgencySize,\n })\n if (sessionPhone) setIntlNum(sessionPhone)\n }\n }\n }\n }, [open])\n\n const setStageOne = () => {\n trackEvent(`Onboarding Modal Viewed`, {\n category: 'onboarding_modal',\n current_step: '1',\n max_step: '1',\n })\n onOpenOne()\n\n setStage(1)\n }\n\n const validatePass = password => {\n const pattern = new RegExp('^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.{8,})')\n setPasswordWarn(true)\n if (pattern.test(password) === true) {\n setPasswordWarn(false)\n setPasswordErr(false)\n }\n }\n\n const validateEmail = async email => {\n if (window.location.pathname === '/get-started/') {\n const invalidEmails = ['gmail.com', 'yahoo.com', 'msn.com', 'aol.com', 'hotmail.com', 'sbcglobal.com']\n let threshHold = 0\n invalidEmails.forEach(domain => {\n if (email.includes(domain)) {\n threshHold += 1\n }\n })\n if (threshHold > 0) {\n setEmailError(true)\n return\n }\n }\n setEmailError(false)\n }\n\n useEffect(() => {\n if (formData.numWebsites && formData.numWebsites.length > 0 && numWebsitesErr) setNumWebsitesErr(false)\n }, [numWebsitesErr, formData.numWebsites])\n\n useEffect(() => {\n if (formSubmitReady === true) {\n onboardingHsFormCollect(formData, intlNum)\n }\n }, [formSubmitReady, formData])\n\n const submit = async evt => {\n evt.preventDefault()\n\n const timeout = ms => new Promise(resolve => setTimeout(resolve, ms))\n await timeout(0)\n\n if (emailError) {\n const emailErrAlert = windowGlobal && document.querySelector('#email-error-alert')\n if (emailErrAlert) emailErrAlert.focus()\n const emailInput = windowGlobal && document.querySelector('input[type=\"email\"]')\n if (emailInput) emailInput.focus()\n return\n }\n\n if (passwordWarn) {\n setPasswordErr(true)\n const errAlert = windowGlobal && document.querySelector('#error-alert')\n if (errAlert) errAlert.focus()\n const passwordInput = windowGlobal && document.querySelector('#password-input')\n if (passwordInput) passwordInput.focus()\n return\n }\n\n if (formData.freelancerAgency && !formData.numWebsites) {\n setNumWebsitesErr(true)\n const numWebsiteInput = windowGlobal && document.querySelector('input[name=\"record_type\"]')\n if (numWebsiteInput) numWebsiteInput.focus()\n return\n }\n\n await checkAgencyKeywords(formData.url, updateFormData)\n\n setFormSubmitReady(true)\n onExitOne()\n setStage(2)\n\n provisionAccount(setStage, setPartnerName, formData, intlNum)\n }\n\n return (\n \n \n \n \n \n \n \n \n \n
\n {!sessionFormData.fullName && (\n <>\n \n updateFormData({ fullName: e.target.value })}\n value={formData.fullName}\n required\n autoCapitalize=\"words\"\n id=\"name-input\"\n />\n \n \n \n )}\n {!sessionFormData.email && (\n <>\n \n {\n if (e.target.value.includes('@')) {\n validateEmail(e.target.value)\n }\n updateFormData({ email: e.target.value })\n }}\n id=\"email-input\"\n />\n {emailError && (\n \n Enter a valid email\n \n )}\n \n \n \n )}\n {!sessionFormData.phone && (\n <>\n \n \n \n \n \n \n \n )}\n {windowGlobal && !windowGlobal.sessionStorage.getItem('scan_url') && (\n <>\n \n updateFormData({ url: e.target.value })}\n value={formData.url}\n required\n style={{ flex: '1' }}\n pattern=\"(http(s)?:\\/\\/.)?(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,30}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)\"\n onInput={e => {\n e.target.setCustomValidity('')\n if (!e.target.validity.valid) {\n e.target.setCustomValidity('Please enter a valid URL.')\n }\n }}\n />\n \n \n \n )}\n \n \n \n Password *\n \n {passwordWarn && (\n \n 8+ characters, with a number, lower and uppercase letter\n \n )}\n \n \n {passwordErr && (\n \n )}\n {\n validatePass(e.target.value)\n updateFormData({ password: e.target.value })\n }}\n aria-describedby=\"password-sub-label\"\n id=\"password-input\"\n style={{ paddingRight: '48px' }}\n requiredLabel=\"password\"\n />\n {\n if (e.key === 'Enter' || e.key === ' ') {\n showPass === false ? setShowPass(true) : setShowPass(false)\n }\n }}\n onClick={() => {\n showPass === false ? setShowPass(true) : setShowPass(false)\n }}\n />\n \n \n {windowGlobal &&\n !sessionFormData.freelancerAgency &&\n !windowGlobal.sessionStorage.getItem('agency_viewed') && (\n \n )}\n \n \n