{"version":3,"sources":["components/layout/info-block.js","components/layout/margin-container.js","components/text/heading.js","components/colored-line.js","components/text/styled-text.js","components/layout/list.js","components/layout/action-block.js","components/image.js","components/text/label.js","reducers/input-reducer.js","contexts/inputcontextprovider.js","components/form/input.js","components/text/link.js","components/button.js","components/layout/panel.js","hooks/cookiehook.js","components/notification.js","hooks/messagehook.js","pages/shared/content.js","pages/shared/message.js","pages/shared/login-panel.js","hooks/detect-browser.js","pages/login.js","pages/forgotpassword.js","components/layout/unorderedlist.js","pages/resetpassword.js","hooks/usequery.js","components/form/select.js","reducers/create-user-reducer.js","contexts/createUserContext.js","constants/stripe-constants.js","constants/user-type-constants.js","components/progress.js","pages/createaccount.js","App.js","serviceWorker.js","index.js"],"names":["InfoBlock","styled","animated","div","props","width","css","MarginContainer","margin","padding","FlexContainer","direction","align","justify","HeadingH1","h1","HeadingH4","h4","ColoredLine","color","thickness","StyledText","fontSize","font","weight","lineHeight","List","ul","style","ListItem","li","textAlign","ActionBlock","Image","img","Label","label","InputReducer","state","action","s","field","type","InputContext","createContext","InputContextProvider","children","useReducer","errors","dispatch","Provider","value","register","name","update","isValid","InputBase","input","paddingLeft","hasErrors","Wrapper","Icon","i","attrs","icon","className","InputWithIcon","rest","paddingTextLeft","Input","onChange","required","validation","useState","setHasErrors","useContext","useEffect","init","validate","isInvalid","validateNotEmpty","validateWithValidation","test","e","currentTarget","replace","trim","StyledLink","Link","Button","button","bordered","disabled","ButtonLink","Panel","useCookie","cookieName","tempName","cookie","setCookie","ca","decodeURIComponent","document","split","length","c","charAt","substring","indexOf","getCookieForDom","Notification","alert","useMessage","messageText","message","setMessage","setType","parseInt","DefaultContent","Message","LoginPanel","username","password","onLogin","onSubmit","onChangeField","src","method","id","to","onClick","useDetectBrowser","browser","setBrowser","isChrome","navigator","userAgentData","window","chrome","webstore","runtime","isFireFox","InstallTrigger","isOpera","userAgent","isSafari","isIE","documentMode","isEdge","StyleMedia","isEdgeChromium","set","useCallback","browserName","Login","setUsername","setPassword","preventDefault","console","log","target","submit","ForgotPassword","UnOrderedList","columns","debug","ResetPassword","userId","code","confirmPassword","setConfirmPassword","setAlert","passwordValidation","getEmailWithId","a","fetch","headers","result","ok","emailField","getElementById","json","response","email","statusText","descriptiont","useQuery","location","useLocation","URLSearchParams","search","library","add","faCaretDown","SelectStyleContainer","minWidth","Menu","components","SingleValue","Option","isSelected","isFocused","Control","CaretDownIcon","DropDownWrapper","DropdownIndicator","SelectContainer","IndicatorSeparator","innerProps","CustomerSelect","language","UpdateCreateState","CreateUserReducer","payload","data","CreateUserContext","CreateUserContextProvider","currentState","dispatchUpdateState","user","dispatchUpdateUser","CARD_ELEMENT_OPTIONS","base","fontFamily","fontSmoothing","fontWeight","opacity","invalid","iconColor","backgroundColor","TypeOptions","emailValidation","Circle","Doughnut","ListWrap","Line","ColumnContainer","LineItem","index","ProgressBar","key","map","CreateContent","DefaultAction","CreateAction","stripe","useStripe","elements","useElements","stripeErrors","setStripeErrors","alertType","setAlertType","allowFinishClick","setAllowFinishClick","setUserId","setFinish","ClassCode","onClickNext","onClickFinish","formData","parseUser","parseCC","sendFormData","serialized","JSON","stringify","body","u","status","parse","institutionType","card","getElement","CardElement","createToken","error","token","hasOwnProperty","substr","toLowerCase","loginLinkClicked","href","sendConfirmationEmail","Email","isRestricted","FirstName","LastName","Password","isSearchable","options","defaultValue","htmlFor","CouponCode","SignUp","infoPanelProps","useSpring","from","config","slow","defaultProps","createProps","stripePromise","loadStripe","process","Workshop","queryParams","get","path","App","Boolean","hostname","match","ReactDOM","render","serviceWorker","ready","then","registration","unregister","catch"],"mappings":"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","file":"static/js/main.7983d731.chunk.js","sourcesContent":["import React from \"react\";\nimport styled, { css } from \"styled-components\";\nimport { animated } from \"react-spring\";\n\nconst InfoBlock = styled(animated.div)`\n background-image: url('hot air balloon.png');\n background-color: #36A2F9;\n background-position: top left;\n background-repeat: none;\n opacity: 1;\n width: 674px;\n height: 100%;\n display: inline-block;\n position: relative;\n align-items: center;\n ${props => props.width && css`\n width: ${props.width};\n `}\n`;\n\nexport default InfoBlock;","import React from \"react\";\nimport styled, { css } from \"styled-components\";\n\nconst MarginContainer = styled.div`\n ${props => props.margin && css`\n margin: ${props.margin};\n `}\n ${props => props.padding && css`\n padding: ${props.padding};\n `}\n`;\n\nexport const FlexContainer = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n ${props => props.direction && css`\n flex-direction: ${props.direction};\n `}\n ${props => props.align && css`\n align-items: ${props.align};\n `}\n ${props => props.justify && css`\n justify-content: ${props.justify};\n `}\n ${props => props.margin && css`\n margin: ${props.margin};\n `}\n ${props => props.padding && css`\n padding: ${props.padding};\n `}\n ${props => props.width && css`\n width: ${props.width};\n `}\n`;\n\nexport default MarginContainer;","import React from \"react\";\nimport styled from \"styled-components\";\n\nconst HeadingH1 = styled.h1`\n font-family: 'Montserrat' !important;\n font-size: 38px;\n font-weight: 700;\n color: white;\n margin: 0;\n line-height: 42px;\n`;\n\nexport const HeadingH4 = styled.h4`\n font-family: 'Montserrat' !important;\n font-size: 28px;\n font-weight: 700;\n color: white;\n margin: 0;\n line-height: 42px;\n`;\n\nexport default HeadingH1;","import React from \"react\";\nimport styled, { css } from \"styled-components\";\n\nconst ColoredLine = styled.div`\n display: inline-flex;\n width: 85px;\n border: solid #FBC20F 2.5px;\n margin-top: 5px;\n ${props => props.color && css`\n border-color: ${props.color};\n `}\n ${props => props.margin && css`\n margin: ${props.margin};\n `}\n ${props => props.width && css`\n width: ${props.width};\n `}\n ${props => props.thickness && css`\n border-width: ${props.thickness};\n `}\n`;\n\nexport default ColoredLine;","import React from \"react\";\nimport styled, { css } from \"styled-components\";\n\nconst StyledText = styled.div`\n font-family: \"Open Sans\";\n font-size: 18px;\n color: white;\n line-height: 30px;\n ${props => props.color && css`\n color: ${props.color};\n `}\n ${props => props.fontSize && css`\n font-size: ${props.fontSize};\n `}\n ${props => props.font && css`\n font-family: ${props.font};\n `}\n \n ${props => props.weight && css`\n font-weight: ${props.weight};\n `}\n \n ${props => props.lineHeight && css`\n line-height: ${props.lineHeight};\n `}\n \n ${props => props.margin && css`\n margin: ${props.margin};\n `}\n`;\n\nexport default StyledText;","import React from \"react\";\nimport styled, { css } from \"styled-components\";\n\nconst List = styled.ul`\n margin: 0 0 0 0;\n ${props => props.style && css`\n list-style: ${props.style};\n `}\n color: white;\n ${props => props.margin && css`\n margin: ${props.margin};\n `}\n`;\n\nexport const ListItem = styled.li`\n color: white;\n font-family: \"Open Sans\";\n font-size: 18px;\n line-height: 30px;\n ${props => props.lineHeight && css`\n line-height: ${props.lineHeight};\n `}\n ${props => props.textAlign && css`\n text-align: ${props.textAlign};\n `}\n ${props => props.margin && css`\n margin: ${props.margin};\n `}\n`;\n\nexport default List;","import React from \"react\";\nimport styled from \"styled-components\";\n\nconst ActionBlock = styled.div`\n background-color: white;\n height: 100%;\n display: flex;\n flex-direction: column;\n position: relative;\n`;\n\nexport default ActionBlock;","import React from \"react\";\nimport styled, { css } from \"styled-components\";\n\nconst Image = styled.img`\n // height: 128px;\n //width: 249px;\n`;\n\nexport default Image;","import React from \"react\";\nimport styled, { css } from \"styled-components\";\n\nconst Label = styled.label`\n color: #555555;\n font-family: \"Open Sans\";\n font-size: 14px;\n line-height: 22px;\n margin-bottom: 4px;\n \n ${props => props.margin && css`\n margin: ${props.margin};\n `}\n`;\n\nexport default Label;","import React from \"react\";\n\nexport const IS_VALID = \"isValid\";\nexport const IS_NOT_VALID = \"isNotValid\";\n\nconst InputReducer = (state, action) => {\n let s = {...state};\n let { field, type } = { ... action };\n switch(type){\n case IS_VALID:\n s[field] = true;\n break;\n case IS_NOT_VALID:\n s[field] = false;\n break;\n }\n return s;\n};\n\nexport default InputReducer;","import React, {createContext, useReducer, useState} from \"react\";\nimport InputReducer, { IS_VALID, IS_NOT_VALID } from \"../reducers/input-reducer\";\n\nconst InputContext = createContext();\n\n\nconst InputContextProvider = ({children}) => {\n const [errors, dispatch] = useReducer(InputReducer, {});\n \n const register = name => {\n let state = {...errors};\n dispatch({field: name, type: IS_NOT_VALID});\n };\n \n const update = (name, isValid) => {\n let state = {...errors};\n state[name] = isValid;\n dispatch({field: name, type: isValid ? IS_VALID : IS_NOT_VALID});\n };\n \n return (\n \n {children}\n \n )\n};\n\nexport { InputContext, InputContextProvider };","import React, {Fragment, useContext, useEffect, useState} from \"react\";\nimport styled, {css} from \"styled-components\";\nimport StyledText from \"../text/styled-text\";\nimport {InputContext} from \"../../contexts/inputcontextprovider\";\n\nconst InputBase = styled.input`\n background: #FFFFFF 0% 0% no-repeat padding-box;\n border: 1px solid #BFD7E6;\n border-radius: 2px;\n opacity: 1;\n width: 276px;\n padding-right: 12px;\n padding-left: 12px;\n text-align: left;\n font-family: Open Sans;\n letter-spacing: 0;\n color: #555555;\n opacity: 1;\n font-size: 12px;\n line-height: 32px;\n max-height: 36px;\n min-width: 0;\n flex-basis: 100%;\n max-width: 274px;\n ${props => props.paddingLeft && css`\n padding-left: ${props.paddingLeft}\n `};\n ${props => props.hasErrors && css`\n border-color: #FF0000;\n background-color: #FFF4F4;\n `}\n`;\n\nconst Wrapper = styled.div`\n position: relative;\n display: flex;\n max-height: 36px;\n max-width: 300px;\n`;\n\nconst Icon = styled.i.attrs(({icon}) => ({\n className: `fas fa-${icon}`\n}))`\n position: absolute;\n left: 12px;\n top: 11px;\n bottom: 11px;\n color: #FBC20F;\n font-size: 14px;\n line-height: 16px;\n`;\n\nexport const InputWithIcon = ({icon, ...rest}) => {\n let paddingTextLeft = icon ? '36px' : '24px';\n return (\n \n \n \n \n )\n};\n\nconst Input = ({onChange, required, validation, name, ...rest}) => {\n const [hasErrors, setHasErrors] = useState(false);\n const {errors, register, update} = useContext(InputContext);\n \n useEffect(() => {\n init()\n }, []);\n \n const init = () => {\n let { value } = {...rest};\n register(name);\n validate(name, value, validation);\n };\n \n const updateState = e => {\n const {name, value} = e.currentTarget;\n const isInvalid = validate(name, value, validation);\n setHasErrors(isInvalid);\n onChange(e);\n };\n \n const validate = (field, value, validation) => {\n let isInvalid;\n if(!value || !validateNotEmpty(value))\n isInvalid = true;\n else isInvalid = !validateWithValidation(value, validation);\n update(field, !isInvalid);\n return isInvalid;\n };\n \n const validateNotEmpty = value => {\n const notEmptyRegEx = /[^\\s]/gi;\n return notEmptyRegEx.test(value);\n };\n \n const validateWithValidation = (value, validation) => {\n if(!validation) return true;\n return validation.test(value);\n };\n \n return (\n \n \n {hasErrors &&\n \n {validation && \"Valid \"}{name.replace(/([A-Z])/g, ' $1').trim()} is required.\n \n }\n \n )\n};\n\nexport default Input;","import React from \"react\";\nimport styled from \"styled-components\";\nimport { Link } from \"react-router-dom\";\n\nconst StyledLink = styled(Link)`\n font-family: \"Open Sans\";\n font-size: 14px;\n color: #36A2F9;\n text-decoration: underline;\n cursor: pointer;\n line-height: 22px;\n transition: color .5s\n &:hover : {\n color: #228ee5;\n }\n`;\n\nexport default StyledLink;","import React from \"react\";\nimport styled, { css } from \"styled-components\";\nimport '../sass/main.scss';\nimport {Link} from \"react-router-dom\";\n\nconst Button = styled.button`\n background: #36A2F9 0% 0% no-repeat padding-box;\n border-radius: 2px;\n opacity: 1;\n padding: 5px 27px 7px 27px;\n font-size: 16px;\n font-family: 'Open Sans';\n border: 2px solid #36A2F9;\n line-height: 22px;\n color: white;\n height: 36px;\n cursor: pointer;\n transition: background-color .5s;\n &:hover{\n background-color: #228ee5;\n }\n ${props => props.bordered && css`\n background: white 0% 0% no-repeat padding-box;\n border: 2px solid #36A2F9;\n &:hover{\n background-color: #EBF6FF;\n }\n color: #36A2F9;\n `}\n ${props => props.margin && css`\n margin: ${props.margin};\n `}\n \n ${props => props.disabled && css`\n opacity: 50%;\n cursor: not-allowed;\n `}\n`;\n\nexport const ButtonLink = styled(Link)`\n background: #36A2F9 0% 0% no-repeat padding-box;\n border-radius: 2px;\n opacity: 1;\n padding: 5px 27px 5px 27px;\n font-size: 16px;\n font-family: 'Open Sans';\n border: none;\n line-height: 22px;\n color: white;\n cursor: pointer;\n text-decoration: none;\n transition: background-color .5s;\n &:hover{\n background-color: #228ee5;\n }\n ${props => props.bordered && css`\n background: white 0% 0% no-repeat padding-box;\n border: 2px solid #36A2F9;\n &:hover{\n background-color: #EBF6FF;\n }\n color: #36A2F9;\n `}\n ${props => props.margin && css`\n margin: ${props.margin};\n `}\n`;\n\nexport default Button;","import React from \"react\";\nimport styled from \"styled-components\";\n\nconst Panel = styled.div`\n background: #FFFFFF 0% 0% no-repeat padding-box;\n box-shadow: 0px 6px 10px #00000029;\n border-radius: 8px;\n opacity: 1;\n width: 1110px;\n max-width: 1110px;\n height: 576px;\n display: inline-flex;\n overflow: hidden;\n position: relative;\n`;\n\nexport default Panel;","import React, { useState, useEffect } from \"react\";\n\nconst useCookie = (cookieName) => {\n const tempName = `${cookieName}=`;\n const [cookie, setCookie ] = useState(\"\");\n \n function getCookieForDom(name){\n \n const decodedCookie = decodeURIComponent(document.cookie);\n const ca = decodedCookie.split(\";\");\n for(let i = 0; i < ca.length; i++){\n let c = ca[i];\n while(c.charAt(0) === ' '){\n c =c.substring(1);\n }\n if(c.indexOf(name) === 0){\n setCookie(c.substring(name.length, c.length));\n }\n }\n }\n \n useEffect(() => {\n getCookieForDom(tempName); \n }, [tempName]);\n \n return cookie;\n};\n\nexport default useCookie;","import React from \"react\";\nimport styled, { css } from \"styled-components\";\n\nconst Notification = styled.div`\n display: flex;\n top: -1px;\n height: 44px;\n left: 0;\n right: 0;\n background-color: #E6FFE8;\n border-bottom: 2px solid #5AE05A;\n position: absolute;\n padding: 7px 16px 7px 16px;\n ${props => props.alert && css`\n background-color: ${props.alert === \"success\" ? \"#E6FFE8\" : props.alert === \"warning\" ? \"#fff6db\" : \"#FFF4F4\"};\n border-bottom: 2px solid ${props.alert === \"success\" ? \"#5AE05A\" : props.alert === \"warning\" ? \"#FBC20F\" : \"#FF0000\"} ;\n `}\n`;\n\nexport default Notification;","import {useState, useEffect} from \"react\";\n\nconst useMessage = (value, messageText) => {\n const [message, setMessage ] = useState(\"\");\n const setType = (value) => {\n if(value){\n switch(parseInt(value)){\n case -1:\n setMessage(messageText);\n break;\n case 0:\n setMessage(\"Check your email for a link to reset your password.\");\n break;\n case 1:\n setMessage(\"Success! Your email has been confirmed.\");\n break;\n case 2:\n setMessage(\"Oh no! Something went wrong.\");\n break;\n case 3:\n setMessage(\"Success! Your password has been reset.\");\n break;\n case 4:\n setMessage(\"Success! You have been signed out.\");\n break;\n case 5:\n setMessage(\"Success!\");\n break;\n case 6:\n setMessage(\"You must confirm your email address before signing in.\");\n break;\n case 7:\n setMessage(\"A user for that email could not be found. Please try a different e-mail address.\");\n break;\n case 8:\n setMessage(\"Error. That email is already being used.\");\n break;\n case 9:\n setMessage(\"Success! Your account has been created.\");\n break;\n case 10:\n setMessage(\"Invalid username or password.\");\n break;\n case 11:\n setMessage(\"Confirmation link has expired.\");\n break;\n default:\n setMessage(\"Oh no! Something went wrong.\");\n break;\n }\n }\n };\n useEffect(() => {\n setType(value);\n }, [value, setType]);\n return message;\n};\n\nexport default useMessage;","import MarginContainer from \"../../components/layout/margin-container\";\nimport HeadingH1, {HeadingH4} from \"../../components/text/heading\";\nimport ColoredLine from \"../../components/colored-line\";\nimport StyledText from \"../../components/text/styled-text\";\nimport List, {ListItem} from \"../../components/layout/list\";\nimport React from \"react\";\nimport styled, { css } from \"styled-components\";\nimport {animated} from \"react-spring\";\n\nexport const Wrapper = styled(animated.div)`\n position: absolute;\n display: flex;\n flex-direction: column;\n min-width: -webkit-fill-available;\n ${props => props.width && css`\n width: ${props.width};\n `}\n`;\nexport const DefaultContent = props => {\n return (\n \n \n Welcome to the\n RISE Reading Workshop\n \n \n \n \n Learning to read, unlike learning to speak, is not a natural process. It can be challenging. But\n that doesn’t mean it’s impossible, and it definitely doesn’t mean it can’t be fun. This\n invaluable free tool will train you to bring the love of reading to students of all abilities.\n You will learn:\n \n \n \n An explicit, systematic, and sequential phonics method that has been proven time\n and again.\n The \"why\" behind the decoding, spelling, and pronunciation of English\n words.\n How to empower students to become life-long readers, and learners.\n \n \n \n The RISE Reading Workshop material is copyrighted and has been\n donated by Reading Horizons.\n \n \n \n )\n};","import {FlexContainer} from \"../../components/layout/margin-container\";\nimport StyledText from \"../../components/text/styled-text\";\nimport Notification from \"../../components/notification\";\nimport React from \"react\";\n\nexport const Message = ({message, alert}) => (\n \n \n {alert === \"success\" ? (\n \n {message}\n \n ) : alert === \"warning\" ? (\n \n {message}\n \n ) : (\n \n {message}\n \n )}\n \n \n);","import MarginContainer, {FlexContainer} from \"../../components/layout/margin-container\";\nimport Image from \"../../components/image\";\nimport Input, {InputWithIcon} from \"../../components/form/input\";\nimport Label from \"../../components/text/label\";\nimport StyledLink from \"../../components/text/link\";\nimport Button from \"../../components/button\";\nimport StyledText from \"../../components/text/styled-text\";\nimport React, { Fragment } from \"react\";\n\nexport const LoginPanel = ({username, password, cookie, onLogin, onSubmit, onChangeField}) => {\n return (\n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n Forgot Password?\n \n \n \n \n Don't have an account? Sign up\n \n \n
\n
\n
\n )\n};","import { useState, useCallback } from \"react\";\n\nconst useDetectBrowser = () => {\n let [browser, setBrowser] = useState(\"unknown\");\n let isChrome = navigator.userAgentData || !!window.chrome && (!!window.chrome.webstore || !!window.chrome.runtime);\n let isFireFox = typeof InstallTrigger !== 'undefined';\n let isOpera = navigator.userAgent.indexOf(' OPR/') >= 0;\n let isSafari = /Safari/.test(navigator.userAgent) && !/Chrome/.test(navigator.userAgent);\n let isIE = /*@cc_on!@*/false || !!document.documentMode;\n var isEdge = !isIE && !!window.StyleMedia;\n let isEdgeChromium = isChrome && (navigator.userAgent.indexOf(\"Edg\") != -1);\n\n let set = useCallback((browserName) => setBrowser(browserName), [browser]);\n\n if (browser != \"unknown\") return browser;\n if (isFireFox)\n set(\"firefox\");\n else if (isOpera)\n set(\"opera\");\n else if (isSafari)\n set(\"safari\");\n else if (isIE)\n set(\"ie\");\n else if (isEdge)\n set(\"edge\");\n else if (isEdgeChromium)\n set(\"edge-chromium\");\n else if (isChrome)\n set(\"chrome\");\n return browser;\n};\n\n\nexport default useDetectBrowser;","import React, { useState, useEffect } from \"react\";\nimport InfoBlock from \"../components/layout/info-block\";\nimport MarginContainer, {FlexContainer} from \"../components/layout/margin-container\";\nimport HeadingH1, {HeadingH4} from \"../components/text/heading\";\nimport ColoredLine from \"../components/colored-line\";\nimport StyledText from \"../components/text/styled-text\";\nimport List, {ListItem} from \"../components/layout/list\";\nimport ActionBlock from \"../components/layout/action-block\";\nimport Image from \"../components/image\";\nimport Label from \"../components/text/label\";\nimport Input, {InputWithIcon} from \"../components/form/input\";\nimport StyledLink from \"../components/text/link\";\nimport Button from \"../components/button\";\nimport Panel from \"../components/layout/panel\";\nimport useCookie from \"../hooks/cookiehook\";\nimport Notification from \"../components/notification\";\nimport useMessage from \"../hooks/messagehook\";\nimport {DefaultContent} from \"./shared/content\";\nimport {Message} from \"./shared/message\";\nimport { LoginPanel } from \"./shared/login-panel\";\nimport useDetectBrowser from \"./../hooks/detect-browser\";\n\nconst Login = ({alert, type, messageText}) => {\n const message = useMessage(type, messageText);\n const [username, setUsername] = useState(\"\");\n const [password, setPassword] = useState(\"\");\n const browser = useDetectBrowser();\n const cookie = useCookie(\"X-XSRF-TOKEN\");\n \n const onLogin = e => {\n console.log(\"login clicked\");\n };\n\n useEffect(() => {\n if (browser == \"ie\")\n window.alert(\"Not all features will work in this browser.\");\n }, []);\n \n const onSubmit = e => {\n e.preventDefault();\n console.log(e);\n e.target.submit();\n };\n \n const onChangeField = e => {\n console.log(`Target ID: ${e.currentTarget.id} Value: ${e.currentTarget.value}`);\n if(e.currentTarget.id === \"username\")\n setUsername(e.currentTarget.value);\n else\n setPassword(e.currentTarget.value);\n };\n \n return (\n \n \n \n \n \n {message &&\n \n } \n \n \n \n );\n};\n\nexport default Login;","import React from \"react\";\nimport Panel from \"../components/layout/panel\";\nimport InfoBlock from \"../components/layout/info-block\";\nimport MarginContainer, {FlexContainer} from \"../components/layout/margin-container\";\nimport HeadingH1, {HeadingH4} from \"../components/text/heading\";\nimport ColoredLine from \"../components/colored-line\";\nimport StyledText from \"../components/text/styled-text\";\nimport List, {ListItem} from \"../components/layout/list\";\nimport ActionBlock from \"../components/layout/action-block\";\nimport Image from \"../components/image\";\nimport Input, {InputWithIcon} from \"../components/form/input\";\nimport Label from \"../components/text/label\";\nimport StyledLink from \"../components/text/link\";\nimport Button, {ButtonLink} from \"../components/button\";\nimport useCookie from \"../hooks/cookiehook\";\nimport {DefaultContent} from \"./shared/content\";\n\nconst ForgotPassword = () => {\n\n const cookie = useCookie(\"XSRF-TOKEN\");\n \n const goBack = e => {\n window.location.href = \"/\";\n };\n \n return (\n \n \n \n \n \n \n \n \n \n \n Forgot your Password?\n \n \n Please enter the email address you used when creating your account. We’ll send you instructions to reset your password.\n \n \n
\n \n \n \n \n \n \n Back\n \n \n
\n
\n
\n
\n );\n};\n\nexport default ForgotPassword;","import React from \"react\";\nimport styled, { css } from \"styled-components\";\nconst UnOrderedList = styled.ul`\n margin: 0;\n padding: 0;\n width: 300px;\n ${props => props.margin && css`\n margin: ${props.margin};\n `}\n ${props => props.columns && css`\n column-count: ${props.columns};\n column-width: 30px;\n `}\n ${props => props.debug && css`\n column-rule: solid 2px red;\n `}\n ${props => props.type && css`\n list-style:none !important;\n li::before {\n background-color: ${props.type.color};\n border-radius: 50%;\n content: \"\";\n display: inline-block;\n margin-right: 10px;\n height: 6px;\n width: 6px;\n }\n li {\n color: black;\n font-size: 10px;\n }\n `}\n`;\n\nexport default UnOrderedList;","import React, {useState, useEffect} from \"react\";\nimport Panel from \"../components/layout/panel\";\nimport InfoBlock from \"../components/layout/info-block\";\nimport MarginContainer, {FlexContainer} from \"../components/layout/margin-container\";\nimport HeadingH1, {HeadingH4} from \"../components/text/heading\";\nimport ColoredLine from \"../components/colored-line\";\nimport StyledText from \"../components/text/styled-text\";\nimport UnOrderedList from \"../components/layout/unorderedlist\";\nimport ActionBlock from \"../components/layout/action-block\";\nimport Image from \"../components/image\";\nimport Input, {InputWithIcon} from \"../components/form/input\";\nimport Label from \"../components/text/label\";\nimport StyledLink from \"../components/text/link\";\nimport Button, {ButtonLink} from \"../components/button\";\nimport useCookie from \"../hooks/cookiehook\";\nimport List, {ListItem} from \"../components/layout/list\";\nimport Notification from \"../components/notification\";\nimport {DefaultContent} from \"./shared/content\";\n\nconst ResetPassword = ({userId, code}) => {\n const cookie = useCookie(\"X-XSRF-TOKEN\");\n const [password, setPassword] = useState(\"\");\n const [confirmPassword, setConfirmPassword] = useState(\"\");\n const [message, setMessage] = useState(\"\");\n const [alert, setAlert] = useState(\"\");\n const listLineHeight = \"20px\";\n const passwordValidation = /^(?=[\\x21-\\x7E]*[0-9])(?=[\\x21-\\x7E]*[A-Z])(?=[\\x21-\\x7E]*[a-z])(?=[\\x21-\\x7E]*[\\x21-\\x2F|\\x3A-\\x40|\\x5B-\\x60|\\x7B-\\x7E])[\\x21-\\x7E]{8,}/g;\n const onChangeField = e => {\n console.log(`Target ID: ${e.currentTarget.id} Value: ${e.currentTarget.value}`);\n if(e.currentTarget.id === \"password\")\n setPassword(e.currentTarget.value);\n else\n setConfirmPassword(e.currentTarget.value);\n };\n \n const getEmailWithId = async userId => {\n if(!cookie) return;\n try{\n const result = await fetch(`/Account/${userId}/email`, {\n method: \"GET\",\n headers : {\n \"RequestVerificationToken\" : cookie\n }\n });\n if(result.ok){\n const emailField = document.getElementById(\"email\");\n const response = await result.json();\n emailField.value = response.email;\n }else{\n console.log(`Getting Error when fetching email address: ${result.statusText}`);\n }\n }catch(e){\n console.log(`Getting Error when fetching email address: ${e.descriptiont}`);\n }\n };\n \n const onSubmit = e => {\n e.preventDefault();\n let passWorks = passwordValidation.test(password);\n if(passWorks) {\n if (password === confirmPassword && (password !== \"\" && confirmPassword !== \"\")) {\n e.currentTarget.submit();\n }else{\n setMessage(\"Passwords do not match.\");\n setAlert(\"alert\");\n setPassword(\"\");\n setConfirmPassword(\"\")\n }\n }else{\n setMessage(\"Invalid Password.\");\n setAlert(\"alert\")\n }\n };\n \n useEffect(() => {\n (async() => getEmailWithId(userId))();\n }, [userId, cookie]);\n return (\n \n \n \n \n \n {message &&\n \n \n {alert === \"success\" ? (\n \n {message}\n \n ) : (\n \n {message}\n \n )}\n \n \n }\n \n \n \n \n \n Reset your Password?\n \n \n
\n \n \n \n \n \n \n \n \n \n One lowercase character\n One uppercase character\n One number\n One special character\n 8 characters minumum\n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n );\n};\n\nexport default ResetPassword;","import React, { useState } from \"react\";\nimport { useLocation } from \"react-router-dom\";\n\nconst useQuery = () => {\n const location = useLocation();\n return () => {\n return new URLSearchParams(location.search);\n };\n};\n\nexport default useQuery;","import React, { useState } from \"react\";\nimport styled, { css } from \"styled-components\";\nimport Select, { components } from \"react-select\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faCaretDown } from \"@fortawesome/free-solid-svg-icons\";\nimport { library } from \"@fortawesome/fontawesome-svg-core\";\n\nlibrary.add(faCaretDown);\n\nconst SelectStyleContainer = styled.div`\n border: 1px solid #CBEBFF;\n border-radius: 2px;\n background-color: white;\n max-width: 300px;\n max-height: 36px;\n line-height: 24px;\n min-width: 300px;\n ${props => props.minWidth && css`\n min-width: ${props.minWidth};\n `}\n`;\n\nconst Menu = styled(components.Menu)`\n margin-top: 0 !important;\n border-radius: 0 0 2px 2px !important;\n //z-index: -1 !important;\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n`;\n\nconst SingleValue = styled(components.SingleValue)`\n font-size: 12px;\n`;\n\nconst Option = styled(components.Option)`\n font-size: 12px !important;\n line-height: 18px !important;\n cursor: pointer !important;\n ${props => props.isSelected && css`\n background-color: #eff8ff !important;\n color: #555555 !important;\n `}\n ${props => props.isFocused && css`\n background-color: #eff8ff !important;\n color: #555555 !important;\n `}\n`;\n\nconst Control = styled(components.Control)`\n min-height: 34px !important;\n`;\n\nconst CaretDownIcon = () => {\n return ;\n};\n\nconst DropDownWrapper = styled(components.DropdownIndicator)`\n color: #555555 !important;\n`;\n\nconst DropdownIndicator = props => {\n return (\n \n \n \n );\n};\n\nconst SelectContainer = ({ children, ...props }) => {\n return (\n \n \n {children}\n \n \n )\n};\nconst IndicatorSeparator = ({ innerProps }) => {\n return null; //;\n};\n\nconst CustomerSelect = props => {\n return (\n \n )\n};\n\nexport default CustomerSelect;","import React, { useState } from \"react\";\nconst NEXT_STATE = \"nextState\";\nconst PREVIOUS_STATE = \"previousState\";\nconst UPDATE_USER = \"updateUser\";\n\n\n\n\nconst CreateUserReducer = (state, payload) => {\n const s = {...state};\n const { data } = {...payload};\n let {field, value} = {...data};\n s[field] = value;\n return s;\n};\n\nexport const UpdateCreateState = (state, action) => {\n let s = state;\n switch(action){\n case NEXT_STATE:\n s = s + 1;\n break;\n case PREVIOUS_STATE:\n s = s - 1;\n break;\n }\n return s;\n};\n\nexport default CreateUserReducer;\nexport { NEXT_STATE, PREVIOUS_STATE, UPDATE_USER};","import React, {createContext, useReducer} from \"react\";\nimport CreateUserReducer, {UpdateCreateState} from \"../reducers/create-user-reducer\";\n\nconst CreateUserContext = createContext();\n\nconst CreateUserContextProvider = ({init, children}) => {\n const [ currentState, dispatchUpdateState ] = useReducer(UpdateCreateState, 0);\n const [ user, dispatchUpdateUser ] = useReducer(CreateUserReducer, {...init});\n return (\n \n {children}\n \n )\n};\n\nexport { CreateUserContext, CreateUserContextProvider };\n","export const CARD_ELEMENT_OPTIONS = {\n style: {\n base: {\n color: '#32325d',\n fontFamily: '\"Helvetica Neue\", Helvetica, sans-serif',\n fontSmoothing: 'antialiased',\n fontSize: '12px',\n fontWeight: 400,\n '::placeholder': {\n color: '#ADADAD',\n fontWeight: 400,\n fontSize: \"12px\",\n opacity: 0.5\n },\n width: \"300px\"\n },\n invalid: {\n color: '#FF0000',\n iconColor: '#FF0000',\n backgroundColor: '#FFF4F4'\n }\n }\n};","export const TypeOptions = [\n {value: 0, label: \"I have a class code\"},\n {value: 1, label: \"Individual Teacher / Parent / Other Access\"},\n {value: 2, label: \"College / University Instructor / Professor\"},\n { value: 3, label: \"K-12 Supervising Administrator\" },\n];\nconst superAdmin = { value: 5, label: \"Super Admin\" };\n\nexport const passwordValidation = /^(?=[\\x21-\\x7E]*[0-9])(?=[\\x21-\\x7E]*[A-Z])(?=[\\x21-\\x7E]*[a-z])(?=[\\x21-\\x7E]*[\\x21-\\x2F|\\x3A-\\x40|\\x5B-\\x60|\\x7B-\\x7E])[\\x21-\\x7E]{8,}/i;\nexport const emailValidation = /(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])/im;","import React, { Fragment, useContext } from \"react\";\nimport styled, { css } from \"styled-components\";\nimport StyledText from \"./text/styled-text\";\nimport {FlexContainer} from \"./layout/margin-container\";\nimport {CreateUserContext} from \"../contexts/createUserContext\";\n\nconst Circle = styled.div`\n border-radius: 50%;\n width: 13px;\n height: 13px;\n background-color: #CBEBFF;\n ${props => props.margin && css`\n margin: ${props.margin};\n `}\n`;\n\nconst Doughnut = styled.div`\n border-radius: 50%;\n width: 11px;\n height: 11px;\n border: 2px solid #FFFFFF;\n ${props => props.margin && css`\n margin: ${props.margin};\n `}\n background-color: #36A2F9;\n`;\n\nconst ListWrap = styled.div`\n //width: 235px;\n height: 133px;\n display: inline-flex;\n flex-direction: row;\n`;\n\nconst Line = styled.div`\n border: 1px solid #FFFFFF;\n height: 130px;\n margin: 0 9px 0 9px;\n`;\n\nconst ColumnContainer = styled.div`\n flex-direction: column;\n display: inline-flex;\n`;\n\nconst LineItem = ({index, isSelected, children}) => {\n const margin = `${parseInt(index) === 0 ? \"-9.5px\": 0} auto 11px -17px`;\n return (\n \n {isSelected ? : }\n {children}\n \n ) \n};\n\n\n\nconst ProgressBar = () => {\n const { currentState } = useContext(CreateUserContext);\n const list = [\n { key: 0, value: \"What's your name?\"},\n { key: 1, value: \"How do you want to log in?\"},\n { key: 2, value: \"Which account type are you?\"},\n { key: 3, value: \"Confirmation\"}\n ];\n return (\n \n \n \n {list.map( ({key, value}) => (\n {value}\n ))}\n \n \n )\n};\n\nexport default ProgressBar;","import React, {Fragment, useState, useRef, useContext, useEffect} from \"react\";\nimport Panel from \"../components/layout/panel\";\nimport MarginContainer, {FlexContainer} from \"../components/layout/margin-container\";\nimport HeadingH1, {HeadingH4} from \"../components/text/heading\";\nimport ColoredLine from \"../components/colored-line\";\nimport StyledText from \"../components/text/styled-text\";\nimport List, {ListItem} from \"../components/layout/list\";\nimport InfoBlock from \"../components/layout/info-block\";\nimport { useTransition, animated, useSpring, useChain, config } from \"react-spring\";\nimport styled from \"styled-components\";\nimport Image from \"../components/image\";\nimport ActionBlock from \"../components/layout/action-block\";\nimport Notification from \"../components/notification\";\nimport Input, {InputWithIcon} from \"../components/form/input\";\nimport Label from \"../components/text/label\";\nimport StyledLink from \"../components/text/link\";\nimport Button, {ButtonLink} from \"../components/button\";\nimport useCookie from \"../hooks/cookiehook\";\nimport UnOrderedList from \"../components/layout/unorderedlist\";\nimport CustomerSelect from \"../components/form/select\";\nimport {CardElement, useStripe, useElements} from '@stripe/react-stripe-js';\nimport \"../sass/stripe.scss\";\nimport {InputContext, InputContextProvider} from \"../contexts/inputcontextprovider\";\nimport {CreateUserContext, CreateUserContextProvider} from \"../contexts/createUserContext\";\nimport {NEXT_STATE, PREVIOUS_STATE, UPDATE_USER} from \"../reducers/create-user-reducer\";\nimport {CARD_ELEMENT_OPTIONS} from \"../constants/stripe-constants\";\nimport {emailValidation, passwordValidation, TypeOptions} from \"../constants/user-type-constants\";\nimport {DefaultContent, Wrapper} from \"./shared/content\";\nimport ProgressBar from \"../components/progress\";\nimport {Message} from \"./shared/message\";\n\nconst CreateContent = props => {\n return (\n \n \n \n \n \n Create an Account\n \n \n \n \n \n )\n};\n\nconst DefaultAction = props => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Forgot Password?\n \n \n \n \n Don't have an account? Sign up\n \n \n \n \n);\n\nconst CreateAction = ({rest}) => {\n const stripe = useStripe();\n const elements = useElements();\n const [ stripeErrors, setStripeErrors ] = useState(null);\n const listLineHeight = \"20px\";\n \n const { errors } = useContext(InputContext);\n const { currentState, user, dispatchUpdateUser, dispatchUpdateState } = useContext(CreateUserContext);\n const [ message, setMessage ] = useState(\"\");\n const [ alertType, setAlertType ] = useState(\"alert\");\n const [ allowFinishClick, setAllowFinishClick ] = useState(false);\n const [userId, setUserId] = useState(\"\");\n const cookie = useCookie(\"X-XSRF-TOKEN\");\n\n useEffect(() => {\n setFinish();\n }, [currentState, user.type, user.ClassCode]);\n \n const onClickNext = (e, direction) => {\n //console.log(createState);\n if(!direction) return;\n if(direction === 1)\n dispatchUpdateState(NEXT_STATE);\n else\n dispatchUpdateState(PREVIOUS_STATE);\n };\n \n const onClickFinish = async e => {\n e.preventDefault();\n let formData = {};\n formData = parseUser(user);\n formData = await parseCC(formData);\n console.log(formData);\n if(formData) await sendFormData(formData);\n };\n \n const sendFormData = async formData => {\n const serialized = JSON.stringify(formData);\n try {\n\n const response = await fetch(\"/account/register\", {\n method: 'POST',\n headers: {\n \"RequestVerificationToken\": cookie,\n \"Content-Type\": \"application/json\"\n },\n body: serialized\n });\n if (response.ok) {\n let u = await response.json();\n setUserId(u.id);\n dispatchUpdateState(NEXT_STATE)\n } else if (response.status === 422) {\n let data = JSON.parse(await response.json());\n setMessage(data.message);\n setAlertType(\"alert\");\n }\n } catch (e) {\n console.log(e);\n }\n };\n \n const parseCC = async formData => {\n if(formData.institutionType !== 1)\n return formData;\n const card = elements.getElement(CardElement);\n const result = await stripe.createToken(card);\n if(result.error) {\n setStripeErrors(result.error.message);\n return null;\n }else {\n setStripeErrors(null);\n formData[\"stripeSourceId\"] = result.token.id;\n return formData;\n }\n };\n \n const parseUser = (user) => {\n let formData = {};\n for(let key in user){\n if(user.hasOwnProperty(key) && user[key] !== \"\"){\n if(typeof user[key] == \"string\") {\n formData[`${key.substr(0,1).toLowerCase()}${key.substr(1)}`] = user[key];\n }else {\n formData[\"institutionType\"] = user[key].value;\n }\n }\n }\n return formData;\n };\n \n const onHandleStripeChange = e => {\n if (e.error)\n setStripeErrors(e.error.message);\n else \n setStripeErrors(null);\n };\n\n const loginLinkClicked = async e => {\n window.location.href = \"/\";\n }\n \n const sendConfirmationEmail = async e => {\n let serialized = JSON.stringify({email: user.Email});\n let response = await fetch(\"/account/confirmationemail\", {\n method: 'POST',\n headers: {\n \"RequestVerificationToken\" : cookie,\n \"Content-Type\" : \"application/json\"\n },\n body: serialized\n });\n if(response.ok) {\n setMessage(\"Confirmation Email sent.\");\n setAlertType(\"success\");\n }\n };\n \n \n \n const onChange = e => {\n let prevState = {...user};\n let field = \"\";\n let data = null;\n setMessage(\"\");\n if(e.hasOwnProperty(\"currentTarget\")){\n //prevState[e.currentTarget.id] = e.currentTarget.value;\n field = e.currentTarget.name;\n data = e.currentTarget.value;\n }else{\n //prevState.type = e;\n field = \"type\";\n data = e;\n }\n \n dispatchUpdateUser({action: UPDATE_USER, data: { field: field, value: data}});\n setFinish();\n };\n \n const setFinish = () => {\n if(currentState === 2){\n let isRestricted = (user.type.value === 0) ? !errors[\"ClassCode\"] : false;\n setAllowFinishClick(isRestricted);\n }\n };\n \n return (\n \n {message &&\n \n }\n {currentState === 0 &&\n \n \n \n What's your name?\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Already have an account? Log in\n \n \n \n \n }\n {currentState === 1 && \n \n \n \n How do you want to log in?\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n One lowercase character\n One uppercase character\n One number\n One special character\n 8 characters minumum\n \n \n \n \n \n \n \n \n }\n {currentState === 2 && \n \n \n \n Which account type are you?\n \n \n \n \n \n \n \n \n {user.type.value === 0 &&\n \n \n \n \n }\n {user.type.value === 1 &&\n \n \n \n After the initial trial period your card will be charged $100 dollars for a one year subscription.\n \n {stripeErrors &&\n {stripeErrors}\n }\n \n \n \n Enter your coupon code to receive a discount.\n \n \n \n }\n \n \n \n \n \n \n }\n {currentState === 3 &&\n \n \n \n Confirmation\n \n \n \n {user.type.value <= 1 && \n \n \n We emailed a confirmation link to\n {user.Email}\n Check your email for a link to sign in!\n \n \n Didn't get a confirmation email?\n Check your spam folder or send again!\n \n \n }\n {user.type.value > 1 &&\n \n \n Your account has been created!\n {user.Email}\n Please follow this link to Log in and complete registration.\n \n \n }\n \n }\n \n )\n};\n\nconst SignUp = () => {\n \n const infoPanelProps = useSpring({\n from: { width: 674 },\n to: { width: 555 },\n config: config.slow\n });\n const defaultProps = useSpring({\n from: { opacity: 1},\n to: {opacity: 0}\n });\n const createProps = useSpring({\n from: { opacity: 0},\n to: {opacity: 1},\n config: config.slow\n });\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n )\n};\n\nexport default SignUp;","import React from 'react';\nimport Login from \"./pages/login\";\nimport './sass/main.scss';\nimport {\n BrowserRouter as Router,\n Switch,\n Route\n} from \"react-router-dom\";\nimport ForgotPassword from \"./pages/forgotpassword\";\nimport ResetPassword from \"./pages/resetpassword\";\n\nimport useQuery from \"./hooks/usequery\";\nimport SignUp from \"./pages/createaccount\";\n\nimport {Elements} from '@stripe/react-stripe-js';\nimport {loadStripe} from '@stripe/stripe-js';\nimport {InputContextProvider} from \"./contexts/inputcontextprovider\";\n\n// Make sure to call `loadStripe` outside of a component’s render to avoid\n// recreating the `Stripe` object on every render.\nconst stripePromise = loadStripe(process.env.REACT_APP_PUBLIC_KEY);\n\nconst Workshop = () => {\n const queryParams = useQuery();\n const type = queryParams().get(\"type\");\n const alert = queryParams().get(\"alert\");\n const message = queryParams().get(\"message\");\n const userId = queryParams().get(\"userId\");\n const code = queryParams().get(\"code\");\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n};\n\nconst App = () => {\n return (\n \n \n
\n \n \n \n
\n
\n
\n );\n};\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' }\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister();\n })\n .catch(error => {\n console.error(error.message);\n });\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\n\nReactDOM.render(, document.getElementById('root'));\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"sourceRoot":""}