{"version":3,"sources":["components/Slide1.js","components/ButtonPrev.js","components/ButtonPrevWithLine.js","components/ButtonNext.js","components/ButtonNextWithLine.js","components/SelectableStates.js","redux/action-types.js","redux/actions.js","utils/calculations.js","redux/reducers.js","components/Slide2.js","components/RangeSlider.js","components/Slide3.js","components/Slide4.js","components/Slide5.js","components/Slide6.js","components/Slide7.js","components/BasicForm.js","utils/apiConfig.js","utils/apiService.js","components/Slide8.js","components/Slide9.js","components/RenderIf.js","components/CardSlider.js","redux/ReduxStore.js","components/App.js","serviceWorker.js","index.js"],"names":["gsap","registerPlugin","CustomEase","Slide1","onNextRequested","useEffect","tl","timeline","delay","ease","create","from","alpha","duration","transformOrigin","scaleY","x","y","rotation","timeScale","CardBody","className","Container","fluid","Row","Col","xs","size","order","xl","offset","CardTitle","CardText","Button","onClick","src","alt","ButtonPrev","clsx","ButtonPrevWithLine","ButtonNext","disabled","ButtonNextWithLine","SelectableStates","props","coloradoImageSource","kentuckyImageSource","northCarolinaImageSource","southCarolinaImageSource","arkansasImageSource","louisanaImageSource","mississippiImageSource","georgiaImageSource","virginiaImageSource","floridaImageSource","texasImageSource","handleStateSelection","event","setState","state","overlayVisibility","showModal","document","querySelector","classList","add","onZipCodeChanged","zip","target","value","formProps","this","id","style","padding","visibility","position","left","bottom","right","height","role","aria-hidden","ModalBody","color","type","pointerEvents","onChange","maxLength","React","Component","ERROR_SET","ERROR_CLEAR","SET","CLEAR","actionCreators","Object","assign","set","key","data","payload","clear","setError","error","clearError","clearAllErrors","calculateAll","Math","trunc","currentLifeInsurance","finalExpenses","calculateStep3","step","mortgage","personalBusinessDebt","calculateStep4","annualCostOfEducation","numOfChildren","yearsToProvide","calculateStep5","netAnnualIncome","yearsOfIncomeAfterDeath","calculateStep6","transformState","newValue","currentState","newState","max","youngestChildAge","estimate","stateAndAssociatedUrls","abbreviation","url","tier","appInitialState","age","gender","workingWithAgentName","emailAddress","emailMessage","phoneNo","firstName","lastName","generatedPdfFilename","pageIndex","city","address","dateOfBirth","getSelectedStateInfo","stateName","find","obj","toLowerCase","app","action","errors","authError","connect","hasClickedState","hasClickedCantFindState","dispatch","bindActionCreators","onPrevRequested","onIncrementProgress","onDecrementProgress","useState","nextIsDisabled","setNextIsDisabled","stateSelectorDiv","selectedStateLabel","leftImageIcon","leftStateImage","overlayElm","zipCodeModal","exitViewWrapper","mainViewWrapper","zipCodeInputElm","zipCodeErrorElm","overlayFilter","leftIconImageSource","onPrevClick","display","innerHTML","filter","setAttribute","width","remove","onPreviousRequested","onNextClick","length","maxWidth","float","marginTop","CardSubtitle","margin","maxHeight","top","zIndex","e","preventDefault","stopPropagation","cursor","selectedState","getAttribute","imageSrc","stateObject","fontSize","window","location","href","zoom","RangeSlider","updateRange","valueKey","InputGroup","maxValue","minValue","formatLabel","defaultProps","setSelected","selectedGender","currentTarget","dataset","val","youngestChildSliderOpts","youngestChildSliderValue","childrenSliderOpts","childrenSliderValue","push","date","dateSelected","Date","today","birthDate","getFullYear","m","getMonth","getDate","calculateAge","data-val","overflowWrap","isActive","numeral","format","calculatedStep","scale","scaleX","UncontrolledPopover","hideArrow","placement","trigger","PopoverBody","FormGroup","Label","for","Input","name","parseFloat","BasicForm","validateEmailAddress","test","isFormValid","emailValid","phoneValid","lastNameValid","messageValid","firstNameValid","addressValid","cityValid","handleNextClick","emailTouched","phoneTouched","messageTouched","firstNameTouched","lastNameTouched","addressTouched","cityTouched","openDialog","isVisible","dismissDialog","onFirstNameInput","onLastNameInput","onEmailInput","onPhoneInput","onAddressInput","onZipCodeInput","zipValid","zipTouched","onCityInput","onMessageInput","onWorkingWithAgentNameInput","Form","readOnly","placeholder","apiConfig","apiService","postFormData","requestInfo","fetch","then","response","json","catch","err","console","dir","attemptPostData","parse","mm","dd","join","appState","body","requestBody","JSON","stringify","request","method","HTTP_VERBS","POST","headers","uri","Promise","resolve","reject","success","statusCode","rejection","GET","PATCH","DELETE","sendEmailCopyToUser","a","recommendedTier","exitLink","exitLinkDisplay","replace","bureauAgentDisplay","onExitRequested","rel","toUpperCase","RenderIf","condition","children","currentPageIndex","slideContainer","minHeight","overflow","slideStyle","swipeableViewsRef","useRef","_scrollToTop","scrollTo","_updateSlideHeight","setTimeout","current","getChildContext","swipeableViews","slideUpdateHeight","handleResize","_","throttle","status","addEventListener","removeEventListener","percentage","setPercentage","isLastSlide","setIsLastSlide","newPercentage","Card","CardHeader","animateHeight","enableMouseEvents","index","ref","store","createStore","combineReducers","composeWithDevTools","applyMiddleware","thunk","ReduxStore","App","Boolean","hostname","match","ReactDOM","render","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.ae25ac42.chunk.js","sourcesContent":["import React, { useEffect } from 'react'\r\nimport { Container, Row, Col, CardText, CardBody,\r\n CardTitle, Button } from 'reactstrap'\r\nimport { CustomEase } from 'gsap/CustomEase'\r\nimport { gsap } from 'gsap'\r\ngsap.registerPlugin(CustomEase)\r\n\r\nconst arrow = '/assets/animation_graphics/arrow.svg'\r\nconst barLeft = '/assets/animation_graphics/bar-left.svg'\r\nconst barMiddle = '/assets/animation_graphics/bar-middle.svg'\r\nconst barRight = '/assets/animation_graphics/bar-right.svg'\r\nconst calculator = '/assets/animation_graphics/calculator.svg'\r\nconst coin = '/assets/animation_graphics/Coin.svg'\r\nconst graphicLeft = '/assets/animation_graphics/graphic-left.svg'\r\nconst graphicTop = '/assets/animation_graphics/graphic-top.svg'\r\nconst graphicRight = '/assets/animation_graphics/graphic-right.svg'\r\nconst graphicLine = '/assets/animation_graphics/graphic-line.svg'\r\n\r\nfunction Slide1 ({ onNextRequested }) {\r\n useEffect(() => {\r\n const tl = gsap.timeline({ delay: 2 })\r\n const ease = CustomEase.create('custom', 'M0,0 C0,0 0.08318,0.2664 0.14193,0.43905 0.18286,0.55934 0.20602,0.62375 0.25214,0.74102 0.28228,0.81765 0.30017,0.86241 0.33637,0.93344 0.3573,0.97452 0.37697,1.00924 0.40222,1.0355 0.41087,1.0445 0.4313,1.04891 0.44292,1.04424 0.47803,1.03013 0.50891,0.9985 0.549,0.97651 0.56111,0.96986 0.5734,0.96353 0.58554,0.96601 0.64121,0.97737 0.69575,1.01266 0.75196,1.01793 0.78272,1.02082 0.81262,0.99138 0.84322,0.99016 0.86491,0.98929 0.88642,1.0117 0.90731,1.01173 0.92467,1.01175 0.94141,0.99256 0.95928,0.9903 0.97259,0.98862 1,1 1,1')\r\n\r\n tl.from('.calculator', { alpha: 0, duration: 0.1 })\r\n tl.from('.calculator', { transformOrigin: 'bottom', scaleY: 0.1, ease, duration: 0.5 }, '-=.1')\r\n tl.from('.graphic-line', { alpha: 0, duration: 0.1 }, '-=.45')\r\n tl.from('.graphic-line', { x: -150, duration: 0.5 }, '-=.5')\r\n tl.from('.coin', { alpha: 0, duration: 0.1 }, '-=0.35')\r\n tl.from('.coin', { transformOrigin: 'bottom', scaleY: 0.1, y: 7, ease, duration: 0.5 }, '-=.3')\r\n tl.from('.arrow', { alpha: 0, rotation: 75, duration: 0.4 }, '-=.3')\r\n tl.from('.bar-left', { scaleY: 0, duration: 0.25 }, '-=.3')\r\n tl.from('.bar-middle', { scaleY: 0, duration: 0.25 }, '-=.2')\r\n tl.from('.bar-right', { scaleY: 0, duration: 0.25 }, '-=.1')\r\n tl.from('.graphic-left', { y: 380, ease, duration: 0.5 }, '-=.1')\r\n tl.from('.graphic-top', { y: -280, ease, duration: 0.5 }, '-=.5')\r\n tl.from('.graphic-right', { x: 310, ease, duration: 0.5 }, '-=.5')\r\n\r\n tl.timeScale('1.1')\r\n }, [])\r\n return (\r\n \r\n \r\n \r\n \r\n

How much life insurance is right for you?

\r\n Calculating the amount of life insurance you need can be challenging. That’s why we’re here to help! With this simple and easy-to-use tool, you’ll be able to determine how much life insurance is right for you and protect your family in the event of your death.\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n )\r\n}\r\nexport default Slide1\r\n","import React from 'react'\r\nimport { Button } from 'reactstrap'\r\nimport clsx from 'clsx'\r\n\r\nconst ButtonPrev = ({ onClick, className }) => {\r\n return \r\n}\r\n\r\nexport default ButtonPrev\r\n","import React from 'react'\r\nimport ButtonPrev from './ButtonPrev'\r\nimport clsx from 'clsx'\r\n\r\nconst ButtonPrevWithLine = ({ onClick, className }) => {\r\n return
\r\n \r\n
\r\n}\r\n\r\nexport default ButtonPrevWithLine\r\n","import React from 'react'\r\nimport { Button } from 'reactstrap'\r\nimport clsx from 'clsx'\r\n\r\nconst ButtonNext = ({ onClick, className, disabled = false }) => {\r\n return \r\n}\r\n\r\nexport default ButtonNext\r\n","import React from 'react'\r\nimport ButtonNext from './ButtonNext'\r\nimport clsx from 'clsx'\r\n\r\nconst ButtonNextWithLine = ({ onClick, className, disabled = false }) => {\r\n return
\r\n \r\n
\r\n}\r\n\r\nexport default ButtonNextWithLine\r\n","\r\nimport { Container, ModalBody } from 'reactstrap'\r\nimport React from 'react'\r\nexport default class SelectableStates extends React.Component {\r\n coloradoImageSource = '/assets/colorado.svg';\r\n kentuckyImageSource = '/assets/kentucky.svg';\r\n northCarolinaImageSource = '/assets/northcarolina.svg';\r\n southCarolinaImageSource = '/assets/southcarolina.svg';\r\n arkansasImageSource = '/assets/arkansas.svg';\r\n louisanaImageSource = '/assets/louisana.svg';\r\n mississippiImageSource = '/assets/mississippi.svg';\r\n georgiaImageSource = '/assets/georgia.svg';\r\n virginiaImageSource = '/assets/virginia.svg';\r\n floridaImageSource = '/assets/florida.svg';\r\n texasImageSource = '/assets/texas.svg';\r\n\r\n constructor (props) {\r\n super(props)\r\n const zip = props.formProps && props.formProps.zip ? props.formProps.zip : ''\r\n this.state = {\r\n overlayVisibility: 'hidden',\r\n showModal: false,\r\n zip\r\n }\r\n }\r\n\r\n // initialize modal as invisible on initaliziation of component\r\n componentDidMount () {\r\n this.setState({\r\n ...this.props,\r\n overlayVisibility: 'hidden',\r\n showModal: false\r\n })\r\n }\r\n // initialize modal as invisible on destroying of component\r\n componentWillUnmount () {\r\n this.setState({\r\n ...this.props,\r\n overlayVisibility: 'hidden',\r\n showModal: false\r\n })\r\n }\r\n\r\n handleStateSelection = (event) => {\r\n if (this.props.handleStateSelection) {\r\n this.setState({\r\n ...this.state,\r\n overlayVisibility: 'visible',\r\n showModal: true\r\n })\r\n document.querySelector('#stateSelector').classList.add('in')\r\n this.props.handleStateSelection(event)\r\n }\r\n }\r\n\r\n onZipCodeChanged = (event) => {\r\n this.setState({\r\n zip: event.target.value\r\n })\r\n\r\n if (this.props.onZipCodeChanged) { this.props.onZipCodeChanged(event) }\r\n }\r\n\r\n render () {\r\n return (\r\n
\r\n \r\n
\r\n\r\n Colorado\r\n Kentucky\r\n Virginia\r\n Texas\r\n\r\n
\r\n
\r\n Arkansas\r\n
\r\n Louisiana\r\n Mississippi\r\n North Carolina\r\n South Carolina\r\n Georgia\r\n Florida\r\n
\r\n
\r\n
\r\n

ENTER YOUR ZIP CODE

\r\n \r\n
\r\n

ZIP CODE

\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n )\r\n }\r\n};\r\n","\r\nexport const ERROR_SET = `calculator/ERROR_SET`\r\nexport const ERROR_CLEAR = `calculator/ERROR_CLEAR`\r\nexport const ERROR_CLEAR_ALL = `calculator/ERROR_CLEAR_ALL`\r\n\r\nexport const SET = 'calculator/SET'\r\nexport const CLEAR = 'calculator/CLEAR'\r\n","import {\r\n ERROR_CLEAR,\r\n ERROR_CLEAR_ALL,\r\n ERROR_SET,\r\n SET,\r\n CLEAR\r\n} from './action-types'\r\n\r\nexport function set (key, data) {\r\n return {\r\n type: SET,\r\n payload: { [key]: data }\r\n }\r\n}\r\n\r\nexport function clear () {\r\n return {\r\n type: CLEAR\r\n }\r\n}\r\n\r\nexport function setError (error) {\r\n return {\r\n type: ERROR_SET,\r\n payload: error\r\n }\r\n}\r\n\r\nexport function clearError (key) {\r\n return {\r\n type: ERROR_CLEAR,\r\n payload: key\r\n }\r\n}\r\n\r\nexport function clearAllErrors () {\r\n return {\r\n type: ERROR_CLEAR_ALL\r\n }\r\n}\r\n\r\nconst actionCreators = Object.assign({}, { set, clear, setError, clearError, clearAllErrors })\r\n\r\nexport default actionCreators\r\n","export const calculateStep3 = (state) => {\r\n return (Math.trunc(state.currentLifeInsurance * -1)) + Math.trunc(state.finalExpenses)\r\n}\r\n\r\nexport const calculateStep4 = (state) => {\r\n return state.step >= 4 ? (Math.trunc(state.mortgage) + Math.trunc(state.personalBusinessDebt)) : 0\r\n}\r\n\r\nexport const calculateStep5 = (state) => {\r\n return state.step >= 5 ? (Math.trunc(state.annualCostOfEducation) * Math.trunc(state.numOfChildren) * Math.trunc(state.yearsToProvide)) : 0\r\n}\r\n\r\nexport const calculateStep6 = (state) => {\r\n return state.step >= 6 ? (Math.trunc(state.netAnnualIncome) * Math.trunc(state.yearsOfIncomeAfterDeath)) : 0\r\n}\r\n\r\nconst calculateAll = (state) => {\r\n return calculateStep3(state) + calculateStep4(state) + calculateStep5(state) + calculateStep6(state)\r\n}\r\n\r\nexport const calculateAge = (dateSelected) => {\r\n // if they clear their age we'll set it to zero, the old default\r\n if (!(typeof (dateSelected) === typeof Date)) {\r\n return 0\r\n }\r\n\r\n let today = new Date()\r\n let birthDate = dateSelected\r\n let age = today.getFullYear() - birthDate.getFullYear()\r\n let m = today.getMonth() - birthDate.getMonth()\r\n\r\n if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {\r\n age--\r\n }\r\n return age\r\n}\r\n\r\nexport const transformState = (newValue, currentState) => {\r\n const newState = { ...currentState, ...newValue }\r\n if (newState.step === 2) {\r\n newState.yearsOfIncomeAfterDeath = Math.max(18 - newState.youngestChildAge, 0)\r\n }\r\n return { ...newState, estimate: calculateAll(newState) }\r\n}\r\n","import { combineReducers } from 'redux'\r\nimport { ERROR_SET, ERROR_CLEAR, ERROR_CLEAR_ALL, SET, CLEAR } from './action-types'\r\nimport { transformState } from '../utils/calculations'\r\n/// / hard coded state info relative to selected / available states.\r\nconst stateAndAssociatedUrls = [\r\n {\r\n state: 'Kentucky',\r\n abbreviation: 'KY',\r\n url: 'https://www.kyfb.com',\r\n tier: 'Kentucky Farm Bureau Insurance'\r\n },\r\n {\r\n state: 'Texas',\r\n abbreviation: 'TX',\r\n url: 'https://www.txfb-ins.com',\r\n tier: 'Texas Farm Bureau insurance'\r\n },\r\n {\r\n state: 'Louisiana',\r\n abbreviation: 'LA',\r\n url: 'https://www.lafarmbureau.com',\r\n tier: 'Louisiana Farm Bureau Insurance'\r\n },\r\n {\r\n state: 'Colorado',\r\n abbreviation: 'CO',\r\n url: 'https://www.cfbinsurance.com',\r\n tier: 'Colorado Farm Bureau Insurance'\r\n },\r\n {\r\n state: 'Arkansas',\r\n abbreviation: 'AR',\r\n url: 'https://www.afbic.com',\r\n tier: 'Arkansas Farm Bureau Insurance'\r\n },\r\n {\r\n state: 'Mississippi',\r\n abbreviation: 'MS',\r\n url: 'https://www.msfbins.com',\r\n tier: 'Mississippi Farm Bureau Insurance'\r\n },\r\n {\r\n state: 'Virginia',\r\n abbreviation: 'VA',\r\n url: 'https://www.vafb.com',\r\n tier: 'Virginia Farm Bureau Insurance'\r\n },\r\n {\r\n state: 'North Carolina',\r\n abbreviation: 'NC',\r\n url: 'https://www.ncfbins.com',\r\n tier: 'North Carolina Farm Bureau Insurance'\r\n },\r\n {\r\n state: 'South Carolina',\r\n abbreviation: 'SC',\r\n url: 'https://www.scfbins.com',\r\n tier: 'South Carolina Farm Bureau Insurance'\r\n },\r\n {\r\n state: 'Georgia',\r\n abbreviation: 'GA',\r\n url: 'https://www.gfbinsurance.com',\r\n tier: 'Georgia Farm Bureau Insurance'\r\n },\r\n {\r\n state: 'Florida',\r\n abbreviation: 'FL',\r\n url: 'https://www.floridafarmbureau.com',\r\n tier: 'Florida Farm Bureau Insurance'\r\n }\r\n]\r\n\r\nconst appInitialState = {\r\n step: 0,\r\n state: '',\r\n zip: '',\r\n age: 0,\r\n gender: 'male',\r\n numOfChildren: 0,\r\n youngestChildAge: 0,\r\n currentLifeInsurance: 2500000,\r\n finalExpenses: 25000,\r\n mortgage: 500000,\r\n personalBusinessDebt: 1000000,\r\n annualCostOfEducation: 20000,\r\n netAnnualIncome: 100000,\r\n yearsToProvide: 4,\r\n yearsOfIncomeAfterDeath: 0, // TODO: The range should automatically default to 18 minus the youngest child’s age (18 – youngest child’s age = where range falls)\r\n workingWithAgentName: '',\r\n emailAddress: '',\r\n emailMessage: '',\r\n phoneNo: '',\r\n firstName: '',\r\n lastName: '',\r\n generatedPdfFilename: '',\r\n pageIndex: 0,\r\n estimate: 0,\r\n city: '',\r\n address: '',\r\n dateOfBirth: ''\r\n}\r\n\r\nexport const getSelectedStateInfo = (stateName) => {\r\n const emptyState = { state: '', url: '', tier: '' }\r\n if (!stateName) return emptyState\r\n return stateAndAssociatedUrls.find(obj => obj.abbreviation.toLowerCase() === stateName.toLowerCase())\r\n}\r\n\r\nfunction app (state = appInitialState, action) {\r\n switch (action.type) {\r\n case SET:\r\n return transformState(action.payload, state)\r\n case CLEAR:\r\n return { ...appInitialState }\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nfunction errors (state = {}, action) {\r\n switch (action.type) {\r\n case ERROR_SET:\r\n return { ...state, authError: action.payload }\r\n case ERROR_CLEAR:\r\n return { ...state, [action.payload]: null }\r\n case ERROR_CLEAR_ALL:\r\n return {}\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport default () => {\r\n return combineReducers({\r\n app, errors\r\n })\r\n}\r\n","import React, { useState } from 'react'\r\nimport { CardBody, CardTitle, CardSubtitle, Row, Col, Container } from 'reactstrap'\r\nimport ButtonPrevWithLine from './ButtonPrevWithLine'\r\nimport ButtonNextWithLine from './ButtonNextWithLine'\r\nimport SelectableStates from './SelectableStates'\r\nimport ButtonPrev from './ButtonPrev'\r\nimport ButtonNext from './ButtonNext'\r\nimport { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux'\r\nimport actionCreators from '../redux/actions'\r\nimport { getSelectedStateInfo } from '../redux/reducers'\r\nfunction Slide2 ({ onNextRequested, onPrevRequested, onIncrementProgress, onDecrementProgress, formProps, set }) {\r\n const [nextIsDisabled, setNextIsDisabled] = useState(true)\r\n const stateSelectorDiv = document.querySelector(`#stateSelector`)\r\n const onPreviousRequested = () => {\r\n setNextIsDisabled(true)\r\n\r\n // handle the back button click if the dialog is open first.\r\n // if dialog is open, hide it, and reset the left columns image source to original\r\n // allowing the user to select a new state\r\n if (overlayElm.style.display !== 'none' && zipCodeModal.style.display !== 'none') {\r\n // hide modals\r\n overlayElm.style.display = 'none'\r\n zipCodeModal.style.display = 'none'\r\n // hide state label and reset image filter style\r\n selectedStateLabel.innerHTML = ``\r\n leftImageIcon.style.filter = ``\r\n // change img src\r\n leftImageIcon.setAttribute('src', leftIconImageSource)\r\n leftStateImage.style.display = 'none'\r\n // show initial left column\r\n document.querySelector('#leftColumnTwo').style.display = 'none'\r\n document.querySelector('#leftColumnOne').style.display = 'block'\r\n // increase image width since its source is the icon now\r\n leftImageIcon.style.width = `280px`\r\n stateSelectorDiv.classList.remove('in')\r\n set('state', '')\r\n return\r\n }\r\n // other wise, call the base on previous requested which will navigate user to slide 1\r\n onPrevRequested()\r\n }\r\n\r\n const selectedStateLabel = document.querySelector('#selectedStateLabel')\r\n const leftImageIcon = document.querySelector('#leftIconImage')\r\n const leftStateImage = document.querySelector('#leftStateImage')\r\n\r\n const overlayElm = document.querySelector(`#overlay`)\r\n const zipCodeModal = document.querySelector(`#zipCodeModal`)\r\n // state was selected from SelectableStates component\r\n // handle updating the image on the left column and displaying of the state's label\r\n\r\n // as well as showing the overlay & associated zip code entry dialog\r\n const handleStateSelection = (event) => {\r\n const selectedState = {\r\n stateName: event.target.getAttribute('id'),\r\n imageSrc: event.target.getAttribute('src')\r\n }\r\n\r\n set('state', selectedState.stateName)\r\n // show elements\r\n overlayElm.style.display = 'block'\r\n zipCodeModal.style.display = 'flex'\r\n leftStateImage.style.display = 'block'\r\n const stateObject = getSelectedStateInfo(selectedState.stateName)\r\n selectedStateLabel.innerHTML = stateObject.state\r\n // update images width, decrease width to display state, set to grey opacity\r\n leftStateImage.style.filter = overlayFilter\r\n leftStateImage.setAttribute('src', selectedState.imageSrc)\r\n\r\n document.querySelector('#leftColumnOne').style.display = 'none'\r\n document.querySelector('#leftColumnTwo').style.display = 'block'\r\n onIncrementProgress()\r\n setNextIsDisabled(false)\r\n }\r\n const exitViewWrapper = document.querySelector('.SorrySlide')\r\n const mainViewWrapper = document.querySelector('#mainWrapper')\r\n\r\n const zipCodeInputElm = document.querySelector(`#inputZipCode`)\r\n const zipCodeErrorElm = document.querySelector(`#zipCodeError`)\r\n const showExitView = (e) => {\r\n e.preventDefault()\r\n e.stopPropagation()\r\n\r\n mainViewWrapper.classList.add('d-none')\r\n exitViewWrapper.classList.remove('d-none')\r\n }\r\n const overlayFilter = `grayscale(100%) opacity(0.20)`\r\n\r\n let leftIconImageSource = '/assets/graphic-loc.svg'\r\n\r\n const onPrevClick = () => {\r\n onDecrementProgress()\r\n onPreviousRequested()\r\n }\r\n\r\n const onNextClick = () => {\r\n if (!zipCodeInputElm.value || !zipCodeInputElm.value.length) {\r\n zipCodeErrorElm.innerHTML = `The zip code you entered is incorrect.`\r\n return\r\n }\r\n\r\n if (zipCodeInputElm.value && zipCodeInputElm.value.length < 5) {\r\n zipCodeErrorElm.innerHTML = `The zip code you entered is incorrect.`\r\n return\r\n } else if (zipCodeInputElm.value && zipCodeInputElm.value.length === 5) {\r\n zipCodeErrorElm.innerHTML = ``\r\n }\r\n\r\n onIncrementProgress()\r\n onNextRequested()\r\n }\r\n\r\n const onZipCodeChanged = (e) => {\r\n set('zip', e.target.value)\r\n }\r\n\r\n const redirectToSFB = (e) => {\r\n e.preventDefault()\r\n e.stopPropagation()\r\n\r\n window.location.href = `https://www.sfbli.com/`\r\n }\r\n\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n \r\n

Which State do you live in?

\r\n
\r\n \r\n

SFB provides life insurance coverage in these states. To best help you, please enter your zip code.

\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n

What’s your zip code?

\r\n
\r\n \r\n

Enter your zip and we’ll find a local agent to help provide the recommended life insurance needed to protect your family.

\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n

WHICH STATE DO YOU LIVE IN?

\r\n
\r\n \r\n
\r\n Don’t see your state?\r\n CLICK HERE.\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n

We're sorry.

\r\n
\r\n \r\n

Southern Farm Bureau Life Insurance Company does not provide coverage in your state. We recommend that you continue your search for life insurance coverage to protect your family with another insurance company.

\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
)\r\n}\r\n\r\nconst mapStateToProps = (state, props) => ({\r\n formProps: {\r\n zip: state.app.zip,\r\n state: state.app.state,\r\n hasClickedState: state.app.hasClickedCantFindState\r\n }\r\n})\r\n\r\nconst mapDispatchToProps = dispatch =>\r\n bindActionCreators(actionCreators, dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Slide2)\r\n","import { InputGroup } from 'reactstrap'\r\nimport React from 'react'\r\nimport InputRange from 'react-input-range'\r\nimport PropTypes from 'prop-types'\r\nimport 'react-input-range/lib/css/index.css'\r\nimport clsx from 'clsx'\r\nexport default class RangeSlider extends React.Component {\r\n updateRange = (value) => {\r\n this.props.updateRange(this.props.valueKey, value)\r\n }\r\n\r\n render () {\r\n return (\r\n \r\n
\r\n \r\n
\r\n
\r\n )\r\n }\r\n};\r\n\r\nRangeSlider.defaultProps = {\r\n updateRange: () => { },\r\n minValue: 0,\r\n maxValue: 100,\r\n value: 40,\r\n formatLabel: (value) => `${value}`,\r\n step: 1\r\n}\r\n\r\nRangeSlider.propTypes = {\r\n updateRange: PropTypes.func,\r\n minValue: PropTypes.number,\r\n maxValue: PropTypes.number,\r\n value: PropTypes.number,\r\n valueKey: PropTypes.string.isRequired\r\n}\r\n","import React from 'react'\r\nimport { CardBody, Container, Row, Col } from 'reactstrap'\r\nimport ButtonPrevWithLine from './ButtonPrevWithLine'\r\nimport RangeSlider from './RangeSlider'\r\nimport ButtonNextWithLine from './ButtonNextWithLine'\r\nimport ButtonPrev from './ButtonPrev'\r\nimport ButtonNext from './ButtonNext'\r\nimport { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux'\r\nimport actionCreators from '../redux/actions'\r\nimport DatePicker from 'react-date-picker'\r\nimport { calculateAge } from '../utils/calculations'\r\nfunction Slide3 ({ onNextRequested, onPrevRequested, onIncrementProgress, onDecrementProgress, age, numOfChildren, youngestChildAge, set, dateOfBirth }) {\r\n const setSelected = (event) => {\r\n const selectedGender = document.querySelector('.btn-gender.selected')\r\n if (selectedGender) {\r\n selectedGender.classList.remove('selected')\r\n }\r\n event.target.classList.add('selected')\r\n set('gender', event.currentTarget.dataset.val)\r\n }\r\n\r\n const youngestChildSliderOpts = {\r\n maxValue: 25,\r\n minValue: 0,\r\n youngestChildSliderValue: youngestChildAge,\r\n valueKey: 'youngestChildAge'\r\n }\r\n\r\n const childrenSliderOpts = {\r\n maxValue: 10,\r\n minValue: 0,\r\n childrenSliderValue: numOfChildren,\r\n valueKey: 'numOfChildren'\r\n }\r\n\r\n const slideThreeSvg = `/assets/people.svg`\r\n\r\n const onPrevClick = () => {\r\n onDecrementProgress()\r\n onPrevRequested()\r\n }\r\n\r\n const onNextClick = () => {\r\n onIncrementProgress()\r\n onNextRequested()\r\n }\r\n\r\n const onDatePickerChange = (date) => {\r\n // if there is no value, they cleared the date picker\r\n // set date to empty string (default state value)\r\n // which will in turn set the age in the calculate age function to its default\r\n if (!date) date = ''\r\n set('dateOfBirth', date)\r\n set('age', calculateAge(date))\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n

Tell us about yourself.

\r\n

Who depends on you?

\r\n

Input your age, gender, date of birth, and any dependents you have.

\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n

YOUR DATE OF BIRTH

\r\n \r\n
\r\n
\r\n

YOUR GENDER

\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n

CHILDREN

\r\n \r\n
\r\n
\r\n

YOUNGEST CHILD'S AGE

\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n age: state.app.age,\r\n gender: state.app.gender,\r\n numOfChildren: state.app.numOfChildren,\r\n youngestChildAge: state.app.youngestChildAge,\r\n dateOfBirth: state.app.dateOfBirth\r\n})\r\n\r\nconst mapDispatchToProps = dispatch =>\r\n bindActionCreators(actionCreators, dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Slide3)\r\n","import React, { useEffect } from 'react'\r\nimport {\r\n CardText, CardBody,\r\n CardTitle, Container, Row, Col\r\n} from 'reactstrap'\r\nimport ButtonNextWithLine from './ButtonNextWithLine'\r\nimport ButtonPrevWithLine from './ButtonPrevWithLine'\r\nimport RangeSlider from './RangeSlider'\r\nimport ButtonNext from './ButtonNext'\r\nimport ButtonPrev from './ButtonPrev'\r\nimport numeral from 'numeral'\r\nimport { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux'\r\nimport actionCreators from '../redux/actions'\r\nimport { gsap } from 'gsap'\r\nimport { CustomEase } from 'gsap/CustomEase'\r\n\r\ngsap.registerPlugin(CustomEase)\r\n\r\nconst pencil = '/assets/animation_graphics/Pencil.svg'\r\nconst paper = '/assets/animation_graphics/Paper.svg'\r\nconst dollar = '/assets/animation_graphics/Dollar.svg'\r\n\r\nfunction Slide4 ({ isActive, onNextRequested, onPrevRequested, onIncrementProgress, onDecrementProgress, set, currentLifeInsurance, finalExpenses }) {\r\n const onPrevClick = () => {\r\n onDecrementProgress()\r\n onPrevRequested()\r\n }\r\n\r\n const onNextClick = () => {\r\n onIncrementProgress()\r\n onNextRequested()\r\n }\r\n\r\n useEffect(() => {\r\n if (isActive) {\r\n const tl = gsap.timeline({ delay: 2 })\r\n const ease = CustomEase.create('custom', 'M0,0 C0,0 0.08318,0.2664 0.14193,0.43905 0.18286,0.55934 0.20602,0.62375 0.25214,0.74102 0.28228,0.81765 0.30017,0.86241 0.33637,0.93344 0.3573,0.97452 0.37697,1.00924 0.40222,1.0355 0.41087,1.0445 0.4313,1.04891 0.44292,1.04424 0.47803,1.03013 0.50891,0.9985 0.549,0.97651 0.56111,0.96986 0.5734,0.96353 0.58554,0.96601 0.64121,0.97737 0.69575,1.01266 0.75196,1.01793 0.78272,1.02082 0.81262,0.99138 0.84322,0.99016 0.86491,0.98929 0.88642,1.0117 0.90731,1.01173 0.92467,1.01175 0.94141,0.99256 0.95928,0.9903 0.97259,0.98862 1,1 1,1')\r\n\r\n tl.from('.paper', { y: 1000, ease, duration: 0.5 }, '-=.5')\r\n tl.from('.pencil', { y: -1000, ease, duration: 0.5 }, '-=.1')\r\n tl.from('.Slide4 .dollar', { x: -380, ease, duration: 0.5 }, '-=.5')\r\n\r\n tl.timeScale('1.1')\r\n }\r\n }, [isActive])\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n

Existing Coverage & Expenses

\r\n Do you currently have any life insurance? If so, tell us how much.\r\n How much would your family need for final expenses? Final expenses can include funeral, medical, various taxes and administrative expenses. \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n

CURRENT LIFE INSURANCE COVERAGE (DOLLAR AMOUNT)

\r\n\r\n `${numeral(value).format('$0,000')}`} />\r\n\r\n

