{"version":3,"sources":["images/awaiver-logo.svg","constants.js","locale.js","reducers/stepper.js","reducers/signingInfo.js","reducers/signedWaiver.js","store.js","reducers/recorder.js","reducers/waiverInfo.js","pages/notFound.js","lib/checkAge.js","lib/converter.js","components/modal.js","pages/step0-Instructions.js","lib/guid.js","components/steps.js","components/navButtons.js","components/stepper.js","components/logo.js","components/layout.js","components/signatureCanvas.js","pages/step4-InstructionalVideo.js","components/iframe.js","pages/step5-ViewWaiver.js","components/RadioButton.js","components/AboutSigner.js","components/CustomIntlTelInput.js","components/validation.js","components/Checkbox.js","components/Marketing.js","components/Name.js","components/BirthDate.js","components/ParticipantList.js","action-creators/signedWaiver.js","components/dropDown.js","components/LinkedParticipantList.js","components/bothDrop.js","pages/step6-RecordVideo.js","pages/step7-ReviewVideo.js","components/scrollToTop.js","App.js","action-creators/waiverInfo.js","action-creators/recorder.js","registerServiceWorker.js","index.js"],"names":["module","exports","__webpack_require__","p","NO_STICKY","SET_VALID","currentLocale","next","back","datePlaceholder","step0Title","step1Title","step2Title","step3Title","step4Title","step5Title","step6Title","step7Title","step8Title","step9Title","txtInstructions1","txtInstructions2","txtInstructions3","acknowledgeRead","download","guardian","recordInstructions","recordVideo1","recordVideo2","recordVideo3","recordVideo4","timeoutAlert","record","stop","reviewRecording","reviewRecording1","initialDeviceCheck","noAudio","noVideo","noVideoOrAudio","accessDenied","close","submit","enterEmail","currentFields","email","enterPhone","enterIce","none","wait","startRecording","selectionAlert","notFound","needsUpgrade","ios","submitFail","submitSucceeded","submitting","clickToPlay","isParticipant","isGuardian","isBoth","step1Heading","roleError","yourName","yourBirthday","step8Heading","validate","validateSignature","clear","signatureError","phoneNumberError","emailError","nameError","minorNamePlaceHolder","namePlaceHolder","fullNamePlaceHolder","andBirthday","addParticipants","participantListHeading","dateOfBirth","participantsName","icePhoneNumberError","participantsMaxAgeRequirement","participantsMinAgeRequirement","guardianMinAgeRequirement","guardianMaxAgeRequirement","tooLong","tooShort","required","nameRequired","bothNames","optInHeading","loading","addMinor","birthdayRequired","incompleteSignature","removeAlert","yourGuardian","iAm","yourNameIs","imOver18","andOver18","imSigning","select","pressNext","oneName","privacy","initialStepper","currentStep","noSticky","flashing","skippedBackwards","steps","step","isValid","optional","title","initialSigningInfoState","name","referenceKey","role","birthday","optIn","phoneNumber","icePhoneNumber","signature","dateCreated","video","participants","participantName","participantBirthday","linkedParticipant","errors","initSW","data","failed","succeeded","guid","initialPathParticipantsState","updatedParticipants","linkedParticipants","selectedParticipants","selectedNames","linkedPath","enhancer","composeWithDevTools","applyMiddleware","apply","thunk","concat","store","createStore","combineReducers","signingInfo","state","arguments","length","undefined","action","type","merge","Number","payload","selected","Object","objectSpread","id","isEmpty","mergeDeepRight","mergeAll","stepper","steppedBack","opentok","requesting","error","errorMsg","assign","Permissions","recording","signedWaiver","locationData","lat","lon","pathParticipants","linkedParticipantObj","filter","participantId","linkedParticipantsObj","isNil","selectedPersonsName","compose","pluck","pathInfo","waiverId","refLocation","remainingPath","validStep","validBackStep","currentWaiver","pdfExpires","moment","add","message","NotFound","react_default","a","createElement","className","now","Date","dd","getDate","mm","getMonth","yyyy","getFullYear","today","converter","showdown","Converter","Notification","_ref","children","AboutSignerNotification","_ref2","SubmitNotification","_ref3","inform","success","open","handleClose","buttonClass","modalClass","convert","style","zIndex","onClick","AccessDeniedNotification","_ref4","replace","window","location","origin","Progress","_ref5","objectDestructuringEmpty","OT","require","Step0","userAgent","allSet","stream","_this2","this","_getMedia","asyncToGenerator","regenerator_default","mark","_callee","props","constraints","wrap","_context","prev","audio","sessionStorage","setItem","navigator","mediaDevices","getUserMedia","sent","getTracks","forEach","trk","t0","dispatch","setState","checkSystemRequirements","getDevices","devices","find","propEq","_x","getMedia","then","dt","getTime","c","r","Math","random","floor","toString","create_UUID","waiver","instruction1","instruction2","companyName","Fragment","max","or","propSatisfies","x","and","participantPdf","guardianPdf","notFound_NotFound","contains","toLower","modal_Notification","modal_Progress","modal_AccessDeniedNotification","imageUrl","description","src","alt","Component","connect","Steps","marker","hidden","stepClass","key","NavButtons","backDisabled","backOnClick","forwardDisabled","forwardOnClick","nextButton","outlinedbutton","disabled","Stepper","timer2","value","equals","_this","noneSelected","clearTimeout","timerStep7","timer","setTimeout","handleConfused","handleInitialConfused","gte","lte","nextConfused","formikProps","touched","prevProps","prevState","nextSelected","gt","duration","stepsOptions","moveForward","moveBack","innerZ","_this$props","activeStep","step1","step4","step6","optionalSteps","optionalSteps14","optionalSteps16","optionalSteps46","contactInformation","videoUrl","includes","handleSubmit","iceNumber","skipForward","stepForward","onRoleChange","skipBack","stepPrevious","map","components_steps","react_stickynode_default","top","bottomBoundry","navButtons","status","flashForward","Logo","MainLogo","companyLogoUrl","Layout","notValid","addStep","values","head","setValid","participantDateOfBirth","signedByName","setInvalid","not","logo","components_stepper","marketingToAppState","submitWaiver","handleReset","trim","SignatureCanvas","_sigPad","_excludeOurProps","canvasProps","clearOnResize","objectWithoutProperties","getCanvas","_canvas","getTrimmedCanvas","copy","document","width","height","getContext","trimCanvas","getSignaturePad","_checkClearOnResize","_resizeCanvas","canvas","ratio","devicePixelRatio","offsetWidth","offsetHeight","scale","on","addEventListener","off","removeEventListener","fromDataURL","dataURL","options","toDataURL","encoderOptions","fromData","pointGroups","toData","SignaturePad","ref","defaultProps","ResponsivePlayer","ReactPlayer_default","controls","url","playing","onDuration","connector","IframeComponent","Pdf","pdf","iframe_IframeComponent","href","target","rel","Step5","isAfter","getCurrentWaiver","minorPage","step5_ViewWaiver_Pdf","InputFeedback","classNames","RadioButton","_ref2$field","field","onChange","onBlur","label","checked","aria-hidden","RadioButtonGroup","RadioButton_InputFeedback","AboutSigner","lng","stateParticipantData","getPathParticipants","modal_AboutSignerNotification","formik_esm","e","RadioButton_RadioButtonGroup","component","CustomIntlTelInput","css","preferredCountries","_ref$form","form","setFieldValue","setFieldTouched","_ref$field","validateField","main_default","fieldName","defaultValue","onPhoneNumberChange","countryCode","isNaN","last","intlTelInputUtils","formatNumber","iso2","onPhoneNumberBlur","format","setOrdinal","s","v","validateName","errorMessage","match","split","singleName","validateEmail","test","participantsAgeTest","age","guardianAgeTest","Checkbox","Yup","shape","min","typeError","Marketing","locale","language","country","substring","indexOf","unshift","placeholder","isValidNumber","Name","index","BirthDate","htmlFor","render","arrayHelpers","participant","helperText","remove","push","getLinkedParticipants","getState","pps","signedBy","person","updatedPps","reject","DropDown","classCallCheck","possibleConstructorReturn","getPrototypeOf","call","handleClick","event","droppedDown","handleDroppedDown","handleInputChange","textInput","bind","assertThisInitialized","setTextInputRef","element","aria-haspopup","aria-controls","difference","selectedParticipantsName","LinkedParticipantList","handleLinkedParticipants","selectedPersonNames","selectedReferenceKey","join","handleDeleted","removeParticipant","setTextInputRef2","BothDrop","handleSingleLinkedParticipant","participantsReset","ParticipantList","valueToAppState","VideoSignature","handleStatusChange","start","timerStop","recordingStatus","handleStopRecording","toast","pauseOnHover","opacity","handleStartRecording","show","startDisabled","stopDisabled","stopRecording","publisher","linkedSingleParticipantBirthday","linkedSingleParticipantName","toConsumableArray","prop","requestOpentok","session","initSession","apiKey","sessionId","token","conmectErr","handleError","initPublisher","insertMode","facingMode","intPublisherErr","publish","publishErr","disconnect","signStatementG","linkedSignStatementG","_this3","participants2","participants2Tail","tail","participants3","dropLast","takeLast","participants3Tail","participantSignStatement","participantStatement","guardianStatement","linkedSignStatementRole3","signStatement","classname","cardclass","deviceCheck","orientation","errmessage","fetching","dis","PureComponent","otError","VerifyRecordedVideo","videoToVerify","ScrollToTop","scrollTo","React","App","handleNotification","appReset","goBack","destination","history","go","_unused","reload","_unused2","handleRoleChange","appRoleToAppState","handleStateChange","trimmedDataURL","sigPad","padData","touchedTwice","signatureToAppState","submitSignedWaiver","_lastPoints","points","_data","handleSignature","stepContent","step0_Instructions","src_components_Marketing","src_components_AboutSigner","bothDrop","step4_InstructionalVideo","validationHandler","step5_ViewWaiver","step6_RecordVideo","step7_ReviewVideo","modal_SubmitNotification","signatureCanvas_SignatureCanvas","penColor","backgroundColor","position","signatureRecieved","icePhone","pn","n","process","pa","pathname","startsWith","drop","parsePath","getCoords","scrollToTop","initialValues","onSubmit","resetForm","fetch","res","json","catch","err","w","_x2","_callee3","opentokSession","_context3","isError","_x5","_x6","onMarketingChange","defineProperty","result","signedWaiverData","signVideoSessionId","signedByRole","contactEmail","contactPhone","emergencyPhone","signerInitials","kioskWaiverKey","omitEmpty","headers","Content-Type","method","body","JSON","stringify","Status","response","SessionId","console","log","_callee2","archiveId","_context2","ArchiveId","_x3","_x4","pathArray","paLength","participantsArray","decodeURI","partArray","init","splitArray","geolocation","getCurrentPosition","latitude","coords","longitude","enableHighAccuracy","timeout","maximumAge","isLocalhost","Boolean","hostname","registerValidSW","swUrl","serviceWorker","register","registration","onupdatefound","installingWorker","installing","onstatechange","controller","ReactDOM","es","src_App","getElementById","URL","get","ready","unregister","checkValidServiceWorker","registerServiceWorker"],"mappings":"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","file":"static/js/main.188df845.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/awaiver-logo.1da9ee62.svg\";","//Stepper\r\nexport const NEXT_STEP = \"NEXT_STEP\";\r\nexport const LAST_STEP = \"LAST_STEP\";\r\nexport const SKIP_STEP = \"SKIP_STEP\";\r\nexport const SKIP_BACK = \"SKIP_BACK\";\r\nexport const NO_STICKY = \"NO_STICKY\";\r\nexport const SET_VALID = \"SET_VALID\";\r\nexport const SET_INVALID = \"SET_INVALID\";\r\nexport const SET_BACK_VALID = \"SET_BACK_VALID\";\r\nexport const SET_BACK_INVALID = \"SET_BACK_INVALID\";\r\n\r\n//////signingInfo\\\\\\\\\\\\\r\n//signature\r\nexport const SIGNATURE_COMPLETED = \"SIGNATURE_COMPLETED\";\r\nexport const SIGNATURE_VALIDATED = \"SIGNATURE_VALIDATED\";\r\nexport const SIGNATURE_RECEIVED = \"SIGNATURE_RECEIVED\";\r\nexport const WAIVER_SIGNED = \"WAIVER_SIGNED\";\r\nexport const GUID_SET = \"GUID_SET\"\r\n//waiverInfo\r\nexport const CURRENT_WAIVER_RETRIEVED = \"CURRENT_WAIVER_RETRIEVED\";\r\nexport const WAIVER_LOADING_FAILED = \"WAIVER_LOADING_FAILED\";\r\nexport const WAIVER_REQUESTED = \"WAIVER_REQUESTED\";\r\n//AboutSigner Page\r\nexport const ROLE_SELECTED = \"ROLE_SELECTED\";\r\n\r\n//Collect Marketing Information\r\nexport const MARKETING_INFORMATION_COLLECTED =\r\n \"MARKETING_INFORMATION_COLLECTED\";\r\nexport const SIGNER_NAME_COLLECTED = \"SIGNER_NAME_COLLECTED\";\r\nexport const PARTICIPANTS_COLLECTED = \"PARTICIPANTS_COLLECTED\";\r\n//ParticipantForm Tab\r\nexport const PARTICIPANT_DATA_COLLECTED = \"PARTICIPANT_DATA_COLLECTED\";\r\n\r\n//Signer Video\r\nexport const OPENTOK_REQUESTED = \"OPENTOK_REQUESTED\";\r\nexport const OPENTOK_REQUEST_FAILED = \"OPENTOK_REQUEST_FAILED\";\r\nexport const OPENTOK_REQUEST_SUCCEEDED = \"OPENTOK_REQUEST_SUCCEEDED\";\r\nexport const RECORDING_START_FAILED = \"RECORDING_START_FAILED\";\r\nexport const RECORDING_START_REQUESTED = \"RECORDING_START_REQUESTED\";\r\nexport const RECORDING_START_SUCCEEDED = \"RECORDING_START_SUCCEEDED\";\r\nexport const RECORDING_STOP_FAILED = \"RECORDING_STOP_FAILED\";\r\nexport const RECORDING_STOP_REQUESTED = \"RECORDING_STOP_REQUESTED\";\r\nexport const RECORDING_STOP_SUCCEEDED = \"RECORDING_STOP_SUCCEEDED\";\r\nexport const PERMISSIONS_SET = \"PERMISSIONS_SET\"\r\n\r\n//signedWaiver\r\nexport const SIGNED_WAIVER_SUCCEEDED = \"SIGNED_WAIVER_SUCCEEDED\";\r\nexport const SIGNED_WAIVER_FAILED = \"SIGNED_WAIVER_FAILED\";\r\nexport const SIGNED_WAIVER_SUBMIT_STARTED = \"SIGNED_WAIVER_SUBMIT_STARTED\";\r\nexport const VALUES_SUBMITTED = \"VALUES_SUBMITTED\";\r\nexport const LOCATION_RETRIEVED = \"LOCATION_RETRIEVED\";\r\n\r\n//path info\r\nexport const PATH_REFERENCE_RETRIEVED = \"PATH_REFERENCE_RETRIEVED\";\r\nexport const PATH_PARTICIPANTS_RETRIEVED = \"PATH_PARTICIPANTS_RETRIEVED\";\r\nexport const PATH = \"PATH\"\r\n//export const PATH_PARTICIPANT_INFO_RETRIEVED = \"PATH_PARTICIPANT_INFO_RETRIEVED\"\r\n\r\n////LinkedParticipants\r\nexport const LINKED_PARTICIPANT_SELECTED = \"LINKED_PARTICIPANT_SELECTED\";\r\nexport const LINKED_PARTICIPANTS_SELECTED = \"LINKED_PARTICIPANTS_SELECTED\";\r\nexport const LINKED_PARTICIPANT = \"LINKED_PARTICIPANT\";\r\nexport const LINKED_PARTICIPANTS = \"LINKED_PARTICIPANTS\";\r\nexport const LINKED_PARTICIPANTS_COLLECTED = \"LINKED_PARTICIPANTS_COLLECTED\";\r\nexport const LINKED_PARTICIPANTS_SIGNEDBY = \"LINKED_PARTICIPANTS_SIGNEDBY\";\r\nexport const LINKED_PARTICIPANTS_ROLE3 = \"LINKED_PARTICIPANTS_ROLE3\";\r\nexport const PARTICIPANTS_BIRTHDAYS_COLLECTED =\r\n \"PARTICIPANTS_BIRTHDAYS_COLLECTED\";\r\n\r\nexport const PARTICIPANT_REMOVED = \"PARTICIPANT_REMOVED\";\r\nexport const PPS_SELECTED = \"PPS_SELECTED\";\r\nexport const UPDATE_PPS = \"UPDATE_PPS\";\r\nexport const UPDATE_PPS_ROLE3 = \"UPDATE_PPS_ROLE3\";\r\nexport const SELECTED = \"SELECTED\";\r\nexport const SELECTED_NAMES = \"SELECTED_NAMES\";\r\nexport const ON_SELECT = \"ON_SELECT\";\r\n\r\nexport const PARTICIPANTS_AND_SIGNER_COLLECTED =\r\n \"PARTICIPANTS_AND_SIGNER_COLLECTED\";\r\n\r\nexport const NONE_SELECTED = \"NONE_SELECTED\";\r\nexport const NEXT_SELECTED = \"NEXT_SELECTED\";\r\nexport const NEXT_CONFUSED = \"NEXT_CONFUSED\";\r\n\r\n//new\\\\\r\nexport const SKIPPED_BACKWARDS = \"SKIPPED_BACKWARDS\";\r\nexport const PARTICIPANTS_RESET = \"PARTICIPANTS_RESET\";\r\nexport const PATH_PARTICIPANTS_RESET = \"PATH_PARTICIPANTS_RESET\";\r\n","export const currentLocale = {\r\n next: \"Next\",\r\n back: \"Back\",\r\n datePlaceholder: \"mm/dd/yyyy\",\r\n step0Title: \"Getting Started\",\r\n step1Title: \"Collect Information\",\r\n step2Title: \"Signer Role\",\r\n step3Title: \"Name\",\r\n step4Title: \"Instruction Video\",\r\n step5Title: \"Read Your Waiver\",\r\n step6Title: \"Read Minors Waiver\",\r\n step7Title: \"Record Video\",\r\n step8Title: \"Review Video\",\r\n step9Title: \"Sign Waiver\",\r\n txtInstructions1:\r\n \"To use AWaiver.com to sign a waiver you **must** be over the age of 18 years (born before {{-Date-}}). You may use AWaiver.com to sign on behalf of a minor (under the age of 18 years) if you are the Parent or Court Appointed Legal Guardian.\",\r\n txtInstructions2:\r\n \"If you are a participant and the guardian for other participants, you will need to sign twice. Once for yourself and again for the minor participants.\",\r\n txtInstructions3:\r\n \"Please complete the remaining steps to sign the **{{-WaiverName-}}** waiver for **{{-CompanyName-}}**. \\n Hit the **Next** button in the top right hand side of your screen after completing each step.\",\r\n acknowledgeRead:\r\n \"Please acknowledge that you have read the following waiver.\",\r\n download: \"Click __here__ to download and view pdf \", //\"download\",\r\n guardian: \"Guardian\",\r\n recordInstructions:\r\n \"Please follow the provided instructions to complete your recording\",\r\n recordVideo1: \"Make sure your camera has a clear view of you.\",\r\n recordVideo2: \"Read the statement below.\",\r\n recordVideo3:\r\n \"When you are ready, press the record button and read the statement while facing your camera.\",\r\n recordVideo4: \"Press **Stop** when you have finished reading.\",\r\n timeoutAlert: \"Recording was becoming too long and was stopped!\",\r\n record: \"Record\",\r\n stop: \"Stop\",\r\n reviewRecording: \"Verify Recording\",\r\n reviewRecording1:\r\n \"Please make sure you can **see your face** and you can **hear your voice** clearly in the video. \\n If unsatisfied, please select the *Back Button* to go back and re-record.\",\r\n initialDeviceCheck:\r\n \"To sign AWaiver by this link, the device you are using must have a camera and microphone. Please switch to another device that has a camera and microphone. If you are on an iPhone or iPad, please switch to the Safari browser.\",\r\n noAudio: \"Microphone was not detected\",\r\n noVideo: \"Camera was not detected\",\r\n noVideoOrAudio: \"Neither audio nor video capabilities were detected\",\r\n accessDenied:\r\n \"Due to your permission settings for this site, access has been denied. Please update your settings to include {{-Site-}} and try again.\",\r\n close: \"Close\",\r\n submit: \"Finish\",\r\n enterEmail: \"Enter Your Email Address\",\r\n currentFields: \"Please fill out the following fields\",\r\n email: \"Email\",\r\n enterPhone: \"Enter Your Phone Number\",\r\n enterIce: \"Enter In Case of Emergency Phone Number\",\r\n none: \"None of the above\",\r\n wait: \"Wait\",\r\n startRecording: \"Start Recording\",\r\n selectionAlert: \"Please select your role **below** and then press **Next**.\",\r\n notFound:\r\n \"The waiver you are trying to sign does not exist or is no longer available.\",\r\n needsUpgrade:\r\n \"**Incompatible Browser** \\n The video component of this application is not supported on your mobile device's browser at this time.\",\r\n ios:\r\n \"**Incompatible Browser** \\n The video component of this application is not supported on your mobile device's browser at this time. Please try switching to Safari\",\r\n // submit messages\r\n submitFail: \"There was an error submitting the waiver. Please try again\",\r\n submitSucceeded: \"Your waiver has successfully been submitted.\",\r\n submitting:\r\n \"Your waiver is being **submitted**.
**Please wait** until the completed signing message is displayed.\",\r\n clickToPlay: \"Click play arrow in the image to watch the instructional video\",\r\n\r\n //tim\r\n isParticipant: \"I am signing the waiver for only **Myself**\",\r\n isGuardian:\r\n \"I am signing the waiver as a **Parent of** or **Legal Guardian of** one or more minors\",\r\n isBoth:\r\n \"I am signing the waiver as both: **Myself** and as a **Parent of** or **Legal Guardian** for others\",\r\n step1Heading: \"What is Your Role?\",\r\n roleError: \"Invalid Role\",\r\n yourName: \"Enter your Full Name:\",\r\n yourBirthday: \"Enter your Birthday:\",\r\n step8Heading: \"Please Sign Below:\",\r\n validate: \"Validate\",\r\n validateSignature: \"Validate Signature\",\r\n clear: \"Clear\",\r\n signatureError: \"Incomplete Signature\",\r\n phoneNumberError: \"Invalid Phone Number\",\r\n emailError: \"Invalid Email Address\",\r\n nameError: \"Invalid name - must include first and last name\",\r\n minorNamePlaceHolder: \"Minor's Full Name Here\",\r\n namePlaceHolder: \"Name Here\",\r\n fullNamePlaceHolder: \"Enter Full Name Here\",\r\n andBirthday: \"and Birthday\",\r\n addParticipants: \"Add More Minors\",\r\n participantListHeading: \"Please list the minors that you are signing for:\",\r\n dateOfBirth: \"Date of Birth:\",\r\n participantsName: \"Minor's Name\",\r\n icePhoneNumberError: \"Invalid. These phone numbers cannot be the same.\",\r\n participantsMaxAgeRequirement: \"Minors must be under 18 years old.\",\r\n participantsMinAgeRequirement: \"Minors cannot be born in the future.\",\r\n guardianMinAgeRequirement:\r\n \"Invalid. Guardians must sign for people under 18 years old.\",\r\n guardianMaxAgeRequirement: \"Invalid. Too Old.\",\r\n tooLong: \"Too Long.\",\r\n tooShort: \"Too Short.\",\r\n required: \"Required.\",\r\n nameRequired: \"Name is Required.\",\r\n bothNames: \"Please Enter First and Last Name.\",\r\n optInHeading: \"I agree to receive special events and offerings\",\r\n loading: \"Loading...\",\r\n addMinor: \"Add Another Minor\",\r\n birthdayRequired: \"Minor's Age is Required.\",\r\n incompleteSignature: \"Please Complete Your Signature\",\r\n removeAlert: \"Please remove all extra spaces to continue\",\r\n yourGuardian: \"You are the legal guardian (over 18 years of age)\",\r\n iAm: \"I am\",\r\n yourNameIs: \"Your Name is\",\r\n imOver18: \"and you are over 18 years of age\",\r\n andOver18: \"(over 18 years of age)\",\r\n imSigning: \"You are signing for the following Minors' Name\",\r\n select: \"Select Name Here\",\r\n pressNext: \"Please press the **Next** button to continue\",\r\n oneName: \"One minor's full name per line, Please.\",\r\n privacy:\r\n \"*Your privacy is important to us. In short, we do not share your information with anyone other than the company for which you are signing this waiver. The video you record is used for positive identification of you as the signer of this waiver. You can review our complete privacy statement* __**[here] (https://wp.indexic.net/privacy-policy/).__**\"\r\n};\r\n","import {\r\n NEXT_STEP,\r\n LAST_STEP,\r\n SKIP_STEP,\r\n SKIP_BACK,\r\n SET_VALID,\r\n SET_INVALID,\r\n SET_BACK_VALID,\r\n SET_BACK_INVALID,\r\n NO_STICKY,\r\n //new\\\\\r\n SKIPPED_BACKWARDS,\r\n PARTICIPANTS_RESET,\r\n} from \"../constants\";\r\nimport { currentLocale } from \"../locale\";\r\n\r\nconst initialStepper = {\r\n currentStep: 0,\r\n noSticky: false,\r\n flashing: false,\r\n //new\\\\\r\n skippedBackwards: false,\r\n steps: [\r\n {\r\n step: 0,\r\n isValid: true, //1,\r\n optional: false,\r\n // current: true,\r\n title: currentLocale.step0Title\r\n },\r\n {\r\n step: 1,\r\n // optInMarketing: false,\r\n isValid: false, //1,\r\n optional: true,\r\n // current: false,\r\n title: currentLocale.step1Title\r\n },\r\n {\r\n step: 2,\r\n isValid: false,\r\n // current: false,\r\n optional: false,\r\n title: currentLocale.step2Title\r\n },\r\n {\r\n step: 3,\r\n isValid: false, //0,\r\n // current: false,\r\n optional: false,\r\n title: currentLocale.step3Title\r\n },\r\n\r\n {\r\n step: 4, //ex instructionalVideo\r\n optional: true, //shows if true\r\n isValid: false, //0,\r\n // current: false,\r\n title: currentLocale.step4Title\r\n },\r\n {\r\n step: 5,\r\n isValid: 1,\r\n optional: false,\r\n // current: false,\r\n title: currentLocale.step5Title\r\n },\r\n {\r\n step: 6,\r\n isValid: 0,\r\n optional: false,\r\n // current: false,\r\n title: currentLocale.step6Title\r\n },\r\n {\r\n step: 7,\r\n isValid: 1,\r\n optional: false,\r\n // current: false,\r\n title: currentLocale.step7Title\r\n },\r\n {\r\n step: 8,\r\n isValid: 0,\r\n optional: false,\r\n // current: false,\r\n title: currentLocale.step8Title\r\n },\r\n {\r\n step: 9,\r\n title: currentLocale.step9Title\r\n }\r\n ]\r\n};\r\n\r\nexport const stepper = (state = initialStepper, action) => {\r\n switch (action.type) {\r\n case NEXT_STEP:\r\n return {\r\n ...state,\r\n currentStep: state.currentStep + 1,\r\n steppedBack: false\r\n };\r\n case SKIP_STEP:\r\n return {\r\n ...state,\r\n currentStep: state.currentStep + 2,\r\n steppedBack: false\r\n };\r\n case LAST_STEP:\r\n return {\r\n ...state,\r\n currentStep: state.currentStep - 1,\r\n steppedBack: true\r\n };\r\n case SKIP_BACK:\r\n return {\r\n ...state,\r\n currentStep: state.currentStep - 2,\r\n steppedBack: true\r\n };\r\n case SKIPPED_BACKWARDS:\r\n return { ...state, skippedBackwards: true };\r\n\r\n case PARTICIPANTS_RESET:\r\n return { ...state, skippedBackwards: false };\r\n case NO_STICKY:\r\n return { ...state, noSticky: true };\r\n // return Object.assign({}, state, action.payload.noSticky)\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport const validBackStep = (state = {}, action) => {\r\n switch (action.type) {\r\n case SET_BACK_VALID:\r\n return action.payload;\r\n case SET_BACK_INVALID:\r\n return action.payload;\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport const validStep = (state = {}, action) => {\r\n switch (action.type) {\r\n case SET_VALID:\r\n return action.payload;\r\n case SET_INVALID:\r\n return action.payload;\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\n","import {\r\n SIGNATURE_COMPLETED,\r\n ROLE_SELECTED,\r\n MARKETING_INFORMATION_COLLECTED,\r\n PARTICIPANT_DATA_COLLECTED,\r\n SIGNER_NAME_COLLECTED,\r\n PARTICIPANTS_COLLECTED,\r\n LINKED_PARTICIPANT,\r\n LINKED_PARTICIPANT_SELECTED,\r\n LINKED_PARTICIPANTS_SELECTED,\r\n LINKED_PARTICIPANTS_SIGNEDBY,\r\n LINKED_PARTICIPANTS_COLLECTED,\r\n PARTICIPANTS_AND_SIGNER_COLLECTED,\r\n NONE_SELECTED,\r\n NEXT_SELECTED,\r\n NEXT_CONFUSED,\r\n PARTICIPANTS_RESET\r\n} from \"../constants\";\r\nimport { concat, isEmpty, merge, mergeAll, mergeDeepRight } from \"ramda\";\r\n\r\nconst initialSigningInfoState = {\r\n name: \"\", //validate: <50char, needs a space b/c its first and last name\r\n referenceKey: \"\",\r\n // isGuardian: false, //1\r\n // // isParticipant: false, //bool\r\n // // isBoth: false, //bool\r\n role: 0, //isGuardian || isParticipant || isBoth {1: isParticipant, 2: isGuardian, 3: isBoth}\r\n birthday: \"\",\r\n optIn: true, //bool\r\n phoneNumber: \"\", //must be # -> use react-intl-tel-input dependency\r\n email: \"\", //regEx validation\r\n icePhoneNumber: \"\", //must be # -> use react-intl-tel-input dependency\r\n signature: \"\", //image\r\n dateCreated: \"\", //date ISO format\r\n video: \"\", //video while reading signingStatement,\r\n participants: [\r\n // if isGuardian, then these will be their participants\r\n {\r\n participantName: \"\", //sameValidation for name above\r\n participantBirthday: \"\", //ISO format, **need format for input**\r\n referenceKey: \"\"\r\n }\r\n ],\r\n linkedParticipant: [\r\n {\r\n participantName: \"\", //sameValidation for name above\r\n participantBirthday: \"\", //ISO format, **need format for input**\r\n referenceKey: \"\"\r\n }\r\n ],\r\n errors: { email: \"\", phoneNumber: \"\", icePhoneNumber: \"\" }\r\n // selected: true\r\n //isValid: false\r\n};\r\n\r\nexport const signingInfo = (state = initialSigningInfoState, action) => {\r\n switch (action.type) {\r\n //AboutSignerPage\r\n case ROLE_SELECTED:\r\n return merge(state, { role: Number(action.payload), selected: true });\r\n\r\n case NONE_SELECTED:\r\n return merge(state, { selected: false });\r\n\r\n case NEXT_SELECTED:\r\n return merge(state, { selected: true });\r\n\r\n case NEXT_CONFUSED:\r\n return merge(state, { selected: undefined });\r\n\r\n //BothDrop\\\\\r\n case PARTICIPANTS_RESET:\r\n return merge(state, {\r\n participants: initialSigningInfoState.participants,\r\n linkedParticipant: initialSigningInfoState.linkedParticipant\r\n });\r\n\r\n //MarketingInformation\r\n case MARKETING_INFORMATION_COLLECTED:\r\n return {\r\n ...state,\r\n phoneNumber: action.payload.phoneNumber,\r\n optIn: action.payload.optIn,\r\n email: action.payload.email,\r\n icePhoneNumber: action.payload.icePhoneNumber\r\n };\r\n case SIGNER_NAME_COLLECTED:\r\n return {\r\n ...state,\r\n name: action.payload.name,\r\n participants: concat(action.payload.participants, state.participants)\r\n };\r\n\r\n case PARTICIPANTS_COLLECTED:\r\n // console.log(\"PART_COLLECTEDAC\", action.payload);\r\n //followupTest\r\n return {\r\n ...state,\r\n participants: action.payload.participants\r\n };\r\n\r\n case PARTICIPANTS_AND_SIGNER_COLLECTED:\r\n // console.log(\"PART_COLLECTEDAC\", action.payload);\r\n return {\r\n ...state,\r\n participants: action.payload.participants,\r\n name: action.payload.name\r\n };\r\n\r\n case LINKED_PARTICIPANTS_COLLECTED:\r\n return {\r\n ...state,\r\n participants: action.payload.participants,\r\n name: action.payload.name\r\n };\r\n\r\n /////linkedParticipant\\\\\\\\\r\n case LINKED_PARTICIPANT:\r\n return merge(state, { id: action.payload });\r\n\r\n case LINKED_PARTICIPANT_SELECTED:\r\n return merge(state, action.payload);\r\n\r\n case LINKED_PARTICIPANTS_SELECTED:\r\n if (isEmpty(state.linkedParticipants)) {\r\n return mergeDeepRight(state, { participants: action.payload });\r\n } else {\r\n return mergeAll(state, { participants: action.payload });\r\n }\r\n\r\n case LINKED_PARTICIPANTS_SIGNEDBY:\r\n return merge(state, { name: action.payload });\r\n\r\n //ParticipantForm\r\n case PARTICIPANT_DATA_COLLECTED:\r\n return merge(state, action.payload);\r\n\r\n case SIGNATURE_COMPLETED:\r\n return merge(state, { signature: action.payload });\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n","import {\r\n SIGNED_WAIVER_SUCCEEDED,\r\n VALUES_SUBMITTED,\r\n SIGNED_WAIVER_FAILED,\r\n SIGNED_WAIVER_SUBMIT_STARTED,\r\n LOCATION_RETRIEVED,\r\n PATH_REFERENCE_RETRIEVED,\r\n PATH_PARTICIPANTS_RETRIEVED,\r\n LINKED_PARTICIPANT,\r\n LINKED_PARTICIPANTS,\r\n UPDATE_PPS,\r\n SELECTED_NAMES,\r\n ON_SELECT,\r\n PPS_SELECTED,\r\n PARTICIPANT_REMOVED,\r\n PATH_PARTICIPANTS_RESET, PATH, GUID_SET\r\n} from \"../constants\";\r\nimport { compose, concat, filter, isNil, merge, pluck } from \"ramda\";\r\n\r\nconst initSW = {\r\n data: {},\r\n submitting: false,\r\n failed: false,\r\n succeeded: false,\r\n guid: null\r\n};\r\n\r\nexport const signedWaiver = (state = initSW, action) => {\r\n switch (action.type) {\r\n case VALUES_SUBMITTED:\r\n return Object.assign({}, state, { data: action.payload });\r\n case SIGNED_WAIVER_SUCCEEDED:\r\n return Object.assign({}, state, {\r\n submitting: false,\r\n failed: false,\r\n succeeded: true,\r\n });\r\n case SIGNED_WAIVER_FAILED:\r\n return {\r\n ...state,\r\n failed: true,\r\n submitting: false,\r\n succeeded: false,\r\n\r\n };\r\n case SIGNED_WAIVER_SUBMIT_STARTED:\r\n return Object.assign({}, state, {\r\n submitting: true,\r\n failed: false,\r\n succeeded: false\r\n });\r\n case GUID_SET:\r\n return Object.assign({}, state, { guid: action.payload })\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nconst initialPathParticipantsState = {\r\n participants: [],\r\n updatedParticipants: [],\r\n linkedParticipants: [],\r\n selectedParticipants: [],\r\n linkedParticipant: {},\r\n selectedNames: [],\r\n linkedPath: false\r\n};\r\n\r\nexport const pathParticipants = (\r\n state = initialPathParticipantsState,\r\n action\r\n) => {\r\n switch (action.type) {\r\n case PATH_PARTICIPANTS_RETRIEVED:\r\n return {\r\n ...state,\r\n linkedPath: action.payload.linkedPath,\r\n participants: action.payload.participants\r\n };\r\n\r\n case PATH_PARTICIPANTS_RESET:\r\n return merge(state, initialPathParticipantsState);\r\n\r\n case LINKED_PARTICIPANT:\r\n const linkedParticipantObj = filter(\r\n linkedParticipant =>\r\n linkedParticipant.participantId === Number(action.payload),\r\n state.participants\r\n );\r\n return merge(state, { linkedParticipant: linkedParticipantObj });\r\n\r\n case LINKED_PARTICIPANTS:\r\n const linkedParticipantsObj = filter(\r\n linkedParticipants =>\r\n linkedParticipants.participantId === Number(action.payload),\r\n state.participants\r\n );\r\n if (isNil(state.linkedParticipants)) {\r\n return merge(state, { linkedParticipants: linkedParticipantsObj });\r\n } else {\r\n return {\r\n ...state,\r\n linkedParticipants: concat(\r\n state.linkedParticipants,\r\n linkedParticipantsObj\r\n )\r\n };\r\n }\r\n\r\n case UPDATE_PPS:\r\n return { ...state, updatedParticipants: action.payload };\r\n case PPS_SELECTED:\r\n return {\r\n ...state,\r\n selectedParticipants: concat(action.payload, state.selectedParticipants)\r\n };\r\n\r\n case PARTICIPANT_REMOVED:\r\n return {\r\n ...state,\r\n selectedParticipants: action.payload.selectedParticipants,\r\n selectedNames: action.payload.selectedNames\r\n };\r\n\r\n case SELECTED_NAMES:\r\n const selectedPersonsName = compose(\r\n pluck(\"participantName\"),\r\n filter(p => p.participantId === action.payload.participantId)\r\n )(state.participants);\r\n\r\n return {\r\n ...state,\r\n selectedNames: concat(state.selectedNames, selectedPersonsName)\r\n };\r\n case ON_SELECT:\r\n return {\r\n ...state,\r\n referenceKey: action.payload.referenceKey,\r\n participantsName: action.payload.participantName\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\nexport const locationData = (state = {}, action) => {\r\n switch (action.type) {\r\n case LOCATION_RETRIEVED:\r\n return { ...state, lat: action.payload.lat, lon: action.payload.lon };\r\n case PATH_REFERENCE_RETRIEVED:\r\n return { ...state, referenceKey: action.payload.referenceKey };\r\n default:\r\n return state;\r\n }\r\n};\r\nexport const pathInfo = (state = {}, action) => {\r\n switch (action.type) {\r\n case PATH:\r\n return Object.assign({}, state, { waiverId: action.payload.waiverId, refLocation: action.payload.refLocation, remainingPath: action.payload.remainingPath })\r\n default:\r\n return state\r\n }\r\n}","import { createStore, combineReducers, applyMiddleware } from \"redux\";\r\nimport thunk from \"redux-thunk\";\r\nimport { composeWithDevTools } from \"redux-devtools-extension\";\r\nimport { stepper, validStep, validBackStep } from \"./reducers/stepper\";\r\nimport { signingInfo, } from \"./reducers/signingInfo\";\r\nimport { currentWaiver } from \"./reducers/waiverInfo\"\r\nimport { opentok, recording, } from './reducers/recorder'\r\nimport { signedWaiver, locationData, pathParticipants, pathInfo } from './reducers/signedWaiver'\r\n\r\n\r\n\r\nconst middlewares = [];\r\n\r\nconst enhancer = composeWithDevTools(\r\n applyMiddleware(thunk, ...middlewares)\r\n // other store enhancers if any\r\n);\r\n\r\n\r\nconst store = createStore(combineReducers({\r\n signingInfo,\r\n stepper,\r\n opentok,\r\n recording,\r\n signedWaiver,\r\n locationData,\r\n pathParticipants,\r\n pathInfo,\r\n validStep,\r\n validBackStep,\r\n currentWaiver,\r\n}), enhancer);\r\n\r\n\r\nexport default store;\r\n","import {\r\n OPENTOK_REQUESTED, OPENTOK_REQUEST_FAILED, OPENTOK_REQUEST_SUCCEEDED, RECORDING_START_FAILED,\r\n RECORDING_START_REQUESTED, RECORDING_START_SUCCEEDED,\r\n RECORDING_STOP_FAILED, RECORDING_STOP_REQUESTED, RECORDING_STOP_SUCCEEDED, PERMISSIONS_SET,\r\n} from '../constants'\r\n\r\n\r\nexport const opentok = (state = {}, action) => {\r\n switch (action.type) {\r\n case OPENTOK_REQUESTED:\r\n return { ...state, requesting: action.payload.requesting }\r\n case OPENTOK_REQUEST_FAILED:\r\n return { ...state, requesting: action.payload.requesting, error: action.payload.error, errorMsg: action.payload.errorMsg }\r\n case OPENTOK_REQUEST_SUCCEEDED:\r\n return { ...state, data: action.payload.data, requesting: action.payload.requesting }\r\n case PERMISSIONS_SET:\r\n return Object.assign({}, state, { Permissions: action.payload })\r\n default:\r\n return state\r\n }\r\n}\r\n\r\n\r\nexport const recording = (state = {}, action) => {\r\n switch (action.type) {\r\n case RECORDING_START_FAILED:\r\n return action.payload\r\n case RECORDING_START_REQUESTED:\r\n return action.payload\r\n case RECORDING_START_SUCCEEDED:\r\n return action.payload\r\n case RECORDING_STOP_FAILED:\r\n return action.payload\r\n case RECORDING_STOP_REQUESTED:\r\n return action.payload\r\n case RECORDING_STOP_SUCCEEDED:\r\n return action.payload\r\n default:\r\n return state\r\n }\r\n}\r\n\r\n","import { CURRENT_WAIVER_RETRIEVED, WAIVER_LOADING_FAILED, WAIVER_REQUESTED, } from \"../constants\";\r\nimport moment from 'moment'\r\n\r\n\r\nexport const currentWaiver = (state = {}, action) => {\r\n switch (action.type) {\r\n case CURRENT_WAIVER_RETRIEVED:\r\n // return action.payload\r\n return Object.assign({}, state, action.payload, { loading: false, pdfExpires: moment().add(40, 'minutes') })\r\n case WAIVER_LOADING_FAILED:\r\n // return { ...state, message: action.payload.message }\r\n return Object.assign({}, state, { message: action.payload, waiverId: -1, loading: false })\r\n case WAIVER_REQUESTED:\r\n return Object.assign({}, state, { loading: true })\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n","import React from 'react'\r\nimport { currentLocale } from '../locale'\r\nimport \"../style/sign.scss\"\r\nimport Card from '../components/Card'\r\n\r\nexport const NotFound = () => (\r\n \r\n)\r\n\r\n\r\n\r\n\r\n","let now = new Date()\r\nlet dd = now.getDate()\r\nlet mm = now.getMonth() + 1\r\nconst yyyy = now.getFullYear() - 18\r\n\r\nexport const today = `${mm}/${dd}/${yyyy}`","import showdown from \"react-showdown\";\r\n\r\nexport const converter = new showdown.Converter();\r\n","import React from \"react\";\r\nimport \"../style/sign.scss\";\r\nimport { currentLocale } from \"../locale\";\r\nimport { replace } from \"ramda\";\r\nimport { converter } from \"../lib/converter\";\r\n\r\nexport const Notification = ({ children, title }) => {\r\n return (\r\n
\r\n
\r\n
\r\n
{children}
\r\n
\r\n
\r\n );\r\n};\r\nexport const AboutSignerNotification = ({ children }) => {\r\n return (\r\n
\r\n \r\n {children}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport const SubmitNotification = ({\r\n inform,\r\n failed,\r\n success,\r\n open,\r\n handleClose\r\n}) => {\r\n let className = \"notification\";\r\n if (inform) {\r\n className += \" is-info has-text-centered\";\r\n } else if (failed) {\r\n className += \" is-danger\";\r\n } else if (success) {\r\n className += \" is-success\";\r\n }\r\n let modalClass = \"modal\";\r\n if (open) {\r\n modalClass += \" is-active\";\r\n }\r\n let message;\r\n if (inform) {\r\n message = converter.convert(`${currentLocale.submitting}`);\r\n } else if (failed) {\r\n message = `${currentLocale.submitFail}`;\r\n } else if (success) {\r\n message = `${currentLocale.submitSucceeded}`;\r\n }\r\n let buttonClass;\r\n if (inform) {\r\n buttonClass = \"is-invisible\";\r\n } else {\r\n buttonClass = \"button\";\r\n }\r\n return (\r\n
\r\n
\r\n
\r\n
{message}
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport const AccessDeniedNotification = ({ inform, open, handleClose }) => {\r\n let modalClass = \"modal\";\r\n if (open) {\r\n modalClass += \" is-active\";\r\n }\r\n const message = replace(\r\n \"{{-Site-}}\",\r\n window.location.origin,\r\n `${currentLocale.accessDenied}`\r\n );\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
{message}
\r\n {/* */}\r\n
\r\n
\r\n );\r\n};\r\nexport const Progress = ({}) => {\r\n return (\r\n
\r\n
\r\n
\r\n );\r\n};\r\n","import React, { Component } from \"react\";\r\nimport { currentLocale } from \"../locale\";\r\nimport { replace, compose } from \"ramda\";\r\nimport { connect } from \"react-redux\";\r\nimport { SET_VALID, SET_INVALID, NO_STICKY, GUID_SET } from \"../constants\";\r\nimport {\r\n isEmpty,\r\n find,\r\n propEq,\r\n isNil,\r\n and,\r\n or,\r\n toLower,\r\n propSatisfies,\r\n contains,\r\n includes\r\n} from \"ramda\";\r\nimport { NotFound } from \"./notFound\";\r\nimport { today } from \"../lib/checkAge\";\r\nimport {\r\n Notification,\r\n AccessDeniedNotification,\r\n Progress\r\n} from \"../components/modal\";\r\nimport { create_UUID } from \"../lib/guid\";\r\nimport { converter } from \"../lib/converter\";\r\n\r\nconst OT = require(\"@opentok/client\");\r\nclass Step0 extends Component {\r\n state = {\r\n noAudio: false,\r\n noVideo: false,\r\n needsUpgrade: null,\r\n userAgent: null,\r\n allSet: null,\r\n stream: null\r\n };\r\n\r\n componentWillMount() {\r\n this.props.dispatch({ type: SET_INVALID, payload: false });\r\n // }\r\n async function getMedia(props) {\r\n let stream = null;\r\n const constraints = { audio: true, video: true };\r\n try {\r\n sessionStorage.setItem(\"allSet\", \"pending\");\r\n // this.props.dispatch({ type: SET_INVALID, payload: false })\r\n stream = await navigator.mediaDevices.getUserMedia(constraints);\r\n sessionStorage.setItem(\"allSet\", true);\r\n // Stop the tracks associated with this stream.\r\n stream.getTracks().forEach(trk => trk.stop());\r\n } catch (err) {\r\n sessionStorage.setItem(\"allSet\", false);\r\n // props.dispatch({ type: SET_INVALID, payload: false })\r\n }\r\n }\r\n\r\n this.setState({ needsUpgrade: OT.checkSystemRequirements() });\r\n this.setState({ userAgent: window.navigator.userAgent });\r\n\r\n OT.getDevices((error, devices) => {\r\n if (\r\n find(propEq(\"kind\", \"videoInput\"), devices) === undefined &&\r\n find(propEq(\"kind\", \"audioInput\"), devices) === undefined\r\n ) {\r\n this.setState({ noAudio: true, noVideo: true });\r\n this.props.dispatch({ type: NO_STICKY, payload: true });\r\n this.props.dispatch({ type: SET_INVALID, payload: false });\r\n // return;\r\n } else if (find(propEq(\"kind\", \"videoInput\"), devices) === undefined) {\r\n this.setState({ noVideo: true });\r\n this.props.dispatch({ type: NO_STICKY, payload: true });\r\n this.props.dispatch({ type: SET_INVALID, payload: false });\r\n // return;\r\n } else if (find(propEq(\"kind\", \"audioInput\"), devices) === undefined) {\r\n if (process.env.NODE_ENV === \"production\") {\r\n this.setState({ noAudio: true });\r\n this.props.dispatch({ type: NO_STICKY, payload: true });\r\n this.props.dispatch({ type: SET_INVALID, payload: false });\r\n // return;\r\n } else {\r\n getMedia().then(() => {\r\n // this.setState({ allSet: localStorage.allSet.toString() })\r\n if (\r\n sessionStorage.allSet !== false &&\r\n sessionStorage.allSet !== \"false\"\r\n ) {\r\n this.setState({ accessDenied: false, allSet: true });\r\n this.props.dispatch({ type: SET_VALID, payload: true });\r\n const guid = create_UUID();\r\n if (isNil(this.props.signedWaiver.guid)) {\r\n this.props.dispatch({ type: GUID_SET, payload: guid });\r\n }\r\n } else {\r\n this.setState({ accessDenied: true, allSet: false });\r\n // this.props.dispatch({ type: SET_INVALID, payload: false })\r\n }\r\n });\r\n }\r\n //else { return }\r\n } else {\r\n getMedia().then(() => {\r\n // this.setState({ allSet: localStorage.allSet.toString() })\r\n if (\r\n sessionStorage.allSet !== false &&\r\n sessionStorage.allSet !== \"false\"\r\n ) {\r\n this.setState({ accessDenied: false, allSet: true });\r\n this.props.dispatch({ type: SET_VALID, payload: true });\r\n const guid = create_UUID();\r\n if (isNil(this.props.signedWaiver.guid)) {\r\n this.props.dispatch({ type: GUID_SET, payload: guid });\r\n }\r\n } else {\r\n this.setState({ accessDenied: true, allSet: false });\r\n // this.props.dispatch({ type: SET_INVALID, payload: false })\r\n }\r\n });\r\n // this.props.dispatch({ type: SET_VALID, payload: true });\r\n }\r\n });\r\n }\r\n\r\n render() {\r\n const { waiver } = this.props;\r\n const instruction1 = replace(\r\n \"{{-Date-}}\",\r\n today,\r\n `${currentLocale.txtInstructions1}`\r\n );\r\n const instruction2 = compose(\r\n replace(\"{{-CompanyName-}}\", `${waiver.companyName}`),\r\n replace(\"{{-WaiverName-}}\", `${waiver.name}`)\r\n )(`${currentLocale.txtInstructions3}`);\r\n return (\r\n \r\n {/* {or(propSatisfies(x => x === 404, \"status\", waiver), and(gt(waiver.waiverId, 0), and(isNil(waiver.participantPdf), isNil(waiver.guardianPdf)))) ? ( */}\r\n {waiver.loading ? (\r\n \r\n 60%\r\n \r\n ) : or(\r\n propSatisfies(x => x === 404, \"status\", waiver),\r\n and(isNil(waiver.participantPdf), isNil(waiver.guardianPdf))\r\n ) ? (\r\n //checks if waiver exists and if there is a pdf available\r\n \r\n ) : (\r\n
\r\n \r\n {this.state.needsUpgrade !== 1 &&\r\n contains(\"mac os\", toLower(this.state.userAgent)) ? (\r\n \r\n

\r\n {converter.convert(`${currentLocale.ios}`)}\r\n

\r\n
\r\n ) : this.state.needsUpgrade !== 1 &&\r\n !contains(\"mac os\", toLower(this.state.userAgent)) ? (\r\n \r\n

\r\n {converter.convert(`${currentLocale.needsUpgrade}`)}\r\n

\r\n
\r\n ) : this.state.noAudio && this.state.noVideo ? (\r\n \r\n

\r\n {currentLocale.noVideoOrAudio}\r\n

\r\n

\r\n {currentLocale.initialDeviceCheck}\r\n

\r\n
\r\n ) : this.state.noVideo ? (\r\n \r\n

\r\n {currentLocale.noVideo}\r\n

\r\n

\r\n {currentLocale.initialDeviceCheck}\r\n

\r\n
\r\n ) : this.state.noAudio ? (\r\n \r\n

\r\n {currentLocale.noAudio}\r\n

\r\n

\r\n {currentLocale.initialDeviceCheck}\r\n

\r\n
\r\n ) : sessionStorage.allSet &&\r\n sessionStorage.allSet === \"pending\" ? (\r\n \r\n ) : sessionStorage.allSet && sessionStorage.allSet === \"false\" ? (\r\n \r\n ) : (\r\n
\r\n )}\r\n \r\n
\r\n {converter.convert(instruction1)}\r\n
\r\n
\r\n
\r\n
\r\n

{waiver.name}

\r\n
{waiver.companyName}
\r\n
\r\n
\r\n
\r\n {isEmpty(this.props.waiver.imageUrl) ? (\r\n
\r\n

{waiver.description}

\r\n
\r\n ) : (\r\n
\r\n
\r\n
\r\n {waiver.name}\r\n
\r\n
\r\n
\r\n

{waiver.description}

\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n\r\n \r\n {converter.convert(instruction2)}\r\n \r\n
\r\n {converter.convert(`${currentLocale.privacy}`)}\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\nconst mapActionToProps = dispatch => ({\r\n dispatch\r\n});\r\nexport default connect(\r\n mapStateToProps,\r\n mapActionToProps\r\n)(Step0);\r\n","export function create_UUID() {\r\n var dt = new Date().getTime();\r\n var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n var r = (dt + Math.random() * 16) % 16 | 0;\r\n dt = Math.floor(dt / 16);\r\n return (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16);\r\n });\r\n return uuid;\r\n}","import React from \"react\";\r\n\r\nconst Steps = ({ marker, title, currentStep, step, waiver, hidden }) => {\r\n let stepClass = \"step-item\";\r\n if (currentStep > step) {\r\n stepClass += \" is-completed\";\r\n } else if (currentStep === step) {\r\n stepClass += \" is-active\";\r\n }\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default Steps;\r\n","import React from \"react\";\r\nimport \"../style/sign.scss\";\r\nimport { currentLocale } from \"../locale\";\r\nconst NavButtons = ({\r\n backDisabled,\r\n backOnClick,\r\n forwardDisabled,\r\n forwardOnClick,\r\n nextButton,\r\n loading,\r\n flashing\r\n}) => {\r\n let className;\r\n if (loading) {\r\n className = \"button-forward is-loading\";\r\n } else if (flashing) {\r\n //className += \" is-danger is-outlined\"\r\n className = \"button-pulse\";\r\n } else {\r\n className = \"button-forward\";\r\n }\r\n return (\r\n
\r\n
\r\n \r\n \r\n   {currentLocale.back}{\" \"}\r\n \r\n \r\n {nextButton}   \r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default NavButtons;\r\n","import React, { Component } from \"react\";\r\nimport Steps from \"./steps\";\r\nimport {\r\n and,\r\n find,\r\n gt,\r\n gte,\r\n isEmpty,\r\n isNil,\r\n lte,\r\n map,\r\n or,\r\n propEq,\r\n equals\r\n} from \"ramda\";\r\nimport { currentLocale } from \"../locale\";\r\nimport Sticky from \"react-stickynode\";\r\nimport NavButtons from \"./navButtons\";\r\nimport \"../style/sign.scss\";\r\n\r\nclass Stepper extends Component {\r\n componentDidMount() {\r\n this.timer();\r\n }\r\n\r\n ///noneSelected reducer causes Next button flash => turns selected: true\r\n ///nextConfused reducer for the AboutSigner toast => turn selected: undefined\r\n ///nextSelected reducer sets selected back to false.\r\n componentDidUpdate(prevProps, prevState) {\r\n if (this.props.currentStep !== prevProps.currentStep) {\r\n this.props.nextSelected();\r\n this.timer();\r\n } else if (\r\n and(\r\n !equals(this.props.validStep, prevProps.validStep),\r\n equals(true, this.props.validStep)\r\n )\r\n ) {\r\n setTimeout(this.timer2, 10000, this.props.currentStep);\r\n } else if (\r\n and(\r\n !equals(this.props.recording, prevProps.recording),\r\n gt(this.props.recording.duration, 0)\r\n )\r\n ) {\r\n setTimeout(this.timerStep7, 10000, this.props.currentStep);\r\n }\r\n return;\r\n }\r\n\r\n //this is for form pages => if valid then 10s timer before flashing\r\n timer2 = value => {\r\n if (\r\n and(\r\n and(\r\n equals(this.props.currentStep, value),\r\n !equals(7, this.props.currentStep)\r\n ),\r\n this.props.validStep\r\n )\r\n ) {\r\n this.props.noneSelected();\r\n }\r\n clearTimeout(this.timer2);\r\n };\r\n\r\n //successful video recording\r\n timerStep7 = value => {\r\n if (\r\n and(equals(this.props.currentStep, value), !isEmpty(this.props.recording))\r\n ) {\r\n this.props.noneSelected();\r\n }\r\n };\r\n\r\n ///Timer and handleConfused are for non-form pages\r\n timer = () => {\r\n if (this.props.currentStep === 2) {\r\n setTimeout(this.handleConfused, 15000, this.props.currentStep);\r\n } else if (and(equals(0, this.props.currentStep), this.props.validStep)) {\r\n setTimeout(this.handleInitialConfused, 15000, this.props.currentStep);\r\n } else if (\r\n or(\r\n and(gte(this.props.currentStep, 4), lte(this.props.currentStep, 6)),\r\n equals(8, this.props.currentStep)\r\n )\r\n ) {\r\n setTimeout(this.handleConfused, 120000, this.props.currentStep);\r\n } else if (and(this.props.currentStep === 9, this.props.validStep)) {\r\n setTimeout(this.handleConfused, 15000, this.props.currentStep);\r\n }\r\n return clearTimeout(this.timer);\r\n };\r\n\r\n //first page\r\n handleInitialConfused = value => {\r\n if (equals(0, this.props.currentStep, value)) {\r\n this.props.noneSelected();\r\n }\r\n };\r\n\r\n handleConfused = value => {\r\n if (\r\n //This is for the step2 Toast - Banner\r\n (and(equals(2, this.props.currentStep, value)),\r\n equals(false, this.props.validStep))\r\n ) {\r\n this.props.nextConfused();\r\n } else if (\r\n //(steps = 4-6 || 8) && value === currentStep\r\n and(\r\n or(\r\n and(gte(this.props.currentStep, 4), lte(this.props.currentStep, 6)),\r\n equals(8, this.props.currentStep)\r\n ),\r\n and(equals(this.props.currentStep, value), this.props.validStep)\r\n )\r\n ) {\r\n this.props.noneSelected();\r\n } else if (\r\n equals(9, this.props.currentStep, value) &&\r\n !isNil(this.props.formikProps.touched.signature)\r\n ) {\r\n this.props.noneSelected();\r\n }\r\n clearTimeout(this.timer);\r\n };\r\n\r\n render() {\r\n const {\r\n steps,\r\n currentStep,\r\n activeStep,\r\n waiver,\r\n validStep,\r\n isValid,\r\n validBackStep,\r\n recording,\r\n requesting,\r\n loading,\r\n flashing\r\n } = this.props;\r\n\r\n const step1 = find(propEq(\"step\", 1))(steps);\r\n const step4 = find(propEq(\"step\", 4))(steps);\r\n const step6 = find(propEq(\"step\", 6))(steps);\r\n const optionalSteps = [step1, step4, step6];\r\n const optionalSteps14 = [step1, step4];\r\n const optionalSteps16 = [step1, step6];\r\n const optionalSteps46 = [step4, step6];\r\n let stepsOptions;\r\n if (\r\n this.props.waiver.contactInformation === false &&\r\n this.props.waiver.videoUrl === null &&\r\n (this.props.waiver.participantPdf === null ||\r\n this.props.waiver.guardianPdf === null)\r\n ) {\r\n stepsOptions = steps.filter(step => !optionalSteps.includes(step));\r\n } else if (\r\n this.props.waiver.contactInformation === false &&\r\n this.props.waiver.videoUrl === null\r\n ) {\r\n stepsOptions = steps.filter(step => !optionalSteps14.includes(step));\r\n } else if (\r\n this.props.waiver.contactInformation === false &&\r\n (this.props.waiver.participantPdf === null ||\r\n this.props.waiver.guardianPdf === null)\r\n ) {\r\n stepsOptions = steps.filter(step => !optionalSteps16.includes(step));\r\n } else if (\r\n this.props.waiver.videoUrl === null &&\r\n (this.props.waiver.participantPdf === null ||\r\n this.props.waiver.guardianPdf === null)\r\n ) {\r\n stepsOptions = steps.filter(step => !optionalSteps46.includes(step));\r\n } else if (this.props.waiver.videoUrl === null) {\r\n stepsOptions = steps.filter(step => step !== step4);\r\n } else if (this.props.waiver.contactInformation === false) {\r\n stepsOptions = steps.filter(step => step !== step1);\r\n } else if (\r\n this.props.waiver.participantPdf === null ||\r\n this.props.waiver.guardianPdf === null\r\n ) {\r\n stepsOptions = steps.filter(step => step !== step6);\r\n } else {\r\n stepsOptions = steps;\r\n }\r\n\r\n let moveForward;\r\n if (activeStep.step === this.props.steps.length - 1) {\r\n moveForward = this.props.formikProps.handleSubmit;\r\n } else if (\r\n activeStep.step === 0 &&\r\n this.props.waiver.contactInformation === false &&\r\n this.props.waiver.iceNumber === false\r\n ) {\r\n moveForward = this.props.skipForward;\r\n } else if (activeStep.step === 1) {\r\n moveForward = this.props.stepForward;\r\n } else if (activeStep.step === 2) {\r\n moveForward = this.props.onRoleChange && this.props.stepForward;\r\n } else if (activeStep.step === 3 && this.props.waiver.videoUrl === null) {\r\n moveForward = this.props.skipForward;\r\n } else if (\r\n activeStep.step === 5 &&\r\n (this.props.waiver.participantPdf === null ||\r\n this.props.waiver.guardianPdf === null)\r\n ) {\r\n moveForward = this.props.skipForward;\r\n } else if (\r\n activeStep.step === 5 &&\r\n this.props.signingInfo.role === 3 &&\r\n (this.props.waiver.participantPdf === null ||\r\n this.props.waiver.guardianPdf === null)\r\n ) {\r\n moveForward = this.props.skipForward;\r\n } else if (activeStep.step === 5 && this.props.signingInfo.role !== 3) {\r\n moveForward = this.props.skipForward;\r\n } else {\r\n moveForward = this.props.stepForward;\r\n }\r\n let moveBack;\r\n if (\r\n activeStep.step === 2 &&\r\n this.props.waiver.contactInformation === false &&\r\n this.props.waiver.iceNumber === false\r\n ) {\r\n moveBack = this.props.skipBack;\r\n } else if (activeStep.step === 5 && this.props.waiver.videoUrl === null) {\r\n moveBack = this.props.skipBack;\r\n } else if (\r\n activeStep.step === 7 &&\r\n (this.props.waiver.participantPdf === null ||\r\n this.props.waiver.guardianPdf === null)\r\n ) {\r\n moveBack = this.props.skipBack;\r\n } else if (activeStep.step === 7 && this.props.signingInfo.role !== 3) {\r\n moveBack = this.props.skipBack;\r\n } else if (\r\n activeStep.step === 7 &&\r\n this.props.signingInfo.role === 3 &&\r\n (this.props.waiver.participantPdf === null ||\r\n this.props.waiver.guardianPdf === null)\r\n ) {\r\n moveBack = this.props.skipBack;\r\n } else {\r\n moveBack = this.props.stepPrevious;\r\n }\r\n let nextButton;\r\n if (activeStep.step === this.props.steps.length - 1) {\r\n nextButton = currentLocale.submit;\r\n } else {\r\n nextButton = currentLocale.next;\r\n }\r\n let innerZ;\r\n if (this.props.noSticky) {\r\n innerZ = \"0%\";\r\n // } else if (activeStep.step === 7 || activeStep.step === 8) {\r\n // innerZ = 1000\r\n } else {\r\n // innerZ = '100%'\r\n innerZ = 1000;\r\n }\r\n return (\r\n
\r\n {map(\r\n step => (\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Stepper;\r\n","import React from 'react'\r\nconst Logo = require('../images/awaiver-logo.svg');\r\n\r\nconst MainLogo = ({ waiver }) => (\r\n
\r\n {waiver.waiverId > 0 && waiver.companyLogoUrl !== null ? (\r\n \"Company\r\n ) : (\r\n \"AWaiver\"\r\n )}\r\n
\r\n)\r\n\r\nexport default MainLogo\r\n","import React, { Component } from \"react\";\r\nimport Stepper from \"./stepper\";\r\nimport Logo from \"./logo\";\r\nimport {\r\n and,\r\n compose,\r\n equals,\r\n filter,\r\n find,\r\n head,\r\n isEmpty,\r\n isNil,\r\n length,\r\n not,\r\n or,\r\n propEq\r\n} from \"ramda\";\r\nimport { currentLocale } from \"../locale\";\r\n\r\nclass Layout extends Component {\r\n render() {\r\n const {\r\n steps,\r\n currentStep,\r\n stepForward,\r\n skipBack,\r\n stepPrevious,\r\n id,\r\n children,\r\n waiver,\r\n skipForward,\r\n isValid,\r\n addStep,\r\n errors,\r\n touched,\r\n values,\r\n role,\r\n noSticky,\r\n pathParticipants,\r\n loading,\r\n flashing,\r\n selected,\r\n validStep\r\n } = this.props;\r\n\r\n const activeStep = find(propEq(\"step\", currentStep))(steps);\r\n\r\n let notValid;\r\n\r\n if (currentStep === 2 && isEmpty(role)) {\r\n notValid = true;\r\n } else {\r\n notValid = false;\r\n }\r\n\r\n //currentSTep === 1 validation\\\\\r\n if (\r\n currentStep === 1 &&\r\n waiver.contactInformation &&\r\n waiver.iceNumber &&\r\n touched.email &&\r\n touched.phoneNumber &&\r\n touched.icePhoneNumber &&\r\n head(values.phoneNumber) === `+` &&\r\n head(values.icePhoneNumber) === `+` &&\r\n !equals(values.phoneNumber, values.icePhoneNumber) &&\r\n isEmpty(errors)\r\n ) {\r\n this.props.setValid();\r\n } else if (\r\n currentStep === 1 &&\r\n !waiver.contactInformation &&\r\n waiver.iceNumber &&\r\n touched.icePhoneNumber &&\r\n head(values.icePhoneNumber) === `+` &&\r\n isEmpty(errors)\r\n ) {\r\n this.props.setValid();\r\n } else if (\r\n currentStep === 1 &&\r\n !waiver.iceNumber &&\r\n touched.email &&\r\n touched.phoneNumber &&\r\n head(values.phoneNumber) === `+` &&\r\n isEmpty(errors)\r\n ) {\r\n this.props.setValid();\r\n } else if (\r\n //checking to ensure phoneNumber && icePhoneNumber are not the same\r\n and(\r\n equals(values.phoneNumber, values.icePhoneNumber),\r\n or(waiver.contactInformation, waiver.iceNumber)\r\n )\r\n ) {\r\n //switched from and(contact, ice) => or(contact, ice)\r\n waiver.contactInformation\r\n ? (errors.phoneNumber = currentLocale.icePhoneNumberError)\r\n : (errors.icePhoneNumber = currentLocale.icePhoneNumberError);\r\n } else {\r\n notValid = true;\r\n }\r\n\r\n //currentStep === 3 validation\\\\\r\n if (\r\n currentStep === 3 &&\r\n Number(role) === 1 &&\r\n !waiver.contactInformation &&\r\n !waiver.iceNumber &&\r\n touched.name &&\r\n !errors.name\r\n ) {\r\n this.props.setValid();\r\n } else if (\r\n currentStep === 3 &&\r\n or(Number(role) === 2, Number(role) === 3) &&\r\n !waiver.contactInformation &&\r\n !waiver.iceNumber &&\r\n touched.name &&\r\n !errors.name &&\r\n or(touched.participants, touched.linkedParticipants) &&\r\n or(!errors.participants, !errors.linkedParticipants)\r\n ) {\r\n this.props.setValid();\r\n } else if (\r\n currentStep === 3 && Number(role) === 1 && waiver.birthday\r\n ? touched.name && touched.birthday && isEmpty(errors)\r\n : touched.name &&\r\n length(this.props.formikProps.values.name) > 2 &&\r\n isEmpty(errors)\r\n ) {\r\n this.props.setValid();\r\n ////referenceKey trial\\\\\\\\\r\n } else if (\r\n currentStep === 3 &&\r\n Number(role) === 1 &&\r\n !isEmpty(pathParticipants) &&\r\n waiver.birthday\r\n ? or(touched.id, touched.linkedParticipant) &&\r\n touched.birthday &&\r\n isEmpty(errors)\r\n : or(touched.id, touched.linkedParticipant) && isEmpty(errors)\r\n ) {\r\n this.props.setValid();\r\n } else if (\r\n currentStep === 3 && Number(role) === 2 && waiver.birthday\r\n ? touched.name &&\r\n touched.participants &&\r\n touched.participants.participantDateOfBirth &&\r\n touched.participants.participantName &&\r\n length(\r\n compose(\r\n filter(p => p.participantName),\r\n filter(p => p.participantDateOfBirth)\r\n )(touched.participants)\r\n ) === length(this.props.formikProps.values.participants) &&\r\n isEmpty(errors)\r\n : touched.name &&\r\n touched.participants &&\r\n touched.participants.participantName &&\r\n length(filter(p => p.participantName, touched.participants)) ===\r\n length(this.props.formikProps.values.participants) &&\r\n isEmpty(errors)\r\n ) {\r\n this.props.setValid();\r\n } else if (\r\n currentStep === 3 && Number(role) === 3 && waiver.birthday\r\n ? touched.name &&\r\n touched.birthday &&\r\n touched.participants &&\r\n touched.participants.participantDateOfBirth &&\r\n touched.participants.participantName &&\r\n length(\r\n compose(\r\n filter(p => p.participantName),\r\n filter(p => p.participantDateOfBirth)\r\n )(touched.participants)\r\n ) === length(this.props.formikProps.values.participants) &&\r\n isEmpty(errors)\r\n : touched.name &&\r\n touched.participants &&\r\n touched.participants.participantName &&\r\n length(filter(p => p.participantName, touched.participants)) ===\r\n this.props.formikProps.values.participants.length &&\r\n isEmpty(errors)\r\n ) {\r\n this.props.setValid();\r\n } else if (\r\n ////////no b-day linked system role 2\\\\\\\\\\\\\r\n currentStep === 3 &&\r\n Number(role) === 2 &&\r\n !isEmpty(pathParticipants) &&\r\n waiver.birthday\r\n ? touched.signedByName &&\r\n touched.linkedParticipants &&\r\n touched.linkedParticipants.participantDateOfBirth &&\r\n touched.linkedParticipants.participantDateOfBirth &&\r\n isEmpty(errors)\r\n : touched.signedByName &&\r\n !isNil(touched.linkedParticipants) &&\r\n touched.linkedParticipants.participantName &&\r\n length(filter(p => p.participantName, touched.linkedParticipants)) ===\r\n this.props.formikProps.values.linkedParticipants.length &&\r\n isEmpty(errors)\r\n ) {\r\n this.props.setValid();\r\n } else if (\r\n currentStep === 3 &&\r\n Number(role) === 3 &&\r\n !isEmpty(pathParticipants) &&\r\n waiver.birthday\r\n ? touched.signedByName &&\r\n touched.linkedParticipants &&\r\n touched.linkedParticipants.participantName &&\r\n touched.linkedParticipants.participantName &&\r\n touched.linkedParticipants.participantDateOfBirth &&\r\n touched.linkedParticipants.participantDateOfBirth &&\r\n isEmpty(errors)\r\n : touched.signedByName &&\r\n !isEmpty(touched.linkedParticipants) &&\r\n //touched.linkedParticipants.participantName &&\r\n isEmpty(errors)\r\n ) {\r\n this.props.setValid();\r\n /////////For errors after initially validate\\\\\\\\\\\\\\\r\n } else if (\r\n currentStep === 1 &&\r\n (or(errors.email, errors.phoneNumber) || errors.icePhoneNumber)\r\n ) {\r\n this.props.setInvalid();\r\n } else if (currentStep === 3) {\r\n this.props.setInvalid();\r\n if (and(and(not(selected), not(validStep)), not(isEmpty(errors)))) {\r\n //stops nextButton flashing if step 3 was valid then they made changes that caused errors\r\n this.props.nextSelected();\r\n }\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n {equals(waiver.waiverId, 0) ? (\r\n
\r\n ) : and(isNil(waiver.participantPdf), isNil(waiver.guardianPdf)) ? (\r\n
\r\n ) : (\r\n
\r\n \r\n
\r\n )}\r\n\r\n
\r\n {id} {children}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Layout;\r\n","import React, { Component } from \"react\";\r\nimport SignaturePad from \"signature_pad\";\r\nimport trimCanvas from \"trim-canvas\";\r\nimport PropTypes from \"prop-types\";\r\nimport \"./SignaturePad.scss\";\r\n\r\nexport default class SignatureCanvas extends Component {\r\n static propTypes = {\r\n // signature_pad's props\r\n velocityFilterWeight: PropTypes.number,\r\n minWidth: PropTypes.number,\r\n maxWidth: PropTypes.number,\r\n minDistance: PropTypes.number,\r\n dotSize: PropTypes.oneOfType([PropTypes.number, PropTypes.func]),\r\n penColor: PropTypes.string,\r\n throttle: PropTypes.number,\r\n onEnd: PropTypes.func,\r\n onBegin: PropTypes.func,\r\n // canvas props\r\n canvasProps: PropTypes.object,\r\n clearOnResize: PropTypes.bool\r\n };\r\n\r\n static defaultProps = {\r\n clearOnResize: true\r\n };\r\n\r\n _sigPad = null;\r\n\r\n _excludeOurProps = () => {\r\n let { canvasProps, clearOnResize, ...sigPadProps } = this.props;\r\n return sigPadProps;\r\n };\r\n\r\n componentDidMount() {\r\n this._sigPad = new SignaturePad(this._canvas, this._excludeOurProps());\r\n this._resizeCanvas();\r\n this.clear();\r\n this.on();\r\n }\r\n\r\n componentWillUnmount() {\r\n this.off();\r\n }\r\n\r\n // prop updates to SignaturePad\r\n componentDidUpdate() {\r\n Object.assign(this._sigPad, this._excludeOurProps());\r\n }\r\n\r\n // return the canvas ref for operations like toDataURL\r\n getCanvas = () => {\r\n return this._canvas;\r\n };\r\n\r\n // return a trimmed copy of the canvas\r\n getTrimmedCanvas = () => {\r\n // copy the canvas\r\n let copy = document.createElement(\"canvas\");\r\n copy.width = this._canvas.width;\r\n copy.height = this._canvas.height;\r\n copy.getContext(\"2d\");\r\n //.drawImage(this._canvas, 0, 0);\r\n // then trim it\r\n return trimCanvas(copy);\r\n };\r\n\r\n // return the internal SignaturePad reference\r\n getSignaturePad = () => {\r\n return this._sigPad;\r\n };\r\n\r\n _checkClearOnResize = () => {\r\n if (!this.props.clearOnResize) {\r\n return;\r\n }\r\n this._resizeCanvas();\r\n };\r\n\r\n _resizeCanvas = () => {\r\n let canvasProps = this.props.canvasProps || {};\r\n let { width, height } = canvasProps;\r\n\r\n let canvas = this._canvas;\r\n /* When zoomed out to less than 100%, for some very strange reason,\r\n some browsers report devicePixelRatio as less than 1\r\n and only part of the canvas is cleared then. */\r\n let ratio = Math.max(window.devicePixelRatio || 1, 1);\r\n\r\n // only change width/height if none has been passed in as a prop\r\n if (!width) {\r\n canvas.width = canvas.offsetWidth * ratio;\r\n }\r\n if (!height) {\r\n canvas.height = canvas.offsetHeight * ratio;\r\n }\r\n if (!width || !height) {\r\n canvas.getContext(\"2d\").scale(ratio, ratio);\r\n }\r\n };\r\n\r\n render() {\r\n let { canvasProps } = this.props;\r\n\r\n return (\r\n
\r\n {/* */}\r\n {\r\n this._canvas = ref;\r\n }}\r\n {...canvasProps}\r\n />\r\n
\r\n );\r\n }\r\n\r\n // all wrapper functions below render\r\n on = () => {\r\n window.addEventListener(\"resize\", this._checkClearOnResize);\r\n return this._sigPad.on();\r\n };\r\n\r\n off = () => {\r\n window.removeEventListener(\"resize\", this._checkClearOnResize);\r\n return this._sigPad.off();\r\n };\r\n\r\n clear = () => {\r\n return this._sigPad.clear();\r\n };\r\n\r\n isEmpty = () => {\r\n return this._sigPad.isEmpty();\r\n };\r\n\r\n fromDataURL = (dataURL, options) => {\r\n return this._sigPad.fromDataURL(dataURL, options);\r\n };\r\n\r\n toDataURL = (type, encoderOptions) => {\r\n return this._sigPad.toDataURL(type, encoderOptions);\r\n };\r\n\r\n fromData = pointGroups => {\r\n return this._sigPad.fromData(pointGroups);\r\n };\r\n\r\n toData = () => {\r\n return this._sigPad.toData();\r\n };\r\n}\r\n","import React, { Component } from \"react\";\r\nimport ReactPlayer from \"react-player\";\r\nimport { connect } from \"react-redux\";\r\nimport { SET_VALID } from \"../constants\";\r\nimport \"../style/video.scss\";\r\nimport { currentLocale } from \"../locale\"\r\nclass ResponsivePlayer extends Component {\r\n componentDidMount() {\r\n this.props.dispatch({ type: SET_VALID, payload: true });\r\n }\r\n\r\n render() {\r\n const { waiver } = this.props;\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\nconst mapStateToProps = state => ({});\r\nconst mapActionToProps = dispatch => ({\r\n dispatch\r\n});\r\nconst connector = connect(\r\n mapStateToProps,\r\n mapActionToProps\r\n);\r\nexport default connector(ResponsivePlayer);\r\n","import React, { Component } from \"react\";\r\nimport \"../style/sign.scss\";\r\nexport default class IframeComponent extends Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { SET_VALID } from \"../constants\";\r\nimport { currentLocale } from \"../locale\";\r\nimport { contains, and, toLower } from \"ramda\";\r\nimport IframeComponent from \"../components/iframe\";\r\nimport moment from \"moment\";\r\nimport { head, isEmpty, not } from \"ramda\";\r\nimport { converter } from \"../lib/converter\";\r\nimport '../style/sign.scss'\r\n\r\n\r\nexport const Pdf = ({ pdf, waiver, userAgent }) => {\r\n let type;\r\n if (contains(\"html\", waiver.participantPdf)) {\r\n type = \"text/html\";\r\n } else {\r\n type = \"application/pdf\";\r\n }\r\n return (\r\n \r\n {and(\r\n contains(\"html\", waiver.participantPdf),\r\n contains(\"mac os\", toLower(userAgent))\r\n ) ? (\r\n \r\n ) : (\r\n \r\n \r\n {converter.convert(`${currentLocale.download}`)}\r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nclass Step5 extends Component {\r\n state = { userAgent: \"\" };\r\n componentWillMount() {\r\n //checking to see if this is first time through (or if they're going back to edit)\r\n if (\r\n not(isEmpty(head(this.props.signingInfo.participants).participantName))\r\n ) {\r\n this.props.skippedBackwards();\r\n }\r\n\r\n //checking to see if pdfs are expired and if so it re gets\r\n if (moment().isAfter(`${this.props.waiver.pdfExpires}`)) {\r\n this.props.getCurrentWaiver();\r\n }\r\n this.props.dispatch({ type: SET_VALID, payload: true });\r\n this.setState({ userAgent: window.navigator.userAgent });\r\n }\r\n\r\n render() {\r\n const { waiver, minorPage, signingInfo } = this.props;\r\n const { userAgent } = this.state;\r\n return (\r\n
\r\n {minorPage === true &&\r\n signingInfo.role === 3 &&\r\n (waiver.participantPdf && waiver.guardianPdf) ? (\r\n \r\n ) : signingInfo.role === 2 &&\r\n (waiver.participantPdf && waiver.guardianPdf) ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\nconst mapStateToProps = state => ({});\r\nconst mapActionToProps = dispatch => ({\r\n dispatch\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapActionToProps\r\n)(Step5);\r\n","import React from \"react\";\r\nimport classNames from \"classnames\";\r\nimport \"./AboutSigner.scss\";\r\n\r\nexport const InputFeedback = ({ error }) =>\r\n error ?
{error}
: null;\r\n\r\nexport const RadioButton = ({\r\n field: { name, onChange, onBlur, value },\r\n id,\r\n label,\r\n className,\r\n ...props\r\n}) => {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport const RadioButtonGroup = ({ error, touched, label, children }) => {\r\n //props === value, className\r\n // const classes = classNames(\r\n // \"input-field\",\r\n // {\r\n // \"is-success\": value || (!error && touched),\r\n // \"is-error\": !!error && touched\r\n // },\r\n // className\r\n // );\r\n\r\n return (\r\n
\r\n {label}\r\n {children}\r\n {touched && }\r\n
\r\n );\r\n};\r\n","import React, { Component } from \"react\";\r\nimport { Field, Form } from \"formik\";\r\nimport { RadioButton, RadioButtonGroup } from \"./RadioButton\";\r\nimport \"./AboutSigner.scss\";\r\nimport { currentLocale } from \"../locale\";\r\nimport {\r\n SET_INVALID,\r\n SET_VALID,\r\n MARKETING_INFORMATION_COLLECTED\r\n} from \"../constants\";\r\nimport { connect } from \"react-redux\";\r\nimport { converter } from \"../lib/converter\";\r\nimport { AboutSignerNotification } from \"./modal\";\r\nimport { isNil } from \"ramda\";\r\n\r\nclass AboutSigner extends Component {\r\n state = {\r\n lat: \"\",\r\n lng: \"\",\r\n stateParticipantData: {\r\n role: \"\",\r\n optIn: true //already chosen\r\n }\r\n };\r\n\r\n componentWillMount() {\r\n this.props.getPathParticipants();\r\n const { values } = this.props.formikProps;\r\n if (this.props.waiver.contactInformation || this.props.waiver.iceNumber) {\r\n this.props.dispatch({\r\n type: MARKETING_INFORMATION_COLLECTED,\r\n payload: {\r\n phoneNumber: values.phoneNumber,\r\n optIn: values.optIn,\r\n icePhoneNumber: values.icePhoneNumber,\r\n email: values.email\r\n }\r\n });\r\n }\r\n if (this.props.signingInfo.role === 0) {\r\n this.props.dispatch({ type: SET_INVALID, payload: false });\r\n } else {\r\n this.props.dispatch({ type: SET_VALID, payload: true });\r\n }\r\n }\r\n\r\n render() {\r\n const { values, errors, touched, onRoleChange } = this.props;\r\n return (\r\n \r\n {/* {equals(false, this.props.selected) ? ( */}\r\n {isNil(this.props.selected) ? (\r\n \r\n {converter.convert(currentLocale.selectionAlert)}\r\n \r\n ) : null}\r\n
\r\n onRoleChange(e.target.value)}\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 selected: state.signingInfo.selected\r\n});\r\n\r\nconst mapActionToProps = dispatch => ({\r\n dispatch\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapActionToProps\r\n)(AboutSigner);\r\n","import React from \"react\";\r\nimport IntlTelInput from \"react-intl-tel-input\";\r\nimport \"react-intl-tel-input/dist/main.css\";\r\nimport \"./Marketing.scss\";\r\nimport { last } from \"ramda\";\r\n\r\nconst CustomIntlTelInput = ({\r\n value,\r\n css,\r\n preferredCountries,\r\n form: { setFieldValue, setFieldTouched, errors, touched },\r\n field: { name, validateField },\r\n ...props\r\n}) => {\r\n return (\r\n
\r\n {\r\n if (isNaN(last(value))) {\r\n setFieldTouched(name, true, true);\r\n }\r\n if (isValid) {\r\n setFieldTouched(name, true, true);\r\n value = window.intlTelInputUtils.formatNumber(\r\n value,\r\n countryCode.iso2\r\n );\r\n setFieldValue(name, value);\r\n }\r\n setFieldValue(name, value);\r\n }}\r\n onPhoneNumberBlur={() => {\r\n setFieldTouched(name, true, true);\r\n }}\r\n // preferredCountries={[`${preferredCountries}`]}\r\n preferredCountries={preferredCountries}\r\n css={[\"intl-tel-input\", `${css}`]}\r\n format={true}\r\n />\r\n\r\n {errors[name] && touched[name] ? (\r\n
{errors[name]}
\r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default CustomIntlTelInput;\r\n","import {\r\n equals,\r\n filter,\r\n gte,\r\n isEmpty,\r\n length,\r\n match,\r\n split,\r\n trim\r\n} from \"ramda\";\r\nimport moment from \"moment\";\r\nimport { currentLocale } from \"../locale\";\r\nimport * as Yup from \"yup\";\r\n\r\nexport const setOrdinal = value => {\r\n let s = [\"th\", \"st\", \"nd\", \"rd\"],\r\n v = value % 100;\r\n return value + (s[(v - 20) % 10] || s[v] || s[0]);\r\n};\r\n\r\n//now checks for at least 2 names that are at least 2 letters each\r\nexport const validateName = value => {\r\n let errorMessage;\r\n let singleName = value => split(\" \", trim(value));\r\n let gtNameLength = value => gte(length(value), 2); //length(value)\r\n // let nameLength = value => length(value) < 2;\r\n\r\n if (isEmpty(value)) {\r\n errorMessage = currentLocale.nameRequired;\r\n } else if (length(value) < 5) {\r\n errorMessage = currentLocale.tooShort;\r\n } else if (length(value) > 50) {\r\n errorMessage = currentLocale.tooLong;\r\n } else if (isEmpty(match(/ /, trim(value)))) {\r\n errorMessage = currentLocale.bothNames;\r\n // } else if (!isEmpty(filter(nameLength, singleName(value)))) {\r\n // errorMessage = currentLocale.tooShort;\r\n } else if (gte(1, length(filter(gtNameLength, singleName(value))))) {\r\n errorMessage = currentLocale.tooShort;\r\n }\r\n\r\n return errorMessage;\r\n};\r\n\r\nexport const validateEmail = value => {\r\n let errorMessage;\r\n if (!/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i.test(value)) {\r\n errorMessage = currentLocale.emailError;\r\n }\r\n return errorMessage;\r\n};\r\n\r\nexport const validatePhoneNumbers = values => {\r\n let errorMessage;\r\n if (equals(values.phoneNumber, values.icePhoneNumber)) {\r\n errorMessage = currentLocale.icePhoneNumberError;\r\n }\r\n return errorMessage;\r\n};\r\n\r\nexport const participantsAgeTest = value => {\r\n let errorMessage;\r\n const now = new Date();\r\n let today = age(moment(now).format(\"YYYY-MM-DD\"));\r\n let format = age(moment(value).format(\"YYYY-MM-DD\"));\r\n\r\n if (isEmpty(value)) {\r\n errorMessage = currentLocale.birthdayRequired;\r\n } else if (age(value) > 18) {\r\n errorMessage = currentLocale.participantsMaxAgeRequirement;\r\n } else if (format < today) {\r\n errorMessage = currentLocale.participantsMinAgeRequirement;\r\n }\r\n return errorMessage;\r\n};\r\n\r\nexport const guardianAgeTest = value => {\r\n let errorMessage;\r\n //let format = moment(value).format(\"YYYY-MM-DD\");\r\n\r\n if (age(value) < 18) {\r\n errorMessage = currentLocale.guardianMinAgeRequirement;\r\n } else if (age(value) > 125) {\r\n errorMessage = currentLocale.guardianMaxAgeRequirement;\r\n }\r\n return errorMessage;\r\n};\r\n\r\n///More Accurate\\\\\\\r\nexport const age = value => {\r\n let birthday = +new Date(value);\r\n return ~~((Date.now() - birthday) / 31557600000);\r\n};\r\n\r\nexport const FormikAppSchema = Yup.object().shape({\r\n name: Yup.string()\r\n .min(4, \"Name is too short\")\r\n .max(50, \"Name is too long\")\r\n .required(\"Name is required\"),\r\n birthday: Yup.date()\r\n .typeError(\"Invalid Date\")\r\n // .min(, \"You must be 18 years old to participate\")\r\n //.max(1900, \"You better be under 100 to go parasailing\")\r\n .required(\"Your birthday is required\"),\r\n email: Yup.string()\r\n .email(\"Invalid Email Address\")\r\n .required(\"Email Address is required for marketing information\"),\r\n phoneNumber: Yup.number()\r\n // .min(5, \"Phone number is too long\")\r\n // .max(15, \"Phone number is too short\")\r\n .required(\"Phone number is required\"),\r\n icePhoneNumber: Yup.number()\r\n // .min(5, \"Phone Number is too short\")\r\n // .max(15, \"Phone Number is too long\")\r\n .required(\"In case of emergency phone number is required\")\r\n //optIn: Yup.bool().oneOf([true])\r\n // participants: Yup.array().of(\r\n // Yup.object().shape({\r\n // participantName: Yup.string()\r\n // .min(4, \"Too Short\")\r\n // .max(50, \"Too Long\")\r\n // .required(\"First and Last Name are required\"),\r\n // participantDateOfBirth: Yup.date()\r\n // .typeError(\"Invalid Date\")\r\n // // .min(18, \"You must be 18 years old to participate\")\r\n // //.max(18, \"Guardians can only sign for participants younger than 18\")\r\n // .required(\"Their birthday is required\")\r\n // })\r\n // )\r\n});\r\n\r\n// export const ParticipantSchema = Yup.object().shape({\r\n// name: Yup.string()\r\n// .min(2, \"Name is too short\")\r\n// .max(50, \"Name is too long\")\r\n// .required(\"Name is required\"),\r\n// birthday: Yup.date()\r\n// .min(18, \"You must be 18 years old to participate\")\r\n// .max(100, \"You better be under 100 to go parasailing\")\r\n// .required(\"Your birthday is required\")\r\n\r\n// const ParticipantListSchema = Yup.object().shape({\r\n// participants: Yup.array()\r\n// .of(\r\n// Yup.object().shape({\r\n// participantName: Yup.string()\r\n// .min(4, \"Too Short\")\r\n// .max(50, \"Too Long\")\r\n// .required(\"First and Last Name are required\"),\r\n// participantDateOfBirth: Yup.date()\r\n// .typeError(\"Invalid Date\")\r\n// // .min(18, \"You must be 18 years old to participate\")\r\n// //.max(18, \"Guardians can only sign for participants younger than 18\")\r\n// .required(\"Their birthday is required\")\r\n// })\r\n// )\r\n// .required(\"Complete all fields or remove them.\")\r\n// });\r\n\r\n//.default(() => new Date())\r\n// participantName: Yup()\r\n// .string()\r\n// .min(2, 'Name is too short')\r\n// .max(50, 'Name is too long)\r\n// .required('The Participant's name is required')\r\n// });\r\n\r\n///////////////MarketingValidationSchema\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\r\n// const MarketingSchema = Yup.object().shape({\r\n// email: Yup.string()\r\n// .email(\"Invalid Email Address\")\r\n// .required(\"Email Address is required for marketing information\"),\r\n// phoneNumber: Yup.number()\r\n// // .min(5, \"Phone number is too long\")\r\n// // .max(15, \"Phone number is too short\")\r\n// .required(\"Phone number is required\"),\r\n// icePhoneNumber: Yup.number()\r\n// // .min(5, \"Phone Number is too short\")\r\n// // .max(15, \"Phone Number is too long\")\r\n// .required(\"In case of emergency phone number is required\")\r\n// });\r\n","import React from \"react\";\r\n\r\nexport const Checkbox = ({\r\n field: { name, onChange, onBlur, value },\r\n form,\r\n label,\r\n className,\r\n ...props\r\n}) => {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\n","import React, { Component } from \"react\";\r\nimport { Field } from \"formik\";\r\nimport \"./Marketing.scss\";\r\nimport CustomIntlTelInput from \"./CustomIntlTelInput\";\r\nimport { currentLocale } from \"../locale\";\r\nimport { validateEmail } from \"./validation\";\r\nimport { Checkbox } from \"./Checkbox\";\r\n\r\nclass Marketing extends Component {\r\n state = {\r\n stateParticipantData: {\r\n phoneNumber: \"\", //+447795214092\r\n email: \"\",\r\n icePhoneNumber: \"\",\r\n role: 1, //isParticipant - already entered (its own tab)\r\n optIn: false //must be true in order to end up on this page\r\n }\r\n };\r\n\r\n render() {\r\n const { values, errors, touched, waiver } = this.props;\r\n\r\n let preferredCountries = [\"us\", \"gb\", \"ca\"];\r\n const locale = window.navigator.language;\r\n if (locale && locale.length === 5) {\r\n const country = locale.substring(3);\r\n if (preferredCountries.indexOf(country) == -1) {\r\n preferredCountries.unshift(country);\r\n }\r\n }\r\n return (\r\n
\r\n {waiver.contactInformation && waiver.iceNumber ? (\r\n
\r\n
\r\n \r\n \r\n {errors.email && touched.email ? (\r\n {errors.email}\r\n ) : null}\r\n
\r\n\r\n
\r\n \r\n \r\n window.intlTelInputUtils.isValidNumber(phoneNumber, \"\")\r\n ? \"\"\r\n : `${currentLocale.phoneNumberError}`\r\n }\r\n component={CustomIntlTelInput}\r\n value={values.phoneNumber}\r\n preferredCountries={preferredCountries}\r\n css=\"input\"\r\n />\r\n
\r\n
\r\n \r\n \r\n window.intlTelInputUtils.isValidNumber(phoneNumber, \"\")\r\n ? \"\"\r\n : `${currentLocale.phoneNumberError}`\r\n }\r\n value={values.icePhoneNumber}\r\n component={CustomIntlTelInput}\r\n preferredCountries={preferredCountries}\r\n css=\"input\"\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n ) : waiver.contactInformation ? (\r\n
\r\n
\r\n \r\n \r\n {errors.email && touched.email ? (\r\n {errors.email}\r\n ) : null}\r\n
\r\n\r\n
\r\n \r\n \r\n window.intlTelInputUtils.isValidNumber(phoneNumber, \"\")\r\n ? \"\"\r\n : `${currentLocale.phoneNumberError}`\r\n }\r\n component={CustomIntlTelInput}\r\n value={values.phoneNumber}\r\n preferredCountries={preferredCountries}\r\n css=\"input\"\r\n />\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n ) : waiver.iceNumber ? (\r\n
\r\n
\r\n \r\n \r\n window.intlTelInputUtils.isValidNumber(phoneNumber, \"\")\r\n ? \"\"\r\n : `${currentLocale.phoneNumberError}`\r\n }\r\n name=\"icePhoneNumber\"\r\n component={CustomIntlTelInput}\r\n value={values.icePhoneNumber}\r\n preferredCountries={preferredCountries}\r\n css=\"input\"\r\n />\r\n
\r\n
\r\n ) : (\r\n
\r\n

{currentLocale.loading}

\r\n
\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Marketing;\r\n","import React from \"react\";\r\nimport { ErrorMessage } from \"formik\";\r\nimport { isEmpty } from \"ramda\";\r\nimport \"./Marketing.scss\";\r\n\r\nconst Name = ({\r\n label,\r\n placeholder,\r\n index,\r\n field: { name, validateField, value },\r\n form: { setFieldValue, setFieldTouched, errors, touched }\r\n}) => {\r\n return (\r\n
\r\n \r\n {\r\n setFieldTouched(name, true, true);\r\n setFieldValue(name, e.target.value);\r\n }}\r\n onBlur={e => {\r\n setFieldTouched(name, true, true);\r\n setFieldValue(name, e.target.value);\r\n }}\r\n index={index}\r\n />\r\n {touched[name] && !isEmpty(errors.name) ? (\r\n {errors.name}\r\n ) : (\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default Name;\r\n","import React from \"react\";\r\nimport { ErrorMessage } from \"formik\";\r\nimport \"./ParticipantForm.scss\";\r\n\r\nconst BirthDate = ({\r\n field: { name, validateField, value },\r\n form: { setFieldValue, setFieldTouched },\r\n label,\r\n className,\r\n placeholder,\r\n ...props\r\n}) => (\r\n
\r\n \r\n {\r\n setFieldTouched(name, true, true);\r\n setFieldValue(name, e.target.value);\r\n }}\r\n />\r\n \r\n
\r\n );\r\n\r\nexport default BirthDate;\r\n","import React from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { Field, FieldArray } from \"formik\";\r\nimport BirthDate from \"./BirthDate\";\r\nimport Name from \"./Name\";\r\nimport \"./ParticipantForm.scss\";\r\nimport { participantsAgeTest, validateName, setOrdinal } from \"./validation\";\r\nimport { currentLocale } from \"../locale\";\r\nimport { gte } from \"ramda\";\r\nimport { NEXT_SELECTED } from \"../constants\";\r\n\r\nconst ParticipantList = props => {\r\n const { field, form, nextSelected, waiver } = props;\r\n return (\r\n
\r\n (\r\n (\r\n
\r\n
\r\n
\r\n

\r\n {waiver.birthday\r\n ? `${currentLocale.imSigning} ${\r\n currentLocale.andBirthday\r\n }`\r\n : `${currentLocale.imSigning}`}\r\n

\r\n

{currentLocale.oneName}

\r\n
\r\n
\r\n\r\n {form.values.participants &&\r\n form.values.participants.length > 0 ? (\r\n form.values.participants.map((participant, index) => (\r\n
\r\n
\r\n \r\n
\r\n\r\n {waiver.birthday ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n\r\n {gte(index, 1) ? (\r\n
\r\n \r\n arrayHelpers.remove(\"\")}\r\n >\r\n \r\n \r\n
\r\n ) : null}\r\n
\r\n ))\r\n ) : (\r\n
\r\n )}\r\n
\r\n {\r\n arrayHelpers.push({\r\n participantName: \"\",\r\n participantBirthday: \"\"\r\n });\r\n nextSelected();\r\n }}\r\n >\r\n {currentLocale.addMinor}\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 waiver: state.currentWaiver\r\n});\r\n\r\nconst mapActionsToProps = dispatch => ({\r\n nextSelected: () => dispatch({ type: NEXT_SELECTED })\r\n});\r\n\r\nconst connector = connect(\r\n mapStateToProps,\r\n mapActionsToProps\r\n);\r\n\r\nexport default connector(ParticipantList);\r\n","import {\r\n SIGNED_WAIVER_SUCCEEDED,\r\n SIGNED_WAIVER_FAILED,\r\n SIGNED_WAIVER_SUBMIT_STARTED,\r\n VALUES_SUBMITTED,\r\n LOCATION_RETRIEVED,\r\n PATH_REFERENCE_RETRIEVED,\r\n PATH_PARTICIPANTS_RETRIEVED,\r\n UPDATE_PPS,\r\n LINKED_PARTICIPANTS,\r\n LINKED_PARTICIPANTS_SIGNEDBY,\r\n PPS_SELECTED,\r\n PARTICIPANT_REMOVED,\r\n SELECTED_NAMES,\r\n LINKED_PARTICIPANT\r\n} from \"../constants\";\r\nimport fetch from \"isomorphic-fetch\";\r\nimport omitEmpty from \"omit-empty\";\r\nimport {\r\n find,\r\n head,\r\n init,\r\n isEmpty,\r\n has,\r\n length,\r\n pluck,\r\n propEq,\r\n reject,\r\n drop\r\n} from \"ramda\";\r\n\r\nconst submitValues = values => (dispatch, getState) => {\r\n const signedWaiverData = {\r\n waiverId: getState().currentWaiver.waiverId,\r\n signVideoSessionId: getState().recording.id,\r\n signedByRole: getState().signingInfo.role,\r\n optIn: getState().signingInfo.optIn,\r\n contactEmail: getState().signingInfo.email,\r\n contactPhone: getState().signingInfo.phoneNumber,\r\n emergencyPhone: getState().signingInfo.icePhoneNumber,\r\n participants: getState().signingInfo.participants,\r\n signedByName: getState().signingInfo.name,\r\n signerInitials: getState().signingInfo.signerInitials,\r\n lat: getState().locationData.lat,\r\n lon: getState().locationData.lon,\r\n referenceKey: getState().pathInfo.refLocation,\r\n signature: getState().signingInfo.signature,\r\n kioskWaiverKey: getState().signedWaiver.guid\r\n };\r\n const signedWaiver = omitEmpty(signedWaiverData);\r\n dispatch({ type: VALUES_SUBMITTED, payload: signedWaiver });\r\n};\r\n\r\nexport const submitSignedWaiver = () => async (dispatch, getState) => {\r\n dispatch(submitValues());\r\n dispatch({\r\n type: SIGNED_WAIVER_SUBMIT_STARTED,\r\n payload: {\r\n submitting: true\r\n }\r\n });\r\n const result = await fetch(`${process.env.PUBLIC_URL}/api/Sign/Post`, {\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n method: \"POST\",\r\n body: JSON.stringify(getState().signedWaiver.data)\r\n })\r\n .then(res => res.json())\r\n .catch(err => dispatch({ type: SIGNED_WAIVER_FAILED }));\r\n if (result.status === 0 || result.Status === 0) {\r\n dispatch({ type: SIGNED_WAIVER_SUCCEEDED });\r\n } else {\r\n dispatch({ type: SIGNED_WAIVER_FAILED });\r\n }\r\n};\r\n\r\nexport const getCoords = () => (dispatch, getState) => {\r\n if (navigator.geolocation) {\r\n //check if geolocation is available\r\n navigator.geolocation.getCurrentPosition(\r\n function (position) {\r\n const latitude = position.coords.latitude;\r\n const longitude = position.coords.longitude;\r\n dispatch({\r\n type: LOCATION_RETRIEVED,\r\n payload: { lat: latitude, lon: longitude }\r\n });\r\n },\r\n err => console.log(\"geo err\", err),\r\n { enableHighAccuracy: true, timeout: 5000, maximumAge: 0 }\r\n );\r\n }\r\n};\r\n\r\n\r\n\r\nexport const getPathParticipants = () => (dispatch, getState) => {\r\n var pathArray = window.location.pathname.split(\"/\");\r\n var paLength = length(pathArray);\r\n var remainingPath = pathArray[Number(paLength) - 1];\r\n const decodedArray = decodeURI(remainingPath);\r\n\r\n const participantsArray = decodedArray.split(\";\");\r\n const initParticipantsArray = init(participantsArray);\r\n const partArray = initParticipantsArray.map(p => {\r\n const splitArray = p.split(\"^\");\r\n return splitArray[0].length === 0\r\n ? \"\"\r\n : {\r\n participantName: splitArray[0],\r\n referenceKey: splitArray[1],\r\n participantId: Math.floor(Math.random() * 1000)\r\n };\r\n });\r\n var linkedPath = !isEmpty(partArray) ? true : false;\r\n dispatch({\r\n type: PATH_PARTICIPANTS_RETRIEVED,\r\n payload: { participants: partArray, linkedPath: linkedPath }\r\n });\r\n};\r\n\r\nexport const getLinkedParticipants = id => (dispatch, getState) => {\r\n const role = getState().signingInfo.role;\r\n\r\n const pps = getState().pathParticipants.participants;\r\n\r\n const signedBy = head(pps);\r\n\r\n const person = find(propEq(\"participantId\", Number(id)))(pps);\r\n\r\n const updatedPps = reject(p => p.participantId === Number(id), pps);\r\n\r\n if (role === 2 || !isEmpty(getState().pathParticipants.linkedParticipants)) {\r\n dispatch({\r\n type: LINKED_PARTICIPANTS,\r\n payload: id\r\n });\r\n dispatch({\r\n type: PPS_SELECTED,\r\n payload: [person]\r\n });\r\n dispatch({\r\n type: SELECTED_NAMES,\r\n payload: person\r\n });\r\n dispatch({\r\n type: UPDATE_PPS,\r\n payload: updatedPps\r\n });\r\n } else if (role === 1) {\r\n dispatch({ type: LINKED_PARTICIPANT, payload: id });\r\n } else {\r\n dispatch({ type: LINKED_PARTICIPANT, payload: id });\r\n dispatch({\r\n type: LINKED_PARTICIPANTS_SIGNEDBY,\r\n payload: signedBy.participantName\r\n });\r\n dispatch({\r\n type: LINKED_PARTICIPANTS,\r\n payload: id\r\n });\r\n dispatch({\r\n type: PPS_SELECTED,\r\n payload: [person]\r\n });\r\n dispatch({\r\n type: SELECTED_NAMES,\r\n payload: person\r\n });\r\n dispatch({\r\n type: UPDATE_PPS,\r\n payload: updatedPps\r\n });\r\n }\r\n};\r\n\r\nexport const removeParticipant = id => (dispatch, getState) => {\r\n const linkedParticipants = getState().pathParticipants.linkedParticipants;\r\n\r\n const selectedParticipants = reject(\r\n propEq(\"participantName\", `${id}`),\r\n linkedParticipants\r\n );\r\n\r\n const selectedNames = pluck(`participantName`, selectedParticipants);\r\n\r\n dispatch({\r\n type: PARTICIPANT_REMOVED,\r\n payload: {\r\n selectedParticipants: selectedParticipants,\r\n selectedNames: selectedNames\r\n }\r\n });\r\n};\r\n","import React, { Component } from \"react\";\r\nimport { ErrorMessage } from \"formik\";\r\nimport \"./ParticipantForm.scss\";\r\nimport { connect } from \"react-redux\";\r\nimport { getLinkedParticipants } from \"../action-creators/signedWaiver\";\r\nimport { difference } from \"ramda\";\r\n\r\nclass DropDown extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.handleClick = this.handleClick.bind(this);\r\n this.handleInputChange = this.handleInputChange.bind(this);\r\n this.textInput = null;\r\n this.setTextInputRef = element => {\r\n this.textInput = element;\r\n };\r\n this.state = {\r\n name: this.props.value || \"\",\r\n referenceKey: \"\",\r\n id: \"\",\r\n droppedDown: false\r\n };\r\n }\r\n\r\n handleClick = (index, participant, event) => {\r\n this.setState({\r\n name: participant.participantName,\r\n id: participant.participantId,\r\n referenceKey: participant.referenceKey,\r\n droppedDown: false\r\n });\r\n this.props.form.setFieldTouched(`${this.props.field.name}`, true, true);\r\n this.props.form.setFieldValue(\r\n `${this.props.field.name}`,\r\n participant.participantName\r\n );\r\n this.props.onChange(participant.participantId);\r\n };\r\n\r\n handleDroppedDown = () => {\r\n this.setState({ droppedDown: !this.state.droppedDown });\r\n };\r\n\r\n handleInputChange = event => {\r\n if (this.props.onChange) {\r\n this.props.onChange(event, this.state.referenceKey);\r\n }\r\n this.props.form.setFieldTouched(`${this.props.field.name}`, true, true);\r\n this.props.form.setFieldValue(\r\n `${this.props.field.name}`,\r\n this.textInput.value\r\n );\r\n this.setState({ name: this.textInput.value });\r\n };\r\n\r\n render() {\r\n const {\r\n participants,\r\n name,\r\n label,\r\n placeholder,\r\n validate,\r\n index\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n
\r\n
\r\n \r\n {this.props.form.touched[this.props.field.name] &&\r\n this.props.form.errors[this.props.field.name] ? (\r\n \r\n {this.props.form.errors[this.props.field.name]}\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n\r\n {participants && participants.length > 0 ? (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n ) : null}\r\n
\r\n\r\n {this.state.droppedDown ? (\r\n
\r\n {difference(\r\n this.props.participants,\r\n this.props.pathParticipants.selectedParticipants\r\n ).map((participant, index) => (\r\n this.handleClick(index, participant, e)}\r\n key={index}\r\n >\r\n {participant.participantName}\r\n \r\n ))}\r\n
\r\n ) : null}\r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n participants: state.pathParticipants.participants,\r\n updatedParticipants: state.pathParticipants.updatedParticipants,\r\n waiver: state.currentWaiver,\r\n signingInfo: state.signingInfo,\r\n pathParticipants: state.pathParticipants,\r\n linkedParticipant: state.pathParticipants.selectedParticipantsName,\r\n role: state.signingInfo.role,\r\n linkedParticipants: state.pathParticipants.linkedParticipants\r\n };\r\n};\r\n\r\nconst mapActionsToProps = dispatch => {\r\n return {\r\n getLinkedParticipants: value => dispatch(getLinkedParticipants(value))\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapActionsToProps\r\n)(DropDown);\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { Field, FieldArray } from \"formik\";\r\nimport DropDown from \"./dropDown\";\r\nimport { currentLocale } from \"../locale\";\r\nimport \"./ParticipantForm.scss\";\r\nimport { participantsAgeTest, validateName, setOrdinal } from \"./validation\";\r\nimport BirthDate from \"./BirthDate\";\r\nimport {\r\n getLinkedParticipants,\r\n removeParticipant\r\n} from \"../action-creators/signedWaiver\";\r\nimport { compose, filter, gte, pluck, props } from \"ramda\";\r\nimport { NEXT_SELECTED } from \"../constants\";\r\n\r\nclass LinkedParticipantList extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.handleLinkedParticipants = this.handleLinkedParticipants.bind(this);\r\n this.state = {\r\n stateParticipantData: {\r\n name: \"\",\r\n participants: this.props.participants,\r\n linkedParticipant: [\r\n {\r\n participantName: \"\",\r\n participantId: \"\",\r\n participantBirthday: \"\",\r\n referenceKey: \"\"\r\n }\r\n ],\r\n linkedParticipants: [\r\n {\r\n participantName: \"\",\r\n participantId: \"\",\r\n participantBirthday: \"\",\r\n referenceKey: \"\"\r\n }\r\n ],\r\n role: this.props.signingInfo.role,\r\n selected: []\r\n }\r\n };\r\n }\r\n\r\n handleLinkedParticipants = (event, name, index) => {\r\n const selectedPersonNames = compose(\r\n pluck(\"participantName\"),\r\n filter(p => p.participantId === Number(event))\r\n )(this.props.participants);\r\n\r\n const selectedReferenceKey = compose(\r\n pluck(\"referenceKey\"),\r\n filter(p => p.participantId === Number(event))\r\n )(this.props.participants);\r\n\r\n if (isNaN(event)) {\r\n this.props.form.setFieldValue(\r\n `${name}[${index}].participantName`,\r\n event.target.value\r\n );\r\n } else {\r\n this.props.form.setFieldValue(\r\n `linkedParticipants[${index}].participantName`,\r\n selectedPersonNames.join()\r\n );\r\n this.props.form.setFieldValue(\r\n `linkedParticipant[0].participantBirthday`,\r\n this.props.form.values.birthday\r\n );\r\n this.props.form.setFieldValue(\r\n `linkedParticipants[${index}].referenceKey`,\r\n selectedReferenceKey.join()\r\n );\r\n this.props.getLinkedParticipants(event);\r\n }\r\n };\r\n\r\n handleDeleted = (event, arrayHelpers, index) => {\r\n arrayHelpers.remove(`${index}`);\r\n\r\n let participant = this.props.form.values.linkedParticipants[`${index}`]\r\n .participantName;\r\n this.props.removeParticipant(participant);\r\n };\r\n\r\n render() {\r\n const { form, waiver, name, nextSelected, index } = this.props;\r\n return (\r\n
\r\n (\r\n (\r\n
\r\n
\r\n
\r\n

\r\n {waiver.birthday\r\n ? `${currentLocale.imSigning} ${\r\n currentLocale.andBirthday\r\n }` // \r\n : `${currentLocale.imSigning}`}\r\n

\r\n

{currentLocale.oneName}

\r\n
\r\n
\r\n\r\n {form.values.linkedParticipants &&\r\n form.values.linkedParticipants.length > 0 ? (\r\n form.values.linkedParticipants.map((participant, index) => (\r\n
\r\n
\r\n \r\n this.handleLinkedParticipants(event, name, index)\r\n }\r\n value={\r\n form.values.linkedParticipants[index]\r\n .participantName\r\n }\r\n component={DropDown}\r\n />\r\n
\r\n\r\n {waiver.birthday ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n\r\n {gte(index, 1) ? (\r\n
\r\n \r\n \r\n this.handleDeleted(e, arrayHelpers, index)\r\n }\r\n >\r\n \r\n \r\n
\r\n ) : null}\r\n
\r\n ))\r\n ) : (\r\n
\r\n )}\r\n
\r\n {\r\n arrayHelpers.push({\r\n participantName: \"\",\r\n participantBirthday: \"\",\r\n referenceKey: \"\"\r\n });\r\n nextSelected();\r\n }}\r\n >\r\n {currentLocale.addMinor}\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 waiver: state.currentWaiver,\r\n signingInfo: state.signingInfo,\r\n pathParticipants: state.pathParticipants,\r\n linkedParticipant: state.pathParticipants.selectedParticipantsName,\r\n role: state.signingInfo.role,\r\n selected: state.pathParticipants.selected,\r\n participants: state.pathParticipants.participants\r\n});\r\n\r\nconst mapActionsToProps = dispatch => ({\r\n getLinkedParticipants: value => dispatch(getLinkedParticipants(value)),\r\n removeParticipant: value => dispatch(removeParticipant(value)),\r\n nextSelected: () => dispatch({ type: NEXT_SELECTED })\r\n});\r\n\r\nconst connector = connect(\r\n mapStateToProps,\r\n mapActionsToProps\r\n);\r\n\r\nexport default connector(LinkedParticipantList);\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { Field, FieldArray } from \"formik\";\r\nimport \"./ParticipantForm.scss\";\r\nimport {\r\n PARTICIPANT_DATA_COLLECTED,\r\n PARTICIPANTS_RESET,\r\n PATH_PARTICIPANTS_RESET\r\n} from \"../constants\";\r\nimport Name from \"./Name\";\r\nimport BirthDate from \"./BirthDate\";\r\nimport ParticipantList from \"./ParticipantList\";\r\nimport { validateName, guardianAgeTest } from \"./validation\";\r\nimport { currentLocale } from \"../locale\";\r\nimport DropDown from \"./dropDown\";\r\nimport \"./ParticipantForm.scss\";\r\nimport LinkedParticipantList from \"./LinkedParticipantList\";\r\nimport { getLinkedParticipants } from \"../action-creators/signedWaiver\";\r\n\r\nclass BothDrop extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.handleSingleLinkedParticipant = this.handleSingleLinkedParticipant.bind(\r\n this\r\n );\r\n this.state = {\r\n stateParticipantData: {\r\n name: \"\",\r\n referenceKey: \"\",\r\n birthday: \"\", //client optional\r\n participants: [\r\n {\r\n participantName: \"\",\r\n participantBirthday: \"\",\r\n referenceKey: \"\"\r\n }\r\n ],\r\n role: 0 //isParticipant - already entered (its own tab)\r\n },\r\n participants: [], //this.props.participants,\r\n linkedParticipants: [], //this.props.linkedParticipants,\r\n selected: []\r\n };\r\n }\r\n\r\n handleSingleLinkedParticipant = event => {\r\n this.props.formikProps.setFieldTouched(`name`, true, true);\r\n\r\n if (!isNaN(event)) {\r\n this.props.formikProps.setFieldValue(`id`, event);\r\n this.props.getLinkedParticipants(event);\r\n } else {\r\n this.props.formikProps.setFieldValue(\r\n `linkedParticipant[0].participantName`,\r\n event.target.value\r\n );\r\n }\r\n };\r\n\r\n componentWillMount() {\r\n /* checks if stepped backwards and if so it resets participants info*/\r\n if (this.props.skippedBackwards) {\r\n this.props.setInvalid();\r\n this.props.participantsReset();\r\n this.props.getPathParticipants();\r\n }\r\n }\r\n\r\n render() {\r\n const { linkedPath, values, signingInfo, waiver } = this.props;\r\n\r\n return (\r\n
\r\n {Number(signingInfo.role) === 1 ? (\r\n
\r\n {linkedPath ? (\r\n
\r\n \r\n
\r\n ) : (\r\n \r\n )}\r\n\r\n {waiver.birthday ? (\r\n \r\n ) : null}\r\n
\r\n ) : Number(signingInfo.role) === 2 ? (\r\n
\r\n {linkedPath ? (\r\n \r\n ) : (\r\n \r\n )}\r\n\r\n {linkedPath ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n ) : Number(signingInfo.role) === 3 ? (\r\n
\r\n
\r\n {linkedPath ? (\r\n \r\n ) : (\r\n \r\n )}\r\n {waiver.birthday ? (\r\n \r\n ) : null}\r\n {linkedPath ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n ) : (\r\n
{currentLocale.roleError}
\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n signingInfo: state.signingInfo,\r\n birthday: state.signingInfo.birthday,\r\n name: state.signingInfo.name,\r\n participants: state.signingInfo.participants,\r\n locationData: state.locationData,\r\n pathParticipants: state.pathParticipants.participants,\r\n linkedParticipant: state.pathParticipants.linkedParticipant,\r\n linkedParticipants: state.pathParticipants.linkedParticipants,\r\n stepper: state.stepper,\r\n skippedBackwards: state.stepper.skippedBackwards\r\n});\r\n\r\nconst mapActionsToProps = dispatch => ({\r\n valueToAppState: value => {\r\n dispatch({ type: PARTICIPANT_DATA_COLLECTED, payload: value });\r\n },\r\n getLinkedParticipants: value => dispatch(getLinkedParticipants(value)),\r\n participantsReset: () => {\r\n dispatch({ type: PARTICIPANTS_RESET });\r\n dispatch({ type: PATH_PARTICIPANTS_RESET });\r\n }\r\n});\r\n\r\nconst connector = connect(\r\n mapStateToProps,\r\n mapActionsToProps\r\n);\r\n\r\nexport default connector(BothDrop);\r\n","import React, { PureComponent } from \"react\";\r\nimport { currentLocale } from \"../locale\";\r\nimport \"../style/recorder.scss\";\r\nimport {\r\n\tSET_INVALID,\r\n\tSET_VALID,\r\n\tSET_BACK_INVALID,\r\n\tSET_BACK_VALID,\r\n\tSIGNER_NAME_COLLECTED,\r\n\tPARTICIPANTS_COLLECTED,\r\n\tLINKED_PARTICIPANT_SELECTED,\r\n\tLINKED_PARTICIPANTS_COLLECTED,\r\n\tPARTICIPANTS_AND_SIGNER_COLLECTED\r\n} from \"../constants\";\r\nimport {\r\n\tconcat,\r\n\tcompose,\r\n\tdropLast,\r\n\tequals,\r\n\tfind,\r\n\thead,\r\n\tisEmpty,\r\n\tisNil,\r\n\tjoin,\r\n\tlength,\r\n\tmap,\r\n\tmerge,\r\n\tnot,\r\n\tor,\r\n\tpluck,\r\n\tprop,\r\n\ttakeLast,\r\n\treplace,\r\n\ttail\r\n} from \"ramda\";\r\nimport { connect } from \"react-redux\";\r\nimport { toast } from \"bulma-toast\";\r\nimport moment from \"moment\";\r\nimport { converter } from \"../lib/converter\";\r\n// import { Notification, AccessDeniedNotification } from \"../components/modal\";\r\n\r\nconst OT = require(\"@opentok/client\");\r\n\r\nclass VideoSignature extends PureComponent {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.state = {\r\n\t\t\trecordingStatus: \"\",\r\n\t\t\trecording: false,\r\n\t\t\tstartDisabled: true,\r\n\t\t\tstopDisabled: true,\r\n\t\t\tloading: false,\r\n\t\t\tshow: false,\r\n\t\t\tstart: false,\r\n\t\t\tallSet: false,\r\n\t\t\tpublisher: true,\r\n\t\t\topen: true\r\n\t\t};\r\n\t}\r\n\tcomponentDidUpdate(prevProps) {\r\n\t\tif (this.props.recording.status !== prevProps.recording.status) {\r\n\t\t\tthis.handleStatusChange();\r\n\t\t}\r\n\t}\r\n\thandleStatusChange = () => {\r\n\t\tif (this.props.recording.status === 4) {\r\n\t\t\tsetTimeout(() => this.setState({ start: true }), 2000);\r\n\t\t}\r\n\t};\r\n\tcomponentWillMount() {\r\n\t\tconst { values } = this.props.formikProps;\r\n\r\n\t\t//Each of these pull the participants -- linked and not\r\n\t\t//First is linkedParticipants, ROLE 3, w/ Bday\r\n\t\tif (not(this.props.skippedBackwards)) {\r\n\t\t\t// this is checking if they jumped backwards and did not change participantsInfo\r\n\t\t\t// console.log(\"***not(this.props.stepper.skippedBackwards)!!!***\");\r\n\t\t\tif (\r\n\t\t\t\tthis.props.signingInfo.role === 3 &&\r\n\t\t\t\tthis.props.linkedPath &&\r\n\t\t\t\tthis.props.waiver.birthday\r\n\t\t\t) {\r\n\t\t\t\tlet linkedSingleParticipantBirthday = merge(\r\n\t\t\t\t\thead(this.props.pathParticipants.linkedParticipant),\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tparticipantBirthday: moment(values.birthday).format(\"YYYY-MM-DD\")\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\r\n\t\t\t\tlet linkedSingleParticipantName = pluck(\r\n\t\t\t\t\t`participantName`,\r\n\t\t\t\t\tthis.props.pathParticipants.linkedParticipant\r\n\t\t\t\t);\r\n\r\n\t\t\t\tthis.props.dispatch({\r\n\t\t\t\t\ttype: LINKED_PARTICIPANTS_COLLECTED,\r\n\t\t\t\t\tpayload: {\r\n\t\t\t\t\t\tname: linkedSingleParticipantName.join(),\r\n\t\t\t\t\t\tparticipants: concat(\r\n\t\t\t\t\t\t\t[linkedSingleParticipantBirthday],\r\n\t\t\t\t\t\t\tvalues.linkedParticipants\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\t////if all participants were pulled from linkedParticipants\r\n\t\t\t} else if (\r\n\t\t\t\tthis.props.signingInfo.role === 3 &&\r\n\t\t\t\tthis.props.linkedPath &&\r\n\t\t\t\tequals(\r\n\t\t\t\t\tlength(this.props.pathParticipants.linkedParticipants),\r\n\t\t\t\t\tlength(this.props.formikProps.values.linkedParticipants) +\r\n\t\t\t\t\tlength(this.props.pathParticipants.linkedParticipant)\r\n\t\t\t\t)\r\n\t\t\t) {\r\n\t\t\t\tthis.props.dispatch({\r\n\t\t\t\t\ttype: PARTICIPANTS_COLLECTED,\r\n\t\t\t\t\tpayload: {\r\n\t\t\t\t\t\tparticipants: this.props.pathParticipants.linkedParticipants\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\t///linkedParticipants URL, but no linkedParticipants were selected\r\n\t\t\t} else if (\r\n\t\t\t\tthis.props.signingInfo.role === 3 &&\r\n\t\t\t\tthis.props.linkedPath &&\r\n\t\t\t\tisEmpty(this.props.pathParticipants.linkedParticipants) &&\r\n\t\t\t\tisEmpty(this.props.pathParticipants.linkedParticipant)\r\n\t\t\t) {\r\n\t\t\t\tthis.props.dispatch({\r\n\t\t\t\t\ttype: PARTICIPANTS_AND_SIGNER_COLLECTED, //PARTICIPANTS_COLLECTED,\r\n\t\t\t\t\tpayload: {\r\n\t\t\t\t\t\tname: values.name,\r\n\t\t\t\t\t\tparticipants: concat(\r\n\t\t\t\t\t\t\tvalues.linkedParticipant,\r\n\t\t\t\t\t\t\tvalues.linkedParticipants\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\t//////FIRST PARTICIPANT IS NOT LINKED\\\\\\\\\r\n\t\t\t} else if (\r\n\t\t\t\tthis.props.signingInfo.role === 3 &&\r\n\t\t\t\tthis.props.linkedPath &&\r\n\t\t\t\t!isEmpty(\r\n\t\t\t\t\tpluck(\r\n\t\t\t\t\t\t\"participantName\",\r\n\t\t\t\t\t\tthis.props.pathParticipants.linkedParticipant\r\n\t\t\t\t\t)\r\n\t\t\t\t) &&\r\n\t\t\t\t!isEmpty(head(pluck(\"participantName\", values.linkedParticipant)))\r\n\t\t\t) {\r\n\t\t\t\tthis.props.dispatch({\r\n\t\t\t\t\ttype: PARTICIPANTS_AND_SIGNER_COLLECTED,\r\n\t\t\t\t\tpayload: {\r\n\t\t\t\t\t\tname: values.name,\r\n\t\t\t\t\t\tparticipants: concat(\r\n\t\t\t\t\t\t\tvalues.linkedParticipant,\r\n\t\t\t\t\t\t\tvalues.linkedParticipants\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\t///if signedBYName was a linkedParticipant && others were not linked\r\n\t\t\t} else if (\r\n\t\t\t\tthis.props.signingInfo.role === 3 &&\r\n\t\t\t\tthis.props.linkedPath &&\r\n\t\t\t\t!isEmpty(\r\n\t\t\t\t\tpluck(\r\n\t\t\t\t\t\t\"participantName\",\r\n\t\t\t\t\t\tthis.props.pathParticipants.linkedParticipant\r\n\t\t\t\t\t)\r\n\t\t\t\t) &&\r\n\t\t\t\tisEmpty(head(pluck(\"participantName\", values.linkedParticipant)))\r\n\t\t\t) {\r\n\t\t\t\tthis.props.dispatch({\r\n\t\t\t\t\ttype: PARTICIPANTS_AND_SIGNER_COLLECTED,\r\n\t\t\t\t\tpayload: {\r\n\t\t\t\t\t\tname: values.name,\r\n\t\t\t\t\t\tparticipants: concat(\r\n\t\t\t\t\t\t\tthis.props.pathParticipants.linkedParticipant,\r\n\t\t\t\t\t\t\tvalues.linkedParticipants\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\t///ELSE ROLE 3\r\n\t\t\t} else if (this.props.signingInfo.role === 3) {\r\n\t\t\t\tthis.props.dispatch({\r\n\t\t\t\t\ttype: PARTICIPANTS_AND_SIGNER_COLLECTED, //PARTICIPANTS_COLLECTED2,\r\n\t\t\t\t\tpayload: {\r\n\t\t\t\t\t\tname: values.name,\r\n\t\t\t\t\t\tparticipants: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tparticipantName: values.name,\r\n\t\t\t\t\t\t\t\tparticipantBirthday: values.birthday\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t...values.participants\r\n\t\t\t\t\t\t]\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\t//if linkedParticipants and Role=2 Bday && noBday\r\n\t\t\t} else if (this.props.linkedPath && this.props.signingInfo.role === 2) {\r\n\t\t\t\tthis.props.dispatch({\r\n\t\t\t\t\ttype: LINKED_PARTICIPANTS_COLLECTED,\r\n\t\t\t\t\tpayload: {\r\n\t\t\t\t\t\tparticipants: values.linkedParticipants,\r\n\t\t\t\t\t\tname: values.signedByName\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else if (this.props.signingInfo.role === 2) {\r\n\t\t\t\tthis.props.dispatch({\r\n\t\t\t\t\ttype: PARTICIPANTS_AND_SIGNER_COLLECTED, //PARTICIPANTS_COLLECTED,\r\n\t\t\t\t\tpayload: { participants: values.participants, name: values.name }\r\n\t\t\t\t});\r\n\t\t\t} else if (\r\n\t\t\t\t///ROLE=1 && name was selected from dropdown\r\n\t\t\t\tthis.props.signingInfo.role === 1 &&\r\n\t\t\t\tthis.props.linkedPath &&\r\n\t\t\t\t!isNil(\r\n\t\t\t\t\tfind(\r\n\t\t\t\t\t\tprop(\"participantName\"),\r\n\t\t\t\t\t\tthis.props.pathParticipants.linkedParticipant\r\n\t\t\t\t\t)\r\n\t\t\t\t)\r\n\t\t\t) {\r\n\t\t\t\tlet linkedSingleParticipantName = pluck(\r\n\t\t\t\t\t`participantName`,\r\n\t\t\t\t\tthis.props.pathParticipants.linkedParticipant\r\n\t\t\t\t);\r\n\t\t\t\t//w. Bday\r\n\t\t\t\tif (this.props.waiver.birthday) {\r\n\t\t\t\t\tlet linkedSingleParticipantBirthday = merge(\r\n\t\t\t\t\t\thead(this.props.pathParticipants.linkedParticipant),\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tparticipantBirthday: moment(values.birthday).format(\"YYYY-MM-DD\")\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t);\r\n\t\t\t\t\tthis.props.dispatch({\r\n\t\t\t\t\t\ttype: LINKED_PARTICIPANT_SELECTED,\r\n\t\t\t\t\t\tpayload: {\r\n\t\t\t\t\t\t\tname: linkedSingleParticipantName.join(),\r\n\t\t\t\t\t\t\tparticipants: [linkedSingleParticipantBirthday]\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\tthis.props.dispatch({\r\n\t\t\t\t\ttype: LINKED_PARTICIPANT_SELECTED,\r\n\t\t\t\t\tpayload: {\r\n\t\t\t\t\t\tname: values.name,\r\n\t\t\t\t\t\tparticipants: this.props.pathParticipants.linkedParticipant\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t////IF NO LINKEDPARTICIPANTS && ROLE === 1 || linkedParticipants && ROLE1, but not using linkedParticipant\r\n\t\t///&& not skippedBackwards\r\n\t\tif (\r\n\t\t\tor(\r\n\t\t\t\t!this.props.linkedPath && this.props.signingInfo.role === 1,\r\n\t\t\t\tthis.props.signingInfo.role === 1 &&\r\n\t\t\t\tthis.props.linkedPath &&\r\n\t\t\t\tisNil(\r\n\t\t\t\t\tfind(\r\n\t\t\t\t\t\tprop(\"participantName\"),\r\n\t\t\t\t\t\tthis.props.pathParticipants.linkedParticipant\r\n\t\t\t\t\t)\r\n\t\t\t\t)\r\n\t\t\t) &&\r\n\t\t\tnot(this.props.skippedBackwards)\r\n\t\t) {\r\n\t\t\tthis.props.dispatch({\r\n\t\t\t\ttype: SIGNER_NAME_COLLECTED,\r\n\t\t\t\tpayload: {\r\n\t\t\t\t\tname: values.name,\r\n\t\t\t\t\tparticipants: [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tparticipantName: values.name,\r\n\t\t\t\t\t\t\tparticipantBirthday: values.birthday\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t]\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tthis.props.dispatch({ type: SET_INVALID, payload: false });\r\n\t\tthis.props.dispatch({ type: SET_BACK_INVALID, payload: false });\r\n\t\tthis.setState({ loading: true });\r\n\r\n\t\tthis.props.requestOpentok().then(() => {\r\n\t\t\tconst session = OT.initSession(\r\n\t\t\t\tthis.props.opentok.apiKey,\r\n\t\t\t\tthis.props.opentok.sessionId\r\n\t\t\t);\r\n\r\n\t\t\t// Connect to the session\r\n\t\t\tsession.connect(this.props.opentok.token, conmectErr => {\r\n\t\t\t\tif (conmectErr) {\r\n\t\t\t\t\tthis.props.handleError(conmectErr);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tlet publisher = OT.initPublisher(\r\n\t\t\t\t\t\t\"publisher\",\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tinsertMode: \"append\",\r\n\t\t\t\t\t\t\tfacingMode: \"user\",\r\n\t\t\t\t\t\t\twidth: \"100%\",\r\n\t\t\t\t\t\t\theight: \"100%\"\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tintPublisherErr => {\r\n\t\t\t\t\t\t\tif (intPublisherErr) {\r\n\t\t\t\t\t\t\t\t//\t\t\t\t\t\t\t\tif (error.name === \"OT_USER_MEDIA_ACCESS_DENIED\") {\r\n\t\t\t\t\t\t\t\tthis.setState({ publisher: \"Error\" });\r\n\t\t\t\t\t\t\t\t//\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tsession.publish(publisher, publishErr => {\r\n\t\t\t\t\t\t\t\t\tif (publishErr) {\r\n\t\t\t\t\t\t\t\t\t\tthis.props.handleError(publishErr);\r\n\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\tthis.setState({ startDisabled: false, loading: false });\r\n\t\t\t\t\t\t\t\t\t\tthis.props.dispatch({ type: SET_BACK_VALID, payload: true });\r\n\t\t\t\t\t\t\t\t\t\tif (!isEmpty(this.props.recording)) {\r\n\t\t\t\t\t\t\t\t\t\t\tthis.props.dispatch({ type: SET_VALID, payload: true });\r\n\t\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t\tthis.props.dispatch({ type: SET_INVALID, payload: true });\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t\t//.then(() => setTimeout(() => this.setState({ allSet: true }), 2000));\r\n\t}\r\n\r\n\tcomponentWillUnmount() {\r\n\t\tconst session = OT.initSession(\r\n\t\t\tthis.props.opentok.apiKey,\r\n\t\t\tthis.props.opentok.sessionId\r\n\t\t);\r\n\t\tsession.disconnect();\r\n\t}\r\n\ttimerStop = () => {\r\n\t\tif (this.state.recordingStatus === \"startArchive\") {\r\n\t\t\tthis.handleStopRecording();\r\n\t\t\ttoast({\r\n\t\t\t\tmessage: `${currentLocale.timeoutAlert}`,\r\n\t\t\t\ttype: \"is-danger\",\r\n\t\t\t\tpauseOnHover: true,\r\n\t\t\t\tduration: 4000,\r\n\t\t\t\topacity: 1\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\ttimer = () => {\r\n\t\tsetTimeout(this.timerStop, 30000);\r\n\t};\r\n\r\n\thandleStartRecording = status => {\r\n\t\tthis.setState({\r\n\t\t\tshow: true,\r\n\t\t\tstartDisabled: true,\r\n\t\t\trecordingStatus: \"startArchive\",\r\n\t\t\trecording: true\r\n\t\t});\r\n\t\tthis.props.startRecording().then(() => {\r\n\t\t\tthis.setState({ stopDisabled: false });\r\n\t\t\t//if (this.props.recording.status )\r\n\t\t\tthis.timer();\r\n\t\t});\r\n\t};\r\n\r\n\thandleStopRecording = status => {\r\n\t\tthis.setState({\r\n\t\t\tshow: false,\r\n\t\t\trecordingStatus: \"stopArchive\",\r\n\t\t\tstopDisabled: true,\r\n\t\t\trecording: true,\r\n\t\t\tstart: false,\r\n\t\t\tloading: true\r\n\t\t});\r\n\t\tthis.props.stopRecording().then(() => {\r\n\t\t\tthis.props.dispatch({ type: SET_VALID, payload: true });\r\n\t\t\tthis.setState({ startDisabled: false, loading: false });\r\n\t\t});\r\n\r\n\t\tclearTimeout(this.timerStop);\r\n\t};\r\n\t// handleCloseDenied = () => {\r\n\t// if (this.state.allSet && !this.state.publisher.accessAllowed) {\r\n\t// this.props.handleReset()\r\n\t// } else {\r\n\t// this.setState({ open: false })\r\n\t// }\r\n\t// }\r\n\trender() {\r\n\t\tconst { linkedPath } = this.props;\r\n\r\n\t\tconst participants = !linkedPath //isNil(remainingPath)\r\n\t\t\t? map(\r\n\t\t\t\tparticipant => participant.participantName,\r\n\t\t\t\tthis.props.formikProps.values.participants\r\n\t\t\t)\r\n\t\t\t: !isNil(this.props.linkedParticipants) &&\r\n\t\t\t\t!isEmpty(this.props.pathParticipants.linkedParticipant)\r\n\t\t\t\t? concat(\r\n\t\t\t\t\tmap(\r\n\t\t\t\t\t\tparticipant => participant.participantName,\r\n\t\t\t\t\t\tthis.props.pathParticipants.linkedParticipant\r\n\t\t\t\t\t),\r\n\t\t\t\t\tmap(\r\n\t\t\t\t\t\tparticipant => participant.participantName,\r\n\t\t\t\t\t\tthis.props.formikProps.values.linkedParticipants\r\n\t\t\t\t\t)\r\n\t\t\t\t)\r\n\t\t\t\t: !isNil(\r\n\t\t\t\t\tfind(\r\n\t\t\t\t\t\tprop(\"participantName\"),\r\n\t\t\t\t\t\tthis.props.pathParticipants.linkedParticipants\r\n\t\t\t\t\t)\r\n\t\t\t\t) && this.props.signingInfo.role === 2\r\n\t\t\t\t\t? map(\r\n\t\t\t\t\t\tparticipant => participant.participantName,\r\n\t\t\t\t\t\tthis.props.formikProps.values.linkedParticipants\r\n\t\t\t\t\t)\r\n\t\t\t\t\t: !isNil(this.props.linkedParticipants)\r\n\t\t\t\t\t\t? map(\r\n\t\t\t\t\t\t\tparticipant => participant.participantName,\r\n\t\t\t\t\t\t\tthis.props.formikProps.values.linkedParticipants\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t\t: [];\r\n\r\n\t\tconst participants2 = join(\" and \", participants);\r\n\r\n\t\tconst participants2Tail = join(\" and \", tail(participants));\r\n\r\n\t\tconst participants3 = concat(\r\n\t\t\t`${join(\" and \", [\r\n\t\t\t\tjoin(\", \", dropLast(1, participants), takeLast(1, participants))\r\n\t\t\t])}`,\r\n\t\t\t` and ${takeLast(1, participants)}`\r\n\t\t);\r\n\r\n\t\tconst participants3Tail = concat(\r\n\t\t\t`${join(\" and \", [\r\n\t\t\t\tjoin(\r\n\t\t\t\t\t\", \",\r\n\t\t\t\t\tdropLast(1, tail(participants)),\r\n\t\t\t\t\ttakeLast(1, tail(participants))\r\n\t\t\t\t)\r\n\t\t\t])}`,\r\n\t\t\t` and ${takeLast(1, tail(participants))}`\r\n\t\t);\r\n\r\n\t\tconst participantSignStatement =\r\n\t\t\tisEmpty(this.props.formikProps.values.name) &&\r\n\t\t\t\tisEmpty(this.props.formikProps.values.signedByName)\r\n\t\t\t\t? replace(\r\n\t\t\t\t\t\"{{-ParticipantName-}}\",\r\n\t\t\t\t\t`${pluck(\r\n\t\t\t\t\t\t`participantName`,\r\n\t\t\t\t\t\tthis.props.pathParticipants.linkedParticipant\r\n\t\t\t\t\t)}`,\r\n\t\t\t\t\t`${this.props.waiver.participantStatement}`\r\n\t\t\t\t)\r\n\t\t\t\t: isEmpty(this.props.formikProps.values.name)\r\n\t\t\t\t\t? replace(\r\n\t\t\t\t\t\t\"{{-ParticipantName-}}\",\r\n\t\t\t\t\t\t`${this.props.formikProps.values.signedByName}`,\r\n\t\t\t\t\t\t`${this.props.waiver.participantStatement}`\r\n\t\t\t\t\t)\r\n\t\t\t\t\t: replace(\r\n\t\t\t\t\t\t\"{{-ParticipantName-}}\",\r\n\t\t\t\t\t\t`${this.props.formikProps.values.name}`,\r\n\t\t\t\t\t\t`${this.props.waiver.participantStatement}`\r\n\t\t\t\t\t);\r\n\r\n\t\t////////////Participants\\\\\\\\\\\\\\\\\\\\\\\r\n\t\tlet signStatementG;\r\n\t\tif (\r\n\t\t\tlength(this.props.formikProps.values.participants) === 1 &&\r\n\t\t\tisEmpty(this.props.formikProps.values.name)\r\n\t\t) {\r\n\t\t\tsignStatementG = compose(\r\n\t\t\t\treplace(\"{{-ParticipantName-}}\", participants),\r\n\t\t\t\treplace(\r\n\t\t\t\t\t\"{{-SignedByName-}}\",\r\n\t\t\t\t\t`${this.props.formikProps.values.signedByName}`\r\n\t\t\t\t)\r\n\t\t\t)(`${this.props.waiver.guardianStatement}`);\r\n\t\t} else if (length(this.props.formikProps.values.participants) === 1) {\r\n\t\t\tsignStatementG = compose(\r\n\t\t\t\treplace(\"{{-ParticipantName-}}\", participants2),\r\n\t\t\t\treplace(\"{{-SignedByName-}}\", `${this.props.formikProps.values.name}`)\r\n\t\t\t)(`${this.props.waiver.guardianStatement}`);\r\n\t\t} else {\r\n\t\t\tsignStatementG = compose(\r\n\t\t\t\treplace(\"{{-ParticipantName-}}\", participants3),\r\n\t\t\t\treplace(\"{{-SignedByName-}}\", `${this.props.formikProps.values.name}`)\r\n\t\t\t)(`${this.props.waiver.guardianStatement}`);\r\n\t\t}\r\n\r\n\t\t///////////////LINKEDPARTICIPANTS\\\\\\\\\\\\\\\\\\\\\\\\\r\n\t\tlet linkedSignStatementG;\r\n\t\tconst name = isEmpty(this.props.formikProps.values.name)\r\n\t\t\t? this.props.formikProps.values.signedByName\r\n\t\t\t: this.props.formikProps.values.name;\r\n\r\n\t\tif (length(this.props.formikProps.values.linkedParticipants) === 1) {\r\n\t\t\tlinkedSignStatementG = compose(\r\n\t\t\t\treplace(\"{{-ParticipantName-}}\", participants),\r\n\t\t\t\treplace(\"{{-SignedByName-}}\", `${name}`)\r\n\t\t\t)(`${this.props.waiver.guardianStatement}`);\r\n\t\t} else if (length(this.props.formikProps.values.linkedParticipants) === 2) {\r\n\t\t\tlinkedSignStatementG = compose(\r\n\t\t\t\treplace(\"{{-ParticipantName-}}\", participants2),\r\n\t\t\t\treplace(\"{{-SignedByName-}}\", `${name}`)\r\n\t\t\t)(`${this.props.waiver.guardianStatement}`);\r\n\t\t} else {\r\n\t\t\tlinkedSignStatementG = compose(\r\n\t\t\t\treplace(\"{{-ParticipantName-}}\", participants3),\r\n\t\t\t\treplace(\"{{-SignedByName-}}\", `${name}`)\r\n\t\t\t)(`${this.props.waiver.guardianStatement}`);\r\n\t\t}\r\n\r\n\t\tlet linkedSignStatementRole3;\r\n\t\t//if arrayLength of linkedParticipants and non-linked === 1\r\n\t\tif (\r\n\t\t\tequals(1, length(this.props.formikProps.values.linkedParticipants)) &&\r\n\t\t\tequals(1, length(participants))\r\n\t\t) {\r\n\t\t\tlinkedSignStatementRole3 = compose(\r\n\t\t\t\treplace(\"{{-ParticipantName-}}\", participants),\r\n\t\t\t\treplace(\"{{-SignedByName-}}\", this.props.formikProps.values.name)\r\n\t\t\t)(`${this.props.waiver.guardianStatement}`);\r\n\t\t} else if (length(this.props.formikProps.values.linkedParticipants) === 1) {\r\n\t\t\tlinkedSignStatementRole3 = compose(\r\n\t\t\t\treplace(\"{{-ParticipantName-}}\", tail(participants)),\r\n\t\t\t\treplace(\"{{-SignedByName-}}\", this.props.formikProps.values.name)\r\n\t\t\t)(`${this.props.waiver.guardianStatement}`);\r\n\t\t} else if (\r\n\t\t\t//else if arrayLength of Linked and non-Linked === 2\r\n\t\t\tequals(2, length(this.props.formikProps.values.linkedParticipants)) &&\r\n\t\t\tequals(2, length(participants))\r\n\t\t) {\r\n\t\t\tlinkedSignStatementRole3 = compose(\r\n\t\t\t\treplace(\"{{-ParticipantName-}}\", participants2),\r\n\t\t\t\treplace(\"{{-SignedByName-}}\", this.props.formikProps.values.name)\r\n\t\t\t)(`${this.props.waiver.guardianStatement}`);\r\n\t\t} else if (\r\n\t\t\tlength(this.props.formikProps.values.linkedParticipants) === 2 //< length(participants)\r\n\t\t) {\r\n\t\t\tlinkedSignStatementRole3 = compose(\r\n\t\t\t\treplace(\"{{-ParticipantName-}}\", participants2Tail),\r\n\t\t\t\treplace(\"{{-SignedByName-}}\", this.props.formikProps.values.name)\r\n\t\t\t)(`${this.props.waiver.guardianStatement}`);\r\n\t\t\t//else if 3 and greater\r\n\t\t} else if (\r\n\t\t\tequals(\r\n\t\t\t\tlength(this.props.formikProps.values.linkedParticipants),\r\n\t\t\t\tlength(participants)\r\n\t\t\t)\r\n\t\t) {\r\n\t\t\tlinkedSignStatementRole3 = compose(\r\n\t\t\t\treplace(\"{{-ParticipantName-}}\", participants3),\r\n\t\t\t\treplace(\"{{-SignedByName-}}\", this.props.formikProps.values.name)\r\n\t\t\t)(`${this.props.waiver.guardianStatement}`);\r\n\t\t} else {\r\n\t\t\tlinkedSignStatementRole3 = compose(\r\n\t\t\t\treplace(\"{{-ParticipantName-}}\", participants3Tail),\r\n\t\t\t\treplace(\"{{-SignedByName-}}\", this.props.formikProps.values.name)\r\n\t\t\t)(`${this.props.waiver.guardianStatement}`);\r\n\t\t}\r\n\t\tconst deviceCheck =\r\n\t\t\ttypeof window.orientation !== \"undefined\" ||\r\n\t\t\tnavigator.userAgent.indexOf(\"IEMobile\") !== -1;\r\n\t\tlet signStatement;\r\n\t\tif (this.props.signingInfo.role === 3 && !linkedPath) {\r\n\t\t\tsignStatement = signStatementG;\r\n\t\t} else if (this.props.signingInfo.role === 3) {\r\n\t\t\tsignStatement = linkedSignStatementRole3;\r\n\t\t} else if (this.props.signingInfo.role === 2 && !linkedPath) {\r\n\t\t\tsignStatement = signStatementG;\r\n\t\t} else if (this.props.signingInfo.role === 2) {\r\n\t\t\tsignStatement = linkedSignStatementG;\r\n\t\t} else {\r\n\t\t\tsignStatement = participantSignStatement;\r\n\t\t}\r\n\t\tlet classname;\r\n\t\tif (deviceCheck) {\r\n\t\t\tclassname = \"tile is-child is-widescreen\";\r\n\t\t} else {\r\n\t\t\tclassname = \"tile is-parent\";\r\n\t\t}\r\n\t\tlet cardclass;\r\n\t\tif (deviceCheck) {\r\n\t\t\tcardclass = \"message is-primary\";\r\n\t\t} else {\r\n\t\t\tcardclass = \"card\";\r\n\t\t}\r\n\t\tconst errmessage = replace(\r\n\t\t\t\"{{-Site-}}\",\r\n\t\t\twindow.location.origin,\r\n\t\t\t`${currentLocale.accessDenied}`\r\n\t\t);\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t{/* {this.state.allSet && !this.state.publisher.accessAllowed &&\r\n } */}\r\n\r\n\t\t\t\t\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{this.state.show && this.props.recording.status !== 4 ? (\r\n\t\t\t\t\t\t\t\t\t

{currentLocale.wait}

\r\n\t\t\t\t\t\t\t\t) : this.state.show &&\r\n\t\t\t\t\t\t\t\t\tthis.props.recording.status === 4 &&\r\n\t\t\t\t\t\t\t\t\tthis.state.start === false ? (\r\n\t\t\t\t\t\t\t\t\t

{currentLocale.startRecording}

\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{typeof window.orientation !== \"undefined\" ||\r\n\t\t\t\t\t\t\t\t\t\t\tnavigator.userAgent.indexOf(\"IEMobile\") !== -1 ? (\r\n\t\t\t\t\t\t\t\t\t\t\t

{signStatement}

\r\n\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t

{signStatement}

\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t{this.state.loading ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{currentLocale.record}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.handleStartRecording(\"startArchive\")\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{currentLocale.record}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t{this.state.loading ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{currentLocale.stop}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t this.handleStopRecording(\"stopArchive\")}\r\n\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{currentLocale.stop}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t);\r\n\t}\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n\topentok: state.opentok.data,\r\n\trequesting: state.opentok.requesting,\r\n\trecording: state.recording,\r\n\tlinkedParticipants: state.pathParticipants.linkedParticipants,\r\n\tpathParticipants: state.pathParticipants,\r\n\tskippedBackwards: state.stepper.skippedBackwards,\r\n\totError: state.opentok.error\r\n});\r\nconst mapActionToProps = dispatch => ({\r\n\tdispatch\r\n});\r\nconst connector = connect(\r\n\tmapStateToProps,\r\n\tmapActionToProps\r\n);\r\nexport default connector(VideoSignature);\r\n","import React, { Component } from \"react\";\r\nimport { currentLocale } from \"../locale\";\r\nimport { connect } from \"react-redux\";\r\nimport { converter } from \"../lib/converter\";\r\n\r\nclass VerifyRecordedVideo extends Component {\r\n state = {\r\n videoToVerify: \"\"\r\n };\r\n // componentDidMount() {\r\n // this.props.dispatch({ type: SET_VALID, payload: true });\r\n // }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n

\r\n {currentLocale.reviewRecording}\r\n

\r\n
\r\n
\r\n
\r\n {converter.convert(currentLocale.reviewRecording1)}\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 video: state.recording.url\r\n});\r\nconst mapActionToProps = dispatch => ({\r\n dispatch\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapActionToProps\r\n)(VerifyRecordedVideo);\r\n","import React from 'react'\r\n\r\nclass ScrollToTop extends React.Component {\r\n componentDidUpdate(prevProps) {\r\n if (this.props.step.step !== prevProps.step.step) {\r\n window.scrollTo(0, 0)\r\n }\r\n }\r\n\r\n render() {\r\n return this.props.children\r\n }\r\n}\r\n\r\nexport default ScrollToTop","import React, { Component } from \"react\";\r\nimport \"./style/sign.scss\";\r\nimport Step0 from \"./pages/step0-Instructions\";\r\nimport Layout from \"./components/layout\";\r\nimport { connect } from \"react-redux\";\r\nimport SignatureCanvas from \"./components/signatureCanvas\";\r\nimport { getCurrentWaiver } from \"./action-creators/waiverInfo\";\r\nimport Step4 from \"./pages/step4-InstructionalVideo\";\r\nimport Step5 from \"./pages/step5-ViewWaiver\";\r\nimport {\r\n NEXT_STEP,\r\n LAST_STEP,\r\n SKIP_STEP,\r\n SKIP_BACK,\r\n ROLE_SELECTED,\r\n SET_INVALID,\r\n SET_VALID,\r\n MARKETING_INFORMATION_COLLECTED,\r\n SIGNATURE_COMPLETED,\r\n NO_STICKY,\r\n NONE_SELECTED,\r\n NEXT_SELECTED,\r\n NEXT_CONFUSED,\r\n SKIPPED_BACKWARDS,\r\n PATH\r\n} from \"./constants\";\r\nimport {\r\n equals,\r\n filter,\r\n find,\r\n isEmpty,\r\n isNil,\r\n length,\r\n propEq,\r\n gt,\r\n startsWith,\r\n drop,\r\n toLower\r\n} from \"ramda\";\r\nimport AboutSigner from \"./components/AboutSigner\";\r\nimport Marketing from \"./components/Marketing\";\r\nimport BothDrop from \"./components/bothDrop\";\r\nimport { Formik, Field } from \"formik\";\r\nimport Step6 from \"./pages/step6-RecordVideo\";\r\nimport Step7 from \"./pages/step7-ReviewVideo\";\r\nimport {\r\n requestOpentok,\r\n handleError,\r\n startRecording,\r\n stopRecording\r\n} from \"./action-creators/recorder\";\r\nimport {\r\n submitSignedWaiver,\r\n getPathParticipants,\r\n getCoords\r\n} from \"./action-creators/signedWaiver\";\r\nimport ScrollToTop from \"./components/scrollToTop\";\r\nimport { currentLocale } from \"./locale\";\r\nimport { toast } from \"bulma-toast\";\r\nimport { SubmitNotification } from \"./components/modal\";\r\nconst url = process.env.PUBLIC_URL;\r\nclass App extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.handleRoleChange = this.handleRoleChange.bind(this);\r\n this.trim = this.trim.bind(this);\r\n this.state = {\r\n isValid: this.props.isValid,\r\n trimmedDataURL: null,\r\n signature: null,\r\n values: {},\r\n open: false,\r\n signatureRecieved: false,\r\n stateParticipantData: {\r\n name: \"\",\r\n role: 0,\r\n birthday: \"\",\r\n referenceKey: \"\",\r\n id: \"\",\r\n optIn: false, //waiver.contactInformation\r\n phoneNumber: \"\",\r\n icePhone: \"\",\r\n email: \"\",\r\n icePhoneNumber: \"\",\r\n signature: \"\",\r\n dateCreated: \"\",\r\n video: \"\",\r\n participants: [\r\n {\r\n participantName: \"\",\r\n participantBirthday: \"\",\r\n referenceKey: \"\"\r\n }\r\n ],\r\n linkedParticipant: [\r\n {\r\n participantName: \"\",\r\n participantBirthday: \"\",\r\n referenceKey: \"\"\r\n }\r\n ],\r\n linkedParticipants: [\r\n {\r\n participantName: \"\",\r\n participantBirthday: \"\",\r\n referenceKey: \"\"\r\n }\r\n ],\r\n signedByName: \"\"\r\n }\r\n };\r\n }\r\n componentDidMount() {\r\n const url = process.env.PUBLIC_URL;\r\n const n = length(url);\r\n const pa = window.location.pathname;\r\n let pn;\r\n if (process.env.NODE_ENV === \"development\") {\r\n pn = pa;\r\n } else {\r\n if (startsWith(toLower(url), toLower(pa))) {\r\n pn = drop(n, pa);\r\n }\r\n }\r\n const parsePath = pn.split(\"/\");\r\n\r\n const id = parsePath[1] || \"\";\r\n const refLocation = parsePath[2] || \"\";\r\n const remainingPath = parsePath[3] || \"\";\r\n\r\n this.props.dispatch({\r\n type: PATH,\r\n payload: {\r\n waiverId: id,\r\n refLocation: refLocation,\r\n remainingPath: remainingPath\r\n }\r\n });\r\n this.props.getCurrentWaiver(id);\r\n this.props.getCoords();\r\n }\r\n\r\n handleNotification = () => {\r\n this.setState({ open: true });\r\n this.props.dispatch({ type: NO_STICKY, payload: true });\r\n };\r\n handleClose = () => {\r\n if (this.props.signedWaiver.failed) {\r\n this.setState({ open: false });\r\n this.appReset();\r\n } else {\r\n this.setState({ open: false });\r\n this.goBack();\r\n }\r\n };\r\n appReset = () => {\r\n try {\r\n const destination = window.location.href;\r\n window.history.go(destination);\r\n }\r\n catch {\r\n window.location.reload()\r\n }\r\n };\r\n goBack = () => {\r\n try {\r\n if (gt(window.history.length, 1)) {\r\n window.history.back();\r\n } else {\r\n this.appReset();\r\n }\r\n }\r\n catch {\r\n window.location.reload()\r\n }\r\n };\r\n handleRoleChange = value => {\r\n let stateParticipantData = this.state.stateParticipantData;\r\n stateParticipantData.role = value;\r\n this.props.appRoleToAppState(value);\r\n this.setState({\r\n stateParticipantData\r\n });\r\n };\r\n\r\n handleStateChange = (key, value) => {\r\n let stateParticipantData = this.state.trimmedDataURL;\r\n stateParticipantData[key] = value;\r\n this.setState({ stateParticipantData });\r\n };\r\n\r\n sigPad = {};\r\n\r\n padData = this.sigPad._sigPad;\r\n\r\n clear = () => {\r\n this.sigPad.clear();\r\n };\r\n\r\n trim = () => {\r\n this.setState({\r\n signature: this.sigPad.toDataURL(\"image/svg+xml\")\r\n });\r\n if (\r\n this.touched(this.sigPad._sigPad) ||\r\n this.touchedTwice(this.sigPad._sigPad)\r\n ) {\r\n this.props.signatureToAppState(this.state.signature);\r\n this.props.setValid();\r\n this.handleNotification();\r\n this.props.submitSignedWaiver();\r\n } else if (!this.touched(this.sigPad._sigPad)) {\r\n this.timer();\r\n this.sigPad.props.errors.signature = `${\r\n currentLocale.incompleteSignature\r\n }`;\r\n this.clear();\r\n } else {\r\n return this.props.signature;\r\n }\r\n };\r\n\r\n touched = canvas => !isNil(canvas) && length(canvas._lastPoints) > 2;\r\n\r\n touchedTwice = canvas =>\r\n !isEmpty(filter(p => length(p.points) > 1, canvas._data));\r\n\r\n handleSignature = () => {\r\n this.props.signatureToAppState(this.state.trimmedDataURL);\r\n this.sigPad.clear();\r\n };\r\n\r\n stepContent = ({ formikProps }) => {\r\n const activeStep = find(propEq(\"step\", this.props.step))(this.props.steps);\r\n switch (this.props.step) {\r\n case 0:\r\n return (\r\n \r\n );\r\n\r\n case 1:\r\n return (\r\n \r\n );\r\n case 2:\r\n return (\r\n this.handleRoleChange(role)}\r\n stateParticipantData={this.state.stateParticipantData}\r\n formikProps={formikProps}\r\n role={formikProps.values.role}\r\n values={this.props.signedWaiver}\r\n touched={formikProps.touched}\r\n errors={formikProps.errors}\r\n activeStep={activeStep}\r\n waiver={this.props.waiver}\r\n signingInfo={this.props.signingInfo}\r\n step={this.props.step}\r\n getPathParticipants={this.props.getPathParticipants}\r\n selected={this.props.selected}\r\n />\r\n );\r\n case 3:\r\n return (\r\n \r\n );\r\n case 4:\r\n return (\r\n \r\n );\r\n case 5:\r\n return (\r\n \r\n );\r\n case 6:\r\n return (\r\n \r\n );\r\n case 7:\r\n return (\r\n \r\n );\r\n\r\n case 8:\r\n return (\r\n
\r\n \r\n
\r\n );\r\n case 9:\r\n return (\r\n
\r\n {/*this is handle the submit modals*/}\r\n \r\n

{currentLocale.step8Heading}

\r\n\r\n
\r\n white: \"rgba(255,255,255,.9)\"\r\n ref={ref => {\r\n this.sigPad = ref;\r\n }}\r\n />\r\n \r\n {currentLocale.clear}\r\n \r\n
\r\n
\r\n );\r\n }\r\n };\r\n\r\n timerStop = () => {\r\n toast({\r\n message: `${currentLocale.incompleteSignature}`,\r\n type: \"is-warning\", //\"is-danger\",\r\n pauseOnHover: true,\r\n duration: 3000,\r\n position: \"top-center\"\r\n });\r\n };\r\n\r\n timer = () => {\r\n setTimeout(this.timerStop, 200);\r\n };\r\n\r\n render() {\r\n const activeStep = find(propEq(\"step\", this.props.step))(this.props.steps);\r\n return (\r\n \r\n
\r\n {\r\n this.trim(values);\r\n }}\r\n render={formikProps => (\r\n
\r\n \r\n {this.stepContent({ formikProps })}\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 validStep: state.validStep,\r\n validBackStep: state.validBackStep,\r\n step: state.stepper.currentStep,\r\n waiver: state.currentWaiver,\r\n steps: state.stepper.steps,\r\n signingInfo: state.signingInfo,\r\n isValid: state.validStep.isValid,\r\n signedWaiver: state.signedWaiver,\r\n recording: state.recording,\r\n formikProps: state.formikProps,\r\n opentok: state.opentok.data,\r\n requesting: state.opentok.requesting,\r\n signature: state.signingInfo.signature,\r\n locationData: state.locationData,\r\n pathParticipants: state.pathParticipants,\r\n noSticky: state.stepper.noSticky,\r\n selected: state.signingInfo.selected,\r\n linkedPath: state.pathParticipants.linkedPath\r\n});\r\n\r\nconst mapActionToProps = dispatch => ({\r\n getCurrentWaiver: waiverId => dispatch(getCurrentWaiver(waiverId)),\r\n stepForward: () => dispatch({ type: NEXT_STEP }),\r\n skipForward: () => dispatch({ type: SKIP_STEP }),\r\n skipBack: () => dispatch({ type: SKIP_BACK }),\r\n skippedBackwards: () => dispatch({ type: SKIPPED_BACKWARDS }),\r\n stepPrevious: () => dispatch({ type: LAST_STEP }),\r\n noneSelected: () => dispatch({ type: NONE_SELECTED }),\r\n nextSelected: () => dispatch({ type: NEXT_SELECTED }),\r\n nextConfused: () => dispatch({ type: NEXT_CONFUSED }),\r\n requestOpentok: () => dispatch(requestOpentok()),\r\n onRoleChange: value => {\r\n dispatch({ type: ROLE_SELECTED, payload: value });\r\n },\r\n signatureToAppState: value => {\r\n dispatch({ type: SIGNATURE_COMPLETED, payload: value });\r\n },\r\n onMarketingChange: value => {\r\n dispatch({\r\n type: MARKETING_INFORMATION_COLLECTED,\r\n payload: {\r\n optIn: value.optIn,\r\n icePhone: value.icePhone,\r\n email: value.email,\r\n phoneNumber: value.phoneNumber\r\n }\r\n });\r\n },\r\n setInvalid: () => {\r\n dispatch({ type: SET_INVALID, payload: false });\r\n },\r\n setValid: () => {\r\n dispatch({ type: SET_VALID, payload: true });\r\n },\r\n appRoleToAppState: value => {\r\n dispatch({ type: ROLE_SELECTED, payload: value });\r\n dispatch({ type: SET_VALID, payload: true });\r\n },\r\n marketingToAppState: (key, value) => {\r\n dispatch({\r\n type: MARKETING_INFORMATION_COLLECTED,\r\n payload: { [key]: value }\r\n });\r\n },\r\n submitSignedWaiver: () => {\r\n dispatch(submitSignedWaiver());\r\n },\r\n handleError: error => dispatch(handleError(error)),\r\n startRecording: sessionId => dispatch(startRecording(sessionId)),\r\n stopRecording: () => dispatch(stopRecording()),\r\n getPathParticipants: () => dispatch(getPathParticipants()),\r\n getCoords: () => dispatch(getCoords()),\r\n dispatch\r\n});\r\n\r\nconst connector = connect(\r\n mapStateToProps,\r\n mapActionToProps\r\n);\r\n\r\nexport default connector(App);\r\n","import {\r\n CURRENT_WAIVER_RETRIEVED,\r\n WAIVER_LOADING_FAILED,\r\n WAIVER_REQUESTED\r\n} from \"../constants\";\r\nimport fetch from \"isomorphic-fetch\";\r\n\r\nexport const getCurrentWaiver = waiverId => async (dispatch, getState) => {\r\n dispatch({ type: WAIVER_REQUESTED });\r\n\r\n const waiver = await fetch(`${process.env.PUBLIC_URL}/api/waiver/${waiverId}`)\r\n .then(res => res.json())\r\n .catch(err =>\r\n dispatch({\r\n type: WAIVER_LOADING_FAILED,\r\n payload: \"Waiver Failed To Load.\"\r\n })\r\n );\r\n const checkWaiver = (w) => {\r\n const isvalid = /^(?:(?:https?|ftp):\\/\\/)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))(?::\\d{2,5})?(?:\\/\\S*)?$/;\r\n if (isvalid.test(w.videoUrl)) {\r\n return w\r\n }\r\n else {\r\n return Object.assign({}, w, { videoUrl: null })\r\n }\r\n }\r\n\r\n dispatch({ type: CURRENT_WAIVER_RETRIEVED, payload: checkWaiver(waiver) });\r\n};\r\n","import {\r\n OPENTOK_REQUEST_FAILED, OPENTOK_REQUEST_SUCCEEDED, RECORDING_START_SUCCEEDED, RECORDING_STOP_SUCCEEDED, OPENTOK_REQUESTED, PERMISSIONS_SET\r\n} from '../constants'\r\nimport fetch from 'isomorphic-fetch'\r\n\r\n\r\n\r\nexport const handleError = error => (dispatch, getState) => {\r\n\r\n dispatch({ type: OPENTOK_REQUEST_FAILED, payload: { error: true, errorMsg: error } })\r\n}\r\n\r\nexport const startRecording = id => async (dispatch, getState) => {\r\n\r\n const sessionId = getState().opentok.data.sessionId\r\n\r\n const response = await fetch(`${process.env.PUBLIC_URL}/api/Recorder/Start`, {\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n method: \"POST\",\r\n body: JSON.stringify({ SessionId: sessionId }),\r\n })\r\n .then(res => res.json())\r\n .catch(err => console.log('err: ', err));\r\n\r\n dispatch({ type: RECORDING_START_SUCCEEDED, payload: response })\r\n}\r\nexport const stopRecording = () => async (dispatch, getState) => {\r\n const sessionId = getState().opentok.data.sessionId\r\n const archiveId = getState().recording.id\r\n\r\n\r\n const response = await fetch(`${process.env.PUBLIC_URL}/api/Recorder/Stop`, {\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n method: \"POST\",\r\n body: JSON.stringify({ SessionId: sessionId, ArchiveId: archiveId }),\r\n })\r\n .then(res => res.json())\r\n .catch(err => console.log('err: ', err));\r\n\r\n dispatch({ type: RECORDING_STOP_SUCCEEDED, payload: response })\r\n\r\n}\r\n\r\nexport const requestOpentok = () => async (dispatch, getState) => {\r\n dispatch({ type: OPENTOK_REQUESTED, payload: { requesting: true } })\r\n const opentokSession = await fetch(`${process.env.PUBLIC_URL}/api/Recorder/Get`)\r\n\r\n\r\n .then(res => res.json())\r\n\r\n .catch(err => dispatch({ type: OPENTOK_REQUEST_FAILED, payload: { requesting: false, isError: true, errorMsg: \"Failed to establish recording connection.\" } }))\r\n\r\n dispatch({ type: OPENTOK_REQUEST_SUCCEEDED, payload: { data: opentokSession, requesting: false } })\r\n}\r\n\r\n\r\n\r\n\r\n","// In production, we register a service worker to serve assets from local cache.\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 the \"N+1\" visit to a page, since previously\r\n// cached resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\r\n// This link also includes instructions on opting out of this behavior.\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 default function register() {\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);\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/facebookincubator/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. Lets check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl);\r\n } else {\r\n // Is not local host. Just register service worker\r\n registerValidSW(swUrl);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the old content will have been purged and\r\n // the fresh content will have been added to the cache.\r\n // It's the perfect time to display a \"New content is\r\n // available; please refresh.\" message in your web app.\r\n console.log('New content is available; please refresh.');\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 }\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) {\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 if (\r\n response.status === 404 ||\r\n response.headers.get('content-type').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);\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 \"./index.scss\";\r\nimport React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { Provider } from \"react-redux\";\r\nimport store from \"./store.js\";\r\nimport App from \"./App\";\r\nimport registerServiceWorker from \"./registerServiceWorker\";\r\n\r\n// Create browser history to use in the Redux store\r\n// const baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');\r\n// const history = createBrowserHistory({ basename: baseUrl });\r\n\r\n// Get the application-wide store instance, prepopulating with state from the server where available.\r\n// // const initialState = window.initialReduxState;\r\n// const store = configureStore(history, initialState);\r\n\r\n// history = createBrowserHistory()\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n document.getElementById(\"root\")\r\n);\r\n\r\nregisterServiceWorker();\r\n"],"sourceRoot":""}