{"version":3,"sources":["reducers/formReducer.js","reducers/index.js","actions/types.js","store.js","layout/DefaultLayout.js","util/isEmpty.js","validation/validatePaymentForm.js","util/centsToDollarFormat.js","actions/formActions.js","components/CheckoutForm.js","components/Checkout.js","validation/validateTemplateForm.js","components/forms/TemplateForm.js","validation/validateNoviceShootForm.js","components/forms/NoviceShootForm.js","validation/validateTPFGeneralForm.js","components/forms/SelectOption.js","components/forms/TPFGeneralForm.js","validation/validateDonationForm.js","settings/donationTypes.js","components/forms/DonationForm.js","validation/validateWaterfowlWarmupForm.js","components/forms/WaterfowlWarmupForm.js","validation/validateAnniversaryMerchandisePackForm.js","components/forms/SelectOptionMP.js","components/forms/AnniversaryMerchandisePackForm.js","validation/validateDogCalendarForm.js","components/forms/DogCalenderForm.js","settings/pheasantFormDefaults.js","validation/validatePheasantForm.js","components/forms/PheasantForm.js","validation/validateNWSGCForm.js","components/forms/NWSGCForm.js","components/Error.js","components/Success.js","actions/index.js","App.js","serviceWorker.js","index.js"],"names":["initialState","formData","errorMsg","returnURL","returnButtonText","combineReducers","form","state","arguments","length","undefined","action","type","Object","objectSpread","payload","assign","middleware","thunk","store","createStore","rootReducer","compose","applyMiddleware","apply","DefaultLayout","_ref","children","react_default","a","createElement","className","isEmpty","value","keys","trim","validatePaymentForm","fields","response","formIsValid","errors","test","validator","isMobilePhone","abVerify","showShippingInfo","toLowerCase","match","captchaVerified","cardFieldComplete","discountAvailable","confirmIndividual","console","log","name_ship","address_line1_ship","centsToDollarFormat","Intl","NumberFormat","style","currency","minimumFractionDigits","format","updateFormData","setReturnURL","override","css","_templateObject","REACT_APP_API_URL","process","CheckoutForm","props","_this","classCallCheck","this","possibleConstructorReturn","getPrototypeOf","call","onVerifyCaptcha","res","setState","captchaResponse","recaptchaLoaded","formVisible","onChange","e","target","name","validateCardElement","object","complete","cardFieldErrors","error","validateForm","validationCheck","handleSubmit","preventDefault","processing","setReturnButtonText","customerName","axios","post","address_line1","address_line2","address_city","address_state","address_zip","address_country","discountCode","email","registrationType","then","data","chargeSucceeded","setErrorMsg","redirectSuccess","redirectError","catch","err","stripe","createToken","token","id","brand","card","description","concat","createSubmissionDescription","amount","receipt_email","metadata","itemInventoryArray","createItemInventoryArray","isRegistration","phone","useShippingInfo","email_ship","phone_ship","address_line2_ship","address_city_ship","address_state_ship","address_zip_ship","address_country_ship","stripeElementChange","element","empty","defineProperty","checkEmptyStripeElements","submissionDescription","forEach","item","itemQuantity","itemName","itemTotal","shippingInformation","ItemInventoryArray","paymentSummary","newObj","itemCode","quantity","push","toggleShippingInformation","prevState","toggleConfirmIndividual","formatPhoneNumber","phoneNumber","replace","join","appState","appStateMsg","discountValid","discountsRemaining","submitButtonText","billingInformationText","shippingInformationText","dollars","submitButtonVisible","redirect","captchaLoaded","redirectURL","formRedirect","submitDisabled","chargeStatus","_this2","totalAmount","get","valid","available","itemsRemaining","_isMounted","_this3","map","key","discountText","Redirect","to","onSubmit","role","disabled","onClick","history","checked","htmlFor","placeholder","lib_default","inputClass","disableDropdown","disableCountryCode","disableSearchIcon","countryCodeEditable","country","buttonClass","onlyCountries","defaultMask","alwaysDefaultMask","email_verification","react_stripe_elements_es","cardElement","dist_default","sitekey","onVerify","onLoad","captcha","react_spinners_dist","sizeUnit","size","color","loading","Component","enhance","connect","injectStripe","withRouter","Checkout","apiKey","components_CheckoutForm","params","Template","updateTotalAmount","item1Price","item1Quantity","item2Price","item2Quantity","validateTemplateForm","createPaymentSummary","item1Code","item2Code","updateObj","isAdult","item1Description","item2Description","formName","stripeTotalAmount","stripeMetaData","stripeDescription","formFieldState","hasOwnProperty","Validator","require","validateNoviceShootForm","isInt","min","NoviceShootForm_templateObject","noviceShootDate","participantFirstName","participantLastName","onCheckValidName","asyncToGenerator","regenerator_default","mark","_callee","firstName","lastName","wrap","_context","prev","next","sent","nameAllowed","abrupt","t0","stop","_ref2","_callee2","nameCheck","_context2","_x","showDate1","showDate2","showDate3","showDate4","date1Remaining","date2Remaining","date3Remaining","date4Remaining","participantAge","requirementAHEIA","requirementGBL","requirementPL","requirementNR","is1Active","isActive","is2Active","is3Active","is4Active","href","rel","SelectOption","countArray","count","index","Fragment","x","Array","from","_","i","reduce","acc","curr","updateABVerify","raffleTicketQuantity","filter","itemCount","title","code","price","inventoryPromises","fetchInventory","Promise","all","results","newFields","prevProps","some","field","_this4","forms_SelectOption","validateDonationForm","Number","donationTypes","fish","defualtAmount","category","wildlife","land","communications","getDonationTypeName","values","y","DonationForm","onUpdateDonationAmount","donationAmount","isMemorialDonation","donationType","inMemoryOf","createOption","incomingType","incomingAmount","react_number_format_es","allowNegative","decimalScale","fixedDecimalScale","prefix","onValueChange","displayType","validateWaterfowlWarmupForm","WaterfowlWarmupForm_templateObject","updateAddSecondTeam","showAddSecondTeam","secondTeam","sponsorshipLevel","updateRegistrationCost","totalCost","sponsorshipCost","secondTeamCost","sponsorshipType","sponsoringBusiness","teamName","formOpen","teamSpotsRemaining","spotsRemaining","setTimeout","AnniversaryMerchandisePackForm","Item1Summary","item1Name","showItem1Field","item1Remaining","items","alt","src","SelectOptionMP","validateDogCalendarForm","DogCalendarForm","pheasantFormDefaults","pheasantTypes","cost","male","female","formDefaults","minPurchase","maxPurchase","purchaseMultiples","validatePheasantForm","max","formSubmitted","updatePheasantCost","totalMaleCost","totalFemaleCost","totalStraightrunCost","pheasantTypesArray","pheasantTypeItemCode","pheasantType","straightrunMultiples","pheasantMaleNumber","pheasantFemaleNumber","straightrunPheasantNumber","straightrunNumber","maleCost","femaleCost","straightrunCost","getPheasantType","array","pheasantTypeName","pheasantTypeCode","multiple","straightrunMultiple","numberOfMales","numberOfFemales","numberOfStraightrun","maleItem","femaleItem","straightrunItem","purchaseMax","purchaseMin","totalMales","totalFemales","validateNWSGCForm","currentRegistrationObject","registrationTypes","find","registrationTypeCode","priceMode","earlyRegistrationPrice","regularRegistrationPrice","Error","window","location","Success","clearFormData","App","handleUpdateFormData","dispatch","handleClearFormData","setFormData","es","BrowserRouter","layout_DefaultLayout","Switch","Route","exact","path","component","NoviceShootForm","TPFGeneralForm","PheasantForm","Boolean","hostname","ReactDOM","render","src_App","document","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.f1ef00bf.chunk.js","sourcesContent":["import { UPDATE_FORMDATA } from '../actions/types';\nimport { SET_RETURN_URL } from '../actions/types';\nimport { SET_RETURN_BUTTON_TEXT } from '../actions/types';\nimport { CLEAR_FORMDATA } from '../actions/types';\nimport { SET_ERROR_MSG } from '../actions/types';\n\nconst initialState = {\n formData: {},\n errorMsg: 'Oops something went wrong! Please contact the webmaster. (Err E1)',\n returnURL: '',\n returnButtonText: '',\n};\n\nexport default function(state = initialState, action) {\n switch (action.type) {\n case UPDATE_FORMDATA:\n return {\n ...initialState,\n formData: action.payload,\n };\n case SET_RETURN_URL:\n return Object.assign({}, state, {\n returnURL: action.payload,\n });\n case SET_RETURN_BUTTON_TEXT:\n return Object.assign({}, state, {\n returnButtonText: action.payload,\n });\n case SET_ERROR_MSG:\n return Object.assign({}, state, {\n errorMsg: action.payload,\n });\n case CLEAR_FORMDATA:\n return Object.assign({}, state, {\n formData: {},\n });\n default:\n return state;\n }\n}\n","import { combineReducers } from 'redux';\nimport formReducer from './formReducer';\n\nexport default combineReducers({\n form: formReducer\n});\n","export const UPDATE_FORMDATA = 'UPDATE_FORMDATA';\nexport const SET_RETURN_URL = 'SET_RETURN_URL';\nexport const SET_RETURN_BUTTON_TEXT = 'SET_RETURN_BUTTON_TEXT';\nexport const CLEAR_FORMDATA = 'CLEAR_FORMDATA';\nexport const SET_ERROR_MSG = 'SET_ERROR_MSG';\n","import { createStore, applyMiddleware, compose } from 'redux';\nimport thunk from 'redux-thunk';\nimport rootReducer from './reducers';\n\nconst initialState = {};\n\nconst middleware = [thunk];\n\nconst store = createStore(\n rootReducer,\n initialState,\n compose(applyMiddleware(...middleware))\n);\n\nexport default store;\n","import React from 'react';\n\nconst DefaultLayout = ({ children }) => (\n
\n
\n
\n
\n
\n
\n
{children}
\n
\n
\n
\n
\n
\n
\n);\n\nexport default DefaultLayout;\n","const isEmpty = value =>\n value === undefined ||\n value === null ||\n (typeof value === 'object' && Object.keys(value).length === 0) ||\n (typeof value === 'string' && value.trim().length === 0);\n\nexport default isEmpty;\n","import validator from \"validator\";\n\nconst validatePaymentForm = (state) => {\n let fields = state.fields;\n let response = { formIsValid: true, errors: {} };\n\n if (!fields[\"description\"]) {\n response.formIsValid = false;\n response.errors[\"description\"] = \"* Please choose an option.\";\n }\n\n if (!fields[\"name\"]) {\n response.formIsValid = false;\n response.errors[\"name\"] = \"* Please enter your name.\";\n }\n\n if (!/^\\w+([.-]?\\w+)*@\\w+([.-]?\\w+)*(\\.\\w{2,3})+$/.test(fields[\"email\"])) {\n response.formIsValid = false;\n response.errors[\"email\"] = \"* Please enter a valid email.\";\n }\n\n if (fields[\"email_verification\"] !== fields[\"email\"]) {\n response.formIsValid = false;\n response.errors[\"email_verification\"] = \"* Email verification does not match.\";\n }\n\n if (!fields[\"address_line1\"]) {\n response.formIsValid = false;\n response.errors[\"address_line1\"] = \"* Please enter an address.\";\n }\n\n if (!validator.isMobilePhone(fields[\"phone\"])) {\n response.formIsValid = false;\n response.errors[\"phone\"] = \"* Please enter a valid phone number.\";\n }\n\n if (!fields[\"address_city\"]) {\n response.formIsValid = false;\n response.errors[\"address_city\"] = \"* Please enter a city.\";\n }\n\n if (!fields[\"address_state\"]) {\n response.formIsValid = false;\n response.errors[\"address_state\"] = \"* Please enter an province.\";\n }\n\n if (state.abVerify && !fields.showShippingInfo && fields[\"address_state\"]) {\n var abVerifyLowercase = fields[\"address_state\"].toLowerCase();\n\n if (abVerifyLowercase.match(/^(alberta|ab|alta)$/)) {\n } else {\n response.formIsValid = false;\n response.errors[\"address_state\"] =\n \"* You must be an Alberta resident to purchace a raffle ticket.\";\n }\n }\n\n if (!fields[\"address_zip\"]) {\n response.formIsValid = false;\n response.errors[\"address_zip\"] = \"* Please enter a postal code.\";\n }\n\n if (!fields[\"address_country\"]) {\n response.formIsValid = false;\n response.errors[\"address_country\"] = \"* Please enter a country.\";\n }\n\n if (!fields.captchaVerified) {\n response.formIsValid = false;\n response.errors[\"captcha\"] = \"* Please complete the reCAPTCHA.\";\n }\n\n if (!fields.cardFieldComplete && !state.discountAvailable) {\n response.formIsValid = false;\n response.errors[\"cardElement\"] = \"* Please check credit card information.\";\n }\n\n if (state.abVerify && !fields.confirmIndividual) {\n console.log(\"hello!!!!\");\n response.formIsValid = false;\n response.errors[\"confirmIndividual\"] =\n \"* Please confirm you are purchasing raffle tickets for an individual.\";\n }\n\n if (fields.showShippingInfo) {\n if (!/^\\w+([.-]?\\w+)*@\\w+([.-]?\\w+)*(\\.\\w{2,3})+$/.test(fields[\"email_ship\"])) {\n response.formIsValid = false;\n response.errors[\"email_ship\"] = \"* Please enter a valid shipping email.\";\n }\n if (!validator.isMobilePhone(fields[\"phone_ship\"])) {\n response.formIsValid = false;\n response.errors[\"phone_ship\"] = \"* Please enter a valid shipping phone number.\";\n }\n if (!fields.name_ship) {\n response.formIsValid = false;\n response.errors[\"name_ship\"] = \"* Please enter a shipping name.\";\n }\n if (!fields.address_line1_ship) {\n response.formIsValid = false;\n response.errors[\"address_line1_ship\"] = \"* Please enter a shipping address.\";\n }\n if (!fields[\"address_city_ship\"]) {\n response.formIsValid = false;\n response.errors[\"address_city_ship\"] = \"* Please enter a shipping city.\";\n }\n\n if (!fields[\"address_state_ship\"]) {\n response.formIsValid = false;\n response.errors[\"address_state_ship\"] = \"* Please enter an shipping province.\";\n }\n\n if (state.abVerify && fields[\"address_state_ship\"]) {\n console.log(\"checking!\");\n var abVerifyLowercaseShip = fields[\"address_state_ship\"].toLowerCase();\n if (abVerifyLowercaseShip.match(/^(alberta|ab|alta)$/)) {\n } else {\n response.formIsValid = false;\n response.errors[\"address_state_ship\"] =\n \"* You must be an Alberta resident to purchace a raffle ticket.\";\n }\n }\n\n if (!fields[\"address_zip_ship\"]) {\n response.formIsValid = false;\n response.errors[\"address_zip_ship\"] = \"* Please enter a shipping postal code.\";\n }\n\n if (!fields[\"address_country_ship\"]) {\n response.formIsValid = false;\n response.errors[\"address_country_ship\"] = \"* Please enter a shipping country.\";\n }\n }\n\n return response;\n};\n\nexport default validatePaymentForm;\n","const centsToDollarFormat = value =>\n Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: 'USD',\n minimumFractionDigits: 2\n }).format(value / 100);\n\nexport default centsToDollarFormat;\n","import { UPDATE_FORMDATA } from './types';\nimport { SET_RETURN_URL } from './types';\nimport { SET_RETURN_BUTTON_TEXT } from './types';\nimport { CLEAR_FORMDATA } from './types';\nimport { SET_ERROR_MSG } from './types';\n\nexport const updateFormData = (formData) => {\n return {\n type: UPDATE_FORMDATA,\n payload: formData,\n };\n};\n\nexport const setReturnURL = (returnURL) => {\n return {\n type: SET_RETURN_URL,\n payload: returnURL,\n };\n};\n\nexport const setReturnButtonText = (returnButtonText) => {\n return {\n type: SET_RETURN_BUTTON_TEXT,\n payload: returnButtonText,\n };\n};\n\nexport const setErrorMsg = (errorMsg) => {\n return {\n type: SET_ERROR_MSG,\n payload: errorMsg,\n };\n};\n\nexport const clearFormData = () => {\n return {\n type: CLEAR_FORMDATA,\n };\n};\n","import React, { Component } from \"react\";\nimport { injectStripe } from \"react-stripe-elements\";\nimport Reaptcha from \"reaptcha\";\nimport { compose } from \"redux\";\nimport { connect } from \"react-redux\";\nimport { CardElement } from \"react-stripe-elements\";\nimport isEmpty from \"../util/isEmpty\";\nimport axios from \"axios\";\nimport validatePaymentForm from \"../validation/validatePaymentForm\";\nimport { withRouter } from \"react-router\";\nimport { Redirect } from \"react-router\";\nimport centsToDollarFormat from \"../util/centsToDollarFormat\";\nimport PhoneInput from \"react-phone-input-2\";\nimport \"react-phone-input-2/lib/style.css\";\nimport \"../css/phone_input.css\";\nimport { setErrorMsg, setReturnURL, setReturnButtonText } from \"../actions/formActions\";\n\nimport { css } from \"@emotion/core\";\nimport { PulseLoader } from \"react-spinners\";\n\nimport \"../css/form.css\";\n\nconst override = css`\n display: inline;\n margin: 15px;\n`;\n\nconst REACT_APP_API_URL = process.env.REACT_APP_API_URL;\nconst REACT_APP_GOOGLE_CAPTCHA_SITE_KEY = process.env.REACT_APP_GOOGLE_CAPTCHA_SITE_KEY;\n\nclass CheckoutForm extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n processing: false,\n appState: \"working\",\n appStateMsg: \"\",\n fields: {\n name: \"\",\n email: \"\",\n phone: \"\",\n address_line1: \"\",\n address_line2: \"\",\n address_city: \"\",\n address_state: \"\",\n address_zip: \"\",\n address_country: \"\",\n name_ship: \"\",\n email_ship: \"\",\n phone_ship: \"\",\n address_line1_ship: \"\",\n address_line2_ship: \"\",\n address_city_ship: \"\",\n address_state_ship: \"\",\n address_zip_ship: \"\",\n address_country_ship: \"\",\n\n cardFieldErrors: {},\n cardFieldComplete: false,\n captchaVerified: false,\n showShippingInfo: false,\n confirmIndividual: false,\n },\n discountValid: false,\n discountAvailable: false,\n discountsRemaining: 0,\n discountCode: \"\",\n returnURL: \"http://www.ab-conservation.com\",\n returnButtonText: \"Return to form\",\n isRegistration: \"\",\n registrationType: \"\",\n submitButtonText: \"Complete Payment\",\n billingInformationText: \"Billing Information\",\n shippingInformationText: \"Shipping Information\",\n abVerify: false,\n currency: \"USD\",\n dollars: \"\",\n errors: {},\n formVisible: true,\n submitButtonVisible: true,\n description: [],\n redirect: false,\n captchaLoaded: false,\n redirectURL: \"\",\n formRedirect: \"\",\n submitDisabled: false,\n captchaResponse: \"\",\n chargeStatus: \"pending\",\n redirectError: false,\n redirectSuccess: false,\n paymentSummary: [],\n };\n }\n\n componentDidMount() {\n console.log(REACT_APP_API_URL);\n //* Set incoming params\n\n if (this.props.form) {\n //* Set description/amount/returnURL\n const formData = this.props.form;\n\n if (!!formData.abVerify) {\n this.setState({ abVerify: formData.abVerify });\n }\n\n if (!!formData.totalAmount || !!formData.paymentSummary) {\n // Set amount/description/\n const description = formData.paymentSummary;\n const amount = formData.totalAmount;\n const formRedirect = formData.redirect;\n\n // Registation\n if (\n typeof formData.registrationType !== \"undefined\" ||\n formData.registrationType !== null\n ) {\n this.setState({\n isRegistration: true,\n registrationType: formData.registrationType,\n });\n }\n\n // Discount Code\n if (!!formData.discountCode) {\n // Set the discount code\n this.setState({\n discountCode: formData.discountCode,\n });\n\n // Check Validity\n axios\n .get(REACT_APP_API_URL + \"discountCode/verify/\" + formData.discountCode)\n // Evaluate Response\n .then((res) => {\n if (res.data.valid) {\n this.setState({\n discountValid: res.data.valid,\n discountAvailable: res.data.available,\n discountsRemaining: res.data.itemsRemaining,\n });\n if (res.data.available) {\n this.setState({\n fields: {\n ...this.state.fields,\n amount: 0,\n dollars: centsToDollarFormat(0),\n },\n billingInformationText: \"Registration Information\",\n });\n }\n } else {\n this.setState({\n discountValid: false,\n discountAvailable: false,\n discountsRemaining: 0,\n });\n }\n })\n .catch((err) =>\n this.setState({\n discountValid: false,\n discountAvailable: false,\n discountsRemaining: 0,\n })\n );\n } else {\n // Invalid Discount Code\n }\n\n this.setState({\n fields: {\n ...this.state.fields,\n description: description,\n amount: amount,\n dollars: centsToDollarFormat(amount),\n },\n description: description,\n returnURL: formRedirect,\n paymentSummary: formData.paymentSummary,\n });\n } else {\n this.props.setErrorMsg(\"There was an error accessing the payment form. (Err 01)\");\n\n this.setState({\n redirectError: true,\n });\n }\n } else {\n console.log(\"boom2\");\n this.props.setErrorMsg(\"There was an error accessing the payment form. (Err 02)\");\n\n this.setState({\n redirectError: true,\n });\n }\n }\n\n componentWillUnmount() {\n this._isMounted = false;\n }\n\n //* Captcha functions\n onVerifyCaptcha = (res) => {\n this.setState({\n fields: {\n ...this.state.fields,\n captchaVerified: true,\n },\n captchaResponse: res,\n });\n };\n\n recaptchaLoaded = () => {\n this.setState({ formVisible: true });\n };\n\n //* Form functions\n onChange = (e) => {\n let fields = this.state.fields;\n fields[e.target.name] = e.target.value;\n this.setState({\n fields,\n });\n };\n\n validateCardElement = (object) => {\n this.setState({\n fields: {\n ...this.state.fields,\n cardFieldComplete: object.complete,\n cardFieldErrors: object.error,\n },\n });\n };\n\n validateForm = () => {\n const validationCheck = validatePaymentForm(this.state);\n let formIsValid = false;\n\n if (validationCheck.formIsValid) {\n formIsValid = true;\n } else {\n if (!isEmpty(validationCheck.errors)) {\n this.setState({\n errors: validationCheck.errors,\n });\n }\n }\n return formIsValid;\n };\n\n handleSubmit = (e) => {\n //* Prevent default form action.\n e.preventDefault();\n\n //* Server side form validation.\n if (this.validateForm(this.state)) {\n //* Hide the submit button.\n this.setState({ processing: true });\n this.props.setReturnURL(this.state.returnURL);\n this.props.setReturnButtonText(this.state.returnButtonText);\n\n let customerName = \"\";\n // Set the proper name.\n if (!this.state.fields.showShippingInfo) {\n customerName = this.state.fields.name;\n } else {\n customerName = this.state.fields.name_ship;\n }\n\n if (this.state.discountAvailable) {\n // Process Discount Purchase\n axios\n .post(REACT_APP_API_URL + \"discount\", {\n name: customerName,\n address_line1: this.state.fields.address_line1,\n address_line2: this.state.fields.address_line2,\n address_city: this.state.fields.address_city,\n address_state: this.state.fields.address_state,\n address_zip: this.state.fields.address_zip,\n address_country: this.state.fields.address_country,\n captchaResponse: this.state.captchaResponse,\n discountCode: this.state.discountCode,\n email: this.state.fields.email,\n registrationType: \"NWSGC2020\",\n })\n //* Evaluate received response\n .then((res) => {\n const chargeStatus = res.data.chargeSucceeded;\n\n //* Credit card successfully charged.\n if (chargeStatus) {\n //TODO: Need to reset form.\n\n //* Hide the form and show success message\n this.props.setErrorMsg(\n \"Transaction successful. You will receive an email receipt shortly. Thank you.\"\n );\n this.setState({\n redirectSuccess: true,\n });\n } else {\n //* Hide the form and show error message\n this.props.setErrorMsg(res.data.error);\n this.setState({\n redirectError: true,\n });\n }\n })\n .catch((err) => console.log(err));\n } else {\n //* Create stripe token for card validation.\n this.props.stripe\n .createToken({\n name: this.state.fields.name,\n address_line1: this.state.fields.address_line1,\n address_line2: this.state.fields.address_line2,\n address_city: this.state.fields.address_city,\n address_state: this.state.fields.address_state,\n address_zip: this.state.fields.address_zip,\n address_country: this.state.fields.address_country,\n currency: this.state.fields.currency,\n })\n //* Token created successfully.\n .then(({ token }) => {\n // Attempt to charge the card.\n axios\n .post(REACT_APP_API_URL + \"charge\", {\n id: token.id,\n brand: token.card.brand,\n description: `${this.createSubmissionDescription(this.state.description)} * em: ${\n this.state.fields.email\n }`,\n amount: this.state.fields.amount,\n captchaResponse: this.state.captchaResponse,\n receipt_email: this.state.fields.email,\n metadata: {\n description: `${this.createSubmissionDescription(this.state.description)} * em: ${\n this.state.fields.email\n }`,\n },\n itemInventoryArray: this.createItemInventoryArray(),\n\n // Registration\n isRegistration: this.state.isRegistration,\n registrationType: this.state.registrationType,\n\n // Customer Information\n name: this.state.fields.name,\n email: this.state.fields.email,\n phone: this.state.fields.phone,\n address_line1: this.state.fields.address_line1,\n address_line2: this.state.fields.address_line2,\n address_city: this.state.fields.address_city,\n address_state: this.state.fields.address_state,\n address_zip: this.state.fields.address_zip,\n address_country: this.state.fields.address_country,\n discountCode: this.state.discountCode,\n useShippingInfo: this.state.fields.showShippingInfo,\n name_ship: this.state.fields.name_ship,\n email_ship: this.state.fields.email_ship,\n phone_ship: this.state.fields.phone_ship,\n address_line1_ship: this.state.fields.address_line1_ship,\n address_line2_ship: this.state.fields.address_line2_ship,\n address_city_ship: this.state.fields.address_city_ship,\n address_state_ship: this.state.fields.address_state_ship,\n address_zip_ship: this.state.fields.address_zip_ship,\n address_country_ship: this.state.fields.address_country_ship,\n })\n //* Evaluate received response\n .then((res) => {\n const chargeStatus = res.data.chargeSucceeded;\n\n //* Credit card successfully charged.\n if (chargeStatus) {\n //TODO: Need to reset form.\n\n //* Hide the form and show success message\n this.props.setErrorMsg(\n \"Transaction successful. You will receive an email receipt shortly. Thank you.\"\n );\n this.setState({\n redirectSuccess: true,\n });\n } else {\n //* Hide the form and show error message\n this.props.setErrorMsg(res.data.error);\n this.setState({\n redirectError: true,\n });\n }\n })\n .catch((err) => console.log(err));\n })\n .catch((err) => {\n //* Hide the form and show error message\n this.props.setErrorMsg(\"There was a problem charging your card. (Err 03)\");\n console.log(err);\n this.setState({\n redirectError: true,\n });\n });\n }\n }\n };\n\n stripeElementChange = (element, name) => {\n if (!element.empty && element.complete) {\n this.setState({ [name]: true });\n }\n this.checkEmptyStripeElements();\n };\n\n createSubmissionDescription = (description) => {\n let submissionDescription = \"\";\n description.forEach((item) => {\n submissionDescription =\n submissionDescription +\n `* ${item.itemQuantity} x ${item.itemName} = ${centsToDollarFormat(item.itemTotal)} `;\n });\n\n submissionDescription =\n submissionDescription + `* TOTAL: ${centsToDollarFormat(this.state.fields.amount)} `;\n\n if (this.state.fields.showShippingInfo) {\n let shippingInformation =\n `* Ship ` +\n `* N: ` +\n this.state.fields.name_ship +\n ` ` +\n `* Ph: ` +\n this.state.fields.phone_ship +\n ` ` +\n `* C: ` +\n this.state.fields.address_city_ship +\n ` ` +\n `* Pr: ` +\n this.state.fields.address_state_ship;\n\n submissionDescription = submissionDescription + shippingInformation;\n } else {\n submissionDescription =\n submissionDescription +\n `* Ship same as bill. * N: ` +\n this.state.fields.name +\n ` * Ph: ` +\n this.state.fields.phone +\n ` ` +\n `* C: ` +\n this.state.fields.address_city +\n ` ` +\n `* Pr: ` +\n this.state.fields.address_state;\n }\n return submissionDescription;\n };\n\n createItemInventoryArray = () => {\n let ItemInventoryArray = [];\n\n this.props.form.paymentSummary.forEach((element) => {\n let newObj = {\n itemCode: element.itemCode,\n amount: element.itemTotal,\n quantity: element.itemQuantity,\n };\n\n ItemInventoryArray.push(newObj);\n });\n\n return ItemInventoryArray;\n };\n\n toggleShippingInformation = () => {\n this.setState((prevState) => {\n return {\n fields: {\n ...this.state.fields,\n showShippingInfo: !prevState.fields.showShippingInfo,\n },\n };\n });\n };\n\n toggleConfirmIndividual = () => {\n this.setState((prevState) => {\n return {\n fields: {\n ...this.state.fields,\n confirmIndividual: !prevState.fields.confirmIndividual,\n },\n };\n });\n };\n\n formatPhoneNumber = (phoneNumber) => {\n let cleaned = (\"\" + phoneNumber).replace(/\\D/g, \"\");\n var match = cleaned.match(/^(1|)?(\\d{3})(\\d{3})(\\d{4})$/);\n if (match) {\n var intlCode = match[1] ? \"+1 \" : \"\";\n return [intlCode, match[2], \"-\", match[3], \"-\", match[4]].join(\"\");\n }\n return \"\";\n };\n\n render(props) {\n let description = this.state.description.map((item) => (\n
  • \n {item.itemQuantity} x {item.itemName} = {centsToDollarFormat(item.itemTotal)}\n
  • \n ));\n\n let discountText = \"\";\n if (this.state.discountCode !== \"\") {\n if (!this.state.discountValid) {\n discountText = ` ` + this.state.discountCode + ` (INVALID CODE)`;\n } else {\n discountText =\n ` ` + this.state.discountCode + ` (${this.state.discountsRemaining} discounts remaining)`;\n }\n }\n\n return (\n
    \n {this.state.redirectSuccess && }\n {this.state.redirectError && }\n
    \n
    \n
    \n {/* */}\n

    Payment Details:

    \n
    \n {this.state.description && (\n
    \n
    \n

    Description:

    \n
    \n
      {description}
    \n\n {this.state.discountCode && (\n
    \n

    \n DISCOUNT CODE:\n {discountText}\n

    \n
    \n )}\n
    \n TOTAL: {centsToDollarFormat(this.state.fields.amount)}\n
    \n
    \n
    \n
    \n this.props.history.push(this.state.returnURL)}\n >\n Edit Items\n \n
    \n
    \n )}\n
    \n
    \n\n {!this.state.discountAvailable && (\n
    \n
    \n\n
    \n
    \n {\" \"}\n Shipping information is different than billing information.\n
    \n
    \n
    \n )}\n\n {this.state.fields.showShippingInfo && (\n
    \n
    \n
    \n
    \n

    {this.state.shippingInformationText}:

    \n
    \n \n
    \n \n {this.state.errors.name_ship && (\n
    {this.state.errors.name_ship}
    \n )}\n
    \n
    \n\n {/* Shipping Email Field*/}\n
    \n \n
    \n \n {this.state.errors.email_ship && (\n
    {this.state.errors.email_ship}
    \n )}\n
    \n
    \n\n {/* Shipping Phone */}\n
    \n \n
    \n {\n let fields = this.state.fields;\n fields.phone_ship = this.formatPhoneNumber(phone_ship);\n this.setState({\n fields,\n });\n }}\n />\n\n {this.state.errors.phone_ship && (\n
    {this.state.errors.phone_ship}
    \n )}\n
    \n
    \n\n {/* Shipping Address1 Field */}\n
    \n \n
    \n \n {this.state.errors.address_line1_ship && (\n
    {this.state.errors.address_line1_ship}
    \n )}\n
    \n
    \n\n {/* Shipping Address2 Field */}\n
    \n \n
    \n \n
    \n
    \n\n {/* Shipping City Field */}\n
    \n \n
    \n \n {this.state.errors.address_city_ship && (\n
    {this.state.errors.address_city_ship}
    \n )}\n
    \n
    \n\n {/* Shipping Province Field */}\n
    \n \n
    \n \n {this.state.errors.address_state_ship && (\n
    {this.state.errors.address_state_ship}
    \n )}\n
    \n
    \n\n {/* Shipping Postal Field */}\n
    \n \n
    \n \n {this.state.errors.address_zip_ship && (\n
    {this.state.errors.address_zip_ship}
    \n )}\n
    \n
    \n\n {/* Shipping Country Field */}\n
    \n \n
    \n \n {this.state.errors.address_country_ship && (\n
    {this.state.errors.address_country_ship}
    \n )}\n
    \n
    \n
    \n )}\n\n
    \n\n {/* Name Field*/}\n
    \n
    \n

    {this.state.billingInformationText}:

    \n
    \n \n
    \n \n {this.state.errors.name &&
    {this.state.errors.name}
    }\n
    \n
    \n\n {/* Email Field*/}\n
    \n \n
    \n \n {this.state.errors.email &&
    {this.state.errors.email}
    }\n
    \n
    \n\n {/* Email Verification*/}\n
    \n \n
    \n \n {this.state.errors.email_verification && (\n
    {this.state.errors.email_verification}
    \n )}\n
    \n
    \n\n {/* Phone Verification\n
    \n \n
    \n \n {this.state.errors.phone && (\n
    {this.state.errors.phone}
    \n )}\n
    \n
    */}\n\n {/* Phone */}\n
    \n \n
    \n {\n let fields = this.state.fields;\n fields.phone = this.formatPhoneNumber(phone);\n this.setState({\n fields,\n });\n }}\n />\n\n {this.state.errors.phone &&
    {this.state.errors.phone}
    }\n
    \n
    \n\n {/* Address1 Field */}\n
    \n \n
    \n \n {this.state.errors.address_line1 && (\n
    {this.state.errors.address_line1}
    \n )}\n
    \n
    \n\n {/* Address2 Field */}\n
    \n \n
    \n \n
    \n
    \n\n {/* City Field */}\n
    \n \n
    \n \n {this.state.errors.address_city && (\n
    {this.state.errors.address_city}
    \n )}\n
    \n
    \n\n {/* Province Field */}\n
    \n \n
    \n \n {this.state.errors.address_state && (\n
    {this.state.errors.address_state}
    \n )}\n
    \n
    \n\n {/* Postal Field */}\n
    \n \n
    \n \n {this.state.errors.address_zip && (\n
    {this.state.errors.address_zip}
    \n )}\n
    \n
    \n\n {/* Country Field */}\n
    \n \n
    \n \n {this.state.errors.address_country && (\n
    {this.state.errors.address_country}
    \n )}\n
    \n
    \n\n {this.state.abVerify && (\n
    \n
    \n\n
    \n
    \n {\" \"}\n \n Your purchase contains rafflle tickets. Please confirm that this purchase is an\n individual not a company.\n \n {this.state.errors.confirmIndividual && (\n
    {this.state.errors.confirmIndividual}
    \n )}\n
    \n
    \n
    \n )}\n\n {/* Card Component */}\n {!this.state.discountAvailable && (\n
    \n
    \n
    \n this.validateCardElement(element)} />\n
    \n
    \n \n

    Only Visa and Mastercard Accepted.

    \n
    \n
    \n {this.state.errors.cardElement && (\n
    {this.state.errors.cardElement}
    \n )}\n
    \n
    \n )}\n\n {/* Reaptcha Field */}\n
    \n
    \n \n {this.state.errors.captcha && (\n
    {this.state.errors.captcha}
    \n )}\n
    \n
    \n\n {/* Submit Button */}\n {this.state.submitButtonVisible && (\n
    \n
    \n \n \n
    \n
    \n )}\n
    \n
    \n );\n }\n}\n\nconst mapStateToProps = (state) => {\n return {\n form: state.form.formData,\n };\n};\n\nconst enhance = compose(\n connect(\n mapStateToProps,\n { setErrorMsg, setReturnURL, setReturnButtonText }\n ),\n injectStripe,\n withRouter\n);\n\nexport default enhance(CheckoutForm);\n","import React, { Component } from 'react';\nimport { StripeProvider } from 'react-stripe-elements';\nimport { Elements } from 'react-stripe-elements';\nimport InjectedCheckoutForm from './CheckoutForm';\n\nconst STRIPE_PUBLIC_KEY = process.env.REACT_APP_STRIPE_PUBLIC_KEY;\n\nclass Checkout extends Component {\n render() {\n return (\n
    \n \n \n \n \n \n
    \n );\n }\n}\n\nexport default Checkout;\n","const validatePaymentForm = state => {\n let fields = state.fields;\n let response = { formIsValid: true, errors: {} };\n\n if (!fields['name']) {\n response.formIsValid = false;\n response.errors['name'] = '* Please provide a name.';\n }\n\n if (!fields['isAdult']) {\n response.formIsValid = false;\n response.errors['isAdult'] = '* You must verify you are an adult.';\n }\n\n if (state.totalAmount === 0) {\n response.formIsValid = false;\n response.errors['totalAmount'] = '* You must purchase at least one item.';\n }\n\n return response;\n};\n\nexport default validatePaymentForm;\n","import React, { Component } from 'react';\nimport validateTemplateForm from '../../validation/validateTemplateForm';\nimport isEmpty from '../../util/isEmpty';\nimport centsToDollarFormat from '../../util/centsToDollarFormat';\nimport { Redirect } from 'react-router';\nimport { connect } from 'react-redux';\nimport { updateFormData } from '../../actions/formActions';\n\nclass Template extends Component {\n constructor(props) {\n super(props);\n this.state = {\n fields: {\n name: '',\n isAdult: false,\n item1Description: 'This is a description for Item 1.',\n item1Code: 'Item1',\n item1Quantity: 0,\n item1Price: 10000, // In cents\n item2Description: 'This is a description for Item 2.',\n item2Code: 'Item2',\n item2Quantity: 0,\n item2Price: 20000, // In cents\n formName: 'Template'\n },\n totalAmount: 0,\n errors: {},\n stripeTotalAmount: 5,\n stripeMetaData: {\n name: ''\n },\n stripeDescription: '',\n redirect: false\n };\n }\n\n componentDidMount() {\n //* Update state if values exsist.\n\n if (this.props.form) {\n const formData = this.props.form;\n const formFieldState = this.state.fields;\n\n if (\n typeof formData.formName !== 'undefined' &&\n formData.formName === formFieldState.formName\n ) {\n //* Create a complete object from current state\n let newObj = {};\n Object.keys(formFieldState).forEach(item => {\n newObj[item] = formFieldState[item];\n });\n\n //* Update key data if within the prop object\n Object.keys(formData).forEach(item => {\n if (newObj.hasOwnProperty(item)) {\n newObj[item] = formData[item];\n }\n });\n\n //* Update the state from the updated object\n this.setState(\n (prevState, props) => ({\n fields: newObj\n }),\n () => {\n this.updateTotalAmount();\n }\n );\n } //* TODO: Add Redirect to error page\n }\n }\n\n //* Form functions\n onChange = e => {\n const target = e.target;\n const value = target.type === 'checkbox' ? target.checked : target.value;\n const name = target.name;\n\n this.setState(\n prevState => ({\n fields: {\n ...prevState.fields,\n [name]: value\n }\n }),\n () => {\n this.updateTotalAmount();\n }\n );\n };\n\n updateTotalAmount = () => {\n const item1Total =\n this.state.fields.item1Price * this.state.fields.item1Quantity;\n const item2Total =\n this.state.fields.item2Price * this.state.fields.item2Quantity;\n const totalAmount = item1Total + item2Total;\n this.setState({ totalAmount: totalAmount });\n };\n\n validateForm = () => {\n const validationCheck = validateTemplateForm(this.state);\n let formIsValid = false;\n\n //* Reset Field Error State\n this.setState({ errors: {} });\n\n //* Perform Validation\n if (validationCheck.formIsValid) {\n formIsValid = true;\n } else {\n if (!isEmpty(validationCheck.errors)) {\n this.setState({\n errors: validationCheck.errors\n });\n }\n }\n return formIsValid;\n };\n\n createPaymentSummary = () => {\n const paymentSummary = `(${this.state.fields.item1Code} x ${\n this.state.fields.item1Quantity\n }) + (${this.state.fields.item2Code} x ${\n this.state.fields.item2Quantity\n }) = Total ${centsToDollarFormat(this.state.totalAmount)}`;\n return paymentSummary;\n };\n\n handleSubmit = e => {\n //* Prevent default form action.\n e.preventDefault();\n\n //* Validate the form\n if (this.validateForm()) {\n //* Create new istance of the field object and pass to parent func\n let updateObj = Object.assign({}, this.state.fields);\n\n //* Create Payment Summary\n updateObj['paymentSummary'] = this.createPaymentSummary();\n updateObj['totalAmount'] = this.state.totalAmount;\n updateObj['redirect'] = '/template';\n\n this.props.updateFormData(updateObj);\n\n this.setState({ redirect: true });\n }\n };\n\n render() {\n return (\n
    \n {/* Form redirect */}\n {this.state.redirect && }\n\n
    \n {/* Form Title */}\n
    \n
    \n

    {this.state.fields.formName} Purchase Form

    \n
    \n
    \n\n
    \n\n {/* Participant full name field */}\n
    \n \n
    \n \n {this.state.errors.name && (\n
    {this.state.errors.name}
    \n )}\n
    \n
    \n\n {/* isAdult checkbox*/}\n
    \n \n
    \n \n {this.state.errors.isAdult && (\n {this.state.errors.isAdult}\n )}\n
    \n
    \n\n {/* item1Quantity Select Box */}\n
    \n \n
    \n \n \n \n \n \n \n \n \n {this.state.errors.item1Quantity && (\n
    \n {this.state.errors.item1Quantity}\n
    \n )}\n
    \n
    \n\n {/* item2Quantity Select Box */}\n
    \n \n
    \n \n \n \n \n \n \n \n \n {this.state.errors.item2Quantity && (\n
    \n {this.state.errors.item2Quantity}\n
    \n )}\n
    \n
    \n\n
    \n\n {/* Display Total Amount */}\n
    \n
    \n

    Total: {centsToDollarFormat(this.state.totalAmount)}

    \n {this.state.errors.totalAmount && (\n
    {this.state.errors.totalAmount}
    \n )}\n
    \n
    \n\n {/* Submit button */}\n
    \n
    \n \n Make Payment\n \n
    \n
    \n
    \n
    \n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n form: state.form.formData\n };\n};\n\nexport default connect(\n mapStateToProps,\n { updateFormData }\n)(Template);\n","const Validator = require(\"validator\");\n\nconst validateNoviceShootForm = (state) => {\n let fields = state.fields;\n let response = { formIsValid: true, errors: {} };\n\n if (Validator.isEmpty(fields[\"noviceShootDate\"])) {\n response.formIsValid = false;\n response.errors[\"noviceShootDate\"] = \"* Please choose a date.\";\n }\n\n if (Validator.isEmpty(fields[\"participantFirstName\"])) {\n response.formIsValid = false;\n response.errors[\"participantFirstName\"] = \"* Please enter participants first name.\";\n }\n\n if (Validator.isEmpty(fields[\"participantLastName\"])) {\n response.formIsValid = false;\n response.errors[\"participantLastName\"] = \"* Please enter participants last name.\";\n }\n\n if (!fields[\"requirementAHEIA\"]) {\n response.formIsValid = false;\n response.errors[\"requirementAHEIA\"] =\n \"* Participant must have completed the Alberta Hunter Education Training Course.\";\n }\n\n if (!fields[\"requirementGBL\"]) {\n response.formIsValid = false;\n response.errors[\"requirementGBL\"] =\n \"* Participant requires a valid game bird licence by their novice hunt day.\";\n }\n\n if (!fields[\"requirementPL\"]) {\n response.formIsValid = false;\n response.errors[\"requirementPL\"] =\n \"* Participant requires a valid pheasant licence by their novice hunt day.\";\n }\n\n if (!fields[\"requirementNR\"]) {\n response.formIsValid = false;\n response.errors[\"requirementNR\"] = \"* You must agree to the no-refund policy.\";\n }\n\n if (!Validator.isInt(fields[\"participantAge\"], { min: 10 })) {\n response.formIsValid = false;\n response.errors[\"participantAge\"] = \"* Please enter a number greater than 10.\";\n }\n\n return response;\n};\n\nexport default validateNoviceShootForm;\n","import React, { Component } from \"react\";\nimport validateNoviceShootForm from \"../../validation/validateNoviceShootForm\";\nimport isEmpty from \"../../util/isEmpty\";\nimport centsToDollarFormat from \"../../util/centsToDollarFormat\";\nimport { Redirect } from \"react-router\";\nimport { connect } from \"react-redux\";\nimport { updateFormData, setReturnURL } from \"../../actions/formActions\";\nimport axios from \"axios\";\nimport { PulseLoader } from \"react-spinners\";\nimport { css } from \"@emotion/core\";\nconst override = css`\n display: inline;\n margin: 15px;\n`;\n\nconst REACT_APP_API_URL = process.env.REACT_APP_API_URL;\n\nclass Template extends Component {\n constructor(props) {\n super(props);\n this.state = {\n processing: true,\n nameAllowed: true,\n showDate1: false,\n showDate2: false,\n showDate3: false,\n showDate4: false,\n date1Remaining: 0,\n date2Remaining: 0,\n date3Remaining: 0,\n date4Remaining: 0,\n fields: {\n noviceShootDate: \"\",\n participantFirstName: \"\",\n participantLastName: \"\",\n participantAge: \"\",\n requirementAHEIA: false,\n requirementGBL: false,\n requirementPL: false,\n requirementNR: false,\n item1Description: \"Novice Shoot Registration.\",\n item1Code: \"NH\",\n item1Quantity: 1,\n item1Price: 5000, // In cents\n formName: \"2024 Novice Shoot Registration\",\n },\n totalAmount: 5000,\n errors: {},\n stripeTotalAmount: 5,\n stripeMetaData: {\n name: \"\",\n },\n stripeDescription: \"\",\n redirect: false,\n };\n }\n\n componentDidMount() {\n console.log(\"Component did mount!\");\n axios\n .get(REACT_APP_API_URL + \"inventory/TPF2024NS19AM\")\n //* Evaluate received response\n .then((res) => {\n this.setState({\n showDate1: res.data.available,\n date1Remaining: res.data.itemsRemaining,\n is1Active: res.data.isActive,\n });\n });\n\n axios\n .get(REACT_APP_API_URL + \"inventory/TPF2024NS19PM\")\n //* Evaluate received response\n .then((res) => {\n this.setState({\n showDate2: res.data.available,\n date2Remaining: res.data.itemsRemaining,\n is2Active: res.data.isActive,\n });\n this.setState({ processing: false });\n });\n\n axios\n .get(REACT_APP_API_URL + \"inventory/TPF2024NS20AM\")\n //* Evaluate received response\n .then((res) => {\n this.setState({\n showDate3: res.data.available,\n date3Remaining: res.data.itemsRemaining,\n is3Active: res.data.isActive,\n });\n this.setState({ processing: false });\n });\n\n axios\n .get(REACT_APP_API_URL + \"inventory/TPF2024NS20PM\")\n //* Evaluate received response\n .then((res) => {\n this.setState({\n showDate4: res.data.available,\n date4Remaining: res.data.itemsRemaining,\n is4Active: res.data.isActive,\n });\n this.setState({ processing: false });\n });\n\n //* Update state if values exsist.\n if (this.props.form) {\n const formData = this.props.form;\n const formFieldState = this.state.fields;\n\n if (\n typeof formData.formName !== \"undefined\" &&\n formData.formName === formFieldState.formName\n ) {\n //* Create a complete object from current state\n let newObj = {};\n Object.keys(formFieldState).forEach((item) => {\n newObj[item] = formFieldState[item];\n });\n\n //* Update key data if within the prop object\n Object.keys(formData).forEach((item) => {\n if (newObj.hasOwnProperty(item)) {\n newObj[item] = formData[item];\n }\n });\n\n //* Update the state from the updated object\n this.setState((prevState, props) => ({\n fields: newObj,\n }));\n } //* TODO: Add Redirect to error page\n }\n }\n\n //* Form functions\n onChange = (e) => {\n const target = e.target;\n const value = target.type === \"checkbox\" ? target.checked : target.value;\n const name = target.name;\n\n this.setState((prevState) => ({\n fields: {\n ...prevState.fields,\n [name]: value,\n },\n }));\n };\n z;\n\n validateForm = () => {\n const validationCheck = validateNoviceShootForm(this.state);\n let formIsValid = false;\n\n //* Reset Field Error State\n this.setState({ errors: {} });\n\n //* Perform Validation\n if (validationCheck.formIsValid) {\n formIsValid = true;\n } else {\n if (!isEmpty(validationCheck.errors)) {\n this.setState({\n errors: validationCheck.errors,\n });\n }\n }\n return formIsValid;\n };\n\n createPaymentSummary = () => {\n var noviceShootDate = \"\";\n\n if (this.state.fields.noviceShootDate === \"TPF2024NS19AM\") {\n noviceShootDate = \"Saturday, October 19th a.m.\";\n }\n\n if (this.state.fields.noviceShootDate === \"TPF2024NS19PM\") {\n noviceShootDate = \"Saturday, October 19th p.m.\";\n }\n\n if (this.state.fields.noviceShootDate === \"TPF2024NS20AM\") {\n noviceShootDate = \"Sunday, October 20th a.m.\";\n }\n\n if (this.state.fields.noviceShootDate === \"TPF2024NS20PM\") {\n noviceShootDate = \"Sunday, October 20th p.m.\";\n }\n\n const paymentSummary = [\n {\n itemName: `Novice Hunt Registation: ${this.state.fields.participantFirstName} ${this.state.fields.participantLastName} for ${noviceShootDate}`,\n itemQuantity: 1,\n itemTotal: 5000,\n itemCode: this.state.fields.noviceShootDate,\n },\n ];\n return paymentSummary;\n };\n\n onCheckValidName = async () => {\n const firstName = this.state.fields.participantFirstName.trim();\n const lastName = this.state.fields.participantLastName.trim();\n\n try {\n const res = await axios.post(REACT_APP_API_URL + \"checkNoviceName\", {\n firstName: firstName,\n lastName: lastName,\n });\n\n if (res.data.nameAllowed) {\n this.setState({\n nameAllowed: true,\n });\n return true;\n } else {\n this.setState({\n nameAllowed: false,\n });\n return false;\n }\n } catch (err) {\n console.log(err);\n return false;\n }\n };\n\n handleSubmit = async (e) => {\n //* Prevent default form action.\n e.preventDefault();\n\n const nameCheck = await this.onCheckValidName();\n\n console.log(nameCheck);\n\n //* Validate the form\n if (nameCheck && this.validateForm()) {\n //* Create new istance of the field object and pass to parent func\n let updateObj = Object.assign({}, this.state.fields);\n\n //* Create Payment Summary\n updateObj[\"paymentSummary\"] = this.createPaymentSummary();\n updateObj[\"totalAmount\"] = this.state.totalAmount;\n updateObj[\"redirect\"] = \"/noviceshoot\";\n\n this.props.updateFormData(updateObj);\n this.props.setReturnURL(\n \"https://www.ab-conservation.com/events/taber-pheasant-festival/novice-shoot/\"\n );\n this.setState({ redirect: true });\n }\n };\n\n render() {\n return (\n
    \n {/* Form redirect */}\n {this.state.redirect && }\n {(this.state.is1Active ||\n this.state.is2Active ||\n this.state.is3Active ||\n this.state.is4Active) && (\n
    \n {/* Form Title */}\n
    \n
    \n

    {this.state.fields.formName}

    \n {!this.state.nameAllowed && (\n
    \n

    \n

    \n The name you have entered has participated in the novice shoot more than three\n times and is therefore ineligible to participate. If you believe this is an\n error, please contact us at{\" \"}\n info@ab-conservation.com.\n

    \n
    \n )}\n

    \n Please read the{\" \"}\n \n Novice Shoot webpage\n {\" \"}\n if you haven't already.\n

    \n
    \n
    \n\n
    \n\n {/* Novice Shoot Date Field */}\n\n {this.state.processing && (\n \n )}\n\n {!this.state.processing && (\n
    \n \n
    \n \n \n {this.state.showDate1 & this.state.is1Active && (\n \n )}\n {this.state.showDate2 & this.state.is2Active && (\n \n )}\n {this.state.showDate3 & this.state.is3Active && (\n \n )}\n {this.state.showDate4 & this.state.is4Active && (\n \n )}\n \n {this.state.errors.noviceShootDate && (\n
    \n {this.state.errors.noviceShootDate}\n
    \n )}\n
    \n
    \n )}\n\n {/* Participant full name field */}\n
    \n \n
    \n \n {this.state.errors.participantFirstName && (\n
    \n {this.state.errors.participantFirstName}\n
    \n )}\n
    \n
    \n\n {/* Participant last name field */}\n
    \n \n
    \n \n {this.state.errors.participantLastName && (\n
    \n {this.state.errors.participantLastName}\n
    \n )}\n
    \n
    \n\n {/* Participant last name field */}\n
    \n \n
    \n \n {this.state.errors.participantAge && (\n
    \n {this.state.errors.participantAge}\n
    \n )}\n

    \n \n If your child is under the age of 10 and cannot get licensing yet and you would\n like to know more about the Novice Shoot, please contact Julie at 403-382-8568.\n \n

    \n
    \n
    \n\n {/* Requirement checkboxs*/}\n
    \n \n
    \n
    \n \n \n   The participant will have completed the{\" \"}\n \n Alberta Hunter Education Training Course\n {\" \"}\n by their novice shoot day.\n \n
    \n
    \n {this.state.errors.requirementAHEIA && (\n
    \n {this.state.errors.requirementAHEIA}\n
    \n )}\n
    \n
    \n \n \n \n   The participant will have a valid game bird licence by their novice\n hunt day.\n \n \n
    \n
    \n {this.state.errors.requirementGBL && (\n
    \n {this.state.errors.requirementGBL}\n
    \n )}\n
    \n
    \n \n \n \n   The participant will have a valid pheasant licence by their novice hunt\n day.\n \n \n
    \n
    \n {this.state.errors.requirementPL && (\n
    \n {this.state.errors.requirementPL}\n
    \n )}\n
    \n
    \n \n \n \n   I acknowledge that no refunds will be issued after noon on Oct 16th\n 2024.\n \n \n
    \n
    \n {this.state.errors.requirementNR && (\n
    \n {this.state.errors.requirementNR}\n
    \n )}\n
    \n
    \n
    \n\n
    \n
    \n
    \n If you are registering more than one child, you must fill out the form again.{\" \"}\n Your $50 will be refunded at the event.\n
    \n
    \n\n {/* Display Total Amount */}\n
    \n
    \n

    Total: {centsToDollarFormat(this.state.totalAmount)}

    \n {this.state.errors.totalAmount && (\n
    {this.state.errors.totalAmount}
    \n )}\n
    \n
    \n\n {/* Submit button */}\n
    \n
    \n {!this.state.processing && (\n \n )}\n
    \n
    \n \n )}\n
    \n );\n }\n}\n\nconst mapStateToProps = (state) => {\n return {\n form: state.form.formData,\n };\n};\n\nexport default connect(\n mapStateToProps,\n { updateFormData, setReturnURL }\n)(Template);\n","const validateNoviceShootForm = state => {\n let response = { formIsValid: true, errors: {} };\n\n if (state.totalAmount === 0) {\n response.formIsValid = false;\n response.errors['totalAmount'] = '* You must purchase at least one item.';\n }\n\n return response;\n};\n\nexport default validateNoviceShootForm;\n","import React from 'react';\n\nconst SelectOption = props => {\n // Create and array of numbers for map.\n let countArray = [];\n let count = props.count + 1;\n\n if (count > 11) {\n count = 11;\n }\n\n for (let index = 0; index < count; index++) {\n countArray.push(index);\n }\n\n return (\n <>\n {countArray.map(x => (\n \n ))}\n \n );\n};\n\nexport default SelectOption;\n","import React, { Component } from \"react\";\nimport validateTemplateForm from \"../../validation/validateTPFGeneralForm\";\nimport centsToDollarFormat from \"../../util/centsToDollarFormat\";\nimport { Redirect } from \"react-router\";\nimport { connect } from \"react-redux\";\nimport { updateFormData, setReturnURL } from \"../../actions/formActions\";\nimport SelectOption from \"./SelectOption\";\nimport axios from \"axios\";\n\nconst REACT_APP_API_URL = process.env.REACT_APP_API_URL;\n\nclass Template extends Component {\n constructor(props) {\n super(props);\n const initialState = {\n fields: {\n formName: \"Taber Pheasant Festival Purchase Form\",\n itemCount: 1,\n abVerify: false,\n },\n totalAmount: 0,\n errors: {},\n stripeTotalAmount: 7,\n stripeMetaData: { name: \"\" },\n stripeDescription: \"\",\n redirect: false,\n };\n\n // Initialize item fields\n const items = [\n {\n name: \"Raf A: Ber A4 X P\",\n title: \"Raffle A - Beretta A400 Xtreme Plus\",\n code: \"TPF2024RA\",\n price: 2000,\n },\n {\n name: \"Raf B: Ben E\",\n title: \"Raffle B - Benelli ETHOS\",\n code: \"TPF2024RB\",\n price: 2000,\n },\n {\n name: \"Raf C: Sako 90 A\",\n title: \"Raffle C - Sako 90 Adventure\",\n code: \"TPF2024RC\",\n price: 2000,\n },\n {\n name: \"Raf D: Ber 686 SP 20G\",\n title: \"Raffle D - Beretta 686 Silver Pigeon 20G\",\n code: \"TPF2024RD\",\n price: 2000,\n },\n {\n name: \"Raf E: Sako S90 P\",\n title: \"Raffle E - Sako S90 Peak SS\",\n code: \"TPF2024RE\",\n price: 2000,\n },\n {\n name: \"Raf F: Ber 686 SP 12G\",\n title: \"Raffle F - Beretta 686 Silver Pigeon 12G\",\n code: \"TPF2024RF\",\n price: 2000,\n },\n { name: \"Raf G: E-Bike\", title: \"Raffle G - E-Bike\", code: \"TPF2024RG\", price: 2000 },\n {\n name: \"Raf H: 3 Hunt Sites 2025\",\n title: \"Raffle H - 3 Hunting Sites 2025 TPF\",\n code: \"TPF2024RH\",\n price: 1000,\n },\n {\n name: \"Banquet\",\n title: \"Celebration Banquet & Silent Auction\",\n code: \"TPF2024BT\",\n price: 7500,\n },\n {\n name: \"Culinary\",\n title: \"Game to Gourmet Culinary Tasting\",\n code: \"TPF2024CT\",\n price: 3000,\n },\n {\n name: \"HYO: Tips & Tasters\",\n title: \"Harvest Your Own: Tips and Tasters\",\n code: \"TPF2024HTT\",\n price: 3500,\n },\n ];\n\n items.forEach((item, index) => {\n initialState.fields[`item${index + 1}Name`] = item.name;\n initialState.fields[`item${index + 1}Title`] = item.title;\n initialState.fields[`item${index + 1}Code`] = item.code;\n initialState.fields[`item${index + 1}Quantity`] = \"\";\n initialState.fields[`item${index + 1}Price`] = item.price;\n initialState.fields[`showItem${index + 1}Field`] = false;\n initialState.fields[`item${index + 1}Remaining`] = 0;\n initialState.fields[`item${index + 1}Active`] = false;\n });\n\n this.state = initialState;\n }\n\n componentDidMount() {\n const fetchInventory = (itemCode, index) => {\n return axios.get(`${REACT_APP_API_URL}inventory/${itemCode}`).then((res) => ({\n isActive: res.data.isActive,\n available: res.data.available,\n itemsRemaining: res.data.itemsRemaining,\n index,\n }));\n };\n\n const itemCodes = Array.from({ length: 11 }, (_, i) => this.state.fields[`item${i + 1}Code`]);\n const inventoryPromises = itemCodes.map((code, index) => fetchInventory(code, index));\n\n Promise.all(inventoryPromises).then((results) => {\n const newFields = { ...this.state.fields };\n results.forEach(({ isActive, available, itemsRemaining, index }) => {\n newFields[`item${index + 1}Active`] = isActive;\n newFields[`showItem${index + 1}Field`] = available;\n newFields[`item${index + 1}Remaining`] = itemsRemaining;\n });\n this.setState({ fields: newFields });\n });\n\n if (this.props.form) {\n const formData = this.props.form;\n if (formData.formName === this.state.fields.formName) {\n this.setState((prevState) => ({\n fields: {\n ...prevState.fields,\n ...formData,\n },\n }));\n }\n }\n }\n\n componentDidUpdate(prevProps, prevState) {\n const relevantFields = Array.from({ length: 11 }, (_, i) => `item${i + 1}Quantity`);\n const quantityChanged = relevantFields.some(\n (field) => prevState.fields[field] !== this.state.fields[field]\n );\n\n if (quantityChanged) {\n this.updateTotalAmount();\n this.updateABVerify();\n }\n }\n\n onChange = (e) => {\n const target = e.target;\n const value = target.type === \"checkbox\" ? target.checked : target.value;\n const name = target.name;\n\n this.setState((prevState) => ({\n fields: {\n ...prevState.fields,\n [name]: value,\n },\n }));\n };\n\n updateTotalAmount = () => {\n const totalAmount = Array.from(\n { length: 11 },\n (_, i) =>\n this.state.fields[`item${i + 1}Price`] * (this.state.fields[`item${i + 1}Quantity`] || 0)\n ).reduce((acc, curr) => acc + curr, 0);\n\n this.setState({ totalAmount });\n };\n\n updateABVerify = () => {\n const raffleTicketQuantity = Array.from(\n { length: 8 },\n (_, i) => this.state.fields[`item${i + 1}Quantity`] || 0\n ).reduce((acc, curr) => acc + curr, 0);\n\n this.setState((prevState) => ({\n fields: {\n ...prevState.fields,\n abVerify: raffleTicketQuantity > 0,\n },\n }));\n };\n\n validateForm = () => {\n const validationCheck = validateTemplateForm(this.state);\n this.setState({ errors: validationCheck.errors });\n return validationCheck.formIsValid;\n };\n\n createPaymentSummary = () => {\n return Array.from({ length: 11 }, (_, i) => ({\n itemName: this.state.fields[`item${i + 1}Name`],\n itemQuantity: this.state.fields[`item${i + 1}Quantity`] || 0,\n itemTotal:\n this.state.fields[`item${i + 1}Price`] * (this.state.fields[`item${i + 1}Quantity`] || 0),\n itemCode: this.state.fields[`item${i + 1}Code`],\n })).filter((item) => item.itemQuantity > 0);\n };\n\n handleSubmit = (e) => {\n e.preventDefault();\n if (this.validateForm()) {\n const updateObj = {\n ...this.state.fields,\n paymentSummary: this.createPaymentSummary(),\n totalAmount: this.state.totalAmount,\n redirect: \"/tpfgeneral\",\n };\n\n this.props.updateFormData(updateObj);\n this.props.setReturnURL(\"https://www.ab-conservation.com/events/taber-pheasant-festival/\");\n this.setState({ redirect: true });\n }\n };\n\n render() {\n return (\n
    \n {this.state.redirect && }\n
    \n
    \n
    \n

    {this.state.fields.formName}

    \n
    \n
    \n
    \n {Array.from({ length: 11 }, (_, i) => (\n
    \n {this.state.fields[`item${i + 1}Active`] && (\n
    \n {this.state.fields[`showItem${i + 1}Field`] ? (\n <>\n
    \n \n
    \n \n \n \n {this.state.errors[`item${i + 1}Quantity`] && (\n
    \n {this.state.errors[`item${i + 1}Quantity`]}\n
    \n )}\n
    \n
    \n
    \n \n ) : (\n <>\n
    \n {this.state.fields[`item${i + 1}Name`]}. SOLD OUT!\n
    \n
    \n \n )}\n
    \n )}\n
    \n ))}\n
    \n
    \n

    Total: {centsToDollarFormat(this.state.totalAmount)}

    \n {this.state.errors.totalAmount && (\n
    {this.state.errors.totalAmount}
    \n )}\n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n form: state.form.formData,\n});\n\nexport default connect(\n mapStateToProps,\n { updateFormData, setReturnURL }\n)(Template);\n","const validateDonationForm = state => {\n let fields = state.fields;\n let response = { formIsValid: true, errors: {} };\n\n if (!fields['donationAmount']) {\n response.formIsValid = false;\n response.errors['donationAmount'] = '* Enter a donation amount.';\n }\n\n if (Number(fields['donationAmount']) < 20) {\n response.formIsValid = false;\n response.errors['donationAmount'] = '* Enter an amount $20 or greater.';\n }\n\n if (fields['donationAmount'] > 5000) {\n response.formIsValid = false;\n response.errors['donationAmount'] = '* Enter an amount less than $5000.';\n }\n\n if (!fields['donationType']) {\n response.formIsValid = false;\n response.errors['donationType'] = '* Please choose a donation type.';\n }\n\n if (fields['isMemorialDonation']) {\n if (!fields['inMemoryOf']) {\n response.formIsValid = false;\n response.errors['inMemoryOf'] = '* Please enter a full name.';\n }\n }\n\n return response;\n};\n\nexport default validateDonationForm;\n","export const donationTypes = {\n fish: [\n {\n name: 'Fish Program',\n value: 'DONATION-FRP',\n defualtAmount: 20\n },\n {\n name: 'Community Fish Stocking',\n value: 'DONATION-CFS',\n defualtAmount: 20\n },\n {\n name: 'East Slopes Fisheries Inventory',\n value: 'DONATION-ESFI',\n defualtAmount: 20\n },\n {\n name: 'Fish Barriers',\n value: 'DONATION-FB',\n defualtAmount: 20\n },\n {\n name: 'Hasse Lake Fisheries Restoration',\n value: 'DONATION-HLFR',\n defualtAmount: 20\n },\n { name: 'Lake Aeration', value: 'la', defualtAmount: 20, category: 'Fish' },\n {\n name: 'Westslope Cutthroat Trout Protection',\n value: 'DONATION-WCTP',\n defualtAmount: 20\n }\n ],\n wildlife: [\n {\n name: 'Wildlife Program',\n value: 'DONATION-WRP',\n defualtAmount: 20\n },\n {\n name: 'Enchant Farm',\n value: 'DONATION-EF',\n defualtAmount: 20\n },\n {\n name: 'MULTISAR',\n value: 'DONATION-MULTI',\n defualtAmount: 20\n },\n {\n name: 'Pheasant Raise and Release',\n value: 'DONATION-PRR',\n defualtAmount: 20,\n category: 'Wildlife'\n },\n {\n name: 'Provincial Pheasant Release Program',\n value: 'DONATION-PPRP',\n defualtAmount: 20,\n category: 'Wildlife'\n },\n {\n name: 'Pronghorn Projects',\n value: 'DONATION-PP',\n defualtAmount: 20,\n category: 'Wildlife'\n }\n ],\n land: [\n {\n name: 'Land Program',\n value: 'DONATION-LRP',\n defualtAmount: 20\n },\n {\n name: 'Fisheries Access Site Management',\n value: 'DONATION-FASM',\n defualtAmount: 20\n },\n {\n name: 'Riparian Conservation',\n value: 'DONATION-RC',\n defualtAmount: 20\n }\n ],\n communications: [\n {\n name: 'Communications Program',\n value: 'DONATION-COM',\n defualtAmount: 20\n },\n {\n name: 'Wildlife Cameras',\n value: 'DONATION-WC',\n defualtAmount: 20\n },\n {\n name: 'Kids Can Catch',\n value: 'DONATION-KCC',\n defualtAmount: 20\n }\n ]\n};\n\nexport const getDonationTypeName = value => {\n const keys = Object.values(donationTypes);\n\n for (var x = 0; x < keys.length; x++) {\n let next = keys[x];\n for (var y = 0; y < keys[x].length; y++) {\n if (next[y].value === value) {\n return next[y].name;\n }\n }\n }\n};\n","import React, { Component } from 'react';\nimport validateDonationForm from '../../validation/validateDonationForm';\nimport isEmpty from '../../util/isEmpty';\nimport centsToDollarFormat from '../../util/centsToDollarFormat';\nimport { Redirect } from 'react-router';\nimport { connect } from 'react-redux';\nimport { updateFormData } from '../../actions/formActions';\nimport NumberFormat from 'react-number-format';\nimport { donationTypes, getDonationTypeName } from '../../settings/donationTypes';\n\nclass DonationForm extends Component {\n constructor(props) {\n super(props);\n this.state = {\n fields: {\n donationType: '',\n donationAmount: '',\n formName: 'Donation',\n isMemorialDonation: false,\n inMemoryOf: ''\n },\n errors: {},\n totalAmount: 0,\n redirect: false\n };\n }\n\n componentDidMount() {\n //* Update state if values exsist in match params\n\n let incomingType = '';\n let incomingAmount = '';\n\n if (typeof this.props.match.params.type !== 'undefined') {\n incomingType = this.props.match.params.type;\n }\n\n if (typeof this.props.match.params.amount !== 'undefined') {\n incomingAmount = this.props.match.params.amount;\n }\n\n this.setState({\n fields: {\n ...this.state.fields,\n donationAmount: incomingAmount,\n donationType: incomingType\n }\n });\n\n //* Update type and amount if exsists in route match\n\n if (this.props.form) {\n const formData = this.props.form;\n const formFieldState = this.state.fields;\n\n if (typeof formData.formName !== 'undefined' && formData.formName === formFieldState.formName) {\n //* Create a complete object from current state\n let newObj = {};\n Object.keys(formFieldState).forEach(item => {\n newObj[item] = formFieldState[item];\n });\n\n //* Update key data if within the prop object\n Object.keys(formData).forEach(item => {\n if (newObj.hasOwnProperty(item)) {\n newObj[item] = formData[item];\n }\n });\n\n //* Update the state from the updated object\n this.setState(\n (prevState, props) => ({\n fields: newObj\n }),\n () => {\n this.updateTotalAmount();\n }\n );\n }\n //* TODO: Add Redirect to error page\n }\n }\n\n //* Form functions\n onChange = e => {\n const target = e.target;\n const value = target.type === 'checkbox' ? target.checked : target.value;\n const name = target.name;\n\n this.setState(\n prevState => ({\n fields: {\n ...prevState.fields,\n [name]: value\n }\n }),\n () => {\n this.updateTotalAmount();\n }\n );\n };\n\n onUpdateDonationAmount = value => {\n const donationAmount = value;\n this.setState(\n prevState => ({\n fields: {\n ...prevState.fields,\n donationAmount: donationAmount\n }\n }),\n () => {\n this.updateTotalAmount();\n }\n );\n };\n\n updateTotalAmount = () => {\n const totalAmount = this.state.fields.donationAmount * 100;\n this.setState({ totalAmount: totalAmount });\n };\n\n validateForm = () => {\n const validationCheck = validateDonationForm(this.state);\n let formIsValid = false;\n\n //* Reset Field Error State\n this.setState({ errors: {} });\n\n //* Perform Validation\n if (validationCheck.formIsValid) {\n formIsValid = true;\n } else {\n if (!isEmpty(validationCheck.errors)) {\n this.setState({\n errors: validationCheck.errors\n });\n }\n }\n return formIsValid;\n };\n\n createPaymentSummary = () => {\n let text = '';\n\n if (!this.state.fields.isMemorialDonation) {\n text = `ACA ${getDonationTypeName(this.state.fields.donationType)} donation of ${centsToDollarFormat(this.state.totalAmount)}.`;\n } else {\n text = `ACA ${getDonationTypeName(this.state.fields.donationType)} donation of ${centsToDollarFormat(this.state.totalAmount)} in memory of ${this.state.fields.inMemoryOf}.`;\n }\n\n const paymentSummary = [\n {\n itemName: text,\n itemQuantity: 1,\n itemTotal: this.state.totalAmount,\n itemCode: this.state.fields.donationType\n }\n ];\n console.log(getDonationTypeName(this.state.fields.donationType));\n return paymentSummary;\n };\n\n createOption = type => {\n return (\n \n );\n };\n\n handleSubmit = e => {\n //* Prevent default form action.\n e.preventDefault();\n\n //* Validate the form\n if (this.validateForm()) {\n //* Create new istance of the field object and pass to parent func\n let updateObj = Object.assign({}, this.state.fields);\n\n //* Create Payment Summary\n updateObj['paymentSummary'] = this.createPaymentSummary();\n updateObj['totalAmount'] = this.state.totalAmount;\n updateObj['redirect'] = '/donation';\n\n this.props.updateFormData(updateObj);\n\n this.setState({ redirect: true });\n }\n };\n\n render() {\n return (\n
    \n {/* Form redirect */}\n {this.state.redirect && }\n\n
    \n {/* Form Title */}\n
    \n
    \n

    Make a Donation

    \n
    \n
    \n\n
    \n\n {/* Donation Amount field */}\n
    \n \n
    \n this.onUpdateDonationAmount(value.value)}\n />\n\n {this.state.errors.donationAmount &&\n
    \n {this.state.errors.donationAmount}\n
    }\n
    \n
    \n\n {/* ProjectType Field*/}\n
    \n \n
    \n \n {this.state.errors.donationType &&\n
    \n {this.state.errors.donationType}\n
    }\n
    \n
    \n\n
    \n
    \n\n {/* isAdult checkbox*/}\n
    \n \n
    \n \n {this.state.errors.isMemorialDonation &&\n \n {' '}{this.state.errors.isMemorialDonation}\n }\n
    \n
    \n\n {/* In Memory of full name field */}\n {this.state.fields.isMemorialDonation &&\n
    \n \n
    \n \n {this.state.errors.inMemoryOf &&\n
    \n {this.state.errors.inMemoryOf}\n
    }\n
    \n
    }\n\n
    \n {/* Display Total Amount */}\n
    \n
    \n

    \n Total: \n

    \n {this.state.errors.totalAmount &&\n
    \n {this.state.errors.totalAmount}\n
    }\n
    \n
    \n\n {/* Submit button */}\n
    \n
    \n \n
    \n
    \n
    \n
    \n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n form: state.form.formData\n };\n};\n\nexport default connect(mapStateToProps, { updateFormData })(DonationForm);\n","const Validator = require(\"validator\");\n\nconst validateWaterfowlWarmupForm = (state) => {\n let fields = state.fields;\n let response = { formIsValid: true, errors: {} };\n\n if (fields[\"firstName\"] === \"\") {\n response.formIsValid = false;\n response.errors[\"firstName\"] = \"* You must enter your first name.\";\n }\n\n if (fields[\"lastName\"] === \"\") {\n response.formIsValid = false;\n response.errors[\"lastName\"] = \"* You must enter your last name.\";\n }\n\n if (!/^\\w+([.-]?\\w+)*@\\w+([.-]?\\w+)*(\\.\\w{2,3})+$/.test(fields[\"email\"])) {\n response.formIsValid = false;\n response.errors[\"email\"] = \"* You must enter an email.\";\n }\n\n if (fields[\"phoneNumber\"] === \"\") {\n response.formIsValid = false;\n response.errors[\"phoneNumber\"] = \"* You must enter a phone number.\";\n }\n\n if (fields[\"teamName\"] === \"\") {\n response.formIsValid = false;\n response.errors[\"teamName\"] = \"* You must enter a team name.\";\n }\n\n if (fields[\"sponsorshipLevel\"] === \"\") {\n response.formIsValid = false;\n response.errors[\"sponsorshipLevel\"] = \"* You must choose a sponsorship level.\";\n }\n\n return response;\n};\n\nexport default validateWaterfowlWarmupForm;\n","import React, { Component } from 'react';\nimport validateWaterfowlWarmupForm from '../../validation/validateWaterfowlWarmupForm';\nimport isEmpty from '../../util/isEmpty';\nimport centsToDollarFormat from '../../util/centsToDollarFormat';\nimport { Redirect } from 'react-router';\nimport { connect } from 'react-redux';\nimport { updateFormData, setReturnURL } from '../../actions/formActions';\nimport axios from 'axios';\nimport { PulseLoader } from 'react-spinners';\nimport { css } from '@emotion/core';\nimport NumberFormat from 'react-number-format';\nconst override = css`\n display: inline;\n margin: 15px;\n`;\n\nconst REACT_APP_API_URL = process.env.REACT_APP_API_URL;\n\nclass Template extends Component {\n constructor(props) {\n super(props);\n this.state = {\n processing: true,\n formOpen: false,\n teamSpotsRemaining: 0,\n spotsRemaining: 0,\n fields: {\n formName: '2024 Waterfowl Warmup Registration',\n firstName: '',\n lastName: '',\n teamName: '',\n email: '',\n phoneNumber: '',\n sponsorshipLevel: '',\n secondTeam: '',\n showAddSecondTeam: false,\n sponsoringBusiness: false,\n },\n totalAmount: 0,\n errors: {},\n stripeTotalAmount: 5,\n stripeMetaData: {\n name: '',\n },\n stripeDescription: '',\n redirect: false,\n };\n }\n\n componentDidMount() {\n console.log('Component did mount!');\n axios\n .get(REACT_APP_API_URL + 'inventory/WW2024TE')\n //* Evaluate received response\n .then((res) => {\n this.setState({\n processing: false,\n formOpen: res.data.available,\n teamSpotsRemaining: res.data.itemsRemaining,\n });\n console.log(res);\n });\n\n //* Update state if values exsist.\n if (this.props.form) {\n const formData = this.props.form;\n const formFieldState = this.state.fields;\n\n if (\n typeof formData.formName !== 'undefined' &&\n formData.formName === formFieldState.formName\n ) {\n //* Create a complete object from current state\n let newObj = {};\n Object.keys(formFieldState).forEach((item) => {\n newObj[item] = formFieldState[item];\n });\n\n //* Update key data if within the prop object\n Object.keys(formData).forEach((item) => {\n if (newObj.hasOwnProperty(item)) {\n newObj[item] = formData[item];\n }\n });\n\n //* Update the state from the updated object\n this.setState((prevState, props) => ({\n fields: newObj,\n }));\n } //* TODO: Add Redirect to error page\n }\n setTimeout(() => {\n this.updateRegistrationCost();\n }, 200);\n }\n\n //* Form functions\n onChange = (e) => {\n const target = e.target;\n const value = target.type === 'checkbox' ? target.checked : target.value;\n const name = target.name;\n\n this.setState(\n (prevState) => ({\n fields: {\n ...prevState.fields,\n [name]: value,\n },\n }),\n () => {\n this.updateAddSecondTeam();\n }\n );\n };\n\n updateAddSecondTeam = () => {\n var showAddSecondTeam;\n var secondTeam;\n\n if (this.state.fields.sponsorshipLevel !== '') {\n showAddSecondTeam = true;\n secondTeam = this.state.fields.secondTeam;\n } else {\n showAddSecondTeam = false;\n secondTeam = false;\n }\n\n console.log(this.state.fields.secondTeam);\n this.setState(\n (prevState) => ({\n fields: {\n ...prevState.fields,\n showAddSecondTeam: showAddSecondTeam,\n secondTeam: secondTeam,\n },\n }),\n () => {\n this.updateRegistrationCost();\n }\n );\n };\n\n updateRegistrationCost = () => {\n console.log('updateRegistrationCost fired!');\n\n var totalCost = 0;\n var sponsorshipCost = 100000;\n var secondTeamCost = 0;\n\n // Create a switch statement where the value of the sponsorship level dictates the cost of the registration\n switch (this.state.fields.sponsorshipLevel) {\n case '1':\n sponsorshipCost = 200000;\n break;\n case '2':\n sponsorshipCost = 300000;\n break;\n case '3':\n sponsorshipCost = 500000;\n break;\n default:\n sponsorshipCost = 0;\n break;\n }\n\n console.log(sponsorshipCost);\n\n if (this.state.fields.secondTeam) {\n secondTeamCost = 200000;\n }\n\n totalCost = sponsorshipCost + secondTeamCost;\n\n this.setState({\n totalAmount: totalCost,\n });\n };\n\n validateForm = () => {\n const validationCheck = validateWaterfowlWarmupForm(this.state);\n let formIsValid = false;\n\n //* Reset Field Error State\n this.setState({ errors: {} });\n\n //* Perform Validation\n if (validationCheck.formIsValid) {\n formIsValid = true;\n } else {\n if (!isEmpty(validationCheck.errors)) {\n this.setState({\n errors: validationCheck.errors,\n });\n }\n }\n return formIsValid;\n };\n\n createPaymentSummary = () => {\n var sponsorshipType;\n var sponsorshipCost;\n var secondTeam;\n\n switch (this.state.fields.sponsorshipLevel) {\n case '1':\n sponsorshipType = 'Non-sponsor Tier';\n sponsorshipCost = 200000;\n break;\n case '2':\n sponsorshipType = '2nd Sponsor Tier';\n sponsorshipCost = 300000;\n break;\n case '3':\n sponsorshipType = '1st Sponsor Tier';\n sponsorshipCost = 500000;\n break;\n default:\n sponsorshipType = 0;\n break;\n }\n\n const sponsoringBusiness = this.state.fields.sponsoringBusiness\n ? '(I am registering as an individual team that is not a sponsoring business)'\n : '';\n\n var txtSummary = `Waterfowl Warmup ${sponsorshipType} Level Team Entry for ${this.state.fields.firstName} ${this.state.fields.lastName}. team: ${this.state.fields.teamName}. e: ${this.state.fields.email}. ph: ${this.state.fields.phoneNumber}. ${sponsoringBusiness}`;\n\n const paymentSummary = [\n {\n itemName: txtSummary,\n itemQuantity: 1,\n itemTotal: sponsorshipCost,\n itemCode: 'WW2024TE',\n },\n ];\n\n if (this.state.fields.secondTeam) {\n const discountTeam = {\n itemName: 'Discounted Team Entry',\n itemQuantity: 1,\n itemTotal: 200000,\n itemCode: 'WW2024DTE',\n };\n\n paymentSummary.push(discountTeam);\n }\n\n return paymentSummary;\n };\n\n handleSubmit = (e) => {\n //* Prevent default form action.\n e.preventDefault();\n\n //* Validate the form\n if (this.validateForm()) {\n //* Create new istance of the field object and pass to parent func\n let updateObj = Object.assign({}, this.state.fields);\n\n console.log(this.createPaymentSummary());\n\n //* Create Payment Summary\n updateObj['paymentSummary'] = this.createPaymentSummary();\n updateObj['totalAmount'] = this.state.totalAmount;\n updateObj['redirect'] = '/waterfowlwarmup';\n\n this.props.updateFormData(updateObj);\n this.props.setReturnURL('https://www.ab-conservation.com/events/waterfowl-warmup/');\n this.setState({ redirect: true });\n }\n };\n\n render() {\n return (\n
    \n {/* Form redirect */}\n {this.state.redirect && }\n\n
    \n {/* Form Title */}\n
    \n
    \n

    {this.state.fields.formName}

    \n

    \n Register for this year's Waterfowl Warmup by completing the registration form below.\n One name and contact information from the team is required. Select your sponsorship\n tier from the drop-down menu.\n

    \n\n {/*

    \n Check the box if you are registering two teams for a discount on the second team.\n

    */}\n\n

    \n For more information or to add members to your team, please contact{' '}\n \n laura.volkman@ab-conservation.com.\n \n

    \n
    \n
    \n\n
    \n\n {/* Show or Hide form based on inventory */}\n\n {this.state.processing ? (\n \n ) : (\n
    \n {this.state.formOpen ? (\n
    \n
    \n
    \n \n
    \n \n {this.state.errors.firstName && (\n
    \n {this.state.errors.firstName}\n
    \n )}\n
    \n
    \n
    \n\n
    \n
    \n \n
    \n \n {this.state.errors.lastName && (\n
    \n {this.state.errors.lastName}\n
    \n )}\n
    \n
    \n
    \n\n
    \n
    \n \n
    \n \n {this.state.errors.teamName && (\n
    \n {this.state.errors.teamName}\n
    \n )}\n
    \n
    \n
    \n\n
    \n
    \n \n
    \n \n {this.state.errors.email && (\n
    \n {this.state.errors.email}\n
    \n )}\n
    \n
    \n
    \n\n
    \n
    \n \n
    \n \n {this.state.errors.phoneNumber && (\n
    \n {this.state.errors.phoneNumber}\n
    \n )}\n
    \n
    \n
    \n\n
    \n \n
    \n \n \n \n \n \n \n {this.state.errors.sponsorshipLevel && (\n
    \n {this.state.errors.sponsorshipLevel}\n
    \n )}\n
    \n
    \n {/* \n
    \n
    \n {' '}\n I am registering as an individual team that is not a sponsoring business\n
    \n
    */}\n\n {/* {this.state.fields.showAddSecondTeam && (\n
    \n
    \n
    \n \n \n \n {` `}Add a second team for $2000 (You will be contacted for details on\n your second team).\n \n \n
    \n
    \n )} */}\n
    \n ) : (\n
    \n Registration for this event is full.\n
    \n )}\n
    \n )}\n\n {/* Display Total Amount */}\n
    \n
    \n
    \n

    Total: {centsToDollarFormat(this.state.totalAmount)}

    \n {this.state.errors.totalAmount && (\n
    {this.state.errors.totalAmount}
    \n )}\n
    \n
    \n\n {/* Submit button */}\n
    \n
    \n {!this.state.processing && (\n \n )}\n
    \n
    \n \n
    \n );\n }\n}\n\nconst mapStateToProps = (state) => {\n return {\n form: state.form.formData,\n };\n};\n\nexport default connect(\n mapStateToProps,\n { updateFormData, setReturnURL }\n)(Template);\n","const validateNoviceShootForm = state => {\n let response = { formIsValid: true, errors: {} };\n\n if (state.totalAmount === 0) {\n response.formIsValid = false;\n response.errors['totalAmount'] = '* You must purchase at least one item.';\n }\n\n return response;\n};\n\nexport default validateNoviceShootForm;\n","import React from 'react';\n\nconst SelectOption = (props) => {\n // Create and array of numbers for map.\n let countArray = [];\n let count = props.count + 1;\n\n if (count > 10) {\n count = 11;\n }\n\n for (let index = 0; index < count; index++) {\n countArray.push(index);\n }\n\n return (\n <>\n {countArray.map((x) => (\n \n ))}\n \n );\n};\n\nexport default SelectOption;\n","import React, { Component } from 'react';\nimport validateTemplateForm from '../../validation/validateAnniversaryMerchandisePackForm';\nimport isEmpty from '../../util/isEmpty';\nimport centsToDollarFormat from '../../util/centsToDollarFormat';\nimport { Redirect } from 'react-router';\nimport { connect } from 'react-redux';\nimport { updateFormData, setReturnURL } from '../../actions/formActions';\nimport SelectOption from './SelectOptionMP';\nimport axios from 'axios';\n\nconst REACT_APP_API_URL = process.env.REACT_APP_API_URL;\n\nclass AnniversaryMerchandisePackForm extends Component {\n constructor(props) {\n super(props);\n this.state = {\n fields: {\n formName: '',\n itemCount: 1,\n\n isAdult: false,\n item1Name: '10th Anniversary Merchandise Pack',\n item1Code: 'TPFMP2020',\n item1Quantity: '',\n item1Price: 5000, // In cents\n showItem1Field: true,\n item1Remaining: 0,\n },\n totalAmount: 0,\n errors: {},\n stripeTotalAmount: 1,\n stripeMetaData: {\n name: '',\n },\n stripeDescription: '',\n redirect: false,\n };\n }\n\n componentDidMount() {\n axios\n .get(REACT_APP_API_URL + 'inventory/' + this.state.fields.item1Code)\n //* Evaluate received response\n .then((res) => {\n console.log(res.data.itemsRemaining);\n this.setState({\n showItem1Field: res.data.available,\n item1Remaining: res.data.itemsRemaining,\n });\n });\n\n //* Update state if values exsist.\n if (this.props.form) {\n const formData = this.props.form;\n const formFieldState = this.state.fields;\n\n if (\n typeof formData.formName !== 'undefined' &&\n formData.formName === formFieldState.formName\n ) {\n //* Create a complete object from current state\n let newObj = {};\n Object.keys(formFieldState).forEach((item) => {\n newObj[item] = formFieldState[item];\n });\n\n //* Update key data if within the prop object\n Object.keys(formData).forEach((item) => {\n if (newObj.hasOwnProperty(item)) {\n newObj[item] = formData[item];\n }\n });\n\n //* Update the state from the updated object\n this.setState(\n (prevState, props) => ({\n fields: newObj,\n }),\n () => {\n this.updateTotalAmount();\n }\n );\n } //* TODO: Add Redirect to error page\n }\n }\n\n createSelectItems(count) {\n let items = [];\n for (let i = 0; i <= this.props.count; i++) {\n items.push(\n \n );\n }\n return items;\n }\n\n //* Form functions\n onChange = (e) => {\n const target = e.target;\n const value = target.type === 'checkbox' ? target.checked : target.value;\n const name = target.name;\n\n this.setState(\n (prevState) => ({\n fields: {\n ...prevState.fields,\n [name]: value,\n },\n }),\n () => {\n this.updateTotalAmount();\n this.updateABVerify();\n }\n );\n };\n\n updateTotalAmount = () => {\n const item1Total =\n this.state.fields.item1Price * this.state.fields.item1Quantity;\n const totalAmount = item1Total;\n\n this.setState({ totalAmount: totalAmount });\n };\n\n //* Checks to see if we need to verify if the Purchaser is an Alberta Resident.\n updateABVerify = () => {\n let abVerify = false;\n\n this.setState((prevState) => ({\n fields: {\n ...prevState.fields,\n abVerify: abVerify,\n },\n }));\n };\n\n validateForm = () => {\n const validationCheck = validateTemplateForm(this.state);\n let formIsValid = false;\n\n //* Reset Field Error State\n this.setState({ errors: {} });\n\n //* Perform Validation\n if (validationCheck.formIsValid) {\n formIsValid = true;\n } else {\n if (!isEmpty(validationCheck.errors)) {\n this.setState({\n errors: validationCheck.errors,\n });\n }\n }\n return formIsValid;\n };\n\n createPaymentSummary = () => {\n let paymentSummary = [];\n\n if (this.state.fields.item1Quantity > 0) {\n const Item1Summary = {\n itemName: this.state.fields.item1Name,\n itemQuantity: this.state.fields.item1Quantity,\n itemTotal:\n this.state.fields.item1Price * this.state.fields.item1Quantity,\n itemCode: this.state.fields.item1Code,\n };\n\n paymentSummary.push(Item1Summary);\n }\n\n return paymentSummary;\n };\n\n handleSubmit = (e) => {\n //* Prevent default form action.\n e.preventDefault();\n\n console.log(this.validateForm());\n //* Validate the form\n if (this.validateForm()) {\n //* Create new istance of the field object and pass to parent func\n let updateObj = Object.assign({}, this.state.fields);\n\n //* Create Payment Summary\n updateObj['paymentSummary'] = this.createPaymentSummary();\n updateObj['totalAmount'] = this.state.totalAmount;\n updateObj['redirect'] = '/anniversarymerchandise';\n\n this.props.updateFormData(updateObj);\n this.props.setReturnURL(\n 'https://www.ab-conservation.com/events/taber-pheasant-festival/'\n );\n\n this.setState({ redirect: true });\n }\n };\n\n render() {\n return (\n
    \n {/* Form redirect */}\n {this.state.redirect && }\n\n
    \n {/* Form Title */}\n
    \n
    \n

    {this.state.fields.formName}

    \n
    \n
    \n\n
    \n
    \n

    Taber Pheasant Festival

    \n

    \n 10th Anniversary Souvenir Packs\n

    \n

    \n To celebrate this milestone of the festival, we are selling 10th\n Anniversary souvenir packs in advance to registered hunters\n only. Each pack includes a hat, mask, and the Dogs of Taber 2021\n calendar.\n

    \n\n

    \n \n Only 100 packs available! $50 per pack.\n
    Purchase online and pick up at registration.\n
    \n

    \n
    \n
    \n \n
    \n
    \n\n
    \n\n {/* item1Quantity Select Box */}\n {this.state.showItem1Field && (\n
    \n \n
    \n \n \n \n {this.state.errors.item1Quantity && (\n
    \n {this.state.errors.item1Quantity}\n
    \n )}\n
    \n
    \n )}\n {!this.state.showItem1Field && (\n
    \n {this.state.fields.item1Name}. SOLD OUT!\n
    \n )}\n\n
    \n\n {/* Display Total Amount */}\n
    \n
    \n

    Total: {centsToDollarFormat(this.state.totalAmount)}

    \n {this.state.errors.totalAmount && (\n
    {this.state.errors.totalAmount}
    \n )}\n
    \n
    \n\n {/* Submit button */}\n
    \n
    \n \n Make Payment\n \n
    \n
    \n
    \n
    \n );\n }\n}\n\nconst mapStateToProps = (state) => {\n return {\n form: state.form.formData,\n };\n};\n\nexport default connect(\n mapStateToProps,\n { updateFormData, setReturnURL }\n)(AnniversaryMerchandisePackForm);\n","const validateDogCalendarForm = state => {\n let response = { formIsValid: true, errors: {} };\n\n if (state.totalAmount === 0) {\n response.formIsValid = false;\n response.errors['totalAmount'] = '* You must purchase at least one item.';\n }\n\n return response;\n};\n\nexport default validateDogCalendarForm;\n","import React, { Component } from 'react';\nimport validateTemplateForm from '../../validation/validateDogCalendarForm';\nimport isEmpty from '../../util/isEmpty';\nimport centsToDollarFormat from '../../util/centsToDollarFormat';\nimport { Redirect } from 'react-router';\nimport { connect } from 'react-redux';\nimport { updateFormData, setReturnURL } from '../../actions/formActions';\nimport SelectOption from './SelectOptionMP';\nimport axios from 'axios';\n\nconst REACT_APP_API_URL = process.env.REACT_APP_API_URL;\n\nclass DogCalendarForm extends Component {\n constructor(props) {\n super(props);\n this.state = {\n fields: {\n formName: '',\n itemCount: 1,\n\n isAdult: false,\n item1Name: '10th Anniversary TPF Dog Calendar',\n item1Code: 'TPFCAL',\n item1Quantity: '',\n item1Price: 1000, // In cents\n showItem1Field: true,\n item1Remaining: 0,\n },\n totalAmount: 0,\n errors: {},\n stripeTotalAmount: 1,\n stripeMetaData: {\n name: '',\n },\n stripeDescription: '',\n redirect: false,\n };\n }\n\n componentDidMount() {\n axios\n .get(REACT_APP_API_URL + 'inventory/' + this.state.fields.item1Code)\n //* Evaluate received response\n .then((res) => {\n console.log(res.data.itemsRemaining);\n this.setState({\n showItem1Field: res.data.available,\n item1Remaining: res.data.itemsRemaining,\n });\n });\n\n //* Update state if values exsist.\n if (this.props.form) {\n const formData = this.props.form;\n const formFieldState = this.state.fields;\n\n if (\n typeof formData.formName !== 'undefined' &&\n formData.formName === formFieldState.formName\n ) {\n //* Create a complete object from current state\n let newObj = {};\n Object.keys(formFieldState).forEach((item) => {\n newObj[item] = formFieldState[item];\n });\n\n //* Update key data if within the prop object\n Object.keys(formData).forEach((item) => {\n if (newObj.hasOwnProperty(item)) {\n newObj[item] = formData[item];\n }\n });\n\n //* Update the state from the updated object\n this.setState(\n (prevState, props) => ({\n fields: newObj,\n }),\n () => {\n this.updateTotalAmount();\n }\n );\n } //* TODO: Add Redirect to error page\n }\n }\n\n createSelectItems(count) {\n let items = [];\n for (let i = 0; i <= this.props.count; i++) {\n items.push(\n \n );\n }\n return items;\n }\n\n //* Form functions\n onChange = (e) => {\n const target = e.target;\n const value = target.type === 'checkbox' ? target.checked : target.value;\n const name = target.name;\n\n this.setState(\n (prevState) => ({\n fields: {\n ...prevState.fields,\n [name]: value,\n },\n }),\n () => {\n this.updateTotalAmount();\n this.updateABVerify();\n }\n );\n };\n\n updateTotalAmount = () => {\n const item1Total =\n this.state.fields.item1Price * this.state.fields.item1Quantity;\n const totalAmount = item1Total;\n\n this.setState({ totalAmount: totalAmount });\n };\n\n //* Checks to see if we need to verify if the Purchaser is an Alberta Resident.\n updateABVerify = () => {\n let abVerify = false;\n\n this.setState((prevState) => ({\n fields: {\n ...prevState.fields,\n abVerify: abVerify,\n },\n }));\n };\n\n validateForm = () => {\n const validationCheck = validateTemplateForm(this.state);\n let formIsValid = false;\n\n //* Reset Field Error State\n this.setState({ errors: {} });\n\n //* Perform Validation\n if (validationCheck.formIsValid) {\n formIsValid = true;\n } else {\n if (!isEmpty(validationCheck.errors)) {\n this.setState({\n errors: validationCheck.errors,\n });\n }\n }\n return formIsValid;\n };\n\n createPaymentSummary = () => {\n let paymentSummary = [];\n\n if (this.state.fields.item1Quantity > 0) {\n const Item1Summary = {\n itemName: this.state.fields.item1Name,\n itemQuantity: this.state.fields.item1Quantity,\n itemTotal:\n this.state.fields.item1Price * this.state.fields.item1Quantity,\n itemCode: this.state.fields.item1Code,\n };\n\n paymentSummary.push(Item1Summary);\n }\n\n return paymentSummary;\n };\n\n handleSubmit = (e) => {\n //* Prevent default form action.\n e.preventDefault();\n\n console.log(this.validateForm());\n //* Validate the form\n if (this.validateForm()) {\n //* Create new istance of the field object and pass to parent func\n let updateObj = Object.assign({}, this.state.fields);\n\n //* Create Payment Summary\n updateObj['paymentSummary'] = this.createPaymentSummary();\n updateObj['totalAmount'] = this.state.totalAmount;\n updateObj['redirect'] = '/anniversarymerchandise';\n\n this.props.updateFormData(updateObj);\n this.props.setReturnURL(\n 'https://www.ab-conservation.com/events/taber-pheasant-festival/'\n );\n\n this.setState({ redirect: true });\n }\n };\n\n render() {\n return (\n
    \n {/* Form redirect */}\n {this.state.redirect && }\n\n
    \n {/* Form Title */}\n
    \n
    \n

    {this.state.fields.formName}

    \n
    \n
    \n\n
    \n
    \n

    Taber Pheasant Festival

    \n

    \n 10th Anniversary Dog Calendar\n

    \n

    \n We can't think of a better way to mark ten years running than with the festival's four-legged friends! Whether you have your own companion or admire other hunting dogs doing what they do best, you can appreciate the love and loyalty they bring to the Taber Pheasant Festival. Celebrate with us—get your own high-quality calendar today.\n

    \n
    \n
    \n \n
    \n
    \n\n
    \n\n {/* item1Quantity Select Box */}\n {this.state.showItem1Field && (\n
    \n \n
    \n \n \n \n {this.state.errors.item1Quantity && (\n
    \n {this.state.errors.item1Quantity}\n
    \n )}\n
    \n
    \n )}\n {!this.state.showItem1Field && (\n
    \n {this.state.fields.item1Name}. SOLD OUT!\n
    \n )}\n\n
    \n\n {/* Display Total Amount */}\n
    \n
    \n

    Total: {centsToDollarFormat(this.state.totalAmount)}

    \n {this.state.errors.totalAmount && (\n
    {this.state.errors.totalAmount}
    \n )}\n
    \n
    \n\n {/* Submit button */}\n
    \n
    \n \n Make Payment\n \n
    \n
    \n
    \n
    \n );\n }\n}\n\nconst mapStateToProps = (state) => {\n return {\n form: state.form.formData,\n };\n};\n\nexport default connect(\n mapStateToProps,\n { updateFormData, setReturnURL }\n)(DogCalendarForm);\n","export const pheasantFormDefaults = {\n pheasantTypes: [\n {\n name: \"day-old ring-necked pheasant\",\n itemCode: \"rnp\",\n cost: { male: 435, female: 110 },\n },\n ],\n formDefaults: {\n minPurchase: 1,\n maxPurchase: 20,\n purchaseMultiples: 25,\n },\n};\n\n// For multiple species in list follow example below:\n// {\n// name: 'Ring-necked pheasant',\n// itemCode: 'rnp',\n// cost: { male: 300, female: 75 }\n// },\n// {\n// name: 'Melanistic Mutants',\n// itemCode: 'mmp',\n// cost: { male: 450, female: 300 }\n// }\n","import { pheasantFormDefaults } from '../settings/pheasantFormDefaults';\n\nconst Validator = require('validator');\n\nconst validatePheasantForm = (state) => {\n let fields = state.fields;\n let response = { formIsValid: true, errors: {} };\n\n if (!fields['pheasantType']) {\n response.formIsValid = false;\n response.errors['pheasantType'] = '* Choose a pheasant type.';\n }\n\n if (\n fields['pheasantMaleNumber'] === '0' &&\n fields['pheasantFemaleNumber'] === '0' &&\n fields['straightrunNumber'] === '0'\n ) {\n response.formIsValid = false;\n response.errors['straightrunNumber'] =\n '* Please choose a number of birds to purchase.';\n }\n\n if (\n !Validator.isInt(fields['pheasantMaleNumber'], {\n max: pheasantFormDefaults.formDefaults.maxPurchase\n })\n ) {\n response.formIsValid = false;\n response.errors[\n 'pheasantMaleNumber'\n ] = `* Please enter a value of ${pheasantFormDefaults.formDefaults.maxPurchase} or less.`;\n }\n\n if (!fields['pheasantMaleNumber']) {\n response.formIsValid = false;\n response.errors[\n 'pheasantMaleNumber'\n ] = `* Please enter a value of ${pheasantFormDefaults.formDefaults.maxPurchase} or less.`;\n }\n\n if (\n !Validator.isInt(fields['pheasantFemaleNumber'], {\n max: pheasantFormDefaults.formDefaults.maxPurchase\n })\n ) {\n response.formIsValid = false;\n response.errors[\n 'pheasantFemaleNumber'\n ] = `* Please enter a value of ${pheasantFormDefaults.formDefaults.maxPurchase} or less.`;\n }\n\n if (!fields['pheasantFemaleNumber']) {\n response.formIsValid = false;\n response.errors[\n 'pheasantFemaleNumber'\n ] = `* Please enter a value of ${pheasantFormDefaults.formDefaults.maxPurchase} or less.`;\n }\n\n if (\n !Validator.isInt(fields['straightrunNumber'], {\n max: pheasantFormDefaults.formDefaults.maxPurchase\n })\n ) {\n response.formIsValid = false;\n response.errors[\n 'straightrunNumber'\n ] = `* Please enter a value of ${pheasantFormDefaults.formDefaults.maxPurchase} or less.`;\n }\n\n if (!fields['straightrunNumber']) {\n response.formIsValid = false;\n response.errors[\n 'straightrunNumber'\n ] = `* Please enter a value of ${pheasantFormDefaults.formDefaults.maxPurchase} or less.`;\n }\n\n return response;\n};\n\nexport default validatePheasantForm;\n","import React, { Component } from 'react';\nimport validatePheasantForm from '../../validation/validatePheasantForm';\nimport { pheasantFormDefaults } from '../../settings/pheasantFormDefaults';\nimport isEmpty from '../../util/isEmpty';\nimport centsToDollarFormat from '../../util/centsToDollarFormat';\nimport { Redirect } from 'react-router';\nimport { connect } from 'react-redux';\nimport { updateFormData, setReturnURL } from '../../actions/formActions';\n\nclass Template extends Component {\n constructor(props) {\n super(props);\n this.state = {\n pheasantTypes: [],\n purchaseMultiples: '0',\n straightrunMultiples: 100,\n purchaseMax: '',\n purchaseMin: '',\n maleCost: '0',\n femaleCost: '0',\n straightrunCost: 280,\n totalMaleCost: '0',\n totalFemaleCost: '0',\n totalStraightrunCost: '0',\n formSubmitted: false,\n fields: {\n formName: '4-H Alberta Pheasant Purchase Form',\n pheasantType: '',\n pheasantMaleNumber: '0',\n pheasantFemaleNumber: '0',\n straightrunNumber: '0',\n },\n totalAmount: '',\n errors: {},\n };\n }\n\n componentDidMount() {\n //* Initially load form defaults.\n\n if (pheasantFormDefaults.pheasantTypes.length === 1) {\n this.setState((prevState) => ({\n fields: {\n ...prevState.fields,\n pheasantType: pheasantFormDefaults.pheasantTypes[0].itemCode,\n },\n }));\n }\n\n this.setState(\n {\n pheasantTypes: pheasantFormDefaults.pheasantTypes,\n purchaseMultiples: pheasantFormDefaults.formDefaults.purchaseMultiples,\n purchaseMin: pheasantFormDefaults.formDefaults.minPurchase,\n purchaseMax: pheasantFormDefaults.formDefaults.maxPurchase,\n },\n () => {\n //* Update state if values exsist.\n if (this.props.form) {\n const formData = this.props.form;\n const formFieldState = this.state.fields;\n\n if (\n typeof formData.formName !== 'undefined' &&\n formData.formName === formFieldState.formName\n ) {\n //* Create a complete object from current state\n let newObj = {};\n Object.keys(formFieldState).forEach((item) => {\n newObj[item] = formFieldState[item];\n });\n\n //* Update key data if within the prop object\n Object.keys(formData).forEach((item) => {\n if (newObj.hasOwnProperty(item)) {\n newObj[item] = formData[item];\n }\n });\n\n //* Update the state from the updated object\n this.setState((prevState, props) => ({\n fields: newObj,\n }));\n }\n }\n setTimeout(() => {\n this.updatePheasantCost();\n }, 200);\n }\n );\n }\n\n //* Form functions\n onChange = (e) => {\n const target = e.target;\n const value = target.type === 'checkbox' ? target.checked : target.value;\n const name = target.name;\n\n this.setState(\n (prevState) => ({\n fields: {\n ...prevState.fields,\n [name]: value,\n },\n }),\n () => {\n if (this.state.formSubmitted) {\n this.validateForm();\n }\n this.updatePheasantCost();\n }\n );\n };\n\n updatePheasantCost = () => {\n const pheasantTypesArray = this.state.pheasantTypes;\n const pheasantTypeItemCode = this.state.fields.pheasantType;\n const purchaseMultiples = this.state.purchaseMultiples;\n const straightrunMultiples = this.state.straightrunMultiples;\n const pheasantMaleNumber = this.state.fields.pheasantMaleNumber * purchaseMultiples;\n const pheasantFemaleNumber = this.state.fields.pheasantFemaleNumber * purchaseMultiples;\n const straightrunPheasantNumber = this.state.fields.straightrunNumber * straightrunMultiples;\n let maleCost = 0;\n let femaleCost = 0;\n let straightrunCost = 0;\n let totalMaleCost = 0;\n let totalFemaleCost = 0;\n let totalStraightrunCost = 0;\n let totalCost = 0;\n\n if (pheasantTypeItemCode !== '') {\n //Get male/female cost and update state.\n const pheasantType = this.getPheasantType(pheasantTypeItemCode, pheasantTypesArray);\n maleCost = pheasantType.cost.male;\n femaleCost = pheasantType.cost.female;\n straightrunCost = this.state.straightrunCost;\n }\n\n totalMaleCost = pheasantMaleNumber * maleCost;\n totalFemaleCost = pheasantFemaleNumber * femaleCost;\n totalStraightrunCost = straightrunPheasantNumber * straightrunCost;\n totalCost = totalMaleCost + totalFemaleCost + totalStraightrunCost;\n\n this.setState({\n maleCost: maleCost,\n femaleCost: femaleCost,\n totalMaleCost: totalMaleCost,\n totalFemaleCost: totalFemaleCost,\n totalStraightrunCost: totalStraightrunCost,\n totalAmount: totalCost,\n });\n };\n\n getPheasantType = (itemCode) => {\n const array = this.state.pheasantTypes;\n\n for (var i = 0; i < array.length; i++) {\n if (array[i].itemCode === itemCode) {\n return array[i];\n }\n }\n };\n\n validateForm = () => {\n const validationCheck = validatePheasantForm(this.state);\n let formIsValid = false;\n\n //* Reset Field Error State\n this.setState({ errors: {} });\n\n //* Perform Validation\n if (validationCheck.formIsValid) {\n formIsValid = true;\n } else {\n if (!isEmpty(validationCheck.errors)) {\n this.setState({\n errors: validationCheck.errors,\n });\n }\n }\n return formIsValid;\n };\n\n createPaymentSummary = () => {\n const pheasantType = this.state.fields.pheasantType;\n const pheasantTypeName = this.getPheasantType(pheasantType).name;\n const pheasantTypeCode = this.getPheasantType(pheasantType).itemCode;\n const multiple = this.state.purchaseMultiples;\n const straightrunMultiple = this.state.straightrunMultiples;\n const numberOfMales = this.state.fields.pheasantMaleNumber * multiple;\n const numberOfFemales = this.state.fields.pheasantFemaleNumber * multiple;\n const numberOfStraightrun = this.state.fields.straightrunNumber * straightrunMultiple;\n const totalMaleCost = this.state.totalMaleCost;\n const totalFemaleCost = this.state.totalFemaleCost;\n const totalStraightrunCost = this.state.totalStraightrunCost;\n\n let paymentSummary = [];\n\n if (numberOfMales > 0) {\n let maleItem = {\n itemName: `(${numberOfMales} ${pheasantTypeName} males)`,\n itemQuantity: 1,\n itemCode: `ph-m-${pheasantTypeCode}`,\n itemTotal: totalMaleCost,\n };\n\n paymentSummary.push(maleItem);\n }\n\n if (numberOfFemales > 0) {\n let femaleItem = {\n itemName: `(${numberOfFemales} ${pheasantTypeName} females)`,\n itemQuantity: 1,\n itemCode: `ph-f-${pheasantTypeCode}`,\n itemTotal: totalFemaleCost,\n };\n\n paymentSummary.push(femaleItem);\n }\n\n if (numberOfStraightrun > 0) {\n let straightrunItem = {\n itemName: `(${numberOfStraightrun} straightrun )`,\n itemQuantity: 1,\n itemCode: `ph-str`,\n itemTotal: totalStraightrunCost,\n };\n\n paymentSummary.push(straightrunItem);\n }\n\n return paymentSummary;\n };\n\n handleSubmit = (e) => {\n //* Prevent default form action.\n e.preventDefault();\n this.setState({ formSubmitted: true });\n\n //* Validate the form\n if (this.validateForm()) {\n //* Create new istance of the field object and pass to parent func\n let updateObj = Object.assign({}, this.state.fields);\n //* Create Payment Summary\n updateObj['paymentSummary'] = this.createPaymentSummary();\n updateObj['totalAmount'] = this.state.totalAmount;\n updateObj['redirect'] = '/pheasant';\n this.props.updateFormData(updateObj);\n this.props.setReturnURL('https://www.ab-conservation.com/');\n this.setState({ redirect: true });\n }\n };\n\n render() {\n const multiple = this.state.purchaseMultiples;\n const straightrunMultiple = this.state.straightrunMultiples;\n const maleCost = this.state.maleCost;\n const femaleCost = this.state.femaleCost;\n const straightrunCost = this.state.straightrunCost;\n const totalMales = multiple * this.state.fields.pheasantMaleNumber;\n const totalFemales = multiple * this.state.fields.pheasantFemaleNumber;\n const totalStraightrun = straightrunMultiple * this.state.fields.straightrunNumber;\n const totalMaleCost = this.state.totalMaleCost;\n const totalFemaleCost = this.state.totalFemaleCost;\n const totalStraightrunCost = this.state.totalStraightrunCost;\n\n return (\n
    \n {/* Form redirect */}\n {this.state.redirect && }\n\n
    \n {/* Form Title */}\n
    \n
    \n

    {this.state.fields.formName}

    \n

    \n ACA is offering individuals interested in raising pheasants the opportunity to order\n day-old ring-necked pheasants. The prices below reflect the cost to import these\n pheasants from Wisconsin, and are being collected to make this activity cost neutral\n for ACA. These costs include shipping fees, customs and brokerage fees, and\n veterinary fees, and in the case of day-old male pheasants, the cost of the chicks.\n Through this partnership with ACA, MacFarlane's provides day-old female pheasants\n for free.\n

    \n

    \n For more information, please contact Amanda Rezansoff at 780-991-0423 or email \n \n amanda.rezansoff@ab-conservation.com\n \n .\n

    \n

    \n Please fill out the form below:\n

    \n
    \n
    \n {/* Pheasant Breed */}\n {this.state.pheasantTypes.length > 1 && (\n
    \n \n
    \n \n \n {this.state.pheasantTypes.map((pheasantType) => (\n \n ))}\n \n {this.state.errors.pheasantType && (\n
    \n {this.state.errors.pheasantType}\n
    \n )}\n
    \n
    \n )}\n {/* Number of Male Pheasants */}\n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n

    \n \n Total: {totalMales} males = {centsToDollarFormat(totalMaleCost)}\n {' '}\n (Max of 500)\n

    \n
    \n\n
    \n {this.state.errors.pheasantMaleNumber && (\n
    \n {this.state.errors.pheasantMaleNumber}\n
    \n )}\n
    \n
    \n
    \n
    \n {/* Number of Female Pheasants */}\n
    \n \n
    \n
    \n
    \n \n
    \n
    \n

    \n \n Total: {totalFemales} females = {centsToDollarFormat(totalFemaleCost)}\n {' '}\n (Max of 500)\n

    \n
    \n
    \n {this.state.errors.pheasantFemaleNumber && (\n
    \n {this.state.errors.pheasantFemaleNumber}\n
    \n )}\n
    \n
    \n
    \n
    \n\n {/* Number of Straightrun Pheasants \n
    \n \n Group of 100 day-old straightrun\n
    ({centsToDollarFormat(straightrunCost * 100)} per group):\n \n
    \n
    \n
    \n \n
    \n
    \n

    \n \n Total: {totalStraightrun} straightrun ={' '}\n {centsToDollarFormat(totalStraightrunCost)}\n {' '}\n (Max of 500)\n

    \n
    \n
    \n {this.state.errors.straightrunNumber && (\n
    \n \n {this.state.errors.straightrunNumber}\n \n
    \n )}\n
    \n
    \n
    \n\n
    */}\n\n
    \n
    \n

    \n \n \n No refunds after February 14th, 2025. If for any reason you are unable to take\n or pick up your chicks, you are responsible for finding a suitable replacement.\n Also, sexing of day-old ring-necked pheasants is not an exact science.\n MacFarlane Pheasants anticipates a 90% accuracy on the sexing of day-old\n ring-necked pheasants.\n
    \n
    \n This ratio has been factored into the above pricing.\n
    \n
    \n ACA and the hatchery are not responsible for any pheasant chick losses to grower\n errors, or normal pheasant chick losses as a result of travel conditions.\n
    \n
    \n

    \n
    \n
    \n
    \n {/* Display Total Amount */}\n
    \n
    \n

    Total: {centsToDollarFormat(this.state.totalAmount)}

    \n {this.state.errors.totalAmount && (\n
    {this.state.errors.totalAmount}
    \n )}\n
    \n
    \n {/* Submit button */}\n
    \n
    \n {!this.state.processing && (\n \n )}\n
    \n
    \n
    \n
    \n );\n }\n}\n\nconst mapStateToProps = (state) => {\n return {\n form: state.form.formData,\n };\n};\n\nexport default connect(\n mapStateToProps,\n { updateFormData, setReturnURL }\n)(Template);\n","const validateNWSGCForm = (state) => {\n let fields = state.fields;\n let response = { formIsValid: true, errors: {} };\n\n if (fields['registrationType'] === 'none') {\n response.formIsValid = false;\n response.errors['registrationType'] =\n '* You must choose a registration type.';\n }\n\n return response;\n};\n\nexport default validateNWSGCForm;\n","import React, { Component } from 'react';\nimport validateNWSGCForm from '../../validation/validateNWSGCForm';\nimport isEmpty from '../../util/isEmpty';\nimport centsToDollarFormat from '../../util/centsToDollarFormat';\nimport { Redirect } from 'react-router';\nimport { connect } from 'react-redux';\nimport { updateFormData } from '../../actions/formActions';\nimport NumberFormat from 'react-number-format';\nimport { NWSGCRegistrationSettings } from '../../settings/NWSGCRegistrationSettings';\nimport Popup from 'reactjs-popup';\nimport '../../css/modal.css';\n\nclass DonationForm extends Component {\n constructor(props) {\n super(props);\n this.state = {\n fields: {\n formName: 'NWSGC Registration Form',\n registrationType: '2020NWSGC',\n discountCode: '',\n },\n priceMode: 'early',\n registrationTypes: [],\n errors: {},\n totalAmount: 2500,\n redirect: false,\n };\n }\n\n componentDidMount() {\n //Set form default data\n console.log('Component did mount Fired!');\n // this.setState(\n // {\n // registrationTypes: NWSGCRegistrationSettings.registrationTypes,\n // },\n // () => {\n // //* Update state if values exsist.\n // if (this.props.form) {\n // const formData = this.props.form;\n // const formFieldState = this.state.fields;\n\n // if (\n // typeof formData.formName !== 'undefined' &&\n // formData.formName === formFieldState.formName\n // ) {\n // //* Create a complete object from current state\n // let newObj = {};\n // Object.keys(formFieldState).forEach((item) => {\n // newObj[item] = formFieldState[item];\n // });\n\n // //* Update key data if within the prop object\n // Object.keys(formData).forEach((item) => {\n // if (newObj.hasOwnProperty(item)) {\n // newObj[item] = formData[item];\n // }\n // });\n\n // //* Update the state from the updated object\n // this.setState((prevState, props) => ({\n // fields: newObj,\n // }));\n // }\n // }\n // setTimeout(() => {\n // this.updateTotalAmount();\n // }, 200);\n // }\n // );\n }\n\n //* Form functions\n onChange = (e) => {\n const target = e.target;\n const value = target.type === 'checkbox' ? target.checked : target.value;\n const name = target.name;\n\n this.setState(\n (prevState) => ({\n fields: {\n ...prevState.fields,\n [name]: value,\n },\n }),\n () => {\n this.updateTotalAmount();\n }\n );\n };\n\n updateTotalAmount = () => {\n // Get the current registration price\n let currentRegistrationPrice = 0;\n\n const currentRegistrationObject = this.state.registrationTypes.find(\n ({ registrationTypeCode }) =>\n registrationTypeCode === this.state.fields.registrationType\n );\n\n if (typeof currentRegistrationObject !== 'undefined') {\n currentRegistrationPrice =\n this.state.priceMode === 'early'\n ? currentRegistrationObject.earlyRegistrationPrice\n : currentRegistrationObject.regularRegistrationPrice;\n }\n\n const totalAmount = currentRegistrationPrice;\n\n this.setState((prevState) => ({\n fields: {\n ...prevState.fields,\n },\n totalAmount: 2500,\n }));\n };\n\n validateForm = () => {\n const validationCheck = validateNWSGCForm(this.state);\n let formIsValid = false;\n\n //* Reset Field Error State\n this.setState({ errors: {} });\n\n //* Perform Validation\n if (validationCheck.formIsValid) {\n formIsValid = true;\n } else {\n if (!isEmpty(validationCheck.errors)) {\n this.setState({\n errors: validationCheck.errors,\n });\n }\n }\n return formIsValid;\n };\n\n createPaymentSummary = () => {\n let text1 = '';\n let paymentSummary = [];\n\n // Add registration summary.\n if (this.state.fields.registrationType !== 'none') {\n let currentRegistrationPrice = 2500;\n\n // const currentRegistrationObject = this.state.registrationTypes.find(\n // ({ registrationTypeCode }) =>\n // registrationTypeCode === this.state.fields.registrationType\n // );\n\n // if (this.state.priceMode === 'early') {\n // currentRegistrationPrice =\n // currentRegistrationObject.earlyRegistrationPrice;\n // } else {\n // currentRegistrationPrice =\n // currentRegistrationObject.regularRegistrationPrice;\n // }\n\n // text1 = `${currentRegistrationObject.registrationType} NWSGC Registration`;\n\n // Add the date if day pass.\n // if (currentRegistrationObject.registrationTypeCode === 'godo') {\n // text1 = `${text1} for ${this.state.fields.oneDayPassDate}`;\n // }\n\n paymentSummary.push({\n itemName: 'NWSGC 2020 Online Registration',\n itemQuantity: 1,\n itemTotal: currentRegistrationPrice,\n itemCode: 'NWSGC2020',\n });\n }\n\n return paymentSummary;\n };\n\n handleSubmit = (e) => {\n //* Prevent default form action.\n e.preventDefault();\n\n //* Validate the form\n if (this.validateForm()) {\n console.log('done');\n //* Create new istance of the field object and pass to parent func\n let updateObj = Object.assign({}, this.state.fields);\n\n //* Create Payment Summary\n updateObj['registrationType'] = 'NWSGC2020';\n updateObj['paymentSummary'] = this.createPaymentSummary();\n updateObj['totalAmount'] = this.state.totalAmount;\n updateObj['redirect'] = '/NWSGC';\n\n this.props.updateFormData(updateObj);\n\n this.setState({ redirect: true });\n }\n };\n\n render() {\n const test = {\n width: '400px',\n };\n return (\n
    \n {/* Form redirect */}\n {this.state.redirect && }\n\n
    \n {/* Form Title */}\n
    \n
    \n \n
    \n
    \n \n
    \n
    \n

    Online Registration Form

    \n
    \n All costs are in Canadian currency and include tax.\n
    \n
    \n
    \n\n
    \n\n {/* ProjectType Field*/}\n
    \n \n
    \n Online Conference ($25)\n {/* \n \n {this.state.registrationTypes.map((registrationType) => (\n \n {registrationType.registrationType} (\n {centsToDollarFormat(\n registrationType.earlyRegistrationPrice\n )}\n )\n \n ))}\n */}\n {this.state.errors.registrationType && (\n
    \n {this.state.errors.registrationType}\n
    \n )}\n
    \n
    \n\n {/* Discount Code */}\n
    \n \n
    \n \n {this.state.errors.discountCode && (\n
    {this.state.errors.discountCode}
    \n )}\n
    \n
    \n\n
    \n\n {/* Display Total Amount */}\n
    \n
    \n

    \n Total:{' '}\n \n

    \n {this.state.errors.totalAmount && (\n
    {this.state.errors.totalAmount}
    \n )}\n
    \n
    \n\n {/* Submit button */}\n
    \n
    \n \n Continue\n \n
    \n
    \n
    \n
    \n );\n }\n}\n\nconst mapStateToProps = (state) => {\n return {\n form: state.form.formData,\n };\n};\n\nexport default connect(\n mapStateToProps,\n { updateFormData }\n)(DonationForm);\n","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\n\nclass Error extends Component {\n onComponentDidMount() {}\n\n redirect = () => {\n window.location.href = this.props.form.returnURL;\n };\n\n render() {\n return (\n
    \n

    Error

    \n
    \n {this.props.form.errorMsg}\n
    \n\n \n Return to ACA website.\n \n
    \n );\n }\n}\n\nconst mapStateToProps = state => {\n console.log(state);\n return {\n form: state.form\n };\n};\n\nexport default connect(mapStateToProps)(Error);\n","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\n\nclass Success extends Component {\n onComponentDidMount() {}\n\n redirect = () => {\n window.location.href = this.props.form.returnURL;\n };\n\n render() {\n return (\n
    \n

    Success

    \n
    \n {this.props.form.errorMsg}\n
    \n\n \n {this.props.form.returnButtonText}\n \n
    \n );\n }\n}\n\nconst mapStateToProps = (state) => {\n console.log(state);\n return {\n form: state.form,\n };\n};\n\nexport default connect(mapStateToProps)(Success);\n","export const updateFormData = () => {\n return {\n type: 'UPDATE_FORMDATA',\n };\n};\n\nexport const setReturnURL = () => {\n return {\n type: 'SET_RETURN_URL',\n };\n};\n\nexport const setReturnButtonText = () => {\n return {\n type: 'SET_RETURN_BUTTON_TEXT',\n };\n};\n\nexport const clearFormData = () => {\n return {\n type: 'CLEAR_FORMDATA',\n };\n};\n\nexport const setErrorMsg = () => {\n return {\n type: 'SET_ERROR_MSG',\n };\n};\n","import React, { Component } from 'react';\nimport { BrowserRouter, Switch } from 'react-router-dom';\n\nimport { Provider } from 'react-redux';\nimport store from './store';\n\nimport { Route } from 'react-router-dom';\nimport DefaultLayout from './layout/DefaultLayout';\nimport Checkout from './components/Checkout';\nimport TemplateForm from './components/forms/TemplateForm';\nimport NoviceShootForm from './components/forms/NoviceShootForm';\nimport TPFGeneralForm from './components/forms/TPFGeneralForm';\nimport DonationForm from './components/forms/DonationForm';\nimport WaterfowlWarmupForm from './components/forms/WaterfowlWarmupForm';\nimport AnniversaryMerchandisePackForm from './components/forms/AnniversaryMerchandisePackForm';\nimport DogCalendarForm from './components/forms/DogCalenderForm';\nimport PheasantForm from './components/forms/PheasantForm';\nimport NWSGCForm from './components/forms/NWSGCForm';\nimport Error from './components/Error';\nimport Success from './components/Success';\nimport { updateFormData, clearFormData } from './actions';\n\nclass App extends Component {\n constructor() {\n super();\n this.state = {};\n }\n\n handleUpdateFormData = () => {\n this.store.dispatch(updateFormData);\n };\n\n handleClearFormData = () => {\n this.store.dispatch(clearFormData);\n };\n\n setFormData = (formData) => {\n this.setState(\n {\n formData: formData,\n },\n () => {\n console.log('State Updated. Redirect to Payment.');\n }\n );\n };\n\n render() {\n return (\n \n \n
    \n \n \n \n {/* */}\n {/* */}\n {/* */}\n \n \n \n {/* */}\n \n \n \n \n \n \n
    \n
    \n
    \n );\n }\n}\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read http://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit http://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See http://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import 'react-app-polyfill/ie11';\nimport 'react-app-polyfill/stable';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport './css/form.css';\nimport './css/helper.css';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\n\nReactDOM.render(, document.getElementById('root'));\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: http://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"sourceRoot":""}