FINAL EXPENSES (DOLLAR AMOUNT)

\r\n\r\n `${numeral(value).format('$0,000')}`} />\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nconst mapStateToProps = (state, props) => ({\r\n currentLifeInsurance: state.app.currentLifeInsurance,\r\n finalExpenses: state.app.finalExpenses\r\n})\r\n\r\nconst mapDispatchToProps = dispatch =>\r\n bindActionCreators(actionCreators, dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Slide4)\r\n","import React, { useEffect } from 'react'\r\nimport {\r\n CardText, CardBody,\r\n CardTitle, Container, Row, Col\r\n} from 'reactstrap'\r\nimport ButtonNextWithLine from './ButtonNextWithLine'\r\nimport ButtonPrevWithLine from './ButtonPrevWithLine'\r\nimport RangeSlider from './RangeSlider'\r\nimport ButtonNext from './ButtonNext'\r\nimport ButtonPrev from './ButtonPrev'\r\nimport numeral from 'numeral'\r\nimport { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux'\r\nimport actionCreators from '../redux/actions'\r\nimport { CustomEase } from 'gsap/CustomEase'\r\nimport { gsap } from 'gsap'\r\ngsap.registerPlugin(CustomEase)\r\nconst houseGraphic = '/assets/animation_graphics/house.svg'\r\nconst windowGraphic = '/assets/animation_graphics/window.svg'\r\nconst dollarGraphic = '/assets/animation_graphics/dollar.svg'\r\nconst calculateStepIncrement = (value) => {\r\n if (!value) {\r\n return 1000\r\n }\r\n if (value <= 20000) {\r\n return 1000\r\n } else if (value >= 20000 && value <= 75000) {\r\n return 5000\r\n } else if (value >= 75000 && value <= 250000) {\r\n return 25000\r\n } else if (value >= 250000 && value <= 500000) {\r\n return 50000\r\n } else if (value >= 500000 && value <= 1000000) {\r\n return 100000\r\n }\r\n}\r\n\r\nfunction Slide5 ({ isActive, onNextRequested, onPrevRequested, onIncrementProgress, onDecrementProgress, set, mortgage, personalBusinessDebt, calculatedStep }) {\r\n useEffect(() => {\r\n if (isActive) {\r\n const tl = gsap.timeline({ delay: 2 })\r\n const ease = CustomEase.create('custom', 'M0,0 C0,0 0.08318,0.2664 0.14193,0.43905 0.18286,0.55934 0.20602,0.62375 0.25214,0.74102 0.28228,0.81765 0.30017,0.86241 0.33637,0.93344 0.3573,0.97452 0.37697,1.00924 0.40222,1.0355 0.41087,1.0445 0.4313,1.04891 0.44292,1.04424 0.47803,1.03013 0.50891,0.9985 0.549,0.97651 0.56111,0.96986 0.5734,0.96353 0.58554,0.96601 0.64121,0.97737 0.69575,1.01266 0.75196,1.01793 0.78272,1.02082 0.81262,0.99138 0.84322,0.99016 0.86491,0.98929 0.88642,1.0117 0.90731,1.01173 0.92467,1.01175 0.94141,0.99256 0.95928,0.9903 0.97259,0.98862 1,1 1,1')\r\n tl.from('.house', { scaleY: 0, ease, duration: 0.7 }, '-=.1')\r\n tl.from('.Slide5 .dollar', { x: -380, ease, duration: 1 }, '-=.1')\r\n tl.from('.window', { scale: 0, ease, duration: 1 }, '-=.9')\r\n tl.from('.window2', { scale: 0, ease, duration: 1 }, '-=.9')\r\n tl.timeScale('1.1')\r\n }\r\n }, [isActive])\r\n const onPrevClick = () => {\r\n onDecrementProgress()\r\n onPrevRequested()\r\n }\r\n\r\n const onNextClick = () => {\r\n onIncrementProgress()\r\n onNextRequested()\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n

The past cannot be changed. The future is in your control.

\r\n Life Insurance can help protect your loved ones from any big debts, like mortgages or loans. However, don’t forget personal and business debts like credit card bills.\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n

MORTGAGE

\r\n\r\n `${numeral(value).format('$0,000')}`} />\r\n\r\n

PERSONAL / BUSINESS DEBT

\r\n\r\n `${numeral(value).format('$0,000')}`} />\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nconst mapStateToProps = (state, props) => ({\r\n mortgage: state.app.mortgage,\r\n personalBusinessDebt: state.app.personalBusinessDebt,\r\n calculatedStep: calculateStepIncrement(state.app.personalBusinessDebt)\r\n})\r\n\r\nconst mapDispatchToProps = dispatch =>\r\n bindActionCreators(actionCreators, dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Slide5)\r\n","import React, { useEffect } from 'react'\r\nimport { CardText, CardBody,\r\n CardTitle, Container, Row, Col, FormGroup, Label, Input, PopoverBody, UncontrolledPopover } from 'reactstrap'\r\nimport ButtonNextWithLine from './ButtonNextWithLine'\r\nimport ButtonPrevWithLine from './ButtonPrevWithLine'\r\nimport RangeSlider from './RangeSlider'\r\nimport ButtonNext from './ButtonNext'\r\nimport numeral from 'numeral'\r\nimport { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux'\r\nimport actionCreators from '../redux/actions'\r\nimport { gsap } from 'gsap'\r\nimport { CustomEase } from 'gsap/CustomEase'\r\nimport ButtonPrev from './ButtonPrev'\r\n\r\ngsap.registerPlugin(CustomEase)\r\n\r\nconst qMark = '/assets/question-mark.svg'\r\nconst hat = '/assets/animation_graphics/hat.svg'\r\nconst book = '/assets/animation_graphics/book.svg'\r\nconst pageleft = '/assets/animation_graphics/page-left.svg'\r\nconst pageright = '/assets/animation_graphics/page-right.svg'\r\n\r\nfunction Slide6 ({ isActive, onNextRequested, onPrevRequested, onIncrementProgress, onDecrementProgress, annualCostOfEducation, numOfChildren, set, yearsToProvide }) {\r\n const onPrevClick = () => {\r\n onDecrementProgress()\r\n onPrevRequested()\r\n }\r\n\r\n const onNextClick = () => {\r\n onIncrementProgress()\r\n onNextRequested()\r\n }\r\n\r\n const _handleInputChange = e => {\r\n set('yearsToProvide', parseFloat(e.target.value))\r\n }\r\n useEffect(() => {\r\n if (isActive) {\r\n const tl = gsap.timeline({ delay: 2 })\r\n const ease = CustomEase.create('custom', 'M0,0 C0,0 0.08318,0.2664 0.14193,0.43905 0.18286,0.55934 0.20602,0.62375 0.25214,0.74102 0.28228,0.81765 0.30017,0.86241 0.33637,0.93344 0.3573,0.97452 0.37697,1.00924 0.40222,1.0355 0.41087,1.0445 0.4313,1.04891 0.44292,1.04424 0.47803,1.03013 0.50891,0.9985 0.549,0.97651 0.56111,0.96986 0.5734,0.96353 0.58554,0.96601 0.64121,0.97737 0.69575,1.01266 0.75196,1.01793 0.78272,1.02082 0.81262,0.99138 0.84322,0.99016 0.86491,0.98929 0.88642,1.0117 0.90731,1.01173 0.92467,1.01175 0.94141,0.99256 0.95928,0.9903 0.97259,0.98862 1,1 1,1')\r\n\r\n tl.from('.book', { alpha: 0, duration: 0.1 })\r\n tl.from('.book', { transformOrigin: 'center', scaleX: 0.1, ease, duration: 0.5 }, '-=.1')\r\n tl.from('.page-left', { alpha: 0, duration: 0.1 })\r\n tl.from('.page-left', { x: -10, ease, duration: 0.5 }, '-=.1')\r\n tl.from('.page-right', { alpha: 0, duration: 0.1 }, '-=.5')\r\n tl.from('.page-right', { x: 10, ease, duration: 0.5 }, '-=.5')\r\n tl.from('.hat', { y: -1000, ease, duration: 0.5 }, '-=.4')\r\n\r\n tl.timeScale('1.1')\r\n }\r\n }, [isActive])\r\n return (\r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n

“Education is not the learning of facts, but the training of the mind to think”

\r\n

- Albert Einstein

\r\n
\r\n\r\n \r\n Do you want to pay for your child’s college? Tell us the annual cost of education per year, the number of children you have, and how many years of college you would like to pay for.\r\n question mark\r\n \r\n \r\n Visit National Center for Education Statistics to learn more about your options for college tuition, fees and estimated student expenses.\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n\r\n \r\n\r\n

ANNUAL COST OF EDUCATION

\r\n\r\n `${numeral(value).format('$0,000')}`}\r\n className='ml-3 mr-xl-3 mb-5' />\r\n\r\n

CHILDREN

\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n annualCostOfEducation: state.app.annualCostOfEducation,\r\n numOfChildren: state.app.numOfChildren,\r\n yearsToProvide: state.app.yearsToProvide\r\n})\r\n\r\nconst mapDispatchToProps = dispatch =>\r\n bindActionCreators(actionCreators, dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Slide6)\r\n","import React from 'react'\r\nimport { CardText, CardBody,\r\n CardTitle, Container, Row, Col, CardSubtitle } from 'reactstrap'\r\nimport ButtonNextWithLine from './ButtonNextWithLine'\r\nimport ButtonPrevWithLine from './ButtonPrevWithLine'\r\nimport RangeSlider from './RangeSlider'\r\nimport ButtonNext from './ButtonNext'\r\nimport ButtonPrev from './ButtonPrev'\r\nimport numeral from 'numeral'\r\nimport { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux'\r\nimport actionCreators from '../redux/actions'\r\n\r\nconst graphic = '/assets/doc-with-shield.svg'\r\n\r\nfunction Slide7 ({ onNextRequested, onPrevRequested, onIncrementProgress, onDecrementProgress, set, netAnnualIncome, yearsOfIncomeAfterDeath }) {\r\n const onPrevClick = () => {\r\n onDecrementProgress()\r\n onPrevRequested()\r\n }\r\n\r\n const onNextClick = () => {\r\n onIncrementProgress()\r\n onNextRequested()\r\n }\r\n return (\r\n \r\n \r\n \r\n \r\n
\r\n doc and shield\r\n
\r\n

Can you really put a price on death? Let’s determine your standard of living.

\r\n Your income determines your standard of living.\r\n What is your annual income?\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n

NET ANNUAL INCOME

\r\n\r\n `${numeral(value).format('$0,000')}`} />\r\n\r\n

YEARS OF INCOME AFTER DEATH*

\r\n\r\n \r\n\r\n \r\n * The sliding bar automatically defaults to show the number of years before your youngest child turns 18.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nconst mapStateToProps = (state, props) => ({\r\n netAnnualIncome: state.app.netAnnualIncome,\r\n yearsOfIncomeAfterDeath: state.app.yearsOfIncomeAfterDeath\r\n\r\n})\r\n\r\nconst mapDispatchToProps = dispatch =>\r\n bindActionCreators(actionCreators, dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Slide7)\r\n","import React from 'react'\r\nimport { Container, Button, Form, FormGroup, Label, Input, CardText, ModalBody } from 'reactstrap'\r\nimport ButtonPrev from './ButtonPrev'\r\nimport clsx from 'clsx'\r\n\r\nexport default class BasicForm extends React.Component {\r\n constructor (props) {\r\n super(props)\r\n this.state = {\r\n isVisible: false,\r\n messageTouched: false,\r\n phoneTouched: false,\r\n firstNameTouched: false,\r\n lastNameTouched: false,\r\n emailTouched: false,\r\n addressTouched: false,\r\n cityTouched: false\r\n }\r\n }\r\n\r\n validateEmailAddress = (value) => {\r\n return /^\\w+([.-]?\\w+)*@\\w+([.-]?\\w+)*(\\.\\w{2,3})+$/.test(value)\r\n }\r\n\r\n isFormValid = () => {\r\n return this.state.emailValid && this.state.phoneValid && this.state.lastNameValid && this.state.messageValid && this.state.firstNameValid && this.state.addressValid && this.state.cityValid\r\n }\r\n\r\n handleNextClick = () => {\r\n if (!this.isFormValid()) {\r\n // set state to set all touched flags to true\r\n // this will trigger display of all error messages, because the user tried to submit, we want to display all even if they've touched the fields or not\r\n this.setState({\r\n emailTouched: true,\r\n phoneTouched: true,\r\n messageTouched: true,\r\n firstNameTouched: true,\r\n lastNameTouched: true,\r\n addressTouched: true,\r\n cityTouched: true\r\n })\r\n return\r\n }\r\n this.props.onNextClick()\r\n }\r\n\r\n openDialog = (e) => {\r\n e.preventDefault()\r\n e.stopPropagation()\r\n this.setState({\r\n isVisible: true\r\n })\r\n }\r\n\r\n dismissDialog = (e) => {\r\n e.preventDefault()\r\n e.stopPropagation()\r\n this.setState({\r\n isVisible: false\r\n })\r\n }\r\n\r\n onFirstNameInput = (e) => {\r\n e.preventDefault()\r\n e.stopPropagation()\r\n const firstNameTouched = true\r\n if (e.target.value) {\r\n this.setState({\r\n firstNameValid: true,\r\n firstNameTouched\r\n })\r\n } else {\r\n this.setState({\r\n firstNameValid: false,\r\n firstNameTouched\r\n })\r\n }\r\n this.props.onFirstNameInput(e)\r\n }\r\n\r\n onLastNameInput = (e) => {\r\n e.preventDefault()\r\n e.stopPropagation()\r\n const lastNameTouched = true\r\n if (e.target.value) {\r\n this.setState({\r\n lastNameValid: true,\r\n lastNameTouched\r\n })\r\n } else {\r\n this.setState({\r\n lastNameValid: false,\r\n lastNameTouched\r\n })\r\n }\r\n this.props.onLastNameInput(e)\r\n }\r\n\r\n onEmailInput = (e) => {\r\n e.preventDefault()\r\n e.stopPropagation()\r\n const emailTouched = true\r\n if (e.target.value && this.validateEmailAddress(e.target.value)) {\r\n this.setState({\r\n emailValid: true,\r\n emailTouched\r\n })\r\n } else {\r\n this.setState({\r\n emailValid: false,\r\n emailTouched\r\n })\r\n }\r\n this.props.onEmailInput(e)\r\n }\r\n\r\n onPhoneInput = (e) => {\r\n e.preventDefault()\r\n e.stopPropagation()\r\n const phoneTouched = true\r\n if (e.target.value) {\r\n this.setState({\r\n phoneValid: true,\r\n phoneTouched\r\n })\r\n } else {\r\n this.setState({\r\n phoneValid: false,\r\n phoneTouched\r\n })\r\n }\r\n this.props.onPhoneInput(e)\r\n }\r\n\r\n onAddressInput = (e) => {\r\n e.preventDefault()\r\n e.stopPropagation()\r\n const addressTouched = true\r\n if (e.target.value) {\r\n this.setState({\r\n addressValid: true,\r\n addressTouched\r\n })\r\n } else {\r\n this.setState({\r\n addressValid: false,\r\n addressTouched\r\n })\r\n }\r\n this.props.onAddressInput(e)\r\n }\r\n\r\n onZipCodeInput = (e) => {\r\n e.preventDefault()\r\n e.stopPropagation()\r\n const zipTouched = true\r\n if (e.target.value) {\r\n this.setState({\r\n zipValid: true,\r\n zipTouched\r\n })\r\n } else {\r\n this.setState({\r\n zipValid: false,\r\n zipTouched\r\n })\r\n }\r\n this.props.onZipCodeInput(e)\r\n }\r\n\r\n onCityInput = (e) => {\r\n e.preventDefault()\r\n e.stopPropagation()\r\n const cityTouched = true\r\n if (e.target.value) {\r\n this.setState({\r\n cityValid: true,\r\n cityTouched\r\n })\r\n } else {\r\n this.setState({\r\n cityValid: false,\r\n cityTouched\r\n })\r\n }\r\n this.props.onCityInput(e)\r\n }\r\n\r\n onMessageInput = (e) => {\r\n e.preventDefault()\r\n e.stopPropagation()\r\n const messageTouched = true\r\n if (e.target.value) {\r\n this.setState({\r\n messageValid: true,\r\n messageTouched\r\n })\r\n } else {\r\n this.setState({\r\n messageValid: false,\r\n messageTouched\r\n })\r\n }\r\n this.props.onMessageInput(e)\r\n }\r\n\r\n onWorkingWithAgentNameInput = (e) => {\r\n e.preventDefault()\r\n e.stopPropagation()\r\n\r\n this.props.onWorkingWithAgentNameInput(e)\r\n }\r\n\r\n render () {\r\n return (\r\n\r\n \r\n Let us get to know you better and design a personalized plan to help you and your family. Fill out the information and one of our agents will contact you. Already working with someone?\r\n
\r\n
\r\n \r\n \r\n \r\n The first name field is required.\r\n \r\n \r\n \r\n \r\n The last name field is required.\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n The address field is required.\r\n \r\n \r\n \r\n \r\n The city field is required.\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n The zip code field is required.\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n The e-mail field is required and must be a valid e-mail.\r\n \r\n \r\n \r\n \r\n The phone field is required.\r\n \r\n
\r\n\r\n \r\n \r\n \r\n The message field is required.\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n

WHO ARE YOU WORKING WITH?

\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n )\r\n }\r\n}\r\n","// TODO: Populate urls w/ SFBLIs API address\r\nexport const apiConfig = {\r\n baseUrl: 'https://salesleads.sfbli.com/api',\r\n endpoint: '/CalculatorData'\r\n}\r\n","import { apiConfig } from './apiConfig'\r\nexport const apiService = {\r\n postFormData (url = '', requestInfo) {\r\n // Default options are marked with *\r\n return window.fetch(url, requestInfo).then((response) => {\r\n return response.json()\r\n }).catch(err => {\r\n console.dir(err)\r\n console.error(`Error sending data to API: ${err}`)\r\n })\r\n },\r\n // \r\n // boolean promise method that returns true if the e-mail is sent successfully via the API.\r\n // pass in the state object to get parsed into an html template that will be sent as thet body via an api call\r\n // \r\n async attemptPostData (state) {\r\n const parse = function (date) {\r\n if (!date) return ''\r\n var mm = date.getMonth() + 1 // getMonth() is zero-based\r\n var dd = date.getDate()\r\n\r\n return [\r\n (mm > 9 ? '' : '0') + mm,\r\n (dd > 9 ? '' : '0') + dd,\r\n date.getFullYear()\r\n ].join('/')\r\n }\r\n const appState = { ...state.app }\r\n // have to stringify the request data, because the emailTemplate is a full HTML body,\r\n // otherwise express' json parser has issues parsing the value\r\n const body = { ...appState, dateOfBirth: parse(appState.dateOfBirth) }\r\n const requestBody = JSON.stringify(body)\r\n const request = {\r\n method: this.HTTP_VERBS.POST,\r\n body: requestBody,\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n }\r\n }\r\n const uri = `${apiConfig.baseUrl}${apiConfig.endpoint}`\r\n return new Promise((resolve, reject) => {\r\n this.postFormData(uri, request).then((response) => {\r\n const success = (response && response.statusCode === 200)\r\n const rejection = `API Call to SFB failed, response: ${JSON.stringify(response)}`\r\n return success ? resolve(true) : reject(rejection)\r\n }).catch(err => {\r\n console.error(`HTTP Call to SFB failed, error: ${err}`)\r\n return reject(err)\r\n })\r\n })\r\n },\r\n HTTP_VERBS: {\r\n POST: 'POST',\r\n GET: 'GET',\r\n PATCH: 'PATCH',\r\n DELETE: 'DELETE'\r\n }\r\n}\r\nexport default apiService\r\n","import React, { } from 'react'\r\nimport {\r\n CardText, CardBody,\r\n CardTitle, Container, Row, Col\r\n} from 'reactstrap'\r\nimport BasicForm from './BasicForm'\r\nimport { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux'\r\nimport actionCreators from '../redux/actions'\r\nimport numeral from 'numeral'\r\nimport apiService from '../utils/apiService'\r\nimport { getSelectedStateInfo } from '../redux/reducers'\r\nconst graphic = '/assets/slide8-graphic.svg'\r\n\r\nfunction Slide8 ({ onNextRequested, onPrevRequested, onIncrementProgress, onDecrementProgress, set, formProps, apiService }) {\r\n const onPrevClick = () => {\r\n onDecrementProgress()\r\n onPrevRequested()\r\n }\r\n\r\n const onNextClick = async () => {\r\n // this method returns true or false based on the successful API call made to SFB,\r\n // currently we are not doing anything if it fails but logging the error caught, but code below can implement whatever we'd like\r\n await apiService.attemptPostData(formProps.appState).catch(e => {\r\n console.error(`Error occurred sending API data accross to SFB, ${e}`)\r\n })\r\n // TODO: handle unsuccessful API in the way SFB wants it handled (if they do)\r\n // if (!dataSentSuccesful) {\r\n // implement logic here\r\n // }\r\n onIncrementProgress()\r\n onNextRequested()\r\n }\r\n\r\n const onWorkingWithAgentNameInput = (e) => {\r\n set('workingWithAgentName', e.target.value)\r\n }\r\n\r\n const onMessageInput = (e) => {\r\n set('emailMessage', e.target.value)\r\n }\r\n\r\n const onPhoneInput = (e) => {\r\n set('phoneNo', e.target.value)\r\n }\r\n\r\n const onFirstNameInput = (e) => {\r\n set('firstName', e.target.value)\r\n }\r\n\r\n const onLastNameInput = (e) => {\r\n set('lastName', e.target.value)\r\n }\r\n\r\n const onEmailInput = (e) => {\r\n set('emailAddress', e.target.value)\r\n }\r\n\r\n const onAddressInput = (e) => {\r\n set('address', e.target.value)\r\n }\r\n\r\n const onCityInput = (e) => {\r\n set('city', e.target.value)\r\n }\r\n\r\n const onZipCodeInput = (e) => {\r\n set('zipCode', e.target.value)\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n\r\n \r\n Your Estimate!\r\n

Your Estimate!

\r\n This estimate is based on the information you provided and here’s why you need it:\r\n
    \r\n
  • Pay for final expenses
  • \r\n
  • Pay off your debt
  • \r\n
  • Pay for children’s education
  • \r\n
  • Income replacement to retain your standard of living
  • \r\n
\r\n

{numeral(formProps.estimate).format('$0,000')}

\r\n\r\n
\r\n\r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nconst mapStateToProps = (state, props) => ({\r\n formProps: {\r\n emailAddress: state.app.emailAddress,\r\n emailMessage: state.app.emailMessage,\r\n phoneNo: state.app.phoneNo,\r\n firstName: state.app.firstName,\r\n lastName: state.app.lastName,\r\n sendEmailCopyToUser: state.app.sendEmailCopyToUser,\r\n workingWithAgentName: state.app.workingWithAgentName,\r\n estimate: state.app.estimate,\r\n state: getSelectedStateInfo(state.app.state).state,\r\n city: state.app.city,\r\n zip: state.app.zip,\r\n appState: state\r\n },\r\n apiService: apiService\r\n})\r\n\r\nconst mapDispatchToProps = dispatch =>\r\n bindActionCreators(actionCreators, dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Slide8)\r\n","import React from 'react'\r\nimport {\r\n Container, Row, Col, CardText, CardBody,\r\n CardTitle\r\n} from 'reactstrap'\r\nimport { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux'\r\nimport actionCreators from '../redux/actions'\r\nimport { getSelectedStateInfo } from '../redux/reducers'\r\nimport apiService from '../utils/apiService'\r\n\r\nconst graphic = '/assets/start-step-graphic.svg'\r\n\r\nfunction Slide9 ({ onNextRequested, formProps, onExitRequested }) {\r\n onExitRequested = () => {\r\n window.location.href = `${formProps.exitLink}`\r\n }\r\n return (\r\n \r\n \r\n \r\n \r\n

Thank you!

\r\n
\r\n Southern Farm Bureau Insurance Company provides life insurance coverage in your state through {formProps.recommendedTier}. To learn more visit {formProps.exitLinkDisplay}. \r\n A local {formProps.bureauAgentDisplay} agent will be contacting you soon.\r\n VISIT {formProps.exitLinkDisplay.toUpperCase()}\r\n \r\n \r\n How much life insurance is right for you?\r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nconst mapStateToProps = (state, props) => ({\r\n formProps: {\r\n recommendedTier: getSelectedStateInfo(state.app.state).tier,\r\n exitLink: getSelectedStateInfo(state.app.state).url,\r\n exitLinkDisplay: getSelectedStateInfo(state.app.state).url.replace('https://www.', ''),\r\n bureauAgentDisplay: getSelectedStateInfo(state.app.state).tier.replace('Insurance', ''),\r\n generatedPdfFilename: state.app.generatedPdfFilename\r\n },\r\n apiService: apiService\r\n})\r\n\r\nconst mapDispatchToProps = dispatch =>\r\n bindActionCreators(actionCreators, dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Slide9)\r\n","const RenderIf = ({ condition, children }) => {\r\n return condition ? children : null\r\n}\r\n\r\nexport default RenderIf\r\n","import React, { useState, useEffect } from 'react'\r\nimport { Card, CardHeader } from 'reactstrap'\r\nimport Slide1 from './Slide1'\r\nimport Slide2 from './Slide2'\r\nimport Slide3 from './Slide3'\r\nimport Slide4 from './Slide4'\r\nimport Slide5 from './Slide5'\r\nimport Slide6 from './Slide6'\r\nimport Slide7 from './Slide7'\r\nimport Slide8 from './Slide8'\r\nimport Slide9 from './Slide9'\r\nimport RenderIf from './RenderIf'\r\nimport clsx from 'clsx'\r\nimport { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux'\r\nimport actionCreators from '../redux/actions'\r\nimport numeral from 'numeral'\r\nimport SwipeableViews from 'react-swipeable-views'\r\nimport _ from 'lodash'\r\nconst CardSlider = ({ set, step, estimate, currentPageIndex }) => {\r\n const style = {\r\n slideContainer: {\r\n minHeight: 700,\r\n maxHeight: `100%`,\r\n overflow: `hidden`\r\n },\r\n slideStyle: {\r\n minHeight: 550,\r\n overflow: 'hidden'\r\n }\r\n }\r\n const swipeableViewsRef = React.useRef(null)\r\n const _scrollToTop = () => {\r\n window.scrollTo(0, 0)\r\n }\r\n\r\n const _updateSlideHeight = () => {\r\n // Needs to be on slight delay so it doesn't update height before the page was fully rendered\r\n setTimeout(() => {\r\n swipeableViewsRef.current\r\n .getChildContext()\r\n .swipeableViews.slideUpdateHeight()\r\n }, 250)\r\n }\r\n\r\n useEffect(() => {\r\n const handleResize = _.throttle((status) => {\r\n _updateSlideHeight()\r\n }, 1000)\r\n window.addEventListener('resize', handleResize)\r\n return () => {\r\n window.removeEventListener('resize', handleResize)\r\n }\r\n }, [])\r\n\r\n // Used to update the slide's height as soon as the component mounts\r\n useEffect(() => {\r\n _updateSlideHeight()\r\n }, [])\r\n\r\n const [percentage, setPercentage] = useState(0)\r\n const [isLastSlide, setIsLastSlide] = useState(false)\r\n\r\n const MIN = 0\r\n const MAX = 800\r\n const totalSteps = 7\r\n\r\n const onNextRequested = () => {\r\n let newPercentage = percentage >= MAX ? MAX : percentage + 100\r\n\r\n if (percentage >= 700) {\r\n setIsLastSlide(true)\r\n }\r\n\r\n setPercentage(newPercentage)\r\n set('pageIndex', currentPageIndex + 1)\r\n _scrollToTop()\r\n }\r\n\r\n const onPrevRequested = () => {\r\n let newPercentage = percentage <= MIN ? MIN : percentage - 100\r\n setIsLastSlide(false)\r\n setPercentage(newPercentage)\r\n set('pageIndex', currentPageIndex - 1)\r\n _scrollToTop()\r\n }\r\n\r\n const onIncrementProgress = () => {\r\n const newStep = step === totalSteps ? totalSteps : step + 1\r\n set('step', newStep)\r\n }\r\n\r\n const onDecrementProgress = () => {\r\n const newStep = step === 0 ? 0 : step - 1\r\n set('step', newStep)\r\n }\r\n\r\n return (\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n

PROGRESS

\r\n
\r\n
\r\n
= 1 })} />\r\n
\r\n
= 2 })} />\r\n
= 3 })} />\r\n
= 4 })} />\r\n
= 5 })} />\r\n
= 6 })} />\r\n
= 7 })} />\r\n
\r\n
\r\n \r\n

Estimate {numeral(estimate).format('$0,000')}

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nconst mapStateToProps = (state, props) => ({\r\n step: state.app.step,\r\n estimate: state.app.estimate,\r\n currentPageIndex: state.app.pageIndex\r\n})\r\n\r\nconst mapDispatchToProps = dispatch =>\r\n bindActionCreators(actionCreators, dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CardSlider)\r\n","import React, { Component } from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { composeWithDevTools } from 'redux-devtools-extension/developmentOnly'\r\nimport { Provider } from 'react-redux'\r\nimport { applyMiddleware, createStore } from 'redux'\r\nimport getCombinedReducers from './reducers'\r\nimport thunk from 'redux-thunk'\r\n\r\nconst store = createStore(\r\n getCombinedReducers(),\r\n {},\r\n composeWithDevTools(applyMiddleware(thunk))\r\n)\r\n\r\nexport class ReduxStore extends Component {\r\n render () {\r\n return (\r\n \r\n {this.props.children}\r\n \r\n )\r\n }\r\n}\r\n\r\nReduxStore.propTypes = {\r\n children: PropTypes.any\r\n}\r\n","import React from 'react'\r\nimport CardSlider from './CardSlider'\r\nimport { ReduxStore } from '../redux/ReduxStore'\r\n\r\nfunction App () {\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nexport default App\r\n","/* eslint-env serviceworker */\r\n/* global fetch */\r\n\r\n// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n)\r\n\r\nexport function register (config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href)\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config)\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n )\r\n })\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config)\r\n }\r\n })\r\n }\r\n}\r\n\r\nfunction registerValidSW (swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing\r\n if (installingWorker == null) {\r\n return\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n )\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration)\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.')\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error)\r\n })\r\n}\r\n\r\nfunction checkValidServiceWorker (swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type')\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload()\r\n })\r\n })\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config)\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n )\r\n })\r\n}\r\n\r\nexport function unregister () {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister()\r\n })\r\n }\r\n}\r\n","import React from 'react'\r\nimport ReactDOM from 'react-dom'\r\nimport './styles/bootstrap.scss'\r\nimport App from './components/App'\r\nimport * as serviceWorker from './serviceWorker'\r\n\r\nReactDOM.render(, document.getElementById('root'))\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister()\r\n"],"sourceRoot":""}