{"version":3,"sources":["images/gearIcon.svg","Utilities.ts","models/ErrorDetail.ts","api/ApiUtilities.ts","api/MyFfbfClientApi.tsx","views/MessageBoxes.tsx","layout/HomesteadLogoLink.tsx","layout/LoggedInLayout.tsx","images/spinner.svg","views/OverlaySpinner.tsx","pages/login/Login.tsx","views/CriticalPaymentErrorMsg.tsx","models/AccountOverview.ts","models/PaymentDetail.ts","models/ApiContact.ts","views/PaymentTermsAndConditions.tsx","pages/login/PurchaseMembership.tsx","images/sampleMetroCard_Front.png","pages/login/Registration.tsx","views/PageHeading.tsx","views/ExternalLink.tsx","views/EZPayAlerts.tsx","views/myMembership/MyMembershipPageTabs.tsx","views/PaymentConfirmation.tsx","pages/myMembership/PayDues.tsx","pages/login/GuestCheckout.tsx","pages/account/Logout.tsx","pages/account/MyAccount.tsx","images/dashboardSmallCarousel/memMeansMore.jpg","images/dashboardSmallCarousel/hireAg.jpg","images/dashboardSmallCarousel/buyers.jpg","images/dashboardSmallCarousel/ford.jpg","images/dashboardSmallCarousel/fbbank.jpg","images/dashboardSmallCarousel/choiceHotel.jpg","views/DeathBenefitAmount.tsx","views/MemberStatus.tsx","pages/dashboard/Dashboard.tsx","pages/manageContacts/EditContactModal.tsx","pages/manageContacts/RemoveContactModal.tsx","pages/manageContacts/ContactCard.tsx","views/MetroCard.tsx","pages/manageContacts/PrintCardModal.tsx","pages/manageContacts/RequestCardModal.tsx","pages/manageContacts/EditAddressModal.tsx","pages/manageContacts/ManageContacts.tsx","pages/myMembership/Details.tsx","views/CurrentDuesStatement.tsx","pages/myMembership/EZPayEdit.tsx","pages/myMembership/EZPaySummary.tsx","pages/benefits/Index.tsx","pages/benefits/Disabled.tsx","views/CountyOfficeDetails.tsx","pages/contactUs/ContactUs.tsx","App.tsx","reportWebVitals.ts","index.tsx"],"names":["Keys","toMoney","amount","concat","toLocaleString","style","currency","toFormatedPhone","phoneNumber","match","replace","StripeUtilities","genericErrorMsg","cardElementOptions","iconStyle","hidePostalCode","base","iconColor","color","fontSize","fontFamily","fontSmoothing","invalid","ContainsAuthExpiredError","errors","filter","e","ErrorCode","length","ContainsErrorAfterVendorPayment","ErrorMessage","indexOf","ApiBaseUrl","window","location","hostname","protocol","async","CallApi","apiEndpoint","paramObj","enforcePayload","arguments","undefined","result","requestParameter","AuthorizationGuid","sessionStorage","getItem","config","headers","timeout","axios","post","then","response","HandleAxiosResponse","catch","ex","HandleAxiosCatch","push","errorCollection","conversionErrors","data","ErrorDetails","Array","isArray","i","errorLineItem","Payload","isCancel","_ex$response","console","log","error","code","status","MyFfbfClientApi","Registration","VerifyRegistration","details","CompleteRegistration","GuestCheckout","VerifyGuestCheckout","ProcessGuestStripeCardPayment","paymentDetails","ProcessGuestECheckPayment","NewMemberSignup","GetFarmBureauOfficeInfo","req","ProcessNewMemberSignup","request","Auth","AttemptLogin","loginDetails","Account","UseAccountOverview","UseApiCall","GetAccountOverview","SubmitMessageFromUser","message","UpdatePassword","UpdateLogin","ResetPasswordRequest","ResetPasswordVerification","ResetPasswordComplete","Logout","Admin","GetEthnicityOptions","GetHispanicOptions","GetIndustryOptions","GetGenderOptions","GetCommodityProduceOptions","GetCommodityInterestOptions","GetPublicKey","Farms","GetAllFarms","GetNearbyFarms","Benefits","GetMemberBenefitCategories","GetMemberBenefits","CategoryId","categoryId","GetMemberBenefitPreviews","Payment","ProcessStripeCardPayment","ProcessECheckPayment","EndRecurringDuesSignup","BeginRecurringDuesSignupWithoutPayment","signUpDetails","MemberContacts","SaveMemberContact","contactUpdateRequest","RemoveMemberContact","removeContactRequest","RequestReplacementCard","replacementCardRequest","routeName","payload","set_payload","useState","isLoading","set_isLoading","set_errors","useEffect","_payload","_errors","fetchData","StandardErrorBox","props","_jsx","_Fragment","children","_jsxs","Alert","variant","Heading","headingText","map","dangerouslySetInnerHTML","__html","InputValidationBox","listStyle","ValidationSummary","filterCode","er","LoadingMessageBox","Spinner","animation","role","marginRight","NotInGoodStanding","className","Link","to","HomesteadLogoLink","linkTarget","id","src","alt","LoggedInLayout","_accountOverview$Memb","accountOverview","showNotInGoodStandingBanner","MembershipSummary","IsDelinquent","showAlert","Date","Redirect","pathname","Container","backgroundColor","Balance","UserAccount","ShortName","Navbar","expand","Toggle","Collapse","Nav","as","DropdownButton","menuAlign","title","gearIcon","Dropdown","Item","hidden","OverlaySpinner","Modal","show","visibility","centered","backdrop","keyboard","Body","textAlign","spinner","Login","email","set_email","password","set_password","readyToRedirect","set_readyToRedirect","emailInputRef","useRef","allowJoinNow","set_allowJoinNow","_emailInputRef$curren","current","focus","str","search","split","parms","Map","forEach","kv","pair","set","toString","get","Form","onSubmit","event","preventDefault","EmailUsername","Password","_loginPayload","_loginErrors","setItem","Group","Label","Control","ref","type","placeholder","value","onChange","target","Button","size","Row","Col","width","height","CriticalPaymentErrorMsg","HideEzPaySignupPathways","acctOverview","DuesPlanIsEZPay","GetNextDuesAmount","memberClassId","MemberClassId","duesStruct","CountyOffice","DuesStructure","d","DuesAmount","GenerateEmptyAcctOverview","mockContact","Id","Address","Line1","Line2","City","StateAbbreviation","Zip","Phones","Number","Type","Discriminator","LastOrCompanyName","DemographicSummary","Contact","EmailAddress","MemberNumber","FamilyName","MemberStatus","MemberClassDescription","IsBusinessMembership","NextRenewalDate","JoinDate","DeathBenefit","AllowPacContributions","IsTerminated","CountyId","ActiveRecurringDuesSignup","DuesPlan","MemberContactMappings","RoleLabel","RoleId","ContactIdentifier","Name","Phone","Fax","Secretary","CountyPacContributionAmount","CountyPacId","StatePacContributionAmount","StatePacId","GeneratePaymentBaseObj","paymentHelperObj","duesAmount","CountyPacContribution","getSelectedCountyPacContributionAmount","countyPacId","StatePacContribution","getSelectedStatePacContributionAmount","statePacId","GenerateCardPaymentDetail","stripeToken","enrollInEzPay","StripeToken","EnrollInNewRecurringDuesSignup","GeneratePaymentHelperObj","userWillDonateToStatePac","userWillDonateToCountyPac","memberCountyAllowsCountyPac","standardCountyPacAmount","standardStatePacAmount","getTotalCost","formatedAmount","allowPacContributions","countyPacLabelText","statePacLabelText","GetName","contact","FirstName","GetMemberContactRoleLabel","isBusinessMembership","ContactPrefixes","ContactSuffixes","IndustryChoices","name","USStates","abbreviation","PaymentTermsAndConditions","overflowY","maxHeight","padding","PurchaseMembership","isLocal","mockAccountOverview","set_mockAccountOverview","countyId","set_countyId","contactTypeString","set_contactTypeString","memberClass","set_memberClass","marriageDesc","set_marriageDesc","is501c3","set_is501c3","spouseRequired","childrenRequired","commodityProduceOptions","set_commodityProduceOptions","commodityInterestOptions","set_commodityInterestOptions","contactType","publicKey","set_publicKey","mounted","_key$Key","_key","_error","Key","stripePromise","loadStripe","Brand","href","_county","_acctOverview","_getCommods","_getIntersts","_commods","_CommodsErrors","_intersts","_InterstsErrors","allErrors","controlId","column","md","sm","ev","disabled","Elements","stripe","ElementsConsumer","_ref","elements","PurchaseMembershipPayDuesForm","hasCriticalError","set_hasCriticalError","paymentTypeIsCard","set_paymentTypeIsCard","donateToCountyPac","set_donateToCountyPac","donateToStatePac","set_donateToStatePac","termsAccepted","set_termsAccepted","accountNumber","set_accountNumber","verifyAccountNumber","set_verifyAccountNumber","routingNumber","set_routingNumber","accountIsChecking","set_accountIsChecking","nameOnAccount","set_nameOnAccount","bankName","set_bankName","fakeEmail","characters","charactersLength","counter","charAt","Math","floor","random","MakeRandomId","firstName","set_firstName","middleName","set_middleName","lastName","set_lastName","dob","set_dob","prefix","set_prefix","suffix","set_suffix","emailConfirm","set_emailConfirm","phone","set_phone","phoneType","set_phoneType","addrLine1","set_addrLine1","addrLine2","set_addrLine2","addrCity","set_addrCity","addrState","set_addrState","addrZip","set_addrZip","spousefirstName","set_spousefirstName","spousemiddleName","set_spousemiddleName","spouselastName","set_spouselastName","spousedob","set_spousedob","spouseprefix","set_spouseprefix","spousesuffix","set_spousesuffix","spouseemail","set_spouseemail","spousephone","set_spousephone","spousephoneType","set_spousephoneType","getDefaultChildContact","MiddleName","LastName","DateOfBirth","childContacts","set_childContacts","selectedProduceCommodityIds","set_selectedProduceCommodityIds","selectedInterestCommodityIds","set_selectedInterestCommodityIds","passwordConfirm","set_passwordConfirm","referredBy","set_referredBy","useMemo","handleProduceCommodityCheckEvent","selectedIds","checked","handleInterestCommodityCheckEvent","generateAddressObj","generateChildContactObjs","child","Email","Prefix","Suffix","passwordValid","ShowPasswordFlag","ShowPasswordConfirmFlag","_validationErrors","doc","document","getElementById","scrollIntoView","card","getElement","CardElement","tokenResult","createToken","_message","PrimaryContactToCreate","SecondaryContactToCreate","ChildContactsToCreate","StripePayment","token","ECheckPayment","StatePacContributionSelected","IsBusiness","IsPacEligible","CommoditiesSelected","InterestGroupsSelected","ReferredBy","_","alert","scrollTo","p","s","fontWeight","marginTop","index","handleChildFirstNameChange","values","handleChildMiddleNameChange","handleChildLastNameChange","handleChildDateOfBirthChange","onClick","splice","handleRemoveChild","handleAddChild","marginBottom","maxLength","pc","minWidth","Description","ic","display","FontAwesomeIcon","icon","faCheck","faX","options","toFixed","Check","label","isPasswordReset","set_isPasswordReset","passwordResetState","set_passwordResetState","isRegistration","ResetPasswordRequestObj","set_resetPasswordRequestObj","verificationCode","set_verificationCode","memberNumber","set_memberNumber","zip","set_zip","registrationContactChoices","set_registrationContactChoices","selectedContactId","set_selectedContactId","memberNumberInputRef","generateParamObjBase","MemberId","LastNameOrCompanyName","ZipCode","_memberNumberInputRef","margin","sampleMetroCard_Front","_registrationVerification","contactChoices","VerifiedContactChoices","ContactId","rcc","NewPasswordForAccount","SelectedContactId","parm","NewPassword","VerificationCode","PageHeading","ExternalLink","rel","EZPaySignupConfirmation","EZPayPromo","marginLeft","EZPayTermsAndConditionsModal","showSignupBtn","modalVisible","set_modalVisible","onHide","Header","closeButton","Title","Footer","MyMembershipPageTabs","activeTab","PaymentConfirmation","totalCost","toLocaleDateString","confirmationCode","PayDues","pageErrors","ZeroBalance","PayDuesForm","displayEzPayPromoIfNotEnrolled","set_confirmationCode","paymentTypeIsEcheck","enrollInEZPay","set_enrollInEZPay","cardPaymentDetail","_confirmation","ConfirmationCode","eCheckPaymentDetail","AccountNumber","RoutingNumber","NameOnAccount","BankName","AccountIsChecking","GenerateECheckPaymentDetail","lg","t","isValidated","set_isValidated","set_accountOverview","paddingLeft","GuestCheckoutPayDuesForm","memNumber","GenerateGuestCardPaymentDetail","GenerateGuestECheckPaymentDetail","removeItem","MyAccount","oldPassword","set_oldPassword","newPassword","set_newPassword","newPasswordConfirm","set_newPasswordConfirm","newLogin","set_newLogin","newLoginConfirm","set_newLoginConfirm","changeConfirmed","set_changeConfirmed","Tabs","defaultActiveKey","Tab","eventKey","OldPassword","htmlFor","OldLogin","NewLogin","DeathBenefitAmount","memSummary","isCurrent","showBilledText","htmlColor","Dashboard","isNewlyCreated","useParams","BannerRotator","GreetingMemSummary","memMeansMore","hireAg","buyers","ford","fbbank","choiceHotel","visibleImgItemIndex","set_visibleImgItemIndex","items","imgSrc","showNext","useCallback","timer","setInterval","clearInterval","showPrev","_props$accountOvervie","_props$accountOvervie2","_props$accountOvervie3","_props$accountOvervie4","EditContactModal","_props$contact$FirstN","_props$contact","_props$contact$Middle","_props$contact2","_props$contact$LastOr","_props$contact3","_props$contact$Prefix","_props$contact4","_props$contact$Suffix","_props$contact5","_props$contact$DateOf","_props$contact6","_props$contact$Demogr","_props$contact7","_props$contact7$Demog","_props$contact$Demogr2","_props$contact8","_props$contact8$Demog","_props$contact$Demogr3","_props$contact9","_props$contact9$Demog","_props$contact$Demogr4","_props$contact10","_props$contact10$Demo","_props$contact$Email$","_props$contact11","_props$contact11$Emai","_props$contact$Phones","_props$contact12","selectedContactRole","set_selectedContactRole","contactRoleChoices","lastOrCompanyName","set_lastOrCompanyName","dateOfBirth","set_dateOfBirth","gender","set_gender","GenderId","hispanic","set_hispanic","HispanicId","ethnicity","set_ethnicity","EthnicityId","industry","set_industry","IndustryId","emailAddress","set_emailAddress","phones","set_phones","primaryAddr","mcm","generateEmailObj","_props$contact$Email$2","_props$contact13","_props$contact13$Emai","generateDemographicSummary","_props$contact$Id","_props$contact14","GenderValue","EthnicityValue","HispanicValue","IndustryValue","dialogClassName","modalEvents","ModalCompletedEvent","generateContactObjForSaving","_props$contact$Id2","_props$contact15","ContactToUpdate","ModalSharedDataUpdateEvent","handlePhoneTypeChange","handlePhoneNumberChange","handleRemovePhone","handleAddPhone","RemoveContactModal","loading","set_loading","ContactIdToRemove","contactId","ContactCard","_props$contact$Email","showEditContactModal","set_showEditContactModal","showRemoveContactModal","set_showRemoveContactModal","showRemoveButton","contactRole","contactRoleLabel","MetroCard","React","forwardRef","position","left","top","paddingTop","county","PrintCardModal","printedAtLeastOnce","set_printedAtLeastOnce","handlePrint","useReactToPrint","content","_componentRef$current","componentRef","handleFinished","RequestCardModal","success","set_success","ContactName","contactName","EditAddessModal","line1","set_line1","primaryContact","line2","set_line2","city","set_city","state","set_state","ManageContacts","_accountOverview$Memb2","ticks","set_ticks","getTime","addContactModalData","set_addContactModalData","showPrintCardModal","set_showPrintCardModal","showRequestCardModal","set_showRequestCardModal","showAddressEditModal","set_showAddressEditModal","_acctOvrview","contactMappings","isBusiness","primaryContactMapping","cm","secondaryContactMapping","childContactsMappings","generateContactRoleChoice","_contactRoleChoices","_ticks","handleAddClick","contactLabel","Details","showModal","set_showModal","borderTopWidth","dismissable","CurrentDuesStatement","countyName","nextDuesAmount","EZPayEdit","EZPayEditForm","_currentEZPaySignup$I","_currentEZPaySignup$I2","signupConfirmed","set_signupConfirmed","countyPacAmount","statePacAmount","currentEZPaySignup","donateToSPACDefaultChoice","IncludesStatePacContribution","donateToCPacDefaultChoice","IncludesCountyPacContribution","nextEZPayTotalAmount","IncludeCountyPac","IncludeStatePac","EZPaySummary","_accountOverview$Coun","_accountOverview$Coun2","_accountOverview$Coun3","_accountOverview$Coun4","_ezPaySignup$Includes","_accountOverview$User","showUnenrollModal","set_showUnenrollModal","justUnenrolled","set_justUnenrolled","unenrollmentLoading","set_unenrollmentLoading","unenrollmentErrors","set_unenrollmentErrors","countyHasPac","ezPaySignup","includeStatePac","includeCountyPac","Table","DefaultCardLast4","colSpan","Index","redirectToDisabled","categories","set_categories","benefitPreviews","set_benefitPreviews","filterCategories","set_filterCategories","doLoadBenefitPreviews","set_doLoadBenefitPreviews","doLoadBenefitFromLink","set_doLoadBenefitFromLink","selectedBenefit","set_selectedBenefit","filterIsOpen","set_filterIsOpen","baseUrl","endsWith","slice","lastIndexOf","LoadBenefit","benefitId","handleShowModal","BenefitId","fetch","method","body","JSON","stringify","json","err","updateFilter","catId","allAffectCats","cat","ParentId","setShow","handleClose","history","pushState","handleShow","permalinkBenefit","LoadCategories","LoadPreviews","find","toLowerCase","Accordion","Card","faFilter","paddingRight","lineHeight","opacity","includes","faCircle","faWrench","faSailboat","faSquare","faCar","faPlaneUp","faDollarSign","faHouseChimney","faHeartPulse","faFaceGrinWide","faBriefcase","faCarrot","preview","xs","paddingBottom","overflow","textOverflow","border","borderRadius","justifyContent","alignItems","Thumbnail","verticalAlign","maxWidth","contentType","dataToString","fontStyle","Summary","faShareNodes","navigator","clipboard","writeText","Logo","Detail","Disabled","formatPhoneNumber","numberStr","substring","formatForQueryString","qStr","replaceAll","CountyOfficeDetails","countyOffice","ContactUs","messageBody","set_messageBody","showConfirmation","set_showConfirmation","messageErrors","set_messageErrors","inputRef","_inputRef$current","App","Router","basename","Switch","Route","path","exact","component","MyMembership_Details","MyMembership_PayDues","MyMembership_EZPayEdit","MyMembership_EZPaySummary","MemberBenefits_Disabled","MemberBenefits_Index","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render"],"mappings":"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","file":"static/js/main.c3a9479d.chunk.js","sourcesContent":["export default __webpack_public_path__ + \"static/media/gearIcon.d274c8b3.svg\";","import { useEffect, useState } from \"react\"\nimport MyFfbfClientApi from './api/MyFfbfClientApi'\n\n// This pauses the setter of the watches value with a setTimeout of 400ms, perfect for slowling down expensive keyup functions, \n// for example, til the user has paused typing\nexport function useDebouncedValue(value: string, wait: number) {\n const [debouncedValue, set_debouncedValue] = useState(value)\n\n useEffect(()=> {\n const id = setTimeout(() => set_debouncedValue(value), wait ?? 400)\n return () => clearTimeout(id)\n }, [value, wait])\n\n return debouncedValue\n}\n\nexport const Keys = {\n authorizationGuidKeyName: \"usd876sjkjk28k\", // intentionally confusing since the client can see this name in their sessionStorage values\n authExpiredErrorCode: \"AUTH_INVALID_OR_EXPIRED\", // kicked back by the API when the authorization guid is expired/invalid\n}\n\nexport function toMoney(amount: number | null) {\n return amount ? `${(amount).toLocaleString(\"en-US\", {\n style: \"currency\",\n currency: \"USD\"\n })}` : ''\n}\n\nexport function toFormatedPhone(phoneNumber: string) {\n var cleaned = ('' + phoneNumber).replace(/\\D/g, '');\n var match = cleaned.match(/^(\\d{3})(\\d{3})(\\d{4})$/);\n if (match) {\n return '(' + match[1] + ') ' + match[2] + '-' + match[3];\n }\n return phoneNumber;\n}\n\nexport const StripeUtilities = { \n genericErrorMsg: 'An error has occured, your card was not charged. Please try again later.',\n cardElementOptions: {\n iconStyle: \"solid\" as const,\n hidePostalCode: true,\n style: {\n base: {\n iconColor: \"rgb(240, 57, 122)\",\n color: \"#0B398E\",\n fontSize: \"18px\",\n fontFamily: '\"Century Gothic\", \"Open Sans\", sans-serif',\n fontSmoothing: \"antialiased\",\n \"::placeholder\": {\n color: \"#CFD7DF\"\n }\n },\n invalid: {\n color: \"#e5424d\",\n \":focus\": {\n color: \"#303238\"\n }\n }\n }\n }\n}\n\n// IE: Parent - \"Tell me when you update the data you control because I need to get a fresh copy from the server if you do that.\"\n// \"Also, since I control your visibility, tell me when you are done w/ the user and are ready to be hidden.\"\n// Child - < onClick={()=> {ModalSharedDataUpdateEvent(); ModalCompletedEvent()}}>Save < onClick={ModalCompletedEvent}>Cancel\nexport type ModalEvents = {\n ModalCompletedEvent: () => void;\n ModalSharedDataUpdateEvent: () => void;\n}\n\n// For generating random strings\nexport function MakeRandomId(length: number) {\n let result = '';\n const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n const charactersLength = characters.length;\n let counter = 0;\n while (counter < length) {\n result += characters.charAt(Math.floor(Math.random() * charactersLength));\n counter += 1;\n }\n return result;\n}","import { Keys } from \"../Utilities\";\n\nexport interface ErrorDetail {\n ErrorMessage: string,\n ErrorCode?: string,\n}\n\n\nexport function ContainsAuthExpiredError(errors: ErrorDetail[]) {\n return errors.filter(e => e.ErrorCode === Keys.authExpiredErrorCode).length > 0\n // For now, treat ANY errors coming thru here as 'auth errors' so that we can route them to the login page.\n //return errors.length > 0\n}\n\nexport function ContainsErrorAfterVendorPayment(errors: ErrorDetail[]) {\n return errors.filter(e => e.ErrorCode === \"ERROR_AFTER_VENDOR_TRANSACTION\" || e.ErrorMessage.indexOf(\"network Timeout\") >= 0).length > 0\n}","import { ErrorDetail } from '../models/ErrorDetail';\nimport { Keys } from '../Utilities';\nimport axios, { AxiosRequestConfig, AxiosResponse } from 'axios';\n\n//Rebuild domain from href but without the port. This ensures it works locally too. \nexport const ApiBaseUrl = (window.location.hostname !== \"localhost\")\n ? window.location.protocol + \"//\" + window.location.hostname + \"/MyFfbfClientApi/\" // UAT/PROD\n : window.location.protocol + \"//\" + window.location.hostname + \"/HomesteadClientApi/\"; // Local development\n // use the 'HomesteadClientApi' for local development but DONT check in.\n\n// All calls to the MyFfbfClientApi webAPI must be POSTS for now, because that's how we're including the authorization GUID,\n// which is stored in session storage by the Login page on a successful Login response.\nexport async function CallApi(apiEndpoint: string, paramObj?: any, enforcePayload: boolean = true): Promise<[ReturnType | null, ErrorDetail[]]> {\n let result: ReturnType | null = null\n let errors: ErrorDetail[] = []\n //console.log(`${apiEndpoint} ${method} ${JSON.stringify(paramObj)}`)\n\n // wrap the param in the shape of the RequestParameter class (see MyFfbfClientApi)\n const requestParameter = {\n ...paramObj,\n AuthorizationGuid: sessionStorage.getItem(Keys.authorizationGuidKeyName) //will be NULL for login/registration/guestcheckout calls and thats OK\n }\n\n // FAIL - I tried to attach the authGuid as a custom header here but just could not\n // get the browser to accept the response from the server for CORS-related violations. UGH.\n const config: AxiosRequestConfig = {\n headers: { \"Content-Type\": \"application/json; charset=utf-8\" }, //\"x-Custom-Auth-header\": `Bearer ${authGuid}`\n timeout: 20000,\n }\n\n ; await axios.post(ApiBaseUrl + apiEndpoint, requestParameter, config)\n .then(response => { result = HandleAxiosResponse(response, errors, enforcePayload) })\n .catch(ex => { HandleAxiosCatch(ex, errors) });\n\n if (enforcePayload && result === null && errors.length === 0) {\n errors.push({\n ErrorMessage: \"An error occurred getting data from the server. Please try again later.\",\n ErrorCode: \"MISSING_PAYLOAD\"\n })\n }\n return [result, errors]\n}\n\n\n// This takes the 'errors' prop from Axios.response.data and maps it to an ErrorLineItem collection.\n// It expects the API response to be shaped like <{payload: T, errors: <{text: string, code: string}>[]}>\n// and will kick back errors if it is not in that shape.\nfunction HandleAxiosResponse(response: AxiosResponse, errorCollection: ErrorDetail[], enforcePayload: boolean = true) {\n //console.log(\"HandleAxiosResponse\")\n const conversionErrors = []\n let result: any = null\n //console.log(response);\n if (!response || !response.data) {\n conversionErrors.push(\"Invalid response or data object.\")\n }\n else {\n // check the errors prop\n if (response.data.ErrorDetails === undefined) {\n conversionErrors.push(\"Response.data.ErrorDetails is undefined.\")\n }\n else if (!Array.isArray(response.data.ErrorDetails)) {\n conversionErrors.push(\"Response.data.ErrorDetails is not an array.\")\n }\n else {\n if (response.data.ErrorDetails.length !== 0) {\n for (let i = 0; i < response.data.ErrorDetails.length; i++) {\n const errorLineItem = response.data.ErrorDetails[i] as ErrorDetail\n if (!errorLineItem.ErrorMessage && !errorLineItem.ErrorCode) {\n conversionErrors.push(`Response.data.ErrorDetails[${i}] is not castable as ErrorDetail`)\n break;\n }\n errorCollection.push(errorLineItem)\n }\n }\n }\n\n if (enforcePayload && response.data.Payload === undefined) {\n conversionErrors.push(\"Response.data.payload is missing.\")\n }\n else if (enforcePayload && conversionErrors.length === 0) {\n result = response.data.Payload as Type\n }\n }\n\n // todo - This should do SOMETHING w/ logging if we get to a conversion error\n if (conversionErrors.length > 0) {\n //console.log(conversionErrors)\n errorCollection.push({ ErrorMessage: \"A system error occurred, please try your action again later.\" })\n // todo - maybe push the conversion errors out to an endpoint for logging?\n // put it in a try/catch and in the catch, log to local storage\n // on some interval, check that localstorage and try re-posting to server\n }\n\n return result\n}\n\n// Handles Axios \".catch(exception=>{})\" response and pushes the error to the errors param collection.\nfunction HandleAxiosCatch(ex: any, errorCollection: ErrorDetail[]) {\n // cancelled Axios calls will trigger here but can be ignored.\n if (!axios.isCancel(ex)) {\n // todo - like 'conversionErrors' in ConvertResponse(), this should try to log the error somewhere\n console.log(\"HandleAxiosCatch\")\n\n const error = (ex.code === \"ECONNABORTED\") ? \"A network Timeout has happened\" :\n (ex.response?.status === 404) ? \"The API endpoint could not be found\" :\n \"An unexpected error has occurred\";\n\n errorCollection.push({ ErrorMessage: error })\n }\n}","import { CallApi } from './ApiUtilities'\nimport AccountOverview, { FarmBureauOfficeInfo } from '../models/AccountOverview'\nimport Farm from '../models/Farm'\nimport MyFFBFAuthDetails from '../models/MyFFBFAuthDetails' \nimport LoginDetails from '../models/LoginDetails'\nimport { useState, useEffect } from 'react'\nimport { ErrorDetail } from '../models/ErrorDetail'\nimport { RemoveMemberContactRequest, ReplacementMembershipCardRequest, SaveMemberContactRequest } from '../models/ApiContact'\nimport MemberBenefit_old, { MemberBenefitCategory, MemberBenefitPreview } from '../models/MemberBenefit'\nimport { AccountVerficationDetails, CompletedAccountVerficationDetails, RegistrationVerificationResult } from '../models/RegistrationModels'\nimport { StripeCardPaymentDetail, EcheckPaymentDetail, PaymentConfirmation, RecurringDuesSignupDetail, GuestStripeCardPaymentDetail, GuestEcheckPaymentDetail, PublicKey, ProcessPaymentResult } from '../models/PaymentDetail'\nimport { ChangeLoginRequest, ChangePasswordRequest } from '../models/AccountModels'\nimport { ResetPasswordRequestObj } from '../models/AccountModels'\nimport FamaFlyerDetails from '../models/FamaFlyerDetails'\nimport { FarmBureauOfficeInfoRequest } from '../models/NewMemberSignup'\nimport { NewMemberSignupRequest } from '../models/NewMemberSignup'\nimport Commodity from '../models/Commodity'\nimport MemberBenefit from '../models/MemberBenefit'\n\n// This struct is a mapper to the MyFfbfClientApi.proj Web API\nconst MyFfbfClientApi = {\n Registration: {\n VerifyRegistration: async (details: AccountVerficationDetails) => \n await CallApi(\"Registration/VerifyRegistration\", details),\n\n CompleteRegistration: async (details: CompletedAccountVerficationDetails) => \n await CallApi(\"Registration/CompleteRegistration\", details, false),\n },\n\n GuestCheckout: {\n VerifyGuestCheckout: async (details: AccountVerficationDetails) => \n await CallApi(\"Registration/VerifyGuestMembership\", details),\n\n ProcessGuestStripeCardPayment: async (paymentDetails: GuestStripeCardPaymentDetail) => \n await CallApi(\"Payment/ProcessGuestStripeCardPayment\", paymentDetails),\n\n ProcessGuestECheckPayment: async (paymentDetails: GuestEcheckPaymentDetail) => \n await CallApi(\"Payment/ProcessGuestECheckPayment\", paymentDetails),\n },\n\n NewMemberSignup : {\n GetFarmBureauOfficeInfo: async (req: FarmBureauOfficeInfoRequest) => \n await CallApi(\"NewMemberSignup/GetFarmBureauOfficeInfo\", req),\n \n ProcessNewMemberSignup: async (request: NewMemberSignupRequest) =>\n await CallApi(\"NewMemberSignup/ProcessNewMemberSignup\", request, false)\n }, \n\n Auth: {\n AttemptLogin: async (loginDetails: LoginDetails) => \n await CallApi(\"Auth/AttemptLogin\", loginDetails),\n },\n\n Account: {\n UseAccountOverview: () => UseApiCall(\"Account/GetAccountOverview\"),\n\n GetAccountOverview: async () =>\n await CallApi(\"Account/GetAccountOverview\"),\n\n SubmitMessageFromUser: async (message: string) => \n await CallApi(\"Account/SubmitMessageFromUser\", {\"messageFromMember\": message}, false), \n\n UpdatePassword: async (details: ChangePasswordRequest) => \n await CallApi(\"Account/UpdatePassword\", details, false),\n\n UpdateLogin: async (details: ChangeLoginRequest) => \n await CallApi(\"Account/UpdateLogin\", details, false),\n\n ResetPasswordRequest: async (request: ResetPasswordRequestObj) => \n await CallApi(\"Account/ResetPasswordRequest\", request, false),\n\n ResetPasswordVerification: async (request: ResetPasswordRequestObj) => \n await CallApi(\"Account/ResetPasswordVerify\", request),\n\n ResetPasswordComplete: async (request: ResetPasswordRequestObj) => \n await CallApi(\"Account/ResetPasswordComplete\", request),\n\n Logout: async () => \n await CallApi(\"Account/Logout\", null, false),\n },\n\n Admin: {\n // These choices are just hard coded into the EditContactModal at the moment for v0.5\n GetEthnicityOptions: \"\",\n GetHispanicOptions: \"\",\n GetIndustryOptions: \"\",\n GetGenderOptions: \"\",\n\n GetCommodityProduceOptions: async () => await CallApi(\"Commodities/GetCommoditiesList\", null),\n GetCommodityInterestOptions: async () => await CallApi(\"Commodities/GetInterestGroupList\", null),\n \n GetPublicKey: async () => await CallApi(\"Payment/GetPublicKey\"),\n },\n\n Farms: {\n GetAllFarms: () => UseApiCall(\"Farms/GetAllFarms\"),\n GetNearbyFarms: () => UseApiCall(\"Farms/GetNearbyFarms\"),\n },\n\n Benefits: {\n GetMemberBenefitCategories: async () => await CallApi(\"MemberBenefits/GetMemberBenefitCategories\", null),\n GetMemberBenefits: async (categoryId: string | null) => \n CallApi(\"/MemberBenefits/GetMemberBenefits\", {CategoryId:categoryId} ),\n GetMemberBenefitPreviews: async (categoryId: string | null) => \n CallApi(\"/MemberBenefits/GetMemberBenefitPreviews\", {CategoryId:categoryId} ),\n },\n\n Payment: {\n ProcessStripeCardPayment: async (paymentDetails: StripeCardPaymentDetail) => \n await CallApi(\"Payment/ProcessStripeCardPayment\", paymentDetails),\n\n ProcessECheckPayment: async (paymentDetails: EcheckPaymentDetail) => \n await CallApi(\"Payment/ProcessECheckPayment\", paymentDetails),\n\n EndRecurringDuesSignup: async () => \n await CallApi(\"Payment/EndRecurringDuesSignup\", null, false),\n\n BeginRecurringDuesSignupWithoutPayment: async (signUpDetails: RecurringDuesSignupDetail) => \n await CallApi(\"Payment/BeginRecurringDuesSignupWithoutPayment\", signUpDetails, false),\n },\n\n MemberContacts: {\n SaveMemberContact: async (contactUpdateRequest: SaveMemberContactRequest) => \n await CallApi(\"MemberContacts/SaveMemberContact\", contactUpdateRequest, false),\n\n // UpdatePrimaryContactAddress: async (address: ApiMailingAddress) => \n // await CallApi(\"MemberContacts/UpdatePrimaryContactAddress\", address, false),\n \n RemoveMemberContact: async (removeContactRequest: RemoveMemberContactRequest) => \n await CallApi(\"MemberContacts/RemoveMemberContact\", removeContactRequest, false),\n\n RequestReplacementCard: async (replacementCardRequest: ReplacementMembershipCardRequest) =>\n await CallApi(\"MemberContacts/RequestReplacementCard\", replacementCardRequest, false)\n }\n}\n\nexport default MyFfbfClientApi\n\n\n\n// This CUSTOM HOOK wraps the CallApi method with an async multi-state return response. \n// Because it is a HOOK, it cannot be used in events like form submits on onclicks, JUST \"page load\" spots.\n// Example below:\n// const { isLoading, errors, acctOverview } = UseApiCall(\"Account/GetOverview\")\n// { isLoading ? \"Loading...\" : \n// errors.length > 0 : \"Omg errors came back from api!\" :\n// acctOverview : \"U can use yur acctOverview here now\" : <> }\nexport function UseApiCall(routeName: string, paramObj?: any) {\n const [payload, set_payload] = useState(null)\n const [isLoading, set_isLoading] = useState(true);\n const [errors, set_errors] = useState([]);\n\n // This is the equivalent of an \"at page load\" function for this component. It fires AFTER the first return{} at the bottom.\n // This means you can consume this function (see example above function), and it will update the variables as it starts/runs/finishes.\n useEffect(() => {\n const fetchData = async () => {\n const [_payload, _errors] = await CallApi(routeName, paramObj)\n _errors.length > 0 \n ? set_errors(_errors) \n : set_payload(_payload!)\n set_isLoading(false)\n }\n fetchData()\n }, [routeName, paramObj])\n\n // For Debugging, this runs on every state change here. You should see this run 2 TIMES ONLY, if not you are messing\n // with the dependencies ([routeName, paramObj]) too much.\n // const getLogMessage = () => `Running HandleApiCall for ${routeName}, isLoading: ${isLoading}, has errors: ${errors.length > 0}, payload set: ${!!payload}`\n // useEffect(() => console.log(getLogMessage()))\n\n return { isLoading, errors, payload }; \n}","import { stringify } from 'querystring'\nimport React from 'react'\nimport { Alert, Spinner } from 'react-bootstrap'\nimport { Link } from 'react-router-dom'\nimport { ErrorDetail } from '../models/ErrorDetail'\n\nexport const StandardErrorBox: React.FC<{headingText?: string, errors?: ErrorDetail[]}> = (props) => {\n return <>\n \n {props.headingText || \"Attention, there was an error\"}\n { props.errors &&
    {props.errors.map((e, i) =>\n
  • )}
}\n { props.children }\n
\n \n}\n\nexport const InputValidationBox: React.FC<{errors?: ErrorDetail[]}> = (props) => {\n return (props.errors && props.errors.length > 0) ? <>\n \n \n {props.errors.map((e, i) =>\n

{e.ErrorMessage}

)\n } \n
\n : <>\n}\n\nexport const ValidationSummary: React.FC<{errors: ErrorDetail[], filterCode?: string}> = (props) => { \n return (!props.errors || props.errors.length === 0)\n ? <>\n : props.filterCode ? er.ErrorCode == props.filterCode)} /> : \n}\n\nexport const ConfirmationMessageBox: React.FC = (props) => {\n return <>\n \n \n {props.children}\n \n \n \n}\n\nexport const LoadingMessageBox: React.FC = (props) => {\n return <>\n \n \n \n {props.children || \"Loading...\"}\n \n \n \n}\n\nexport const ComingSoonMessageBox: React.FC = (props) => {\n return <>\n \n \n {props.children || \"Coming soon!\"}\n \n \n \n}\n\nexport function NotInGoodStanding() {\n return <>\n

\n Your Farm Bureau membership is no longer in good standing.\n Please renew your membership now and regain access to your member benefits.\n

\n \n}\n\nexport const EZPayOnFile: React.FC<{defaultCardLast4: string}> = (props) => {\n return <> \n \n \n You have a card on file to automatically pay your current Dues on their due date\n \n
\n You do not need to pay your dues today if you'd still like us to charge your card on file when your dues are due to be paid.
\n If you'd like to make a payment right now instead, you may use the form below to do so.
\n \n The card you enter below will replace the ending with {props.defaultCardLast4} as the card that we will use\n for next year's dues.\n \n
\n
\n \n}","import React from 'react'\nimport { Link } from 'react-router-dom'\n\nconst HomesteadLogoLink: React.FC<{linkTarget: \"dashboard\" | \"login\"}> = (props) => {\n return <>\n \n Florida Farm Bureau MyFFBF\n \n \n}\n\nexport default HomesteadLogoLink","import React from \"react\"\nimport { Alert, Container, Dropdown, DropdownButton } from \"react-bootstrap\"\nimport { Link, Redirect } from \"react-router-dom\"\nimport gearIcon from '../images/gearIcon.svg'\nimport { ContainsAuthExpiredError } from \"../models/ErrorDetail\"\nimport MyFfbfClientApi from '../api/MyFfbfClientApi'\nimport { NotInGoodStanding } from \"../views/MessageBoxes\"\nimport HomesteadLogoLink from './HomesteadLogoLink'\nimport { Nav, Navbar } from \"react-bootstrap\";\n\nconst LoggedInLayout: React.FC = props => {\n\tconst { errors, payload } = MyFfbfClientApi.Account.UseAccountOverview()\n\tconst accountOverview = payload\n\tconst showNotInGoodStandingBanner = accountOverview?.MembershipSummary.IsDelinquent ?? false\n\tlet showAlert = new Date() < new Date(\"2023-02-11T17:00:00Z\");\n\n\tif (ContainsAuthExpiredError(errors)) {\n\t\t\n \treturn \n }\n\n\treturn (\n\t\t<>\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t{ showNotInGoodStandingBanner && \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t{ accountOverview&& accountOverview.MembershipSummary.Balance > 0 &&\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tPay Membership\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{accountOverview?.UserAccount.ShortName && \n\t\t\t\t\t\t\t\t

Hello { accountOverview.UserAccount.ShortName }

}\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tMy Membership\n\t\t\t\t\t\t\t\tMember Benefits\n\t\t\t\t\t\t\t\tContact Us\n\t\t\t\t\t\t\t\t}>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tMy Account\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tLog out\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
{props.children}
\n\t\t\t\t
\n\t\t\t
\n\t\t\n\t)\n}\n\nexport default LoggedInLayout\n","export default __webpack_public_path__ + \"static/media/spinner.206d6921.svg\";","import React from 'react'\nimport { Modal } from 'react-bootstrap'\nimport spinner from '../images/spinner.svg'\n\n// This blocks the ENTIRE page with an invisible modal with just a spinner GIF shown.\n\nconst OverlaySpinner = () => {\n return <>\n \n \n
\n \"\"\n
\n
\n
\n \n}\n\nexport default OverlaySpinner","import React, {useRef} from \"react\"\nimport {useState} from \"react\"\nimport {Button, Col, Container, Form, Row} from \"react-bootstrap\"\nimport {Link, Redirect} from \"react-router-dom\"\nimport {ErrorDetail} from \"../../models/ErrorDetail\"\nimport {Keys} from \"../../Utilities\"\nimport {ValidationSummary} from \"../../views/MessageBoxes\"\nimport OverlaySpinner from \"../../views/OverlaySpinner\"\nimport MyFfbfClientApi from \"../../api/MyFfbfClientApi\"\nimport HomesteadLogoLink from \"../../layout/HomesteadLogoLink\"\nimport {useEffect} from \"react\"\n\nconst Login: React.FC = () => {\n\tconst [email, set_email] = useState(\"\")\n\tconst [password, set_password] = useState(\"\") // DONT CHECK THIS IN!!\n\n\tconst [readyToRedirect, set_readyToRedirect] = useState(false)\n\tconst [isLoading, set_isLoading] = useState(false)\n\tconst [errors, set_errors] = useState([])\n\n\tconst emailInputRef = useRef(null)\n\t// Detect if 'existingMember' is passed from URL, hide New Member Signup if so.\n\t//const { enableJoinNow } = useParams<{enableJoinNow: string}>()\n\t//const allowJoinNow = enableJoinNow !== \"false\"\n\tconst [allowJoinNow, set_allowJoinNow] = useState(true)\n\t\t\t\n\tuseEffect(() => {\n\t\t// Focus on Email input at pageload\n\t\temailInputRef?.current?.focus()\n\n\t\t// Check querystring for param to disable \"Join Now\" links\n\t\tconst str = window.location.search.split(\"?\")\n\t\tif(str.length > 1) {\n\t\t\tconst parms = new Map();\n\t\t\tconst kvPairs = str[1].split(\"&\");\n\t\t\tkvPairs.forEach(function(kv){\n\t\t\t\tconst pair = kv.split(\"=\");\n\t\t\t\tparms.set(pair[0].toString(), pair[1]);\n\t\t\t});\n\n\t\t\tif (parms.get(\"allowNewMemSignup\") === \"false\")\n\t\t\t\tset_allowJoinNow(false);\n\t\t}\n\n\t}, [])\n\n\tconst handleSubmit = async (event: React.FormEvent) => {\n\t\tevent.preventDefault()\n\t\tset_isLoading(true)\n\t\tconst paramObj = {EmailUsername: email, Password: password}\n\t\tconst [_loginPayload, _loginErrors] =\n\t\t\tawait MyFfbfClientApi.Auth.AttemptLogin(paramObj)\n\t\tif (_loginErrors.length > 0) {\n\t\t\tset_errors(_loginErrors)\n\t\t\tset_isLoading(false)\n\t\t} else {\n\t\t\t// Put the auth guid into session storage so that all further calls from inside the app will include it.\n\t\t\t// WARNING - this is copy-pasted between Login.tsx, PurchaseMembership.tsx, and Registration.tsx\n\t\t\tsessionStorage.setItem(\n\t\t\t\tKeys.authorizationGuidKeyName,\n\t\t\t\t_loginPayload!.AuthorizationGuid\n\t\t\t)\n\t\t\tset_readyToRedirect(true)\n\t\t}\n\t}\n\tif (readyToRedirect) {\n\t\tconst str = window.location.search.split(\"?\");\n\t\tconst parms = new Map();\n\t\t\n\t\tif(str.length > 1) {\n\t\t\tconst kvPairs = str[1].split(\"&\");\n\t\t\tkvPairs.forEach(function(kv){\n\t\t\t\tconst pair = kv.split(\"=\");\n\t\t\t\tparms.set(pair[0].toString(), pair[1]);\n\t\t\t});\n\t\t}\n\t\tif(parms.get(\"p\"))\n\t\t\treturn \n\t\treturn \n\t}\n\n\treturn (\n\t\t
\n
\n
\n \n \n \n
\n
\n
\n\t\t\t\t\t\t{isLoading && }\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t

Member Sign In

\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tEmail\n\t\t\t\t\t\t\t\t set_email(e.target.value)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tPassword\n\t\t\t\t\t\t\t\t set_password(e.target.value)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tPay Your Dues\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tallowJoinNow && \n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tNot a Member? Join Today\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tRegister your Membership Number\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
Are you already a member?!
\n\t\t\t\t\t\t\t\t\t\t\t
Use your existing membership number to create a login to MyFFBF.org
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tForgot your password?\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tForgot your password?\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
Are you already a member?
\n\t\t\t\t\t\t\t
Use your existing membership number to create a login to MyFFBF.org
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n
\n\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{ \n\t\t\t\t\t\t\t\tallowJoinNow && <>\n\t\t\t\t\t\t\t\t\t

Not a Member?

\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\t\n\t\t\t\t\t\n
\n
\n\t\t\t
\n
\t\t\n\t\t\n\t)\n}\n\nexport default Login\n","import React from 'react'\n\nconst CriticalPaymentErrorMsg = () => {\n return <>\n
\n Attention - we encountered an unexpected error when trying to process your payment.
\n Unfortunately, we cannot tell at this time if your payment went through or not. \n
\n\n
\n In an effort to make sure you are not overcharged, do not try to purchase a new membership yet.
\n Instead, please contact us at 352-374-1517 or ffb-member-services@ffbf.org.\n
\n\n
\n An alert has been sent to our staff and they will be reaching out to shortly as well.\n
\n \n}\n\nexport default CriticalPaymentErrorMsg","// These are together because they are only served out of the API as a single object:\n// /Account/GetAccountOverview/ -> AccountOverview\nimport { ApiContact, MemberApiContactMapping } from './ApiContact'\n\nexport default interface AccountOverview {\n // Details for the user/contact on the membership who registered this login as here\n UserAccount: MyFFBFUserAccount;\n\n // All the detals of the membership are here\n MembershipSummary: MembershipSummary;\n\n // This is not specific to the member, ie it will be identical for two different memberships from the same county.\n CountyOffice: FarmBureauOfficeInfo;\n}\n\nexport interface MyFFBFUserAccount {\n Contact: ApiContact;\n EmailAddress: string;\n ShortName: string;\n}\n\nexport interface MembershipSummary {\n MemberNumber: string;\n FamilyName: string;\n Balance: number;\n MemberStatus: string;\n MemberClassDescription: string;\n MemberClassId: string;\n IsBusinessMembership: boolean;\n NextRenewalDate: string;\n JoinDate: string;\n DeathBenefit: number;\n AllowPacContributions: boolean;\n IsDelinquent: boolean;\n IsTerminated: boolean;\n CountyId: string;\n // This should be NULL if they never signed up for EZPay, or if they ended a previous signup.\n ActiveRecurringDuesSignup: ActiveRecurringDuesSignup | null;\n DuesPlanIsEZPay: boolean; // this is 'ActiveRecurringDuesSignup != null' in the API\n DuesPlan: string; // this is ' DuesPlanIsEZPay ? \"Membership EZ-Pay\" : \"Manual Pay\"' in the API\n MemberContactMappings: MemberApiContactMapping[] \n}\n\nexport interface ActiveRecurringDuesSignup {\n CustomerId: string;\n IncludesStatePacContribution: boolean;\n IncludesCountyPacContribution: boolean;\n StartDate: Date;\n DefaultCardLast4: string;\n}\n\n\nexport interface FarmBureauOfficeInfo {\n Id: string;\n Name: string;\n Phone: string;\n Fax: string;\n Address: string;\n City: string;\n Zip: string;\n Secretary: string;\n CountyPacContributionAmount: number | null; // null if this County doesn't have a PAC\n CountyPacId: string | null; // null if this County doesn't have a PAC\n StatePacContributionAmount: number;\n StatePacId: string;\n DuesStructure: DuesStructureEntry[]\n}\n\nexport interface DuesStructureEntry {\n MemberClassId: string;\n DuesAmount: number;\n}\n\nexport function HideEzPaySignupPathways(acctOverview: AccountOverview | null) {\n if (!acctOverview)\n return true;\n\n return acctOverview.MembershipSummary.Balance > 0 && !acctOverview.MembershipSummary.DuesPlanIsEZPay\n}\n\nexport function GetNextDuesAmount(acctOverview: AccountOverview | null) {\n if (!acctOverview)\n return 0\n\n const memberClassId = acctOverview.MembershipSummary.MemberClassId\n const duesStruct = acctOverview.CountyOffice.DuesStructure.filter(d => d.MemberClassId === memberClassId)[0]\n return duesStruct ? duesStruct.DuesAmount : 0\n}\n\n// Rather than handling NULL, it can be easier to use an 'empty' AccountOverview in some situations\n// when handling state in React. Use this 'empty' version in such cases.\nexport function GenerateEmptyAcctOverview(): AccountOverview {\n const mockContact: ApiContact = {\n Id: \"\",\n Address: {\n Id: \"\",\n Line1: \"\",\n Line2: \"\",\n City: \"\",\n StateAbbreviation: \"\",\n Zip: \"\",\n },\n Phones: [{\n Id: \"\",\n Number: \"\",\n Type: \"\",\n }],\n // This allows us to distinguish the types\n Discriminator: \"Person\",\n // This will be LAST or COMPANY name from the IContact\n LastOrCompanyName: \"\",\n DemographicSummary: null // will be NULL if not yet saved for this contact\n }\n const mockAccountOveview: AccountOverview = {\n UserAccount: {\n Contact: mockContact,\n EmailAddress: \"\",\n ShortName: \"\",\n },\n MembershipSummary: {\n MemberNumber: \"\",\n FamilyName: \"\",\n Balance: 0,\n MemberStatus: \"\",\n MemberClassDescription: \"\",\n MemberClassId: \"4\",\n IsBusinessMembership: false,\n NextRenewalDate: \"1900-01-01\",\n JoinDate: \"\",\n DeathBenefit: 0,\n AllowPacContributions: true,\n IsDelinquent: false,\n IsTerminated: false,\n CountyId: \"\",\n ActiveRecurringDuesSignup: null,\n DuesPlanIsEZPay: false, // this is 'ActiveRecurringDuesSignup != null' in the API\n DuesPlan: \"\", // this is ' DuesPlanIsEZPay ? \"Membership EZ-Pay\" : \"Manual Pay\"' in the API\n MemberContactMappings: [{\n RoleLabel: \"Primary\",\n RoleId: 1,\n Contact: mockContact,\n ContactIdentifier: \"\",\n }] \n },\n CountyOffice: {\n Id: \"\",\n Name: \"\",\n Phone: \"\",\n Fax: \"\",\n Address: \"\",\n City: \"\",\n Zip: \"\",\n Secretary: \"\",\n CountyPacContributionAmount: null, \n CountyPacId: null,\n StatePacContributionAmount: 2,\n StatePacId: \"1\",\n DuesStructure: [{\n MemberClassId: \"4\",\n DuesAmount: 0,\n }]\n },\n }\n\n return mockAccountOveview\n}","import { toMoney } from \"../Utilities\";\nimport AccountOverview from \"./AccountOverview\";\n\n// This really is more of a Module instead of a Model now....\n\nexport interface PaymentDetail\n{\n DuesAmount: number\n CountyPacContribution: number\n CountyPacId: string | null\n StatePacContribution: number\n StatePacId: string\n}\n\n// Guest Payments (New Member Signup, Guest Checkout) need to pass the Member# as a param to the API calls, unlike logged in payments.\nexport interface GuestPaymentDetail extends PaymentDetail \n{\n MemberNumber: string\n}\n\nfunction GeneratePaymentBaseObj(paymentHelperObj: PaymentHelperObj) : PaymentDetail {\n return {\n DuesAmount: paymentHelperObj.duesAmount,\n CountyPacContribution: paymentHelperObj.getSelectedCountyPacContributionAmount(),\n CountyPacId: paymentHelperObj.countyPacId,\n StatePacContribution: paymentHelperObj.getSelectedStatePacContributionAmount(),\n StatePacId: paymentHelperObj.statePacId\n }\n}\n\nexport interface StripeCardPaymentDetail extends PaymentDetail\n{\n StripeToken: string\n EnrollInNewRecurringDuesSignup: boolean\n}\n\nexport interface GuestStripeCardPaymentDetail extends GuestPaymentDetail\n{\n StripeToken: string\n}\n\nexport function GenerateCardPaymentDetail(paymentHelperObj: PaymentHelperObj, stripeToken: string, enrollInEzPay: boolean): StripeCardPaymentDetail {\n return {\n StripeToken: stripeToken,\n EnrollInNewRecurringDuesSignup: enrollInEzPay,\n ...GeneratePaymentBaseObj(paymentHelperObj)\n }\n}\n\nexport function GenerateGuestCardPaymentDetail(paymentHelperObj: PaymentHelperObj, stripeToken: string, memberNumber: string): GuestStripeCardPaymentDetail {\n return {\n StripeToken: stripeToken,\n MemberNumber: memberNumber,\n ...GeneratePaymentBaseObj(paymentHelperObj)\n }\n}\n\nexport interface EcheckPaymentDetail extends PaymentDetail\n{\n AccountNumber: string\n RoutingNumber: string\n NameOnAccount : string\n BankName : string\n AccountIsChecking : boolean\n}\n\nexport interface GuestEcheckPaymentDetail extends GuestPaymentDetail, EcheckPaymentDetail {}\n\nexport function GenerateECheckPaymentDetail(paymentHelperObj: PaymentHelperObj, accountNumber: string, routingNumber: string, nameOnAccount: string, bankName: string, accountIsChecking: boolean) : EcheckPaymentDetail {\n return {\n AccountNumber: accountNumber,\n RoutingNumber: routingNumber,\n NameOnAccount : nameOnAccount,\n BankName : bankName,\n AccountIsChecking : accountIsChecking,\n ...GeneratePaymentBaseObj(paymentHelperObj)\n }\n}\n\nexport function GenerateGuestECheckPaymentDetail(paymentHelperObj: PaymentHelperObj, memberNumber: string, accountNumber: string, routingNumber: string, nameOnAccount: string, bankName: string, accountIsChecking: boolean) : GuestEcheckPaymentDetail {\n return {\n AccountNumber: accountNumber,\n RoutingNumber: routingNumber,\n NameOnAccount : nameOnAccount,\n BankName : bankName,\n AccountIsChecking : accountIsChecking,\n MemberNumber: memberNumber,\n ...GeneratePaymentBaseObj(paymentHelperObj)\n }\n}\n\nexport interface PaymentConfirmation {\n ConfirmationCode: string\n}\n\nexport interface ProcessPaymentResult {\n ConfirmationCode: string\n}\n\nexport interface PublicKey {\n Key: string\n}\n\nexport interface RecurringDuesSignupDetail {\n StripeToken: string \n IncludeStatePac: boolean\n IncludeCountyPac: boolean\n}\n\n// An object with properties to help handle common/shared UI behavior/state in the Payment forms\nexport interface PaymentHelperObj {\n getTotalCost: () => { amount: number, formatedAmount: string },\n getSelectedStatePacContributionAmount: () => number,\n getSelectedCountyPacContributionAmount: () => number,\n duesAmount: number,\n allowPacContributions: boolean,\n memberCountyAllowsCountyPac: boolean,\n standardCountyPacAmount: number,\n standardStatePacAmount: number,\n countyPacLabelText: string,\n statePacLabelText: string,\n countyPacId: string | null,\n statePacId: string,\n}\n\nexport function GeneratePaymentHelperObj(accountOverview: AccountOverview, userWillDonateToStatePac: boolean, userWillDonateToCountyPac: boolean): PaymentHelperObj {\n const memberCountyAllowsCountyPac = accountOverview.CountyOffice.CountyPacContributionAmount !== null\n const standardCountyPacAmount = memberCountyAllowsCountyPac ? accountOverview.CountyOffice.CountyPacContributionAmount as number : 0\n const standardStatePacAmount = accountOverview.CountyOffice.StatePacContributionAmount\n const duesAmount = accountOverview.MembershipSummary.Balance\n\n const getSelectedStatePacContributionAmount = () => (userWillDonateToStatePac ? standardStatePacAmount : 0)\n const getSelectedCountyPacContributionAmount = () => (userWillDonateToCountyPac ? standardCountyPacAmount : 0)\n\n const getTotalCost = () => {\n const amount = duesAmount\n + getSelectedStatePacContributionAmount()\n + getSelectedCountyPacContributionAmount()\n\n const formatedAmount = toMoney(amount)\n return { amount, formatedAmount }\n }\n\n return {\n getTotalCost,\n getSelectedStatePacContributionAmount,\n getSelectedCountyPacContributionAmount,\n duesAmount,\n allowPacContributions: accountOverview.MembershipSummary.AllowPacContributions,\n memberCountyAllowsCountyPac,\n standardCountyPacAmount,\n standardStatePacAmount,\n countyPacLabelText: !memberCountyAllowsCountyPac ? \"\" : `$${standardCountyPacAmount}.00 donation to FarmPAC for ${accountOverview.CountyOffice.Name} County Farm Bureau`,\n statePacLabelText: `$${standardStatePacAmount}.00 donation to FarmPAC for Florida Farm Bureau Federation`,\n countyPacId: accountOverview.CountyOffice.CountyPacId,\n statePacId: accountOverview.CountyOffice.StatePacId,\n }\n}","// The React App isn't going to play nicely with the whole C# IContact/IPerson/ICompany thing.\n// Thus we want to just simplify/flatten the IContact on the server into a single 'FlatContact' interface here.\n\nexport interface ApiEmailAddress {\n Id: string;\n Address: string;\n}\n\nexport interface ApiMailingAddress {\n Id: string\n Line1: string;\n Line2: string;\n City: string;\n StateAbbreviation: string;\n Zip: string; \n}\n\nexport function GetMailingAddressText(address: ApiMailingAddress) {\n return `${address.Line1} ${address.Line2 ?? \"\"} ${address.City} ${address.StateAbbreviation} ${address.Zip}`\n}\n\nexport interface ApiPhoneNumber {\n Id: string;\n Number: string;\n Type: string;\n}\n\nexport type ContactType = \"Company\" | \"Person\";\n\nexport interface ApiContact {\n Id: string;\n Email?: ApiEmailAddress;\n Address: ApiMailingAddress;\n Phones: ApiPhoneNumber[];\n // This allows us to distinguish the types\n Discriminator: ContactType;\n\n // This will be LAST or COMPANY name from the IContact\n LastOrCompanyName: string;\n\n // These will only be set on a Person Contact\n FirstName?: string;\n MiddleName?: string;\n Prefix?: string;\n Suffix?: string;\n DateOfBirth?: string; // format this in the service, validate it there too\n\n DemographicSummary: ContactDemographicSummary | null // will be NULL if not yet saved for this contact\n}\n\n// we just collect name/DOB for child contacts, so this is a simpler struct than ApiContact\nexport interface ChildContact {\n FirstName: string;\n MiddleName: string;\n LastName: string;\n DateOfBirth: string; \n}\n\nexport interface ContactDemographicBase {\n ContactId: string | null\n EthnicityId: string | null\n GenderId: string | null\n HispanicId: string | null\n IndustryId: string | null\n}\n\nexport interface ContactDemographicSummary extends ContactDemographicBase {\n EthnicityValue: string | null\n GenderValue: string | null\n HispanicValue: string | null\n IndustryValue: string | null\n}\n\n\nexport interface MemberApiContactMapping {\n RoleLabel: MemberContactRole;\n RoleId: number;\n Contact: ApiContact;\n ContactIdentifier: string;\n}\n\nexport function GetName(contact: ApiContact) {\n return contact.Discriminator === \"Person\"\n ? contact.FirstName + \" \" + contact.LastOrCompanyName\n : contact.LastOrCompanyName\n}\n\n\nexport type MemberContactRole = \"Primary\" | \"Secondary\" | \"Other\";\n\nexport interface SaveMemberContactRequest {\n ContactToUpdate: ApiContact\n RoleLabel: MemberContactRole\n}\n\nexport interface RemoveMemberContactRequest {\n ContactIdToRemove: string\n}\n\nexport const GetMemberContactRoleLabel = (isBusinessMembership: boolean, role: MemberContactRole) => {\n if (isBusinessMembership) {\n return \"Contact\"\n }\n else if (role === \"Primary\") {\n return \"Primary\"\n }\n else if (role === \"Secondary\") {\n return \"Spouse\"\n }\n else if (role === \"Other\") {\n return \"Dependent Child\"\n }\n\n return \"\" \n}\n\nexport interface ReplacementMembershipCardRequest {\n ContactName: string\n MemberNumber: string\n}\n\nexport const ContactPrefixes = [ \"Mr.\", \"Mrs\", \"Ms\", \"Dr.\", \"Miss\", \"Rev\" ]\nexport const ContactSuffixes = [ \"ATTY\", \"CPA\", \"D.O.\", \"DC\", \"DDS\", \"DVM\", \"ESQ\", \"I\", \"II\", \"III\", \"IV\", \"V\", \n \"VI\", \"Jr.\", \"M.D.\", \"OD\", \"PA\", \"PhD.\", \"PSY\", \"Sr.\"]\n \nexport const IndustryChoices = [\n { id: \"1\", name: \"Agriculture\" },\n { id: \"2\", name: \"Healthcare\" },\n { id: \"3\", name: \"Finance / Banking\" },\n { id: \"4\", name: \"Education\" },\n { id: \"5\", name: \"Construction\" },\n { id: \"6\", name: \"Insurance\" },\n { id: \"7\", name: \"Hospitality\" },\n { id: \"8\", name: \"Technology\" },\n { id: \"9\", name: \"Government\" },\n { id: \"10\", name: \"Nonprofit \" },\n { id: \"11\", name: \"Other\" },\n { id: \"12\", name: \"Prefer not to say\" },\n] \n\nexport const USStates = [\n { name: 'ALABAMA', abbreviation: 'AL'},\n { name: 'ALASKA', abbreviation: 'AK'},\n { name: 'ARIZONA', abbreviation: 'AZ'},\n { name: 'ARKANSAS', abbreviation: 'AR'},\n { name: 'CALIFORNIA', abbreviation: 'CA'},\n { name: 'COLORADO', abbreviation: 'CO'},\n { name: 'CONNECTICUT', abbreviation: 'CT'},\n { name: 'DELAWARE', abbreviation: 'DE'},\n { name: 'DISTRICT OF COLUMBIA', abbreviation: 'DC'},\n { name: 'FLORIDA', abbreviation: 'FL'},\n { name: 'GEORGIA', abbreviation: 'GA'},\n { name: 'HAWAII', abbreviation: 'HI'},\n { name: 'IDAHO', abbreviation: 'ID'},\n { name: 'ILLINOIS', abbreviation: 'IL'},\n { name: 'INDIANA', abbreviation: 'IN'},\n { name: 'IOWA', abbreviation: 'IA'},\n { name: 'KANSAS', abbreviation: 'KS'},\n { name: 'KENTUCKY', abbreviation: 'KY'},\n { name: 'LOUISIANA', abbreviation: 'LA'},\n { name: 'MAINE', abbreviation: 'ME'},\n { name: 'MARYLAND', abbreviation: 'MD'},\n { name: 'MASSACHUSETTS', abbreviation: 'MA'},\n { name: 'MICHIGAN', abbreviation: 'MI'},\n { name: 'MINNESOTA', abbreviation: 'MN'},\n { name: 'MISSISSIPPI', abbreviation: 'MS'},\n { name: 'MISSOURI', abbreviation: 'MO'},\n { name: 'MONTANA', abbreviation: 'MT'},\n { name: 'NEBRASKA', abbreviation: 'NE'},\n { name: 'NEVADA', abbreviation: 'NV'},\n { name: 'NEW HAMPSHIRE', abbreviation: 'NH'},\n { name: 'NEW JERSEY', abbreviation: 'NJ'},\n { name: 'NEW MEXICO', abbreviation: 'NM'},\n { name: 'NEW YORK', abbreviation: 'NY'},\n { name: 'NORTH CAROLINA', abbreviation: 'NC'},\n { name: 'NORTH DAKOTA', abbreviation: 'ND'},\n { name: 'OHIO', abbreviation: 'OH'},\n { name: 'OKLAHOMA', abbreviation: 'OK'},\n { name: 'OREGON', abbreviation: 'OR'},\n { name: 'PENNSYLVANIA', abbreviation: 'PA'},\n { name: 'RHODE ISLAND', abbreviation: 'RI'},\n { name: 'SOUTH CAROLINA', abbreviation: 'SC'},\n { name: 'SOUTH DAKOTA', abbreviation: 'SD'},\n { name: 'TENNESSEE', abbreviation: 'TN'},\n { name: 'TEXAS', abbreviation: 'TX'},\n { name: 'UTAH', abbreviation: 'UT'},\n { name: 'VERMONT', abbreviation: 'VT'},\n { name: 'VIRGINIA', abbreviation: 'VA'},\n { name: 'WASHINGTON', abbreviation: 'WA'},\n { name: 'WEST VIRGINIA', abbreviation: 'WV'},\n { name: 'WISCONSIN', abbreviation: 'WI'},\n { name: 'WYOMING', abbreviation: 'WY' }\n] ","import React from 'react'\n\nconst PaymentTermsAndConditions = () => {\n return
\n Membership dues are determined by individual county Farm Bureaus. As a 501(c)(5) organization, Farm Bureau membership dues are not tax-deductible. Therefore, Farm Bureau membership dues are non-refundable except as expressly outlined in the terms located at www.floridafarmbureau.org. You may be eligible for a full refund of your membership dues if canceled within 10 business days as long as you have not taken advantage of any of the member benefits exclusively granted to a Farm Bureau member. No refund will be granted beyond 10 business days. Farm Bureau memberships redeemed through a gift code or promotional code are not refundable. Payment of your annual dues and/or use of any exclusive member benefit constitutes acceptance of the membership terms and conditions.\n
\n}\n\nexport default PaymentTermsAndConditions","import React, { useEffect, useMemo, useState } from \"react\"\nimport { Elements, ElementsConsumer, CardElement } from \"@stripe/react-stripe-js\"\nimport { loadStripe, Stripe, StripeElements } from \"@stripe/stripe-js\"\nimport { Button, Col, Container, Form, Navbar, Row } from \"react-bootstrap\"\nimport { Redirect } from \"react-router-dom\"\nimport { ContainsErrorAfterVendorPayment, ErrorDetail } from \"../../models/ErrorDetail\"\nimport { Keys, MakeRandomId, StripeUtilities } from \"../../Utilities\"\nimport { ValidationSummary } from \"../../views/MessageBoxes\"\nimport CriticalPaymentErrorMsg from '../../views/CriticalPaymentErrorMsg'\nimport AccountOverview, { GenerateEmptyAcctOverview } from \"../../models/AccountOverview\"\nimport MyFfbfClientApi from \"../../api/MyFfbfClientApi\"\nimport { GenerateCardPaymentDetail, GeneratePaymentHelperObj } from \"../../models/PaymentDetail\"\nimport { ApiContact, ApiMailingAddress, ChildContact, ContactPrefixes, ContactSuffixes, ContactType, USStates } from \"../../models/ApiContact\"\nimport { NewMemberSignupRequest } from \"../../models/NewMemberSignup\"\nimport OverlaySpinner from \"../../views/OverlaySpinner\"\nimport Commodity from '../../models/Commodity'\nimport PaymentTermsAndConditions from '../../views/PaymentTermsAndConditions'\nimport HomesteadLogoLink from \"../../layout/HomesteadLogoLink\"\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\nimport { faCheck, faX } from \"@fortawesome/free-solid-svg-icons\"\n\nconst PurchaseMembership = () => {\n const [errors, set_errors] = useState([])\n const [isLoading, set_isLoading] = useState(false)\n const isLocal = (window.location.hostname === \"localhost\")\n // This is not a REAL AccountOveriew, but is mocked up here after we fetch the County Farm Bureau Office.\n // It is mocked and not fetched from the server, so not all props are hydrated.\n // Why do this? - Because the payment form has helper methods that need AccountOverview and mocking\n // it up here seems easier than re-factoring those helper methods at the moment.\n const [mockAccountOverview, set_mockAccountOverview] = useState(null)\n\n // User inputs for new membership basic details\n const [countyId, set_countyId] = useState(isLocal ? \"1\" : \"\")\n const [contactTypeString, set_contactTypeString] = useState(isLocal ? \"Person\" : \"\")\n const [memberClass, set_memberClass] = useState(isLocal ? \"4\" : \"\")\n const [marriageDesc, set_marriageDesc] = useState(isLocal ? \"4\" : \"\")\n const [is501c3, set_is501c3] = useState(null)\n const spouseRequired = (marriageDesc === \"1\" || marriageDesc === \"2\")\n const childrenRequired = (marriageDesc === \"2\" || marriageDesc === \"4\")\n\n // Commodities and Interests - fetched after county/contacttype/class selected\n const [commodityProduceOptions, set_commodityProduceOptions] = useState([])\n const [commodityInterestOptions, set_commodityInterestOptions] = useState([])\n\n const contactType: ContactType = (contactTypeString === \"Person\") ? \"Person\" : \"Company\"\n const [publicKey, set_publicKey] = useState(\"\")\n\n useEffect(() => {\n let mounted = true;\n const fetchData = async () => {\n var [_key, _error] = await MyFfbfClientApi.Admin.GetPublicKey();\n if (mounted) {\n if(_error.length === 0){\n set_publicKey(_key?.Key ?? \"\")\n } else{\n set_errors(_error)\n }\n }\n }\n fetchData()\n return () => { mounted = false }\n }, [])\n\n const handleSubmit = async (event: React.FormEvent) => {\n event.preventDefault()\n set_isLoading(true)\n set_errors([])\n\n if (!countyId)\n set_errors(errors => [{ ErrorMessage: \"Please select a county.\", ...errors }])\n\n if (!contactTypeString || !memberClass \n || (contactTypeString === \"Person\" && !marriageDesc )\n || (contactTypeString === \"Company\" && is501c3 == null))\n set_errors(errors => [{ ErrorMessage: \"Please choose the statements that best describes you.\", ...errors }]) \n\n if (countyId && contactTypeString && memberClass) {\n const [_county, _errors] = await MyFfbfClientApi.NewMemberSignup.GetFarmBureauOfficeInfo({ CountyId: countyId })\n if (_errors.length > 0) {\n set_errors(_errors)\n }\n else {\n // Generate the mocked AccountOverview here\n const _acctOverview = GenerateEmptyAcctOverview()\n _acctOverview.CountyOffice = _county!\n _acctOverview.MembershipSummary.Balance = _county!.DuesStructure.filter(d => d.MemberClassId === memberClass)[0].DuesAmount\n _acctOverview.MembershipSummary.AllowPacContributions = true\n _acctOverview.MembershipSummary.IsBusinessMembership = (contactTypeString === \"Company\")\n \n // Fetch commodities and interests from Server, pass them into component\n const _getCommods = MyFfbfClientApi.Admin.GetCommodityProduceOptions()\n const _getIntersts = MyFfbfClientApi.Admin.GetCommodityInterestOptions()\n\n const [_commods, _CommodsErrors] = await _getCommods\n const [_intersts, _InterstsErrors] = await _getIntersts\n\n const allErrors = [ ..._CommodsErrors, ..._InterstsErrors ]\n if (allErrors.length > 0) {\n set_errors(allErrors)\n }\n else {\n set_commodityProduceOptions(_commods!)\n set_commodityInterestOptions(_intersts!)\n set_mockAccountOverview(_acctOverview)\n }\n }\n }\n\n set_isLoading(false)\n }\n\n if(!publicKey){\n return <>\n }\n \n //console.log(\"ok is\" +publicKey) \n const stripePromise = loadStripe(publicKey);\n\n return (\n
\n
\n \n \n \n \n \n \n \n\t\t\t
\n\n
\n \n

Florida Farm Bureau Membership Application

\n

You don't have to be a farmer to be a member of Farm Bureau. Farm Bureau works for us all!

\n
\n
\n\n \n { !mockAccountOverview && <>\n \n
\n

Membership Type Information

\n\n \n \n Membership County\n \n \n ): void => set_countyId(ev.target.value)}>\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 \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 \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n Choose the statements that best describes you\n \n \n ): void => set_contactTypeString(ev.target.value)}>\n \n \n \n \n
\n
\n {contactTypeString == \"Company\" && <>\n Are you a 501(c)3 organization such as a church, 4H, FFA or any other non-profit?\n ): void => set_is501c3(ev.target.value == \"true\")}>\n \n \n \n \n
\n }\n ): void => set_memberClass(ev.target.value)}>\n \n \n \n \n \n \n
\n { contactTypeString === \"Person\" &&\n ): void => set_marriageDesc(ev.target.value)}>\n \n \n \n \n \n \n }\n \n
\n\n \n \n \n { isLoading \n ? \n : }\n \n \n\n
\n }\n\n { mockAccountOverview && commodityProduceOptions && commodityInterestOptions && <>\n \n \n {({ stripe, elements }) => <>\n { stripe && elements && \n \n }\n } \n \n \n }\n
\n
\n )\n}\n\nexport default PurchaseMembership;\n\ninterface PurchaseMembershipPayDuesFormProps {\n stripe: Stripe\n elements: StripeElements\n is501c3: null | boolean\n mockAccountOverview: AccountOverview\n contactType: ContactType\n countyId: string\n memberClass: string\n commodityProduceOptions: Commodity[]\n commodityInterestOptions: Commodity[]\n spouseRequired: boolean\n childrenRequired: boolean\n}\n\nconst PurchaseMembershipPayDuesForm: React.FC = (props) => {\n //const myRef = React.createRef()\n\n const isLocal = (window.location.hostname === \"localhost\")\n\n const [errors, set_errors] = useState([])\n const [isLoading, set_isLoading] = useState(false)\n const [hasCriticalError, set_hasCriticalError] = useState(false)\n\n // User inputs for card/echeck\n const [paymentTypeIsCard, set_paymentTypeIsCard] = useState(true)\n const [donateToCountyPac, set_donateToCountyPac] = useState(true) // SPAC is checked by default, per biz rules\n const [donateToStatePac, set_donateToStatePac] = useState(true) // CPAC is checked by default, per biz rules\n const [termsAccepted, set_termsAccepted] = useState(isLocal ? true : false)\n\n // User inputs for echeck\n const [accountNumber, set_accountNumber] = useState(\"\")\n const [verifyAccountNumber, set_verifyAccountNumber] = useState(\"\")\n const [routingNumber, set_routingNumber] = useState(\"\")\n const [accountIsChecking, set_accountIsChecking] = useState(true)\n const [nameOnAccount, set_nameOnAccount] = useState(\"\")\n const [bankName, set_bankName] = useState(\"\")\n \n const fakeEmail = (MakeRandomId(12) + \"@gmail.com\")\n\n // Person contact\n const [firstName, set_firstName] = useState(isLocal ? \"Greg\" : \"\")\n const [middleName, set_middleName] = useState(isLocal ? \"\" : \"\")\n const [lastName, set_lastName] = useState(isLocal ? \"Petterson\" : \"\")\n const [dob, set_dob] = useState(isLocal ? \"1978-04-29\" : \"\")\n const [prefix, set_prefix] = useState(isLocal ? \"\" : \"\")\n const [suffix, set_suffix] = useState(isLocal ? \"\" : \"\")\n const [email, set_email] = useState(isLocal ? fakeEmail : \"\")\n const [emailConfirm, set_emailConfirm] = useState(isLocal ? fakeEmail : \"\") \n const [phone, set_phone] = useState(isLocal ? \"555-555-5555\" : \"\")\n const [phoneType, set_phoneType] = useState(\"home\")\n const [addrLine1, set_addrLine1] = useState(isLocal ? \"500 Main St\" : \"\")\n const [addrLine2, set_addrLine2] = useState(isLocal ? \"\" : \"\") \n const [addrCity, set_addrCity] = useState(isLocal ? \"Gainesville\" : \"\")\n const [addrState, set_addrState] = useState(\"FL\")\n const [addrZip, set_addrZip] = useState(isLocal ? \"32606\" : \"\")\n\n // Spouse contact\n const [spousefirstName, set_spousefirstName] = useState(\"\")\n const [spousemiddleName, set_spousemiddleName] = useState(\"\")\n const [spouselastName, set_spouselastName] = useState(\"\")\n const [spousedob, set_spousedob] = useState(\"\")\n const [spouseprefix, set_spouseprefix] = useState(\"\")\n const [spousesuffix, set_spousesuffix] = useState(\"\")\n const [spouseemail, set_spouseemail] = useState(\"\")\n const [spousephone, set_spousephone] = useState(\"\")\n const [spousephoneType, set_spousephoneType] = useState(\"\")\n // We copy the Primary contact's address into the Spouse contact obj instead of re-collecting it from user.\n\n const getInitialChildContacts = (): ChildContact[] => {\n return (!props.childrenRequired)\n ? []\n : [getDefaultChildContact()]\n }\n\n const getDefaultChildContact = () => {\n return { \n FirstName: isLocal ? \"Cindy\" : \"\", \n MiddleName: isLocal ? \"\" : \"\", \n LastName: isLocal ? \"Petters\" : \"\", \n DateOfBirth: isLocal ? \"2009-11-04\" : \"\" \n }\n }\n\n // Child contacts\n // ApiContact\n // const [phones, set_phones] = useState(props.contact?.Phones ?? [])\n const [childContacts, set_childContacts] = useState(getInitialChildContacts())\n\n // Commodity & Interests\n const [selectedProduceCommodityIds, set_selectedProduceCommodityIds] = useState([])\n const [selectedInterestCommodityIds, set_selectedInterestCommodityIds] = useState([])\n\n // MyFFBF account details\n const [password, set_password] = useState(isLocal ? \"Appleapple01\" : \"\")\n\tconst [passwordConfirm, set_passwordConfirm] = useState(isLocal ? \"Appleapple01\" : \"\")\n\n const [referredBy, set_referredBy] = useState(\"\")\n\n // For when everything is done and its time to jump into dashboard\n const [readyToRedirect, set_readyToRedirect] = useState(false)\n\n const handleChildFirstNameChange = (index: number, event: any) => {\n const values = [...childContacts]\n values[index].FirstName = event.target.value\n set_childContacts(values);\n };\n\n const handleChildMiddleNameChange = (index: number, event: any) => {\n const values = [...childContacts]\n values[index].MiddleName = event.target.value\n set_childContacts(values);\n };\n\n const handleChildLastNameChange = (index: number, event: any) => {\n const values = [...childContacts]\n values[index].LastName = event.target.value\n set_childContacts(values);\n };\n\n const handleChildDateOfBirthChange = (index: number, event: any) => {\n const values = [...childContacts]\n values[index].DateOfBirth = event.target.value\n set_childContacts(values);\n };\n\n const handleAddChild = () => {\n const values = [...childContacts];\n values.push(getDefaultChildContact());\n set_childContacts(values);\n };\n\n const handleRemoveChild = (index: number) => {\n const values = [...childContacts]\n values.splice(index, 1)\n set_childContacts(values)\n };\n\n // 'useMemo' is a caching function, it only reconstructs the returned obj on a re-render if something in the \n // dependecy array has changed. Since users will keyup a lot of details on this page,\n // this caching is beneficial since each keyup triggers a re-render.\n const paymentHelperObj = useMemo(() => \n GeneratePaymentHelperObj(props.mockAccountOverview, !props.is501c3 && donateToStatePac, !props.is501c3 && donateToCountyPac), \n [props.mockAccountOverview, donateToStatePac, donateToCountyPac])\n\n const handleProduceCommodityCheckEvent = (event: React.ChangeEvent) => {\n set_selectedProduceCommodityIds(selectedIds => {\n return (event.target.checked)\n ? [...selectedIds, event.target.value]\n : selectedIds.filter(id => id !== event.target.value)\n })\n }\n\n const handleInterestCommodityCheckEvent = (event: React.ChangeEvent) => {\n set_selectedInterestCommodityIds(selectedIds => {\n return (event.target.checked)\n ? [...selectedIds, event.target.value]\n : selectedIds.filter(id => id !== event.target.value)\n })\n }\n\n const generateAddressObj = (): ApiMailingAddress => {\n return {\n Id: \"\",\n Line1: addrLine1,\n Line2: addrLine2,\n City: addrCity,\n StateAbbreviation: addrState,\n Zip: addrZip, \n }\n }\n\n const generatePrimaryContactObj = (): ApiContact => {\n return {\n Id: \"\",\n Email: { Id: \"\", Address: email },\n Address: generateAddressObj(),\n Phones: [{ Id: \"\", Number: phone, Type: phoneType }], \n FirstName: firstName,\n MiddleName: middleName,\n LastOrCompanyName: lastName,\n DateOfBirth: dob,\n Prefix: prefix,\n Suffix: suffix,\n Discriminator: props.contactType,\n DemographicSummary: null\n }\n }\n\n const generateChildContactObjs = (): ApiContact[] | null => {\n if (!props.childrenRequired)\n return null\n\n let contacts = childContacts.map(child => {\n return {\n Id: \"\",\n Email: { Id: \"\", Address: \"\" },\n Address: generateAddressObj(),\n Phones: [], \n FirstName: child.FirstName,\n MiddleName: child.MiddleName,\n LastOrCompanyName: child.LastName,\n DateOfBirth: child.DateOfBirth,\n Prefix: \"\",\n Suffix: \"\",\n Discriminator: props.contactType,\n DemographicSummary: null\n }\n })\n\n //console.log(contacts)\n return contacts;\n }\n\n const generateSecondaryContactObj= (): ApiContact | null => {\n if (!props.spouseRequired)\n return null\n\n return {\n Id: \"\",\n Email: { Id: \"\", Address: spouseemail },\n Address: generateAddressObj(),\n Phones: [{ Id: \"\", Number: spousephone, Type: spousephoneType }], \n FirstName: spousefirstName,\n MiddleName: spousemiddleName,\n LastOrCompanyName: spouselastName,\n DateOfBirth: spousedob,\n Prefix: spouseprefix,\n Suffix: spousesuffix,\n Discriminator: props.contactType,\n DemographicSummary: null\n }\n }\n\n const emailValid = function(){\n //Best email format regex as per https://stackoverflow.com/a/201378\n // eslint-disable-next-line no-control-regex\n //return email.match(/(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])/)\n // We're seeing some valid-looking emails get flagged by this one, switching to a less complex one.\n return email.match(/^\\S+@\\S+\\.\\S+$/);\n }\n\n const zipValid = function(){\n var mathches = addrZip.match(/[0-9]{5}/);\n return mathches != null;\n }\n\n const passwordValid = function(){\n var matches= password.match(/(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{10,}/);\n return matches != null;\n }\n\n const ShowPasswordFlag = function(){\n if(password !== \"\"){\n return passwordValid();\n }\n return null;\n }\n\n const ShowPasswordConfirmFlag = function(){\n if(passwordConfirm !== \"\"){\n return (passwordValid() && password === passwordConfirm)\n }\n return null;\n }\n \n const handleSubmit = async (event: React.FormEvent) => { \n event.preventDefault()\n set_isLoading(true)\n set_errors([]) \n\n let _validationErrors: ErrorDetail[] = []\n if(!emailValid()){\n _validationErrors.push({ ErrorMessage: \"Please enter a valid email address.\" , ErrorCode: \"email\"})\n }else if (email !== emailConfirm){\n _validationErrors.push({ ErrorMessage: \"Please re-type your email to confirm it.\", ErrorCode: \"emailConfirm\"})\n }\n\n if(!passwordValid()){\n _validationErrors.push({ ErrorMessage: \"Please enter a valid password.\", ErrorCode: \"password\" })\n } else if (password !== passwordConfirm) {\n _validationErrors.push({ ErrorMessage: \"Please re-type your password to confirm it.\", ErrorCode: \"password\" })\n }\n if (!termsAccepted) {\n _validationErrors.push({ ErrorMessage: \"Please accept the terms and conditions before proceeding.\", ErrorCode: \"terms\" })\n }\n\n if(!zipValid()){\n _validationErrors.push({ ErrorMessage: \"Please enter a valid 5 digit zip code.\", ErrorCode: \"address\" })\n }\n\n if (_validationErrors.length > 0) {\n console.log(errors)\n set_errors(_validationErrors)\n set_isLoading(false)\n let doc = document.getElementById('appHeader')\n if (doc)\n doc.scrollIntoView();\n return\n }\n\n // This is roughly copy-pasted between GuestCheckout.tsx, PurchaseMembership.tsx, and PayDues.tsx \n if (paymentTypeIsCard) {\n const card = props.elements.getElement(CardElement)\n if (!card) {\n set_errors([{ ErrorMessage: StripeUtilities.genericErrorMsg }])\n let doc = document.getElementById('appHeader')\n if (doc)\n doc.scrollIntoView();\n }\n else {\n const tokenResult = await props.stripe.createToken(card);\n if (tokenResult.error) {\n set_errors([{ ErrorMessage: tokenResult.error!.message ?? StripeUtilities.genericErrorMsg}])\n let doc = document.getElementById('appHeader')\n if (doc)\n doc.scrollIntoView();\n }\n else {\n var paramObj: NewMemberSignupRequest = {\n PrimaryContactToCreate: generatePrimaryContactObj(),\n SecondaryContactToCreate: generateSecondaryContactObj(),\n ChildContactsToCreate: generateChildContactObjs(),\n StripePayment: GenerateCardPaymentDetail(paymentHelperObj, tokenResult.token.id, false),\n ECheckPayment: null,\n MemberClassId: props.memberClass,\n CountyId: props.countyId, \n StatePacContributionSelected: false,\n IsBusiness: props.mockAccountOverview.MembershipSummary.IsBusinessMembership,\n IsPacEligible: !props.is501c3,\n Password: password,\n CommoditiesSelected: selectedProduceCommodityIds,\n InterestGroupsSelected: selectedInterestCommodityIds,\n ReferredBy: referredBy\n }\n\n // Here's the API call that creates the member.\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [_, _errors] = await MyFfbfClientApi.NewMemberSignup.ProcessNewMemberSignup(paramObj)\n \n if (_errors.length > 0) {\n set_errors(_errors)\n // Check for error occuring for which we do not want to allow user to continue.\n // This would be like an error happening after the payment is proccessed but before we're complete.\n if (ContainsErrorAfterVendorPayment(_errors)) {\n set_hasCriticalError(true)\n }\n else {\n let doc = document.getElementById('appHeader')\n if (doc)\n doc.scrollIntoView();\n }\n }\n else {\n const paramObj = { EmailUsername: email, Password: password }\n const [_loginPayload, _loginErrors] = await MyFfbfClientApi.Auth.AttemptLogin(paramObj)\n if (_loginErrors.length > 0) {\n set_errors(_loginErrors)\n set_hasCriticalError(true) // an error at this point would be weird so we don't want them re-trying the payment.\n }\n else {\n // Put the auth guid into session storage so that all further calls from inside the app will include it.\n // WARNING - this is copy-pasted between Login.tsx, PurchaseMembership.tsx, and Registration.tsx \n sessionStorage.setItem(Keys.authorizationGuidKeyName, _loginPayload!.AuthorizationGuid);\n set_readyToRedirect(true)\n }\n }\n }\n }\n }\n else {\n if (accountNumber !== verifyAccountNumber) {\n set_errors([{ ErrorMessage: \"Please re-type your account number to confirm it.\"}])\n }\n else {\n alert(\"error - not implemented yet\")\n }\n }\n set_isLoading(false)\n window.scrollTo(0, 0) \n }\n\n if (readyToRedirect) {\n return \n }\n\n if (hasCriticalError) {\n return <>\n \n \n \n }\n\n return <>\n {isLoading && }\n
\n \n
\n

Your Personal Information

\n\n \n \n Your Name\n \n \n { props.contactType === \"Person\" && \n \n \n set_firstName(e.target.value)} placeholder=\"First Name\" />\n \n \n set_middleName(e.target.value)} placeholder=\"Middle Name\" />\n \n \n set_lastName(e.target.value)} placeholder=\"Last Name\" />\n \n }\n\n { props.contactType === \"Company\" && \n \n \n set_lastName(e.target.value)} placeholder=\"Company Name\" />\n \n }\n \n \n\n { props.contactType === \"Person\" && \n \n \n Date of Birth, Prefix/Suffix\n \n \n \n \n set_dob(e.target.value)} placeholder=\"YYYY-MM-DD\" />\n \n \n ): void => set_prefix(ev.target.value)}>\n \n { ContactPrefixes.map(p => ) }\n \n \n \n ): void => set_suffix(ev.target.value)}>\n \n { ContactSuffixes.map(s => ) }\n \n \n \n \n }\n\n \n \n Email Address \n \n \n \n \n set_email(e.target.value)} placeholder=\"Email\" /> \n \n \n \n \n\n \n \n \n Confirm Email Address \n \n \n \n \n set_emailConfirm(e.target.value)} placeholder=\"Confirm Email\" />\n \n \n \n \n
The Email provided above will be used as your Username.
\n
\n \n
\n \n \n \n Phone\n \n \n \n \n set_phone(e.target.value)} placeholder=\"Phone #\" />\n \n \n ): void => set_phoneType(ev.target.value)}>\n \n \n \n \n \n \n \n \n\n { props.contactType === \"Person\" && <>\n\n { props.spouseRequired && <>\n \n \n Your Spouse's Name\n \n \n \n \n set_spousefirstName(e.target.value)} placeholder=\"Spouse First Name\" />\n \n \n set_spousemiddleName(e.target.value)} placeholder=\"Spouse Middle Name\" />\n \n \n set_spouselastName(e.target.value)} placeholder=\"Spouse Last Name\" />\n \n \n \n \n\n \n \n Spouse Date of Birth, Prefix/Suffix\n \n \n \n \n set_spousedob(e.target.value)} placeholder=\"YYYY-MM-DD\" />\n \n \n ): void => set_spouseprefix(ev.target.value)}>\n \n { ContactPrefixes.map(p => ) }\n \n \n \n ): void => set_spousesuffix(ev.target.value)}>\n \n { ContactSuffixes.map(s => ) }\n \n \n \n \n \n \n \n Spouse Email Address & Phone\n \n \n \n \n set_spouseemail(e.target.value)} placeholder=\"Email\" />\n er.ErrorCode === \"password\")} /> \n \n \n set_spousephone(e.target.value)} placeholder=\"Phone #\" />\n er.ErrorCode === \"passwordConfirm\")} /> \n \n \n ): void => set_spousephoneType(ev.target.value)}>\n \n \n \n \n \n \n \n \n }\n\n { props.childrenRequired && <>\n
Your Children's Information
\n

Children under the age of 21 are included in family membership.

\n \n \n { childContacts.map((child, index) => (\n \n \n handleChildFirstNameChange(index, event)} /> \n \n \n handleChildMiddleNameChange(index, event)} /> \n \n \n handleChildLastNameChange(index, event)} /> \n \n \n handleChildDateOfBirthChange(index, event)} /> \n \n \n \n \n \n ))}\n \n \n \n \n \n \n }\n\n }\n\n

Address Information

\n\n \n \n Street Address\n \n \n \n \n set_addrLine1(e.target.value)} placeholder=\"Line 1\" />\n \n \n \n \n set_addrLine2(e.target.value)} placeholder=\"Line 2\" />\n \n \n \n \n\n \n \n City State ZIP (5-digit)\n \n \n \n \n set_addrCity(e.target.value)} placeholder=\"City\" />\n \n \n ): void => set_addrState(ev.target.value)}>\n \n { USStates.map(s => ) }\n \n \n \n set_addrZip(e.target.value)} placeholder=\"ZIP\" />\n \n \n \n \n \n\n

Have you been referred to us by someone? If so, who?

\n\n \n \n Referred by\n \n \n set_referredBy(e.target.value)} />\n \n \n\n { props.memberClass !== \"4\" && <>\n

What commodities do you produce?

\n
\n { props.commodityProduceOptions.map(pc => <>\n
\n \n
\n )}\n
\n\n

Are you interested in following any of the special interests below?

\n
\n { props.commodityInterestOptions.map(ic => <>\n
\n \n
\n )}\n
\n }\n \n\n

Farm Bureau MyFFBF Account Details

\n\n \n \n Your New Password: \n \n \n set_password(e.target.value)}\n style={{width:'90%', display:'inline-block'}}\n /> \n {ShowPasswordFlag() && <> }\n {ShowPasswordFlag() === false && <> }\n \n \n Your password must be:\n
  • 10 charcters long
  • 1 lower case letter
  • 1 upper case letter
  • 1 number
\n Please do not re-use this password among any other \n sites/accounts that you use. \n \n
\n\n \n \n Please re-type Your New Password:\n \n \n set_passwordConfirm(e.target.value)}\n style={{width:'90%', display:'inline-block'}} \n /> \n {ShowPasswordConfirmFlag() && <> }\n {ShowPasswordConfirmFlag() === false && <> }\n \n \n Please re-type your password from the line above here to make sure that you \n have entered it correctly. \n \n \n\n \n

Payment Information

\n\n\n \n Payment Type\n \n ): void => set_paymentTypeIsCard(ev.target.value === \"card\")}>\n \n \n \n \n\n { paymentTypeIsCard && \n <>\n \n Card Details\n \n
\n \n
\n \n \n
\n \n }\n\n { !paymentTypeIsCard && \n <>\n \n Account Type\n \n ): void => set_accountIsChecking(ev.target.value === \"checking\")}>\n \n \n \n \n \n\n \n Routing Number\n \n set_routingNumber(e.target.value)} />\n \n \n\n \n Account Number\n \n set_accountNumber(e.target.value)} />\n \n \n\n \n Verify Account Number\n \n set_verifyAccountNumber(e.target.value)} />\n \n \n\n \n Name on Account\n \n set_nameOnAccount(e.target.value)} />\n \n \n\n \n Bank Name\n \n set_bankName(e.target.value)} />\n \n \n \n }\n\n \n County Dues Amount\n ${paymentHelperObj.duesAmount.toFixed(2)}\n \n\n { paymentHelperObj.allowPacContributions && !props.is501c3 &&\n \n Optional Contributions\n \n set_donateToStatePac(donateToStatePac => !donateToStatePac)} />\n\n {paymentHelperObj.memberCountyAllowsCountyPac &&\n set_donateToCountyPac(donateToCountyPac => !donateToCountyPac)} />}\n \n \n }\n\n \n Total Amount to charge\n {paymentHelperObj.getTotalCost().formatedAmount}\n \n\n \n Terms and Conditions\n \n set_termsAccepted(termsAccepted => !termsAccepted)} />\n \n \n\n \n \n \n \n \n \n \n { isLoading \n ? \n : }\n \n \n\n
\n \n}\n\n","export default __webpack_public_path__ + \"static/media/sampleMetroCard_Front.5241fafe.png\";","import React, { useEffect, useRef } from \"react\"\nimport { useState } from \"react\"\nimport { ErrorDetail } from \"../../models/ErrorDetail\"\nimport { Container, Row, Col, Form, Button } from \"react-bootstrap\" \nimport { Link, Redirect } from \"react-router-dom\"\nimport { ValidationSummary } from \"../../views/MessageBoxes\"\nimport MyFfbfClientApi from '../../api/MyFfbfClientApi'\nimport { ContactDetail } from '../../models/RegistrationModels'\nimport { ResetPasswordRequestObj } from '../../models/AccountModels'\nimport { Keys } from \"../../Utilities\"\nimport OverlaySpinner from \"../../views/OverlaySpinner\"\nimport HomesteadLogoLink from '../../layout/HomesteadLogoLink'\nimport sampleMetroCard_Front from '../../images/sampleMetroCard_Front.png'\n\nconst Registration: React.FC = () => {\n\tconst [isPasswordReset, set_isPasswordReset] = useState(null)\n\tconst [passwordResetState, set_passwordResetState] = useState<\"r\" | \"v\" | \"p\">(\"r\")\n\tconst isRegistration = !isPasswordReset\n\tconst [ResetPasswordRequestObj, set_resetPasswordRequestObj] = useState()\n\tconst [verificationCode, set_verificationCode] = useState(\"\")\n\tconst [errors, set_errors] = useState([])\n\tconst [isLoading, set_isLoading] = useState(false)\n\n\tconst [memberNumber, set_memberNumber] = useState(\"\")\n\tconst [email, set_email] = useState(\"\")\n\tconst [zip, set_zip] = useState(\"\")\n\tconst [lastName, set_lastName] = useState(\"\")\n\n\tconst [registrationContactChoices, set_registrationContactChoices] = useState([])\n\tconst [selectedContactId, set_selectedContactId] = useState(\"\")\n\n\tconst [password, set_password] = useState(\"\")\n\tconst [passwordConfirm, set_passwordConfirm] = useState(\"\")\n\tconst [readyToRedirect, set_readyToRedirect] = useState(false)\n\n\tconst memberNumberInputRef = useRef(null)\n\n\tconst generateParamObjBase = () => {\n\t\treturn { EmailAddress: email, MemberId: memberNumber, LastNameOrCompanyName: lastName, ZipCode: zip }\n\t}\n\n\t// Focus on Email input at pageload\n\tuseEffect(() => {\n\t\tmemberNumberInputRef?.current?.focus()\n\t\tconst str = window.location.search.split(\"?\");\n\t\tconst parms = new Map();\n\t\t\n\t\tif(str.length > 1) {\n\t\t\tconst kvPairs = str[1].split(\"&\");\n\t\t\tkvPairs.forEach(function(kv){\n\t\t\t\tconst pair = kv.split(\"=\");\n\t\t\t\tparms.set(pair[0].toString(), pair[1]);\n\t\t\t});\n\t\t}\n\t\t\n\t\tset_isPasswordReset(parms.get(\"v\") === \"p\");\n\t}, [])\n\n const handleVerifyRegistrationSubmit = async (event: React.FormEvent) => {\n\t\tevent.preventDefault()\n\t\tset_errors([])\n\t\tset_isLoading(true)\n\t\tconst paramObj = generateParamObjBase()\n\t\tconst [_registrationVerification, _errors] = await MyFfbfClientApi.Registration.VerifyRegistration(paramObj)\n\t\tif (_errors.length > 0) {\n\t\t\tset_errors(_errors)\n\t\t}\n\t\telse {\n\t\t\tconst contactChoices = _registrationVerification!.VerifiedContactChoices\n\t\t\tset_registrationContactChoices(contactChoices)\n\t\t\t// if one 1 contact came back from the verification call, then go ahead and make it the selected Contact\n\t\t\t// other wise the UI will ask the user to select the one they are.\n\t\t\tif (contactChoices.length === 1)\n\t\t\t\tset_selectedContactId(contactChoices[0].ContactId)\n\t\t}\n\t\tset_isLoading(false)\n }\n\n\tconst handleCompleteRegistrationSubmit = async (event: React.FormEvent) => {\n\t\tevent.preventDefault()\n\t\tset_errors([])\n\t\tif (password !== passwordConfirm) {\n\t\t\tset_errors([{ ErrorMessage: \"Please re-type your password correctly to confirm it.\"}])\n\t\t\treturn\n\t\t}\n\t\tset_isLoading(true)\n\t\tconst paramObj = { ...generateParamObjBase(), NewPasswordForAccount: password, SelectedContactId: selectedContactId }\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\tconst [_, _errors] = await MyFfbfClientApi.Registration.CompleteRegistration(paramObj)\n\t\tif (_errors.length > 0) {\n\t\t\tset_errors(_errors)\n\t\t}\n\t\telse {\n\t\t\t// Go ahead and log the user in, using the creds here, and redirect to Dashboard.\n\t\t\tconst paramObj = { EmailUsername: email, Password: password }\n\t\t\tconst [_loginPayload, _loginErrors] = await MyFfbfClientApi.Auth.AttemptLogin(paramObj)\n\t\t\tif (_loginErrors.length > 0) {\n\t\t\t\tset_errors(_loginErrors)\n\t\t\t}\n\t\t\telse {\n\t\t\t\t// Put the auth guid into session storage so that all further calls from inside the app will include it.\n\t\t\t\t// WARNING - this is copy-pasted between Login.tsx, PurchaseMembership.tsx, and Registration.tsx \n\t\t\t\tsessionStorage.setItem(Keys.authorizationGuidKeyName, _loginPayload!.AuthorizationGuid);\n\t\t\t\tset_readyToRedirect(true)\n\t\t\t}\n\t\t}\n\t\tset_isLoading(false)\n\t}\n\n\tconst handleResetPasswordRequest = async (event: React.FormEvent) => {\n\t\tevent.preventDefault()\n\t\tset_errors([])\n\t\tset_isLoading(true)\n\t\t\n\t\tvar parm = {EmailAddress: email, NewPassword: \"\", VerificationCode: \"\"}\n\t\tconst [_, _errors] = await MyFfbfClientApi.Account.ResetPasswordRequest(parm)\n\t\t\n\t\tif (_errors.length > 0) {\n\t\t\tset_errors(_errors)\n\t\t}\n\t\telse {\n\t\t\tset_passwordResetState(\"v\");\t\t\n\t\t}\n\n\t\tset_isLoading(false)\n\t}\n\n\tconst handleResetPasswordVerify = async (event: React.FormEvent) => {\n\t\t\n\t\tevent.preventDefault()\n\t\tset_errors([])\n\t\tset_isLoading(true)\n\n\t\tvar parm = {EmailAddress: email, NewPassword: \"\", VerificationCode: verificationCode}\n\t\tconst [ResetPasswordRequestObj, _errors] = await MyFfbfClientApi.Account.ResetPasswordVerification(parm)\n\t\t\n\t\tif (_errors.length > 0 || ResetPasswordRequestObj == null) {\n\t\t\tset_errors(_errors)\n\t\t}\n\t\telse {\n\t\t\tset_resetPasswordRequestObj(ResetPasswordRequestObj);\n\t\t\tset_passwordResetState(\"p\")\t\t\n\t\t}\n\t\tset_isLoading(false)\n\t}\n\n\tconst handleResetPasswordComplete = async (event: React.FormEvent) => {\n\t\t\n\t\tevent.preventDefault()\n\t\tset_errors([])\n\n\t\tif (password !== passwordConfirm) {\n\t\t\tset_errors([{ ErrorMessage: \"Please re-type your password correctly to confirm it.\"}])\n return;\n }\n\t\tset_isLoading(true)\n\n\t\tif(ResetPasswordRequestObj == null){\n\t\t\tset_readyToRedirect(true);\n\t\t\treturn;\n\t\t}\n\n\t\tResetPasswordRequestObj.NewPassword = password;\n\t\tResetPasswordRequestObj.VerificationCode = verificationCode;\n\n const [_, _errors] = await MyFfbfClientApi.Account.ResetPasswordComplete(ResetPasswordRequestObj)\n\n if (_errors.length > 0 && false) {\n //ask Graham why this is getting any errors\n\t\t\tset_errors(_errors)\n\t\t}\n\t\telse {\n\t\t\t// Go ahead and log the user in, using the creds here, and redirect to Dashboard.\n\t\t\tconst paramObj = { EmailUsername: email, Password: password }\n\t\t\tconst [_loginPayload, _loginErrors] = await MyFfbfClientApi.Auth.AttemptLogin(paramObj)\n\t\t\tif (_loginErrors.length > 0) {\n\t\t\t\tset_errors(_loginErrors)\n\t\t\t}\n\t\t\telse {\n\t\t\t\t// Put the auth guid into session storage so that all further calls from inside the app will include it.\n\t\t\t\t// WARNING - this is copy-pasted between Login.tsx, PurchaseMembership.tsx, and Registration.tsx \n\t\t\t\tsessionStorage.setItem(Keys.authorizationGuidKeyName, _loginPayload!.AuthorizationGuid);\n\t\t\t\tset_readyToRedirect(true)\n\t\t\t}\n\t\t}\n\n\t\tset_isLoading(false) \n\t}\n\n\tif (readyToRedirect) {\n return \n }\n\n\treturn <>\n\t\t
\n\t\t\t{ isLoading && }\n\t\t\t
\n\t\t\t
\t\n\t\t\t\t{isRegistration && <>\t\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\tRegister Your MyFFBF Account\n\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t\tAlready a Farm Bureau member, but logging into MyFFBF for the first time?\n\t\t\t\t\t\t\t\t\tSetup your MyFFBF now with:\n\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
  1. Your Farm Bureau Membership number
  2. \n\t\t\t\t\t\t\t\t\t
  3. Your 5-digit Zip code
  4. \n\t\t\t\t\t\t\t\t\t
  5. A valid email address
  6. \n\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\t\t\t\t\n\t\t\t\t\t\t
\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

Membership Verification

\n\n\t\t\t\t\t\t\t

Your Membership Number can be found on your Farm Bureau Membership Card, Renewal Reminder, Policy Declaration, and/or Billing Statement.

\n\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{ registrationContactChoices.length === 0 &&\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t

Register Your Account

\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t

When you create your MyFFBF account, you can:

\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t
  • Pay your Membership Dues
  • \n\t\t\t\t\t\t\t\t\t\t\t
  • Sign up for EZ Pay (automatic renewals)
  • \n\t\t\t\t\t\t\t\t\t\t\t
  • Update Email, Mailing Address & Phone Number
  • \n\t\t\t\t\t\t\t\t\t\t\t
  • Access and view all Member Discounts
  • \n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tMember Number:\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t set_memberNumber(e.target.value)}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tYour Last Name (If your membership is representing a business, enter your full business name):\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t set_lastName(e.target.value)}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tZip Code (5-digit):\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t set_zip(e.target.value)} />\n\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tEmail Address:\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t set_email(e.target.value)} />\n\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
Already Registered?
\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tAlready Registered? Click Here\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{/*
\n\t\t\t\t\t\t\t\t\t\t\tNeed One Time Access to Pay Membership?
\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
*/}\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{ registrationContactChoices.length > 0 && !selectedContactId &&\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t

We can’t wait to get to know you!
Tell us who you are:

\n\t\t\t\t\t\t\t\t\t{ registrationContactChoices.map(rcc => \n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t   \n\t\t\t\t\t\t\t\t\t\t
) }\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\n { selectedContactId &&\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t

Please create a password below to complete your account:

\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tYour Password: \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t set_password(e.target.value)}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tUse at least 10 characters with at least one number, one uppercase and one lowercase letter.\n\t\t\t\t\t\t\t\t\t\t\tPlease do not re-use this password among any other \n\t\t\t\t\t\t\t\t\t\t\tsites/accounts that you use. \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tPlease re-type Your Password:\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t set_passwordConfirm(e.target.value)}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tPlease re-type your password from the line above here to make sure that you \n\t\t\t\t\t\t\t\t\t\t\thave entered it correctly. \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t}\n\n\t\t\t\t\n\t\t\t\t{ isPasswordReset && <>\n\t\t\t\t\t \t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\n\t\t\t\t\t
\n\t\t\t\t\t\tForgot Password\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tEnter in the email address of your MyFFBF account. An email will be sent to you\n\t\t\t\t\t\t\twith a temporary verification code. Enter the code here to reset your password. \n\t\t\t\t\t\t

\n\t\t\t\t\t
\n\n\t\t\t\t\t
\n\t\t\t\t }\n\n\t\t\t\t{ isPasswordReset && passwordResetState === \"r\" && <>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

Please enter your email address:

\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tEmail Address:\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t set_email(e.target.value)} />\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t }\n\n\t\t\t\t{ isPasswordReset && passwordResetState === \"v\" && <>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

Please enter your verification code:

\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tVerification Code:\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t set_verificationCode(e.target.value)} />\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\t\n\t\t\t\t }\n\n\t\t\t\t{ isPasswordReset && passwordResetState === \"p\" && <> \n\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t

Please create a password below to complete your account:

\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tYour Password: \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t set_password(e.target.value)}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tUse at least 10 characters with at least one number, one uppercase and one lowercase letter.\n\t\t\t\t\t\t\t\t\tPlease do not re-use this password among any other \n\t\t\t\t\t\t\t\t\tsites/accounts that you use.\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tPlease re-type Your Password:\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t set_passwordConfirm(e.target.value)}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tPlease re-type your password from the line above here to make sure that you \n\t\t\t\t\t\t\t\t\thave entered it correctly. \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\t\n\t\t\t\t\t
\n\t\t\t\t }\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Need One Time Access to Pay Membership?

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t\n}\n\nexport default Registration","import React from \"react\"\nimport {Container} from \"react-bootstrap\"\nimport {Redirect} from \"react-router-dom\"\nimport MyFfbfClientApi from \"../api/MyFfbfClientApi\"\nimport {ContainsAuthExpiredError} from \"../models/ErrorDetail\"\n\nconst PageHeading: React.FC = props => {\n\tconst {errors, payload} = MyFfbfClientApi.Account.UseAccountOverview()\n\tconst accountOverview = payload\n\n\t// TODO - Dont re-fetch account every time, set it in localStorage at login\n\t// All this page needs is member # and county name so those can be set locally.\n\n\tif (ContainsAuthExpiredError(errors)) {\n\t\t\n return \n }\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\t

\n\t\t\t\t\t\n\t\t\t\t\t\t{/* Example: My Membership */}\n\t\t\t\t\t\t{props.children}\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t#\n\t\t\t\t\t\t\t{accountOverview &&\n\t\t\t\t\t\t\t\taccountOverview.MembershipSummary.MemberNumber}\n\t\t\t\t\t\t\t  \n\t\t\t\t\t\t\t{accountOverview && accountOverview.CountyOffice.Name} County\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t

\n\t\t\t
\n\t\t
\n\t)\n}\n\nexport default PageHeading\n","import React from 'react'\n\nexport const ExternalLink: React.FC<{href: string}> = (props) => {\n return {props.children}\n}","import React, { useState } from 'react' \nimport { Alert, Button, Modal } from 'react-bootstrap'\nimport { Link } from 'react-router-dom'\nimport { ExternalLink } from './ExternalLink'\n\nexport const UpcomingEZPay: React.FC<{defaultCardLastFour: string, showMessageAboutCardReplacement: boolean}> = (props) => {\n return <>\n \n You have a card on file to automatically pay your current Dues on their due date \n You do not need to pay your dues today if you'd still like us to charge your card on file when your dues are due to be paid.
\n If you'd like to make a payment right now instead, you may use the form below to do so.
\n { props.showMessageAboutCardReplacement && \n The card you enter below will replace the ending with {props.defaultCardLastFour} \n as the card that we will use for next year's dues. \n }\n
\n \n}\n\nexport const EZPaySignupConfirmation = () => {\n return <>\n \n

Thank you for signing up for Farm Bureau Membership EZ-Pay!

\n

\n This is the best way to make sure your support for Florida’s agricultural and rural communities continues uninterrupted. Your credit card information has been securely saved and will only be used to automatically pay your annual membership dues in the future.\n Click here to review your card on file if needed.\n

\n
\n \n}\n\nexport const EZPayPromo = () => {\n \n return <>\n \n Is remembering to pay your annual dues a hassle? Let Membership EZ-Pay help! \n
\n \n \n \n \n \n \n
\n
\n \n}\n\nexport const EZPayTermsAndConditionsModal: React.FC<{showSignupBtn: boolean}> = (props) => {\n const [modalVisible, set_modalVisible] = useState(false) \n \n return <>\n \n\n set_modalVisible(false)} size=\"lg\">\n \n Membership EZ-Pay is a great way to make sure your annual Farm Bureau member dues are paid on time!\n \n \n

Upon signing up, the credit card information you entered will be saved and used to pay your annual membership dues and any PAC contributions on your listed annual renewal date.\n You will receive a reminder notice to the email address provided in your membership file 60 days prior to the renewal due date.\n You can opt out of Membership EZ-Pay at any time by logging into your account on the Membership Portal at www.Floridafarmbureau.org.

\n\n
\n
Florida Farm Bureau Membership Terms
\n\n
Welcome to the terms and conditions (\"Terms\") for Florida Farm Bureau Federation membership. These Terms are between you and Florida Farm Bureau Federation and/or your county Farm Bureau and govern our respective rights and obligations. Please note that your use of the Florida Farm Bureau Federation website and Farm Bureau membership are also governed by the agreements listed and linked to below, as well as all other applicable terms, conditions, limitations, and requirements on the FloridaFarmBureau.org website, all of which (as changed over time) are incorporated into these Terms. By signing up for a Farm Bureau membership, you accept these terms, conditions, limitations and requirements.
\n\n
  • Privacy Policy and Terms of Use
\n\n
\n Membership Cancellation\n
You may cancel your Farm Bureau membership any time by contacting your county Farm Bureau office or the Florida Farm Bureau Federation membership office at 352-374-1502. If you cancel within 10 business days of payment of a Farm Bureau membership, a refund of your full membership fee can be made; provided that you have not taken advantage of any of the member benefits exclusively granted to a Farm Bureau member. No refund will be granted beyond 10 business days. Farm Bureau memberships redeemed through a gift code or promotional code are not refundable.\n
\n\n
\n Other Limitations
\n
    \n
  • We reserve the right to accept or refuse membership in our discretion.
  • \n
  • We may send you email and other communications related to your Farm Bureau membership (regardless of any settings or preferences related to your Farm Bureau membership account).
  • \n
  • You may not transfer or assign your Farm Bureau membership or any Farm Bureau benefits, including promotion codes for Farm Bureau memberships or benefits, except as allowed in these terms.
  • \n
  • Farm Bureau members are not permitted to purchase products for the purpose of resale, rental, or to ship to their customers or potential customers using Farm Bureau benefits.
  • \n
  • Some Farm Bureau benefits may require certain purchase thresholds, have quantity or shipping address limitations, or require members to meet specified criteria in order to access them.
  • \n
  • From time to time, Florida Farm Bureau may choose in its sole discretion to add or remove Farm Bureau membership benefits.
  • \n
\n
\n\n
\n Membership Dues
Dues for membership in Farm Bureau is determined by the individual county Farm Bureau. The Farm Bureau membership fee is non-refundable except as expressly set forth in these Terms. As a 501c(5) organization, Farm Bureau membership dues are not tax deductible, but may be deductible as an ordinary and necessary business expense.\n
\n\n
\n Membership EZ-Pay
If you sign up for Membership EZ-Pay through the Florida Farm Bureau Federation and are then billed by the Florida Farm Bureau Federation, then the billing terms described below will apply to your membership.\n
\n\n
\n If the eligible payment methods we have on file for you are declined for payment of\n your membership fee, you must provide us a new eligible payment method promptly or\n your membership will be canceled. If you provide us with a new eligible payment\n method and are successfully charged, your new membership period will be based on\n the original renewal date and not the date of the successful charge.\n
\n\n
\n UNLESS YOU NOTIFY US BEFORE A CHARGE THAT YOU WANT TO CANCEL OR DO NOT\n WANT TO AUTO RENEW, YOU UNDERSTAND YOUR FARM BUREAU MEMBERSHIP WILL\n AUTOMATICALLY CONTINUE AND YOU AUTHORIZE US (WITHOUT NOTICE TO YOU, UNLESS\n REQUIRED BY APPLICABLE LAW) TO COLLECT THE THEN-APPLICABLE MEMBERSHIP FEE\n AND ANY TAXES, USING ANY ELIGIBLE PAYMENT METHOD WE HAVE ON RECORD FOR\n YOU.\n
\n\n
\n Agreement Changes
\n We may in our discretion change these Terms, Florida Farm Bureau.org Privacy Policy\n and Terms of Use, or any aspect of Farm Bureau membership, without notice to you. If\n any change to these terms is found invalid, void, or for any reason unenforceable, that\n change is severable and does not affect the validity and enforceability of any\n remaining changes or conditions. YOUR CONTINUED MEMBERSHIP AFTER WE CHANGE\n THESE TERMS CONSTITUTES YOUR ACCEPTANCE OF THE CHANGES. IF YOU DO NOT AGREE\n TO ANY CHANGES, YOU MUST CANCEL YOUR MEMBERSHIP.\n
\n\n
\n Termination
\n We may terminate your Farm Bureau membership at our discretion without notice. If we\n do so, we will give you a prorated refund based on the number of full months remaining\n in your membership. However, we will not give any refund for termination related to\n conduct that we determine, in our discretion, violates these Terms or any applicable\n law, involves fraud or misuse of the Farm Bureau membership, or is harmful to our\n interests or another user. Our failure to insist upon or enforce your strict compliance with\n these Terms will not constitute a waiver of any of our rights.\n
\n\n
\n Limitation of Liability
\n IN ADDITION TO OTHER LIMITATIONS AND EXCLUSIONS IN\n FLORIDAFARMBUREAU.ORG PRIVACY POLICY AND TERMS OF USE, OUR TOTAL LIABILITY,\n WHETHER IN CONTRACT, WARRANTY, TORT (INCLUDING NEGLIGENCE) OR OTHERWISE,\n WILL NOT EXCEED THE LAST MEMBERSHIP FEE YOU PAID. THIS LIMITATION OF LIABILITY WILL\n APPLY TO THE FULLEST EXTENT PERMITTED BY LAW AND WILL SURVIVE CANCELLATION OR\n TERMINATION OF YOUR FARM BUREAU MEMBERSHIP.\n
\n\n
\n Disputes
\n Any dispute or claim relating in any way to these Terms or your use of Farm Bureau, or to\n any products or services sold or distributed by Florida Farm Bureau Federation or\n through FloridaFarmBureau.org will be resolved by binding arbitration, rather than in\n court. The Federal Arbitration Act and federal arbitration law apply to this agreement.\n
\n\n
\n There is no judge or jury in arbitration, and court review of an arbitration award is\n limited. However, an arbitrator can award on an individual basis the same damages\n and relief as a court (including injunctive and declaratory relief or statutory damages),\n and must follow the Terms as a court would.\n
\n\n
\n To begin an arbitration proceeding, you must send a letter requesting arbitration and\n describing your claim to our registered agent Staci Sims, 5700 SW 34th Street, Gainesville,\n FL 32608. The arbitration will be conducted by the American Arbitration Association\n (AAA) under its rules, including the AAA's Supplementary Procedures for Consumer-\n Related Disputes. The AAA's rules are available at www.adr.org or by calling 1-800-778-\n 7879. Payment of all filing, administration and arbitrator fees will be governed by the\n AAA's rules. We will reimburse those fees for claims totaling less than $10,000 unless the\n arbitrator determines the claims are frivolous. Likewise, Farm Bureau will not seek\n attorneys' fees and costs in arbitration unless the arbitrator determines the claims are\n frivolous. You may choose to have the arbitration conducted by telephone, based on\n written submissions, or in person in the county where your membership is held or at\n another mutually agreed location.\n
\n\n
\n \n We each agree that any dispute resolution proceedings will be conducted only on an\n individual basis and not in a class, consolidated or representative action.\n If for any\n reason a claim proceeds in court rather than in arbitration we each waive any right to\n a jury trial. We also both agree that you or we may bring suit in court to enjoin\n infringement or other misuse of intellectual property rights.\n
\n
\n
\n \n { props.showSignupBtn && \n \n \n }\n \n
\n \n}\n\n","import React from 'react'\nimport { Link } from 'react-router-dom'\nimport AccountOverview, { HideEzPaySignupPathways } from '../../models/AccountOverview'\n\nexport const MyMembershipPageTabs: React.FC<{activeTab: \"Details\" | \"Pay Dues\" | \"EZPay\" | \"Customize\" | \"Referral\", accountOverview: AccountOverview}> = (props) => {\n return (\n
\n
    \n
  • \n \n Membership Details & Family\n \n
  • \n
  • \n \n Pay Membership Dues\n \n
  • \n { !HideEzPaySignupPathways(props.accountOverview) &&\n
  • \n \n Membership EZ-Pay\n \n
  • }\n
\n
\n )\n}","import React from 'react'\nimport { Alert } from 'react-bootstrap'\n\nconst PaymentConfirmation: React.FC<{confirmationCode: string, totalCost: string, paymentTypeIsCard: boolean}> = (props) => {\n return <>\n \n \n Your Membership Dues have now been paid\n \n
\n\n { props.paymentTypeIsCard && \n

\n {props.totalCost} has been charged to your Credit Card.

\n This payment is accepted on {new Date().toLocaleDateString()}. Confirmation Code: {props.confirmationCode}\n

\n }\n\n { !props.paymentTypeIsCard && \n

\n {props.totalCost} will be transfered from your Account\n in 1 to 3 business days.\n This payment is provisionally accepted on {new Date().toLocaleDateString()}\n and will be posted as of this date provided that you have entered the correct \n financial institution information and funds are available.\n

\n }\n\n

Thank you for your payment!

\n
\n \n}\n\nexport default PaymentConfirmation","import React, {useState, useMemo, useEffect} from \"react\"\nimport {ContainsAuthExpiredError, ContainsErrorAfterVendorPayment, ErrorDetail} from \"../../models/ErrorDetail\"\nimport PageHeading from \"../../views/PageHeading\"\nimport MyFfbfClientApi from \"../../api/MyFfbfClientApi\"\nimport {Redirect} from \"react-router-dom\"\nimport AccountOverview from \"../../models/AccountOverview\"\nimport {Alert, Button, Col, Container, Form, Row} from \"react-bootstrap\"\nimport {EZPayPromo, EZPaySignupConfirmation} from \"../../views/EZPayAlerts\"\nimport CriticalPaymentErrorMsg from '../../views/CriticalPaymentErrorMsg'\nimport {loadStripe, Stripe, StripeElements} from \"@stripe/stripe-js\"\nimport {Elements, ElementsConsumer} from \"@stripe/react-stripe-js\"\nimport {CardElement} from \"@stripe/react-stripe-js\"\nimport {StripeUtilities} from \"../../Utilities\"\nimport OverlaySpinner from \"../../views/OverlaySpinner\"\nimport {ValidationSummary} from \"../../views/MessageBoxes\"\nimport {MyMembershipPageTabs} from \"../../views/myMembership/MyMembershipPageTabs\"\nimport {\n\tGeneratePaymentHelperObj,\n\tGenerateECheckPaymentDetail,\n\tGenerateCardPaymentDetail\n} from \"../../models/PaymentDetail\"\nimport PaymentConfirmation from \"../../views/PaymentConfirmation\"\nimport PaymentTermsAndConditions from \"../../views/PaymentTermsAndConditions\"\n\nconst PayDues = () => {\n\tconst {errors, payload} = MyFfbfClientApi.Account.UseAccountOverview()\n\tconst [pageErrors, set_errors] = useState([])\n\tconst accountOverview = payload\n\tconst [publicKey, set_publicKey] = useState(\"\")\n\n\tuseEffect(() => {\n\t\tlet mounted = true\n\t\tconst fetchData = async () => {\n\t\t\tvar [_key, _error] = await MyFfbfClientApi.Admin.GetPublicKey()\n\t\t\tif (_error.length === 0) {\n\t\t\t\tset_publicKey(_key?.Key ?? \"\")\n\t\t\t} else {\n\t\t\t\tset_errors(_error)\n\t\t\t}\n\t\t}\n\t\tfetchData()\n\n\t\treturn () => {\n\t\t\tmounted = false\n\t\t}\n\t}, [])\n\n\tconsole.log(\"ok is\" + publicKey)\n\tconst stripePromise = loadStripe(publicKey)\n\n\tif (ContainsAuthExpiredError(errors)) {\n\t\treturn \n\t}\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\tMy Membership\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{accountOverview && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{publicKey ? (\n\t\t\t\t\t\t\t\t\taccountOverview.MembershipSummary.Balance === 0 ? (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{({stripe, elements}) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{stripe && elements && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\".\"\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t)\n}\n\nexport default PayDues\n\nexport const ZeroBalance: React.FC<{\n\taccountOverview: AccountOverview\n\tdisplayEzPayPromoIfNotEnrolled?: boolean\n}> = props => {\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tYou don't have have Membership dues due at this time.\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\tYour next renewal date is{\" \"}\n\t\t\t\t\t{props.accountOverview.MembershipSummary.NextRenewalDate}.\n\t\t\t\t
\n\t\t\t
\n\n\t\t\t{props.displayEzPayPromoIfNotEnrolled &&\n\t\t\t!props.accountOverview.MembershipSummary.DuesPlanIsEZPay ? (\n\t\t\t\t\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t)}\n\t\t\n\t)\n}\n\nconst PayDuesForm: React.FC<{\n\taccountOverview: AccountOverview\n\tstripe: Stripe\n\telements: StripeElements\n}> = props => {\n\t// Form states\n\tconst [isLoading, set_isLoading] = useState(false)\n\tconst [confirmationCode, set_confirmationCode] = useState(\"\")\n\tconst [errors, set_errors] = useState([])\n\tconst [hasCriticalError, set_hasCriticalError] = useState(false)\n\n\t// User inputs for card/echeck\n\tconst [paymentTypeIsCard, set_paymentTypeIsCard] = useState(true)\n\tconst [donateToCountyPac, set_donateToCountyPac] = useState(props.accountOverview.MembershipSummary.AllowPacContributions) // SPAC is checked by default, per biz rules\n\tconst [donateToStatePac, set_donateToStatePac] = useState(props.accountOverview.MembershipSummary.AllowPacContributions) // CPAC is checked by default, per biz rules\n\tconst paymentTypeIsEcheck = !paymentTypeIsCard\n\tconst [termsAccepted, set_termsAccepted] = useState(false) \n\n\t// User inputs for echeck\n\tconst [accountNumber, set_accountNumber] = useState(\"\")\n\tconst [verifyAccountNumber, set_verifyAccountNumber] = useState(\"\")\n\tconst [routingNumber, set_routingNumber] = useState(\"\")\n\tconst [accountIsChecking, set_accountIsChecking] = useState(true)\n\tconst [nameOnAccount, set_nameOnAccount] = useState(\"\")\n\tconst [bankName, set_bankName] = useState(\"\")\n\n\t// User inputs for card (card # input UI handled by Stripe JS)\n\tconst [enrollInEZPay, set_enrollInEZPay] = useState(false)\n\n\t// useMemo is a caching function, it only reconstructs the returned obj on a re-render if something in the\n\t// dependecy array has changed.\n\tconst paymentHelperObj = useMemo(\n\t\t() =>\n\t\t\tGeneratePaymentHelperObj(\n\t\t\t\tprops.accountOverview,\n\t\t\t\tdonateToStatePac,\n\t\t\t\tdonateToCountyPac\n\t\t\t),\n\t\t[props.accountOverview, donateToStatePac, donateToCountyPac]\n\t)\n\n\tconst handleSubmit = async (event: React.FormEvent) => {\n\t\tevent.preventDefault()\n\t\tset_isLoading(true)\n\t\tset_errors([])\n\n\t\tlet _validationErrors: ErrorDetail[] = []\n\t\tif (!termsAccepted) {\n\t\t\t_validationErrors.push({\n\t\t\t\tErrorMessage:\n\t\t\t\t\t\"Please accept the terms and conditions before proceeding.\"\n\t\t\t})\n\t\t}\n\n\t\tif (_validationErrors.length > 0) {\n\t\t\tset_errors(_validationErrors)\n\t\t\tset_isLoading(false)\n\t\t\treturn\n\t\t}\n\n\t\t// This is roughly copy-pasted between GuestCheckout.tsx, PurchaseMembership.tsx, and PayDues.tsx\n\t\tif (paymentTypeIsCard) {\n\t\t\tconst card = props.elements.getElement(CardElement)\n\t\t\tif (!card) set_errors([{ErrorMessage: StripeUtilities.genericErrorMsg}])\n\t\t\telse {\n\t\t\t\tconst tokenResult = await props.stripe.createToken(card)\n\t\t\t\tif (tokenResult.error) {\n\t\t\t\t\tset_errors([\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tErrorMessage:\n\t\t\t\t\t\t\t\ttokenResult.error!.message ?? StripeUtilities.genericErrorMsg\n\t\t\t\t\t\t}\n\t\t\t\t\t])\n\t\t\t\t} else {\n\t\t\t\t\tconst cardPaymentDetail = GenerateCardPaymentDetail(\n\t\t\t\t\t\tpaymentHelperObj,\n\t\t\t\t\t\ttokenResult.token.id,\n\t\t\t\t\t\tenrollInEZPay\n\t\t\t\t\t)\n\t\t\t\t\tconst [_confirmation, _errors] = await MyFfbfClientApi.Payment.ProcessStripeCardPayment(cardPaymentDetail)\n\t\t\t\t\tif (_errors.length > 0) {\n\t\t\t\t\t\tset_errors(_errors)\n\t\t\t\t\t\tif (ContainsErrorAfterVendorPayment(_errors)) {\n set_hasCriticalError(true)\n }\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tset_confirmationCode(_confirmation!.ConfirmationCode)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// Echeck payment\n\t\t\tif (accountNumber !== verifyAccountNumber) {\n\t\t\t\tset_errors([\n\t\t\t\t\t{ErrorMessage: \"Please re-type your account number to confirm it.\"}\n\t\t\t\t])\n\t\t\t} else {\n\t\t\t\tconst eCheckPaymentDetail = GenerateECheckPaymentDetail(\n\t\t\t\t\tpaymentHelperObj,\n\t\t\t\t\taccountNumber,\n\t\t\t\t\troutingNumber,\n\t\t\t\t\tnameOnAccount,\n\t\t\t\t\tbankName,\n\t\t\t\t\taccountIsChecking\n\t\t\t\t)\n\t\t\t\tconst [_confirmation, _errors] = await MyFfbfClientApi.Payment.ProcessECheckPayment(eCheckPaymentDetail)\n\t\t\t\tif (_errors.length > 0) {\n\t\t\t\t\tset_errors(_errors)\n\t\t\t\t\tif (ContainsErrorAfterVendorPayment(_errors)) {\n\t\t\t\t\t\tset_hasCriticalError(true)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tset_confirmationCode(_confirmation!.ConfirmationCode)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tset_isLoading(false)\n\t}\n\n\tif (ContainsAuthExpiredError(errors)) {\n\t\treturn \n\t}\n\n\tif (confirmationCode.length) {\n\t\tconst totalCost = paymentHelperObj.getTotalCost().formatedAmount\n\t\treturn (\n\t\t\t<>\n\t\t\t\t\n\t\t\t\t{enrollInEZPay && }\n\t\t\t\n\t\t)\n\t}\n\n\tif (hasCriticalError) {\n return <>\n \n \n \n }\n\n\treturn (\n\t\t<>\n\t\t\t{isLoading && }\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tPayment Type\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t): void =>\n\t\t\t\t\t\t\t\tset_paymentTypeIsCard(ev.target.value === \"card\")\n\t\t\t\t\t\t\t}>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t{paymentTypeIsCard && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tCard Details\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tMembership EZ-Pay\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t set_enrollInEZPay(!enrollInEZPay)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\n\t\t\t\t{paymentTypeIsEcheck && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tAccount Type\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t): void =>\n\t\t\t\t\t\t\t\t\t\tset_accountIsChecking(ev.target.value === \"checking\")\n\t\t\t\t\t\t\t\t\t}>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tRouting Number\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t set_routingNumber(e.target.value)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tAccount Number\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t set_accountNumber(e.target.value)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tVerify Account Number\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t set_verifyAccountNumber(e.target.value)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tName on Account\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t set_nameOnAccount(e.target.value)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tBank Name\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t set_bankName(e.target.value)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tCounty Dues Amount\n\t\t\t\t\t\n\t\t\t\t\t${paymentHelperObj.duesAmount.toFixed(2)}\n\t\t\t\t\n\n\t\t\t\t{paymentHelperObj.allowPacContributions && (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tOptional Contributions\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t set_donateToStatePac(d => !d)}\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t{paymentHelperObj.memberCountyAllowsCountyPac && (\n\t\t\t\t\t\t\t\t set_donateToCountyPac(d => !d)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tTerms & Conditions\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t set_termsAccepted(t => !t)}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\n\t\t\t\t\n\t\t\t\t\tTotal Amount to charge\n\t\t\t\t\t{paymentHelperObj.getTotalCost().formatedAmount}\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{isLoading ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\n\t)\n}\n","import React, { useEffect, useMemo, useState } from 'react'\nimport { Container, Row, Col, Form, Button, Navbar } from 'react-bootstrap'\nimport { CardElement, Elements, ElementsConsumer } from \"@stripe/react-stripe-js\";\nimport { StripeUtilities } from '../../Utilities'\nimport OverlaySpinner from '../../views/OverlaySpinner'\nimport HomesteadLogoLink from '../../layout/HomesteadLogoLink'\nimport { ValidationSummary } from '../../views/MessageBoxes'\nimport { ContainsErrorAfterVendorPayment, ErrorDetail } from '../../models/ErrorDetail'\nimport { loadStripe, Stripe, StripeElements } from '@stripe/stripe-js';\nimport AccountOverview, { GenerateEmptyAcctOverview } from '../../models/AccountOverview';\nimport { GeneratePaymentHelperObj, GenerateGuestECheckPaymentDetail, GenerateGuestCardPaymentDetail } from '../../models/PaymentDetail'\nimport sampleMetroCard_Front from '../../images/sampleMetroCard_Front.png'\nimport MyFfbfClientApi from \"../../api/MyFfbfClientApi\"\nimport { ZeroBalance } from '../myMembership/PayDues'\nimport PaymentConfirmation from '../../views/PaymentConfirmation';\nimport PaymentTermsAndConditions from '../../views/PaymentTermsAndConditions';\nimport CriticalPaymentErrorMsg from '../../views/CriticalPaymentErrorMsg'\n\nconst GuestCheckout = () => {\n const [isLoading, set_isLoading] = useState(false)\n const [errors, set_errors] = useState([])\n const [memberNumber, set_memberNumber] = useState(\"\")\n\tconst [zip, set_zip] = useState(\"\")\n\tconst [lastName, set_lastName] = useState(\"\")\n const [isValidated, set_isValidated] = useState(false)\n const [accountOverview, set_accountOverview] = useState(GenerateEmptyAcctOverview())\n const [publicKey, set_publicKey] = useState(\"\")\n\n useEffect(() => {\n let mounted = true;\n const fetchData = async () => {\n var [_key, _error] = await MyFfbfClientApi.Admin.GetPublicKey();\n if(_error.length === 0){\n set_publicKey(_key?.Key ?? \"\")\n } else{\n set_errors(_error)\n }\n }\n fetchData()\n\n return () => { mounted = false }\n }, [])\n\n if(!publicKey){\n return <>\n }\n console.log(\"ok is\" +publicKey) \n const stripePromise = loadStripe(publicKey);\n\n const handleValidationSubmit = async (event: React.FormEvent) => {\n\n event.preventDefault()\n set_isLoading(true)\n const paramObj = { EmailAddress: \"\", MemberId: memberNumber, LastNameOrCompanyName: lastName, ZipCode: zip }\n const [_acctOverview, _errors] = await MyFfbfClientApi.GuestCheckout.VerifyGuestCheckout(paramObj)\n if (_errors.length > 0) {\n\t\t\tset_errors(_errors)\n\t\t}\n else {\n set_isValidated(true)\n set_errors([])\n set_accountOverview(_acctOverview!)\n }\n set_isLoading(false)\n }\n\n return <>\n
\n { isLoading && }\n\t\t\t
\n \n \n \n \n \n \n \n\t\t\t
\n\n
\n \n
\n

Verify Membership and Pay as a Guest

\n

Enter the requested information to pay your annual membership dues.

\n
\n
\n
\n \n \n \n { !isValidated &&\n \n \n \n
\n \n \n Your Member Number\n \n \n set_memberNumber(e.target.value)}\n />\n \n \n\n \n \n Your Last Name (If your membership is representing a business, enter your full business name)\n \n \n set_lastName(e.target.value)}\n />\n \n \n\n \n \n Your 5-digit Zip Code\n \n \n set_zip(e.target.value)}\n />\n \n \n\n \n \n \n \n
\n \n}\n\nexport default GuestCheckout\n\nconst GuestCheckoutPayDuesForm: React.FC<{accountOverview: AccountOverview, stripe: Stripe; elements: StripeElements}> = (props) => {\n // Form states\n const [isLoading, set_isLoading] = useState(false)\n const [confirmationCode, set_confirmationCode] = useState(\"\")\n const [errors, set_errors] = useState([])\n const [hasCriticalError, set_hasCriticalError] = useState(false)\n\n // User inputs for card/echeck\n const [paymentTypeIsCard, set_paymentTypeIsCard] = useState(true)\n const [donateToCountyPac, set_donateToCountyPac] = useState(props.accountOverview.MembershipSummary.AllowPacContributions) // SPAC is checked by default, per biz rules\n const [donateToStatePac, set_donateToStatePac] = useState(props.accountOverview.MembershipSummary.AllowPacContributions) // CPAC is checked by default, per biz rules\n const paymentTypeIsEcheck = !paymentTypeIsCard\n const [termsAccepted, set_termsAccepted] = useState(false)\n\n // User inputs for echeck\n const [accountNumber, set_accountNumber] = useState(\"\")\n const [verifyAccountNumber, set_verifyAccountNumber] = useState(\"\")\n const [routingNumber, set_routingNumber] = useState(\"\")\n const [accountIsChecking, set_accountIsChecking] = useState(true)\n const [nameOnAccount, set_nameOnAccount] = useState(\"\")\n const [bankName, set_bankName] = useState(\"\")\n\n // 'useMemo' is a caching function, it only reconstructs the returned obj on a re-render if something in the \n // dependecy array has changed. Since users will keyup a lot of details\n // if paying by ECheck, this caching is beneficial since each keyup triggers a re-render.\n const paymentHelperObj = useMemo(() => \n GeneratePaymentHelperObj(props.accountOverview, donateToStatePac, donateToCountyPac), \n [props.accountOverview, donateToStatePac, donateToCountyPac])\n\n const handlePaymentSubmit = async (event: React.FormEvent) => {\n event.preventDefault()\n set_isLoading(true)\n const memNumber = props.accountOverview.MembershipSummary.MemberNumber\n\n let _validationErrors: ErrorDetail[] = []\n if (!termsAccepted) {\n _validationErrors.push({ ErrorMessage: \"Please accept the terms and conditions before proceeding.\" })\n }\n\n if (_validationErrors.length > 0) {\n set_errors(_validationErrors)\n set_isLoading(false)\n return\n }\n\n // This is roughly copy-pasted between GuestCheckout.tsx, PurchaseMembership.tsx, and PayDues.tsx \n if (paymentTypeIsCard) {\n const card = props.elements.getElement(CardElement)\n if (!card) {\n set_errors([{ ErrorMessage: StripeUtilities.genericErrorMsg }])\n }\n else {\n const tokenResult = await props.stripe.createToken(card);\n if (tokenResult.error) {\n set_errors([{ ErrorMessage: tokenResult.error!.message ?? StripeUtilities.genericErrorMsg}])\n } \n else {\n const cardPaymentDetail = GenerateGuestCardPaymentDetail(paymentHelperObj, tokenResult.token.id, memNumber) \n const [_confirmation, _errors] = await MyFfbfClientApi.GuestCheckout.ProcessGuestStripeCardPayment(cardPaymentDetail)\n if(_errors.length > 0) {\n set_errors(_errors)\n if (ContainsErrorAfterVendorPayment(_errors)) {\n set_hasCriticalError(true)\n }\n }\n else\n set_confirmationCode(_confirmation!.ConfirmationCode)\n }\n }\n }\n else { // Echeck payment\n if (accountNumber !== verifyAccountNumber) {\n set_errors([{ ErrorMessage: \"Please re-type your account number to confirm it.\"}])\n }\n else {\n const eCheckPaymentDetail = GenerateGuestECheckPaymentDetail(paymentHelperObj, memNumber, accountNumber, routingNumber, nameOnAccount, bankName, accountIsChecking)\n const [_confirmation, _errors] = await MyFfbfClientApi.GuestCheckout.ProcessGuestECheckPayment(eCheckPaymentDetail)\n if(_errors.length > 0) {\n set_errors(_errors)\n if (ContainsErrorAfterVendorPayment(_errors)) {\n set_hasCriticalError(true)\n }\n }\n else\n set_confirmationCode(_confirmation!.ConfirmationCode)\n }\n }\n set_isLoading(false)\n }\n\n if (confirmationCode) {\n const totalCost = paymentHelperObj.getTotalCost().formatedAmount\n return <>\n \n \n }\n\n if (hasCriticalError) {\n return <>\n \n \n \n }\n\n return <>\n { isLoading && }\n \n\n
\n\n \n Payment Type\n \n ): void => set_paymentTypeIsCard(ev.target.value === \"card\")}>\n \n \n \n \n \n\n { paymentTypeIsCard && \n <>\n \n Card Details\n \n
\n \n
\n \n
\n \n }\n\n { paymentTypeIsEcheck && \n <>\n \n Account Type\n \n ): void => set_accountIsChecking(ev.target.value === \"checking\")}>\n \n \n \n \n \n\n \n Routing Number\n \n set_routingNumber(e.target.value)} />\n \n \n\n \n Account Number\n \n set_accountNumber(e.target.value)} />\n \n \n\n \n Verify Account Number\n \n set_verifyAccountNumber(e.target.value)} />\n \n \n\n \n Name on Account\n \n set_nameOnAccount(e.target.value)} />\n \n \n\n \n Bank Name\n \n set_bankName(e.target.value)} />\n \n \n \n }\n\n \n County Dues Amount\n ${paymentHelperObj.duesAmount.toFixed(2)}\n \n\n { paymentHelperObj.allowPacContributions &&\n \n Optional Contributions\n \n set_donateToStatePac(!donateToStatePac)} />\n\n {paymentHelperObj.memberCountyAllowsCountyPac &&\n set_donateToCountyPac(!donateToCountyPac)} />}\n \n \n }\n\n \n Total Amount to charge\n {paymentHelperObj.getTotalCost().formatedAmount}\n \n\n \n Terms and Conditions\n \n set_termsAccepted(termsAccepted => !termsAccepted)} />\n \n \n \n\n \n \n \n { isLoading \n ? \n : }\n \n \n
\n \n}","import React, { useEffect, useState } from \"react\"\nimport { Container } from \"react-bootstrap\"\nimport { Redirect } from \"react-router-dom\"\nimport { Keys } from \"../../Utilities\"\nimport OverlaySpinner from '../../views/OverlaySpinner'\nimport PageHeading from \"../../views/PageHeading\"\n\nconst Logout: React.FC = () => {\n const [readyToRedirect, set_readyToRedirect] = useState(false)\n\n useEffect(() => {\n // todo - if there's time, add an API call/route to kill the session on the server.\n sessionStorage.removeItem(Keys.authorizationGuidKeyName);\n set_readyToRedirect(true)\n }, [])\n\n if (readyToRedirect) {\n return ;\n }\n\n return <>\n Logging Out\n \n \n \n \n}\n\nexport default Logout","import React, {useState} from \"react\"\nimport {\n\tAlert,\n\tButton,\n\tCol,\n\tContainer,\n\tForm,\n\tRow,\n\tTab,\n\tTabs\n} from \"react-bootstrap\"\nimport MyFfbfClientApi from \"../../api/MyFfbfClientApi\"\nimport {ErrorDetail} from \"../../models/ErrorDetail\"\nimport {ValidationSummary} from \"../../views/MessageBoxes\"\nimport OverlaySpinner from \"../../views/OverlaySpinner\"\nimport PageHeading from \"../../views/PageHeading\"\n\nconst MyAccount = () => {\t\n\tconst [oldPassword, set_oldPassword] = useState(\"\")\n\tconst [newPassword, set_newPassword] = useState(\"\")\n\tconst [newPasswordConfirm, set_newPasswordConfirm] = useState(\"\")\n\tconst [newLogin, set_newLogin] = useState(\"\")\n\tconst [newLoginConfirm, set_newLoginConfirm] = useState(\"\")\n\tconst [isLoading, set_isLoading] = useState(false)\n\tconst [errors, set_errors] = useState([])\n\tconst [changeConfirmed, set_changeConfirmed] = useState(false)\n\n\t\n\tconst {payload} = MyFfbfClientApi.Account.UseAccountOverview()\n\tconst accountOverview = payload\n\n\tconst handleSubmitChangePassword = async (event: React.FormEvent) => {\n\t\tevent.preventDefault()\n\t\tset_isLoading(true)\n\t\tset_errors([])\n\t\tif (newPassword !== newPasswordConfirm) {\n\t\t\tset_errors([\n\t\t\t\t{ErrorMessage: \"Please re-type your password correctly to confirm it.\"}\n\t\t\t])\n\t\t} else {\n\t\t\tconst paramObj = {OldPassword: oldPassword, NewPassword: newPassword}\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\t\tconst [_, _loginErrors] = await MyFfbfClientApi.Account.UpdatePassword(\n\t\t\t\tparamObj\n\t\t\t)\n\t\t\tif (_loginErrors.length > 0) set_errors(_loginErrors)\n\t\t\telse set_changeConfirmed(true)\n\t\t\tset_oldPassword(\"\")\n\t\t\tset_newPassword(\"\")\n\t\t\tset_newPasswordConfirm(\"\")\n\t\t}\n\t\tset_isLoading(false)\n\t}\n\n\tconst handleSubmitChangeLogin = async (event: React.FormEvent) => {\n\t\tevent.preventDefault()\n\t\tset_isLoading(true)\n\t\tset_errors([])\n\t\tif (newLogin !== newLoginConfirm) {\n\t\t\tset_errors([\n\t\t\t\t{ErrorMessage: \"Please re-type your login correctly to confirm it.\"}\n\t\t\t])\n\t\t} else {\n\t\t\tconst paramObj = {OldLogin: accountOverview!.UserAccount.EmailAddress, NewLogin: newLogin}\n\t\t\t\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\t\tconst [_, _loginErrors] = await MyFfbfClientApi.Account.UpdateLogin(\n\t\t\t\tparamObj\n\t\t\t)\n\t\t\t\n\t\t\tif (_loginErrors.length > 0) set_errors(_loginErrors)\n\t\t\t\n\t\t\telse set_changeConfirmed(true)\n\t\t\tset_newLogin(\"\")\n\t\t\tset_newLoginConfirm(\"\")\n\t\t}\n\t\tset_isLoading(false)\n\t}\n\n\n\treturn (\n\t\t<>\n\t\t\t{isLoading && }\n\t\t\t\n\t\t\t\tMy Account\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t{changeConfirmed && (\n\t\t\t\t\t\t\tYour password has been changed\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tOld Password\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t set_oldPassword(e.target.value)}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tNew Password\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t set_newPassword(e.target.value)}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tConfirm New Password\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t set_newPasswordConfirm(e.target.value)}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n \n )\n}\n\nexport default DeathBenefitAmount","import React from 'react'\nimport { MembershipSummary } from '../models/AccountOverview'\n\nconst MemberStatus:React.FC<{memSummary: MembershipSummary | undefined}> = (props) => {\n // // #898989 for everything but Current/ZBilled which uses 228422\n if (!props.memSummary) \n return <>\n\n const isCurrent = props.memSummary.MemberStatus === \"Current\"\n const showBilledText = isCurrent && props.memSummary.Balance > 0\n const htmlColor = isCurrent ? \"#228422\" : \"#898989\"\n\n return {props.memSummary.MemberStatus}{showBilledText ? \" (Billed)\" : \"\"}\n}\n\nexport default MemberStatus","import React, { useState, useEffect, useCallback } from \"react\"\nimport {Alert, Button, Col, Container, Row } from \"react-bootstrap\"\nimport { ContainsAuthExpiredError } from \"../../models/ErrorDetail\"\nimport { Link, Redirect, useParams } from \"react-router-dom\"\nimport OverlaySpinner from \"../../views/OverlaySpinner\"\nimport MyFfbfClientApi from '../../api/MyFfbfClientApi'\nimport memMeansMore from '../../images/dashboardSmallCarousel/memMeansMore.jpg'\nimport hireAg from '../../images/dashboardSmallCarousel/hireAg.jpg'\nimport buyers from '../../images/dashboardSmallCarousel/buyers.jpg'\nimport ford from '../../images/dashboardSmallCarousel/ford.jpg'\nimport fbbank from '../../images/dashboardSmallCarousel/fbbank.jpg'\nimport choiceHotel from '../../images/dashboardSmallCarousel/choiceHotel.jpg'\nimport AccountOverview from \"../../models/AccountOverview\"\nimport DeathBenefitAmount from \"../../views/DeathBenefitAmount\"\nimport MemberStatus from '../../views/MemberStatus'\n\nconst Dashboard: React.FC = () => {\n const { isLoading, errors, payload } = MyFfbfClientApi.Account.UseAccountOverview()\n\tconst accountOverview = payload\n const { isNewlyCreated } = useParams<{isNewlyCreated: string}>()\n\n\tif (ContainsAuthExpiredError(errors)) {\n return \n }\n if (accountOverview && accountOverview.MembershipSummary.IsTerminated) {\n return \n }\n\n return (\n
\n { isLoading && }\n
\n \n \n \n \n { isNewlyCreated && <>\n \n Thank you for joining our Farm Bureau Family!\n \n \n You will receive your new membership cards soon. If you need assistance regarding your membership, \n please call us at 352-374-1502 or email us at FFB-Member-Services@ffbf.org\n \n }\n \n \n \n \n \n \n \n
\n \"\"\n \"\"\n {false && //removing Voyager content due to delay in the contract. Replacing with aest\n <>\n\n \n \"\"\n \n \n }\n \"\"\n \"\"\n \"\"\n \"\"\n
\n \n
\n
\n
\n
\n )\n}\n\nexport default Dashboard\n\n\nconst BannerRotator = () => {\n const [visibleImgItemIndex, set_visibleImgItemIndex] = useState(0)\n\n const items = [\n { imgSrc: \"https://apps.floridafarmbureau.com/_cdn/img/WelcomeBannerCarousel.svg\", to: \"/myMembership/details\" },\n ]\n\n const showNext = useCallback(() => set_visibleImgItemIndex(i => (i < items.length - 1) ? (i + 1) : 0), [items.length])\n const showPrev = () => set_visibleImgItemIndex(i => (i > 0) ? (i - 1) : (items.length - 1))\n\n const getItem = () => {\n // This currently only animages the FIRST image in the gallery, need to work on it later.\n return \"\"\n }\n\n useEffect(() => {\n if (items.length < 2)\n return\n const timer = setInterval(() => showNext(), 4000)\n return () => clearInterval(timer)\n }, [showNext, items.length])\n\n return <>\n
\n { getItem() }\n { items.length > 1 && \n
\n \n \n
\n }\n
\n \n}\n\nconst GreetingMemSummary: React.FC<{accountOverview: AccountOverview | null}> = (props) => {\n return (\n
\n
\n Welcome\n
\n { props.accountOverview \n ? <>{props.accountOverview.MembershipSummary.FamilyName} Family \n : . }\n
\n
\n
\n
Member Number: { props.accountOverview?.MembershipSummary.MemberNumber }
\n
County: { props.accountOverview?.CountyOffice.Name }
\n
Next Renewal Date: { props.accountOverview?.MembershipSummary.NextRenewalDate }
\n
Member Status:
\n
Death Benefit: { props.accountOverview && }
\n
\n
\n { props.accountOverview && <>\n { props.accountOverview.MembershipSummary.Balance > 0 \n ?
Pay Dues Now
\n : <> \n }\n
My Membership
\n }\n
\n
\n )\n}\n\n\n\n","import React, { useState } from \"react\"\nimport { Button, Col, Container, Form, Modal, Row } from \"react-bootstrap\"\nimport { ContactType, ApiEmailAddress, ApiContact, GetMemberContactRoleLabel, MemberContactRole, ContactDemographicSummary, ContactPrefixes, ContactSuffixes, IndustryChoices } from \"../../models/ApiContact\"\nimport { ValidationSummary } from '../../views/MessageBoxes'\nimport { ContainsAuthExpiredError, ErrorDetail } from \"../../models/ErrorDetail\"\nimport MyFfbfClientApi from '../../api/MyFfbfClientApi'\nimport { Link, Redirect } from \"react-router-dom\"\nimport { ModalEvents } from \"../../Utilities\"\nimport AccountOverview from \"../../models/AccountOverview\"\n\ninterface EditContactModalProps {\n accountOverview: AccountOverview\n contactType: ContactType, \n contactRoleChoices: MemberContactRole[] | null, // passing this as null means you are EDITING a contact in the modal \n modalEvents: ModalEvents, // this signals modal saved/completed\n contact: ApiContact | null, // passing this as NULL means you are CREATING a new contact in the modal\n}\n\nconst EditContactModal: React.FC = (props) => {\n const [isLoading, set_isLoading] = useState(false);\n const [errors, set_errors] = useState([])\n \n // Contact Role, this is set/selected when ADDING a contact.\n const [selectedContactRole, set_selectedContactRole] = useState(props.contactRoleChoices ? props.contactRoleChoices[0] : null)\n\n const [firstName, set_firstName] = useState(props.contact?.FirstName ?? \"\")\n const [middleName, set_middleName] = useState(props.contact?.MiddleName ?? \"\")\n const [lastOrCompanyName, set_lastOrCompanyName] = useState(props.contact?.LastOrCompanyName ?? \"\")\n const [prefix, set_prefix] = useState(props.contact?.Prefix ?? \"\")\n const [suffix, set_suffix] = useState(props.contact?.Suffix ?? \"\")\n const [dateOfBirth, set_dateOfBirth] = useState(props.contact?.DateOfBirth ?? \"\")\n\n // Demographic data\n const [gender, set_gender] = useState(props.contact?.DemographicSummary?.GenderId ?? \"\")\n const [hispanic, set_hispanic] = useState(props.contact?.DemographicSummary?.HispanicId ?? \"\")\n const [ethnicity, set_ethnicity] = useState(props.contact?.DemographicSummary?.EthnicityId ?? \"\")\n const [industry, set_industry] = useState(props.contact?.DemographicSummary?.IndustryId ?? \"\")\n\n const [emailAddress, set_emailAddress] = useState(props.contact?.Email?.Address ?? \"\")\n const [phones, set_phones] = useState(props.contact?.Phones ?? [])\n\n const handlePhoneTypeChange = (index: number, event: any) => {\n const values = [...phones]\n values[index].Type = event.target.value\n set_phones(values);\n };\n\n const handlePhoneNumberChange = (index: number, event: any) => {\n const values = [...phones]\n values[index].Number = event.target.value\n set_phones(values);\n };\n\n const handleAddPhone = () => {\n const values = [...phones];\n values.push({ Number: \"\", Type: \"Home\", Id: \"\"});\n set_phones(values);\n };\n \n const handleRemovePhone = (index: number) => {\n const values = [...phones]\n values.splice(index, 1)\n set_phones(values)\n };\n\n const generateAddressObj = () => {\n // If we're editing an existing Contact, pass down the object\n // If we're creating a new Contact, copy the Primary Contact's address into a new address obj w/ no ID.\n if (props.contact) {\n return props.contact.Address\n }\n else {\n const primaryAddr = props.accountOverview.MembershipSummary.MemberContactMappings\n .filter(mcm => mcm.RoleLabel === \"Primary\")[0].Contact.Address\n return {\n Id: \"\",\n Line1: primaryAddr.Line1,\n Line2: primaryAddr.Line2,\n City: primaryAddr.City,\n StateAbbreviation: primaryAddr.StateAbbreviation,\n Zip: primaryAddr.Zip, \n }\n }\n }\n\n const generateEmailObj = () => {\n const email: ApiEmailAddress = {\n Id: props.contact?.Email?.Id ?? \"\",\n Address: emailAddress,\n }\n return email\n }\n\n const generateDemographicSummary = () => {\n const demographics: ContactDemographicSummary = {\n ContactId: props.contact?.Id ?? null,\n EthnicityId: ethnicity,\n GenderId: gender,\n HispanicId: hispanic,\n IndustryId: industry,\n\n // dont bother setting these, we don't read them during an update/insert anyway.\n GenderValue: \"\",\n EthnicityValue: \"\",\n HispanicValue: \"\",\n IndustryValue: \"\",\n }\n return demographics\n }\n\n\n\n const generateContactObjForSaving = () => {\n // build up new FlatContact\n const newContactVersion: ApiContact = {\n Id: props.contact?.Id ?? \"\",\n Email: generateEmailObj(),\n Address: generateAddressObj(),\n Phones: phones, \n FirstName: firstName,\n MiddleName: middleName,\n LastOrCompanyName: lastOrCompanyName,\n DateOfBirth: dateOfBirth,\n Prefix: prefix,\n Suffix: suffix,\n Discriminator: props.contactType,\n DemographicSummary: generateDemographicSummary()\n }\n return newContactVersion;\n }\n\n const handleSubmit = async (event: React.FormEvent) => {\n event.preventDefault()\n set_isLoading(true)\n const contact = generateContactObjForSaving()\n const paramObj = { RoleLabel: selectedContactRole!, ContactToUpdate: contact }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [_, _errors] = await MyFfbfClientApi.MemberContacts.SaveMemberContact(paramObj)\n if (_errors.length > 0) {\n\t\t\tset_errors(_errors)\n\t\t\tset_isLoading(false)\n\t\t}\n else {\n props.modalEvents.ModalSharedDataUpdateEvent()\n props.modalEvents.ModalCompletedEvent()\n }\n }\n\n if (ContainsAuthExpiredError(errors)) {\n return \n }\n\n return <>\n \n
\n \n { props.contact ? \"Edit\" : \"Add New\" } Contact\n \n \n \n \n {/* Only show the Relationship dropdown if we are ADDING a Contact */}\n {!props.contact && \n \n Relationship\n \n \n \n \n set_selectedContactRole(e.target.value as MemberContactRole)}>\n {props.contactRoleChoices && props.contactRoleChoices.map(role => {\n // eslint-disable-next-line no-lone-blocks\n {/* Don't add a default value here or the cast to MemberContactRole will error */}\n return \n })}\n \n \n \n \n \n \n }\n \n \n
Name
\n \n \n \n \n { props.contactType === \"Person\" ? \n <>\n \n Prefix\n set_prefix(e.target.value)}>\n \n { ContactPrefixes.map(p => ) }\n \n \n \n First Name*\n set_firstName(e.target.value)} />\n \n \n Middle Name\n set_middleName(e.target.value)} />\n \n \n Last Name*\n set_lastOrCompanyName(e.target.value)} />\n \n \n Suffix\n set_suffix(e.target.value)}>\n \n { ContactSuffixes.map(p => ) }\n \n \n : <>\n {/* Company Contact fields here */}\n \n set_lastOrCompanyName(e.target.value)} />\n \n \n }\n \n \n \n
\n \n \n Email\n \n \n \n \n set_emailAddress(e.target.value)} />\n \n \n \n \n \n\n \n Phones\n \n \n {phones.map((phone, index) => (\n \n \n handlePhoneTypeChange(index, event)}>\n \n \n \n \n \n \n handlePhoneNumberChange(index, event)} /> \n \n \n \n \n \n ))}\n \n \n \n \n \n \n \n \n\n \n Industry\n \n \n \n \n set_industry(e.target.value)}>\n \n { IndustryChoices.map(i => ) }\n \n \n \n \n \n \n\n \n {/* Extra cols for person contact here */}\n { props.contactType === \"Person\" ? \n <>\n \n \n set_dateOfBirth(e.target.value)} />\n \n \n \n set_gender(e.target.value)}>\n \n \n \n \n \n \n \n \n set_hispanic(e.target.value)}>\n \n \n \n \n \n \n \n \n set_ethnicity(e.target.value)}>\n \n \n \n \n \n \n \n \n \n \n : <> }\n \n \n
\n
\n \n { isLoading \n ? \n : }\n \n
\n
\n \n}\n\nexport default EditContactModal","import React, { useState } from 'react'\nimport { Button, Modal } from \"react-bootstrap\"\nimport { ContainsAuthExpiredError, ErrorDetail } from \"../../models/ErrorDetail\"\nimport { ValidationSummary } from '../../views/MessageBoxes'\nimport MyFfbfClientApi from '../../api/MyFfbfClientApi'\nimport { Redirect } from 'react-router'\nimport { ModalEvents } from '../../Utilities'\n\ninterface RemoveContactModalProps {\n modalEvents: ModalEvents, // this signals modal saved/completed\n contactId: string\n}\n\nconst RemoveContactModal: React.FC = (props) => {\n const [loading, set_loading] = useState(false)\n const [errors, set_errors] = useState([])\n\n const doRemoval = async () => { \n set_loading(true)\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [_, _errors] = await MyFfbfClientApi.MemberContacts.RemoveMemberContact({ ContactIdToRemove: props.contactId })\n\t\tif (_errors.length > 0) {\n\t\t\tset_errors(_errors)\n set_loading(false)\n\t\t}\n\t\telse {\n set_loading(false)\n props.modalEvents.ModalSharedDataUpdateEvent()\n\t\t}\n }\n\n if (ContainsAuthExpiredError(errors)) {\n return \n }\n\n return <>\n \n \n Warning\n \n \n \n
Are you sure you want to remove this Contact from the Membership?
\n
\n \n { loading \n ?
\n \n
\n :
\n \n {\" \"}\n
\n }\n
\n
\n \n}\n\nexport default RemoveContactModal","import React, { useState } from \"react\"\nimport AccountOverview from \"../../models/AccountOverview\"\nimport { ApiContact, GetName, MemberContactRole } from '../../models/ApiContact'\nimport EditContactModal from \"./EditContactModal\"\nimport RemoveContactModal from \"./RemoveContactModal\"\nimport { ModalEvents, toFormatedPhone } from '../../Utilities'\n// import { SmallMetroCard } from \"../../views/MetroCard\"\n// import RequestCardModal from './RequestCardModal'\n// import PrintCardModal from './PrintCardModal'\n\ninterface ContactCardProps {\n accountOverview: AccountOverview,\n contactRole: MemberContactRole, \n // this needs to be envoked by this Component when this Component is done finishing/cancelling any of its Modals.\n modalEvents: ModalEvents, \n // passing this as NULL means you are CREATING a new contact instead of EDITING this one\n contact: ApiContact, \n}\n\nconst ContactCard: React.FC = (props) => {\n const [showEditContactModal, set_showEditContactModal] = useState(false)\n const [showRemoveContactModal, set_showRemoveContactModal] = useState(false)\n\n // Daisy-chaining the Modal events together because we want the modals here to close and trigger\n // a re-freshing of the data backk all the way in ManageContacts.tsx via the ModalSharedDataUpdateEvent()\n const modalEvents: ModalEvents = {\n ModalCompletedEvent: () => {\n set_showEditContactModal(false)\n set_showRemoveContactModal(false)\n props.modalEvents.ModalCompletedEvent()\n },\n ModalSharedDataUpdateEvent: () => {\n props.modalEvents.ModalSharedDataUpdateEvent()\n }\n }\n\n const showRemoveButton = props.contactRole !== \"Primary\" && props.contact.Id !== props.accountOverview.UserAccount.Contact.Id\n\n // Halee wants this to be shown as 'Child' for tertiary/other contact roles\n const contactRoleLabel = props.contactRole === \"Other\" ? \"Child\" : props.contactRole\n\n return <>\n
\n
\n
{ GetName(props.contact) }, { contactRoleLabel }
\n
\n
\n { props.contact.Phones.map(p =>
{toFormatedPhone(p.Number)} {p.Type}
) }\n { props.contact.Phones.length === 0 && <>(no phone on file) }\n
\n
\n { props.contact.Email?.Address ?? <>(no email on file) }\n
\n
\n \n { showRemoveButton && \n <> | }\n
\n
\n
\n
\n { showRemoveContactModal && \n }\n\n { showEditContactModal && \n } \n
\n
\n \n}\n\nexport default ContactCard","import React from 'react'\n\ntype metroCardProps = {memberNumber: string, name: string, memberClass: string, county: string}\n\nexport const MetroCard = React.forwardRef((props, ref) => { \n return <>\n
\n \"\"\n
{props.memberNumber}
\n
Member Name: {props.name}
\n
= 20?{fontSize: \"12px\", paddingTop: \"3px\", position:\"absolute\", left: \"120px\", top: \"139px\"}:\n {position:\"absolute\", left: \"120px\", top: \"139px\"}}>\n {props.memberClass}\n
\n
{props.county}
\n
\n \n})","import React, { useRef, useState } from 'react'\nimport { Button, Modal } from \"react-bootstrap\"\nimport { useReactToPrint } from 'react-to-print'\nimport { ModalEvents } from '../../Utilities'\nimport { MetroCard } from '../../views/MetroCard'\n\nconst PrintCardModal: React.FC<{modalEvents: ModalEvents, memberNumber: string, name: string, memberClass: string, county: string}> = (props) => {\n const [printedAtLeastOnce, set_printedAtLeastOnce] = useState(false)\n\n const handlePrint = useReactToPrint({\n content: () => componentRef?.current ?? null\n });\n\n const handleFinished = async () => {\n props.modalEvents.ModalCompletedEvent()\n }\n const componentRef = useRef(null)\n \n if(!componentRef){\n return <>\n }\n return <>\n \n \n Print Membership Card\n \n \n \n \n \n
\n \n\n { printedAtLeastOnce &&\n <>  \n }\n \n
\n
\n
\n \n}\n\nexport default PrintCardModal\n","import React, { useState } from 'react'\nimport { Button, Modal } from \"react-bootstrap\"\nimport { ErrorDetail } from \"../../models/ErrorDetail\"\nimport { ValidationSummary } from '../../views/MessageBoxes'\nimport MyFfbfClientApi from '../../api/MyFfbfClientApi'\nimport { ModalEvents } from '../../Utilities'\n\ninterface RequestCardModalProps {\n modalEvents: ModalEvents // this signals modal saved/completed\n contactName: string\n memberNumber: string\n}\n\nconst RequestCardModal: React.FC = (props) => {\n const [loading, set_loading] = useState(false)\n const [errors, set_errors] = useState([])\n const [success, set_success] = useState(false)\n \n const doNewCardRequest = async () => {\n set_loading(true)\n set_errors([])\n var paramObj = {\n ContactName: props.contactName,\n MemberNumber: props.memberNumber\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [_, _errors] = await MyFfbfClientApi.MemberContacts.RequestReplacementCard(paramObj)\n\t\tif (_errors.length > 0) {\n\t\t\tset_errors(_errors)\n\t\t}\n\t\telse {\n set_success(true)\n\t\t}\n set_loading(false)\n }\n\n return <>\n \n \n Request Replacement Card\n \n\n { !success && <>\n \n \n
Would you like to request a new Membership Card?
\n

We will mail you a new Membership Card within 7-10 business days.

\n
\n \n { loading \n ?
\n \n
\n :
\n \n {\" \"}\n
\n }\n
\n }\n\n { success && <>\n \n
Your card has been request!
\n
\n \n \n \n }\n \n
\n \n}\n\nexport default RequestCardModal","import React, { useState } from 'react'\nimport { Button, Col, Container, Form, Modal, Row } from \"react-bootstrap\"\nimport { ModalEvents } from '../../Utilities'\nimport { ApiContact, ApiMailingAddress, SaveMemberContactRequest, USStates } from \"../../models/ApiContact\"\nimport { ContainsAuthExpiredError, ErrorDetail } from \"../../models/ErrorDetail\"\nimport MyFfbfClientApi from '../../api/MyFfbfClientApi'\nimport { Redirect } from 'react-router'\n\nconst EditAddessModal: React.FC<{modalEvents: ModalEvents, primaryContact: ApiContact}> = (props) => {\n const [isLoading, set_isLoading] = useState(false);\n const [errors, set_errors] = useState([])\n\n const [line1, set_line1] = useState(props.primaryContact.Address.Line1)\n const [line2, set_line2] = useState(props.primaryContact.Address.Line2)\n const [city, set_city] = useState(props.primaryContact.Address.City)\n const [state, set_state] = useState(props.primaryContact.Address.StateAbbreviation)\n const [zip, set_zip] = useState(props.primaryContact.Address.Zip)\n\n const generateAddressObj = (): ApiMailingAddress => {\n return {\n Id: props.primaryContact.Address.Id,\n Line1: line1,\n Line2: line2,\n City: city,\n StateAbbreviation: state,\n Zip: zip, \n }\n }\n\n const handleSubmit = async (event: React.FormEvent) => {\n event.preventDefault()\n set_isLoading(true)\n\n // Editing the address really means editing the PRIMARY CONTACT and mutating their address and then saving.\n props.primaryContact.Address = generateAddressObj()\n const paramObj: SaveMemberContactRequest = { RoleLabel: \"Primary\", ContactToUpdate: props.primaryContact }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [_, _errors] = await MyFfbfClientApi.MemberContacts.SaveMemberContact(paramObj)\n if (_errors.length > 0) {\n\t\t\tset_errors(_errors)\n\t\t}\n else {\n props.modalEvents.ModalSharedDataUpdateEvent()\n props.modalEvents.ModalCompletedEvent()\n }\n set_isLoading(false)\n }\n\n if (ContainsAuthExpiredError(errors)) {\n return \n }\n\n return <>\n \n
\n \n Edit Your Mailing Address!\n \n \n \n \n Address Line 1\n \n set_line1(e.target.value)} />\n \n \n \n Address Line 2\n \n set_line2(e.target.value)} />\n \n \n \n City\n \n set_city(e.target.value)} />\n \n \n \n State\n \n set_state(e.target.value)}>\n \n { USStates.map(s => ) }\n \n \n \n \n Zip (5-digit)\n \n set_zip(e.target.value)} />\n \n \n \n \n \n \n
\n { isLoading \n ? \n : }\n
\n
\n
\n
\n \n}\n\nexport default EditAddessModal","import React, { useState, useEffect } from \"react\"\nimport AccountOverview from '../../models/AccountOverview'\nimport MyFfbfClientApi from '../../api/MyFfbfClientApi'\nimport { Redirect } from \"react-router-dom\"\nimport { ContainsAuthExpiredError, ErrorDetail } from \"../../models/ErrorDetail\"\nimport ContactCard from '../manageContacts/ContactCard'\nimport { ContactType, MemberContactRole, GetName } from \"../../models/ApiContact\"\nimport { Button } from \"react-bootstrap\"\nimport EditContactModal from \"./EditContactModal\"\nimport { LoadingMessageBox } from \"../../views/MessageBoxes\"\nimport PrintCardModal from './PrintCardModal'\nimport RequestCardModal from './RequestCardModal'\nimport EditAddessModal from './EditAddressModal'\nimport { ModalEvents } from \"../../Utilities\"\nimport { MetroCard } from \"../../views/MetroCard\"\n\nconst ManageContacts = () => {\n const [loading, set_loading] = useState(true)\n const [errors, set_errors] = useState([])\n const [accountOverview, set_accountOverview] = useState(null)\n\n // Looks weird, but new Date().getDate() returns TICKS since Epoch.\n // We update this when a modal is closed. We use this as a dependency for loading AccountOverview,\n // so that we re-load Account Overview from the server when any modal from the ContactCard is closed.\n const [ticks, set_ticks] = useState(new Date().getTime())\n\n const [addContactModalData, set_addContactModalData] = useState<{contactType: ContactType,contactRoleChoices: MemberContactRole[]} | null>(null)\n\n // Request/Print card modals\n const [showPrintCardModal, set_showPrintCardModal] = useState(false)\n const [showRequestCardModal, set_showRequestCardModal] = useState(false)\n const [showAddressEditModal, set_showAddressEditModal] = useState(false)\n\n // At component load, fetch the AccountOveriew. Don't use 'UseAccountOverview' because we want to \n // re-fetch this when the ContactCard Modal's are done with their transactions.\n // The ContactCard modals all signal when they are done via the onCompletedCallbackFunc.\n // Pass in the ticks as a dependency so that this function will be re-ran when the ticks change.\n useEffect(() => {\n async function fetchData() {\n set_loading(true)\n const [_acctOvrview, _errors] = await MyFfbfClientApi.Account.GetAccountOverview()\n if (_errors.length > 0)\n set_errors(_errors)\n else {\n set_accountOverview(_acctOvrview!)\n }\n set_loading(false)\n }\n fetchData()\n }, [ticks])\n\n const contactMappings = accountOverview?.MembershipSummary.MemberContactMappings ?? []\n const isBusiness = accountOverview?.MembershipSummary.IsBusinessMembership ?? []\n\n const primaryContactMapping = contactMappings.filter(cm => cm.RoleLabel === \"Primary\")[0]\n const secondaryContactMapping = contactMappings.filter(cm => cm.RoleLabel === \"Secondary\")[0]\n const childContactsMappings = contactMappings.filter(cm => cm.RoleLabel === \"Other\")\n\n const generateContactRoleChoice = () => {\n let _contactRoleChoices: MemberContactRole[] = []\n\n if (contactMappings.filter(cm => cm.RoleLabel === \"Secondary\").length === 0)\n _contactRoleChoices.push(\"Secondary\")\n\n if (!isBusiness)\n _contactRoleChoices.push(\"Other\")\n\n return _contactRoleChoices\n }\n\n\n if (ContainsAuthExpiredError(errors)) {\n return \n }\n\n // Any time any of the various Modals that can pop up from inside the ContactCard are done with their work\n // (which means they are completed OR cancelled by user), then we want to re-fetch the Account Overview\n // from the server, since the Modals (like the contact add/edit) can change the data rendered in this component.\n // This function resets the addContact modal data obj, and also updates the TICKs so that the accoutOverview\n // is re-fetched (because the ticks are in the dependency array of the useState() func).\n const modalEvents: ModalEvents = {\n ModalCompletedEvent: () => {\n set_addContactModalData(null)\n set_showPrintCardModal(false)\n set_showRequestCardModal(false)\n set_showAddressEditModal(false)\n },\n ModalSharedDataUpdateEvent: () => {\n console.log(ticks)\n set_ticks(_ticks => { return new Date().getTime() })\n // Updating ticks above will re-run the useEffect(()=>,[ticks]) function.\n }\n }\n\n const handleAddClick = () => {\n set_addContactModalData({ contactType : isBusiness ? \"Company\" : \"Person\", contactRoleChoices: generateContactRoleChoice() })\n }\n\n const contactLabel = accountOverview?.MembershipSummary.IsBusinessMembership ? \"Contact\" : \"Family Member\"\n\n if (loading)\n return \n\n if (accountOverview) {\n return <>\n
\n { primaryContactMapping && \n }\n\n { secondaryContactMapping\n ? \n\n : }\n\n
\n\n
\n { childContactsMappings.map(cm => \n ) } \n \n
\n\n
\n

Your Mailing Address

\n
\n
\n { GetName(primaryContactMapping.Contact) }
\n { primaryContactMapping.Contact.Address.Line1 }
\n { primaryContactMapping.Contact.Address.Line2 && \n <>{ primaryContactMapping.Contact.Address.Line2 }
}\n { primaryContactMapping.Contact.Address.City } \n { primaryContactMapping.Contact.Address.StateAbbreviation } \n { primaryContactMapping.Contact.Address.Zip }\n
\n
\n \n
\n
\n
\n \n
\n

Card Preview

\n
\n
\n \n
\n
\n \n \n
\n
\n
\n\n {/* \"Add Contact\" Modal here - its named \"EditContactModal\" but since we're passing in contact={null} then its in 'Add' mode. */}\n
\n { addContactModalData && \n }\n\n { showPrintCardModal && \n }\n\n { showRequestCardModal && \n }\n\n { showAddressEditModal &&\n }\n\n
\n \n }\n\n return <>\n}\n\nexport default ManageContacts","import React, {useState} from \"react\"\nimport PageHeading from \"../../views/PageHeading\"\nimport MyFfbfClientApi from \"../../api/MyFfbfClientApi\"\nimport {MyMembershipPageTabs} from \"../../views/myMembership/MyMembershipPageTabs\"\nimport {Button, Col, Container, Modal, Row} from \"react-bootstrap\"\nimport {HideEzPaySignupPathways} from \"../../models/AccountOverview\"\nimport {Link, Redirect} from \"react-router-dom\"\nimport DeathBenefitAmount from \"../../views/DeathBenefitAmount\"\nimport ManageContacts from \"../manageContacts/ManageContacts\"\nimport {ContainsAuthExpiredError} from \"../../models/ErrorDetail\"\nimport MemberStatus from \"../../views/MemberStatus\"\n\nconst Details: React.FC = () => {\n\tconst {errors, payload} = MyFfbfClientApi.Account.UseAccountOverview()\n\tconst accountOverview = payload\n\n\tconst [showModal, set_showModal] = useState(false)\n\t// remove top table border because its ugly right under the pageTabs\n\tconst style = {borderTopWidth: \"0\"}\n\n\tif (ContainsAuthExpiredError(errors)) {\n\t\treturn \n\t}\n\tif (accountOverview && accountOverview.MembershipSummary.IsTerminated) {\n\t\treturn \n\t}\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\tMy Membership\n\t\t\t\n\t\t\t\n\t\t\t\t{accountOverview && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
Member Number\n\t\t\t\t\t\t\t\t\t\t\t\t#{accountOverview.MembershipSummary.MemberNumber}\n\t\t\t\t\t\t\t\t\t\t\t
Member Type\n\t\t\t\t\t\t\t\t\t\t\t\t{accountOverview.MembershipSummary.MemberClassDescription}\n\t\t\t\t\t\t\t\t\t\t\t
Member Status\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
Next Renewal Date\n\t\t\t\t\t\t\t\t\t\t\t\t{accountOverview.MembershipSummary.NextRenewalDate}\n\t\t\t\t\t\t\t\t\t\t\t
Membership Dues Plan\n\t\t\t\t\t\t\t\t\t\t\t\t{accountOverview.MembershipSummary.DuesPlan}\n\t\t\t\t\t\t\t\t\t\t\t\t{accountOverview.MembershipSummary.DuesPlanIsEZPay ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tWe will automatically bill your card on file each\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tyear on your Due Date.\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
Accidental Death Benefit\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t
\n\n\t\t\t{showModal && (\n\t\t\t\t set_showModal(false)}\n\t\t\t\t\tanimation={false}\n\t\t\t\t\tdismissable>\n\t\t\t\t\t\n\t\t\t\t\t\tMembership Dues Plans\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t

Pay as you go

\n\t\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t\t\tPayments made by member on an annual basis. You will receive\n\t\t\t\t\t\t\t\t\t\tan annual membership dues notice 30 days before your renewal\n\t\t\t\t\t\t\t\t\t\tdate.\n\t\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t

EZ Pay

\n\t\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t\t\tYour annual membership dues will be automatically paid via a\n\t\t\t\t\t\t\t\t\t\tcredit card on file. You will receive notices 60 days and 30\n\t\t\t\t\t\t\t\t\t\tdays prior to the charge being made.{\" \"}\n\t\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t\t{!HideEzPaySignupPathways(accountOverview) && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tSign up for EZ Pay now!\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\n\t\t\t)}\n\t\t
\n\t)\n}\n\nexport default Details\n","import React from 'react'\nimport { toMoney } from '../../src/Utilities'\n\nconst CurrentDuesStatement: React.FC<{countyName: string, nextDuesAmount: number}> = (props) => {\n return <>\n Currently, {props.countyName} annual dues are {toMoney(props.nextDuesAmount)} per year.\n \n}\n\nexport default CurrentDuesStatement","import {CardElement, Elements, ElementsConsumer} from \"@stripe/react-stripe-js\"\nimport {loadStripe, Stripe, StripeElements} from \"@stripe/stripe-js\"\nimport React, {useEffect, useState} from \"react\"\nimport {Alert, Button, Col, Container, Form, Row} from \"react-bootstrap\"\nimport {Redirect} from \"react-router-dom\"\nimport MyFfbfClientApi from \"../../api/MyFfbfClientApi\"\nimport AccountOverview, {GetNextDuesAmount} from \"../../models/AccountOverview\"\nimport {ContainsAuthExpiredError, ErrorDetail} from \"../../models/ErrorDetail\"\nimport {RecurringDuesSignupDetail} from \"../../models/PaymentDetail\"\nimport {toMoney, StripeUtilities} from \"../../Utilities\"\nimport CurrentDuesStatement from \"../../views/CurrentDuesStatement\"\nimport {\n\tEZPaySignupConfirmation,\n\tEZPayTermsAndConditionsModal\n} from \"../../views/EZPayAlerts\"\nimport {ValidationSummary} from \"../../views/MessageBoxes\"\nimport {MyMembershipPageTabs} from \"../../views/myMembership/MyMembershipPageTabs\"\nimport OverlaySpinner from \"../../views/OverlaySpinner\"\nimport PageHeading from \"../../views/PageHeading\"\n\nexport default function EZPayEdit() {\n\tconst [accountOverview, set_accountOverview] =\n\t\tuseState(null)\n\tconst [errors, set_errors] = useState([])\n\tconst [publicKey, set_publicKey] = useState(\"\")\n\n\tuseEffect(() => {\n\t\tasync function fetchData() {\n\t\t\tconst [_acctOvrview, _errors] =\n\t\t\t\tawait MyFfbfClientApi.Account.GetAccountOverview()\n\t\t\tif (_errors.length > 0) set_errors(_errors)\n\t\t\telse {\n\t\t\t\tset_accountOverview(_acctOvrview!)\n\t\t\t\tconsole.log(\"fetch done\")\n\t\t\t}\n\t\t\tvar [_key, _error] = await MyFfbfClientApi.Admin.GetPublicKey()\n\t\t\tif (_error.length === 0) {\n\t\t\t\tset_publicKey(_key?.Key ?? \"\")\n\t\t\t} else {\n\t\t\t\tset_errors(_error)\n\t\t\t}\n\t\t}\n\t\tfetchData()\n\t}, [])\n\n\tif (!publicKey) {\n\t\treturn <>\n\t}\n\tconst stripePromise = loadStripe(publicKey)\n\n\tif (ContainsAuthExpiredError(errors)) {\n\t\treturn \n\t}\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\tMy Membership\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{accountOverview && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{({stripe, elements}) => (\n\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t{stripe && elements && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}{\" \"}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t)\n}\n\nconst EZPayEditForm: React.FC<{\n\taccountOverview: AccountOverview\n\tstripe: Stripe\n\telements: StripeElements\n}> = props => {\n\tconst [errors, set_errors] = useState([])\n\tconst [isLoading, set_isLoading] = useState(false)\n\tconst [signupConfirmed, set_signupConfirmed] = useState(false)\n\n\t// temp variables for brevity\n\tconst countyName = props.accountOverview.CountyOffice.Name ?? \"\"\n\tconst nextDuesAmount = GetNextDuesAmount(props.accountOverview)\n\tconst allowPacContributions =\n\t\tprops.accountOverview.MembershipSummary.AllowPacContributions\n\tconst memberCountyAllowsCountyPac =\n\t\tprops.accountOverview.CountyOffice.CountyPacContributionAmount !== null\n\tconst countyPacAmount =\n\t\tprops.accountOverview.CountyOffice.CountyPacContributionAmount ?? 0\n\tconst statePacAmount =\n\t\tprops.accountOverview.CountyOffice.StatePacContributionAmount ?? 0\n\tconst countyPacLabelText = !memberCountyAllowsCountyPac\n\t\t? \"\"\n\t\t: `$${countyPacAmount}.00 donation to FarmPAC for ${countyName} County Farm Bureau`\n\tconst statePacLabelText = `$${statePacAmount}.00 donation to FarmPAC for Florida Farm Bureau Federation`\n\tconst currentEZPaySignup =\n\t\tprops.accountOverview.MembershipSummary.ActiveRecurringDuesSignup\n\tconst donateToSPACDefaultChoice =\n\t\tcurrentEZPaySignup?.IncludesStatePacContribution ?? allowPacContributions\n\tconst donateToCPacDefaultChoice =\n\t\tcurrentEZPaySignup?.IncludesCountyPacContribution ?? allowPacContributions\n\n\t// UI choices - Default the PACs to YES unless user is editing an existing EZPay signup,\n\t// in which case use the pac settings on that signup for the default state\n\tconst [donateToStatePac, set_donateToStatePac] = useState(\n\t\tdonateToSPACDefaultChoice\n\t)\n\tconst [donateToCountyPac, set_donateToCountyPac] = useState(\n\t\tmemberCountyAllowsCountyPac && donateToCPacDefaultChoice\n\t)\n\n\tconst nextEZPayTotalAmount =\n\t\tnextDuesAmount +\n\t\t(donateToStatePac ? statePacAmount : 0) +\n\t\t(donateToCountyPac ? countyPacAmount : 0)\n\n\tconst handleSubmit = async (event: React.FormEvent) => {\n\t\tevent.preventDefault()\n\t\tset_isLoading(true)\n\t\tset_errors([])\n\t\tconst card = props.elements.getElement(CardElement)\n\t\tif (!card) set_errors([{ErrorMessage: StripeUtilities.genericErrorMsg}])\n\t\telse {\n\t\t\tconst tokenResult = await props.stripe.createToken(card)\n\t\t\tif (tokenResult.error) {\n\t\t\t\tconsole.log(tokenResult.error.message)\n\t\t\t\tset_errors([\n\t\t\t\t\t{\n\t\t\t\t\t\tErrorMessage:\n\t\t\t\t\t\t\ttokenResult.error!.message ?? StripeUtilities.genericErrorMsg\n\t\t\t\t\t}\n\t\t\t\t])\n\t\t\t} else {\n\t\t\t\tvar paramObj: RecurringDuesSignupDetail = {\n\t\t\t\t\tIncludeCountyPac: donateToCountyPac,\n\t\t\t\t\tIncludeStatePac: donateToStatePac,\n\t\t\t\t\tStripeToken: tokenResult.token.id\n\t\t\t\t}\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\t\t\tconst [_, _errors] =\n\t\t\t\t\tawait MyFfbfClientApi.Payment.BeginRecurringDuesSignupWithoutPayment(\n\t\t\t\t\t\tparamObj\n\t\t\t\t\t)\n\t\t\t\tif (_errors.length > 0) set_errors(_errors)\n\t\t\t\telse set_signupConfirmed(true)\n\t\t\t}\n\t\t}\n\t\tset_isLoading(false)\n\t}\n\n\tif (signupConfirmed) {\n\t\treturn \n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{isLoading && }\n\n\t\t\t\n\t\t\t\tThe following information will be authorized to be used for the payment\n\t\t\t\tof your county Farm Bureau membership dues.\n\t\t\t\t
\n\t\t\t\tYou will receive a reminder email 60 days prior to your renewal due\n\t\t\t\tdate.\n\t\t\t\t\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t\tMembership has never been easier! Add your card to your profile for\n\t\t\t\t\tautomatic renewal of your membership every year on your due date.\n\t\t\t\t

\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tCard Details\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tCounty Dues Amount\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t{allowPacContributions && (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tOptional Contributions\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t set_donateToStatePac(!donateToStatePac)}\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t{memberCountyAllowsCountyPac && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t set_donateToCountyPac(!donateToCountyPac)}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tTotal Amount per Year\n\t\t\t\t\t\n\t\t\t\t\t{toMoney(nextEZPayTotalAmount)}\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\n\t\t\n\t)\n}\n","import React, {useState} from \"react\"\nimport PageHeading from \"../../views/PageHeading\"\nimport MyFfbfClientApi from \"../../api/MyFfbfClientApi\"\nimport {ContainsAuthExpiredError, ErrorDetail} from \"../../models/ErrorDetail\"\nimport {MyMembershipPageTabs} from \"../../views/myMembership/MyMembershipPageTabs\"\nimport {Link, Redirect} from \"react-router-dom\"\nimport {HideEzPaySignupPathways} from \"../../models/AccountOverview\"\nimport {Alert, Button, Col, Container, Modal, Row, Table} from \"react-bootstrap\"\nimport {EZPayTermsAndConditionsModal} from \"../../views/EZPayAlerts\"\nimport CurrentDuesStatement from \"../../views/CurrentDuesStatement\"\nimport {GetNextDuesAmount} from \"../../models/AccountOverview\"\nimport {toMoney} from \"../../Utilities\"\nimport PaymentTermsAndConditions from \"../../views/PaymentTermsAndConditions\"\nimport {ValidationSummary} from \"../../views/MessageBoxes\"\n\nexport default function EZPaySummary() {\n\tconst {errors, payload} = MyFfbfClientApi.Account.UseAccountOverview()\n\tconst accountOverview = payload\n\n\tconst [showUnenrollModal, set_showUnenrollModal] = useState(false)\n\tconst [justUnenrolled, set_justUnenrolled] = useState(false)\n\tconst [unenrollmentLoading, set_unenrollmentLoading] = useState(false)\n\tconst [unenrollmentErrors, set_unenrollmentErrors] = useState(\n\t\t[]\n\t)\n\n\tif (ContainsAuthExpiredError(errors)) {\n\t\treturn \n\t}\n\n\t// If user doesn't have an active EZPay subscription, redirect them to the form to signup\n\tif (accountOverview && !accountOverview.MembershipSummary.DuesPlanIsEZPay) {\n\t\tif (HideEzPaySignupPathways(accountOverview)) {\n\t\t\treturn \n\t\t} else {\n\t\t\treturn \n\t\t}\n\t}\n\n\tconst statePacAmount =\n\t\taccountOverview?.CountyOffice.StatePacContributionAmount ?? 0\n\tconst countyName = accountOverview?.CountyOffice.Name ?? \"\"\n\tconst countyHasPac =\n\t\taccountOverview?.CountyOffice.CountyPacContributionAmount ?? false\n\tconst countyPacAmount =\n\t\taccountOverview?.CountyOffice.CountyPacContributionAmount ?? 0\n\tconst ezPaySignup =\n\t\taccountOverview?.MembershipSummary?.ActiveRecurringDuesSignup\n\tconst includeStatePac = ezPaySignup?.IncludesStatePacContribution ?? false\n\tconst includeCountyPac =\n\t\t(ezPaySignup?.IncludesCountyPacContribution && countyHasPac) ?? false\n\tconst nextDuesAmount = GetNextDuesAmount(accountOverview)\n\tconst email = accountOverview?.UserAccount.EmailAddress ?? \"\"\n\n\tconst nextEZPayTotalAmount =\n\t\tnextDuesAmount +\n\t\t(includeStatePac ? statePacAmount : 0) +\n\t\t(includeCountyPac ? countyPacAmount : 0)\n\n\tconst doUnenrollment = async () => {\n\t\tset_unenrollmentLoading(true)\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\tconst [_, _errors] = await MyFfbfClientApi.Payment.EndRecurringDuesSignup()\n\t\tif (_errors.length > 0) {\n\t\t\tset_unenrollmentErrors(_errors)\n\t\t\tset_unenrollmentLoading(false)\n\t\t} else {\n\t\t\tset_justUnenrolled(true)\n\t\t\tset_showUnenrollModal(false)\n\t\t}\n\t}\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\tMy Membership\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{justUnenrolled && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tYou have removed the card on file for Membership EZ-Pay.\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t\t\tClick here to{\" \"}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tput another card on file\n\t\t\t\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t\t\t\tfor your next dues payment if you don't want the hassle of\n\t\t\t\t\t\t\t\t\t\tremembering to pay your annual dues..\n\t\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{accountOverview && !justUnenrolled && ezPaySignup && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tThe following information has been authorized to be used for\n\t\t\t\t\t\t\t\t\tthe payment of your county Farm Bureau membership dues.\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\tYou will receive a reminder email 60 days prior to your\n\t\t\t\t\t\t\t\t\trenewal due date.\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
Last 4 of Card on File: ************{ezPaySignup.DefaultCardLast4}
County Dues Amount: \n\t\t\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\t\t  (1)\n\t\t\t\t\t\t\t\t\t\t\t
Optional Contributions: \n\t\t\t\t\t\t\t\t\t\t\t\t{includeStatePac && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{toMoney(statePacAmount)} donation to FarmPAC for\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tFlorida Farm Bureau Federation\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t  (2, 3)\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t\t\t\t\t{includeCountyPac && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{toMoney(countyPacAmount)} donation to FarmPAC for{\" \"}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{countyName} County Farm Bureau\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t  (2, 3)\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t\t\t\t\t{!includeStatePac && !includeCountyPac && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tNo FarmPAC contributions selected\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t  (2, 3)\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t
Total Amount Per Year: {toMoney(nextEZPayTotalAmount)}
Your Email Address: {email}
\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tDo you need to cancel or update the EZ-Pay Information\n\t\t\t\t\t\t\t\t\t\tabove?\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\tYou can take yourself off the automatic payment schedule at\n\t\t\t\t\t\t\t\t\t\tany time by clicking the \"Unenroll me from Membership\n\t\t\t\t\t\t\t\t\t\tEZ-Pay\" button below. If you'd like to alter the card on\n\t\t\t\t\t\t\t\t\t\tfile, or your optional contributions, then click the \"I need\n\t\t\t\t\t\t\t\t\t\tto update my payment information\" button below.\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tI need to update my payment information\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t    \n\t\t\t\t\t\t\t\t\t\t set_showUnenrollModal(true)}>\n\t\t\t\t\t\t\t\t\t\t\tUnenroll me from Membership EZ-Pay\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t\t set_showUnenrollModal(false)}>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tAre you sure you want to unenroll from Membership EZ-Pay?\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{unenrollmentLoading ? (\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t\t\t\t\t\t set_showUnenrollModal(false)}>\n\t\t\t\t\t\t\t\t\t\t\t\t\tcancel\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t)\n}\n","import React, { useEffect, useState } from \"react\"\nimport {Container, Row, Col, Breadcrumb, Button, Card, Accordion, Modal} from \"react-bootstrap\"\nimport {Redirect, Link, useParams} from \"react-router-dom\"\nimport MyFfbfClientApi from \"../../api/MyFfbfClientApi\"\nimport {ContainsAuthExpiredError} from \"../../models/ErrorDetail\"\nimport PageHeading from \"../../views/PageHeading\"\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport MemberBenefit, { MemberBenefitCategory, MemberBenefitPreview } from \"../../models/MemberBenefit\"\nimport { faBriefcase, faCar, faCarrot, faCircle, faDollarSign, faFaceGrinWide, faFilter, faHeartPulse, faHouseChimney, faPlaneUp, faSailboat, faShareNodes, faSquare, faWrench } from \"@fortawesome/free-solid-svg-icons\"\nimport { ApiBaseUrl } from \"../../api/ApiUtilities\"\n\nimport { Keys } from '../../Utilities'\nconst LoadBenefitPreviews = async (filterCategories:string[]) => {\n\tvar previews: MemberBenefitPreview[] = [];\n\tfilterCategories.forEach(async function (cat) {\n\t\tvar [_getBenefitPreviews, _error] = await MyFfbfClientApi.Benefits.GetMemberBenefitPreviews(cat);\n\t\tif(_getBenefitPreviews)\n\t\t\tpreviews.concat(_getBenefitPreviews)\t\t\t\n\t})\n\treturn await previews;\n}\n\n\nconst Index = () => {\n\tconst {errors, payload} = MyFfbfClientApi.Account.UseAccountOverview()\t\n\tconst accountOverview = payload\n\tconst redirectToDisabled = accountOverview?.MembershipSummary.IsDelinquent ?? false\t\n\t\n\tconst [categories, set_categories] = useState([]);\n\tconst [benefitPreviews, set_benefitPreviews] = useState([]);\n\t//Filters\n\tconst [filterCategories, set_filterCategories] = useState(null);\n\tconst [doLoadBenefitPreviews, set_doLoadBenefitPreviews] = useState(false);\n\tconst [doLoadBenefitFromLink, set_doLoadBenefitFromLink] = useState(false);\n\tconst [selectedBenefit, set_selectedBenefit] = useState(null)\n\tconst [filterIsOpen, set_filterIsOpen] = useState(false);\n\tvar baseUrl = window.location.pathname;\n\t\n\tif(!baseUrl.endsWith('memberBenefits')){\n\t\tbaseUrl = baseUrl.slice(0, baseUrl.lastIndexOf('/'))\n\t}\n\n\tconst LoadCategories = async function(){\n\t\t//var [_getCategories, _error] = await MyFfbfClientApi.Benefits.GetMemberBenefitCategories();\n\t\t//if(_getCategories)\n\t\t//\tset_categories(_getCategories);\n\t\t//set_filterCategories(_getCategories?.map(cat=>cat.id) || []);\n\t\t//return _getCategories;\n\n\t\tfetch(ApiBaseUrl+ \"MemberBenefits/GetMemberBenefitCategories\", { method: 'post'})\n .then((response) => response.json())\n .then((data) => {\n\t\t\tvar t:MemberBenefitCategory[] = data.Payload;\n set_categories(data.Payload)\n\t\t\tvar filtercats = t?.map(cat=>cat.id) || [];\n //set_filterCategories(filtercats);\n\t\t\t//updateFilter(\"\")\n\t\t\tset_doLoadBenefitPreviews(true);\n\t\t\t\n })\n .catch((err) => {\n console.log(err.message);\n });\n\t}\n\n\tconst LoadPreviews = async function(){\n\t\tvar p:MemberBenefitPreview[] = [];\n\t\t//filterCategories.forEach(function (cat) {\n\t\t\tfetch(ApiBaseUrl+ \"MemberBenefits/GetMemberBenefitPreviews\", { method: 'post', body:null})\n\t\t\t.then((response) => response.json())\n\t\t\t.then((data) => {\n\t\t\t\tvar t:MemberBenefitPreview[] = data.Payload;\n\t\t\t\tset_benefitPreviews(t)\t\t\t\t\n\t\t\t\tset_doLoadBenefitFromLink(true);\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tconsole.log(err.message);\n\t\t\t});\n\t\t//});\n\t\tset_doLoadBenefitPreviews(false);\n\t}\n\n\tconst LoadBenefit = async function(benefitId:string, handleShowModal: () => void){\t\n\t\tconst requestParameter = {\n\t\t\tBenefitId: benefitId,\n\t\t\tCategoryId: null,\n\t\t\tAuthorizationGuid: sessionStorage.getItem(Keys.authorizationGuidKeyName) //will be NULL for login/registration/guestcheckout calls and thats OK\n\t\t}\t\n\t\tfetch(ApiBaseUrl + \"MemberBenefits/GetMemberBenefit\", {headers: {\"Content-Type\": \"application/json\"}, method: 'post', body:JSON.stringify(requestParameter) })\n\t\t.then((response) => response.json())\n\t\t.then((data) => {\t\t\t\t\n\t\t\tset_selectedBenefit(data.Payload)\n\t\t\thandleShowModal()\n\t\t})\n\t\t.catch((err) => {\n\t\t\tconsole.log(err.message);\n\t\t});\t\t\n\t}\n\n\tconst updateFilter = function(catId:string){\n\t\t//var newFilter = [...filterCategories];\n\t\tvar allAffectCats = [...categories.filter(cat=>cat.ParentId == catId).map(cat=>cat.id),catId];\n\t\t//var i = filterCategories.indexOf(catId);\n\t\t//if(categories.length == filterCategories.length)\n\t\t\tset_filterCategories(allAffectCats)\n\t\t//else if(i==-1){\n\t\t//\tset_filterCategories([...filterCategories, ...allAffectCats])\n\t\t//}\n\t\t//else{\n\t\t//\tvar newFilter = filterCategories.filter(fc=> !allAffectCats.includes(fc));\n\t\t//\tif(newFilter.length > 0)\n\t\t//\t\tset_filterCategories(newFilter);\n\t\t//\telse\n\t\t//\t\tset_filterCategories(categories?.map(cat=>cat.id))\n\n\t\t//}\n\t}\n\n\t\n\tconst [show, setShow] = useState(false);\n\n\tconst handleClose = () => {\n\t\t\n\t\twindow.history.pushState(\"history\", \"MyFFBF\", baseUrl);\n\t\tsetShow(false)\n\t};\n\tconst handleShow = () => setShow(true);\t\n\tconst handleClick = function(){\n\t\tset_filterIsOpen(!filterIsOpen)\n\t}\n\n\tconst { permalinkBenefit } = useParams<{permalinkBenefit: string}>()\n\tuseEffect(()=>{\t\t\t\n\t\tif(categories.length == 0)\n\t\t\tLoadCategories();\n\t\t\n\t\tif(doLoadBenefitPreviews)\n\t\t\tLoadPreviews()\n\n\t\t//const str = window.location.search.split(\"?\")\t\t\n\t\t//const parms = new Map();\n\t\t//if(str.length > 1) {\n\t\t//\tconst kvPairs = str[1].split(\"&\");\n\t\t//\tkvPairs.forEach(function(kv){\n\t\t//\t\tconst pair = kv.split(\"=\");\n\t\t//\t\tparms.set(pair[0].toString(), pair[1]);\n\t\t//\t});\n\n\t\t\t\n\t\t//}\n\n\t\tif(permalinkBenefit != null && doLoadBenefitFromLink ){\n\t\t\tvar t = benefitPreviews.find(p=>\n\t\t\t\tp.Name.replace(/[^a-z0-9]/gi, '').toLowerCase() == permalinkBenefit.toLowerCase()\n\t\t\t);\n\t\t\tif(t)\n\t\t\t\tLoadBenefit(t?.Id, handleShow)\n\t\t\tset_doLoadBenefitFromLink(false);\n\t\t}\n\t\t/*\n\t\tconst loadInitialPage = ()=> {\n\t\t\tconst fetchData = async () => {\n\t\t\t\tLoadCategories();\n\t\t\tif(categories.length > 0 && !previewsLoaded){\n\t\t\t\tLoadPreviews();\t\t\t\t\n\t\t\t\n\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\tfetchData();\n\t\t}\n\t\t*/\n\t\t//if(categories?.length == 0){\n\t\t//\tloadInitialPage() \n\t\t//}\n\t}, [doLoadBenefitPreviews, doLoadBenefitFromLink, selectedBenefit, filterCategories])\n\t//\t\n\tif (redirectToDisabled) {\n\t\treturn \n\t}\n\tif (accountOverview && accountOverview.MembershipSummary.IsTerminated) {\n\t\treturn \n\t}\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\tMember Benefits\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tCategories \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t updateFilter(\"1\")} \n\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{paddingTop:\"20px\", opacity:!filterCategories || filterCategories.includes(\"1\") ? \"1\" : \".5\"}}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t
Auto/Boat
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{benefitPreviews.filter(preview=>filterCategories && filterCategories.includes(preview.CategoryId)).map(preview => (\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t
{LoadBenefit(preview.Id, handleShow)}}>\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t{preview.Thumbnail && \n\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t{!preview.Thumbnail && \n\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t}\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
{preview.Name}
\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
{preview.Summary}
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{selectedBenefit && selectedBenefit.Name ? selectedBenefit.Name : \"\"}\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tvar baseUrl = window.location.href;\n\t\t\t\t\t\t\t\t\t\tbaseUrl+=\"/\" + selectedBenefit!.Name.replace(/[^a-z0-9]/gi, '').toLowerCase();\n\t\t\t\t\t\t\t\t\t\tnavigator.clipboard.writeText(baseUrl); \n\t\t\t\t\t\t\t\t\t\talert(\"Shortcut copied to clipboard\\n\"+baseUrl)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}/>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{selectedBenefit && <>\n\t\t\t\t\t\t\t\t{selectedBenefit!.Logo && \n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t)\n}\n\n\n\nexport default Index\n","import React from 'react'\nimport {Container, Row, Col} from \"react-bootstrap\"\nimport { NotInGoodStanding } from '../../views/MessageBoxes'\nimport PageHeading from '../../views/PageHeading'\n\nexport default function Disabled() {\n return <>\n \n \n \n \n \n}","import React from 'react'\nimport { FarmBureauOfficeInfo } from '../models/AccountOverview'\n\nconst CountyOfficeDetails: React.FC<{countyOffice: FarmBureauOfficeInfo}> = (props) => {\n const countyOffice = props.countyOffice\n return <>\n
\n

\n {countyOffice.Name} County Farm Bureau Office
\n {countyOffice.Address}
\n {countyOffice.City}, FL {countyOffice.Zip}
\n Phone : {formatPhoneNumber(countyOffice.Phone)}
\n Fax : {formatPhoneNumber(countyOffice.Fax)}
\n County Secretary: {countyOffice.Secretary}\n {countyOffice.Id == \"6\" && \n <>\n
Website: http://browardfarmbureau.com\n \n }\n
\n

\n
\n \n}\n\nconst formatPhoneNumber = function(numberStr:string){\n if(numberStr){\n if(numberStr.length === 10){\n return numberStr.substring(0, 3) + '-' + numberStr.substring(3, 6) + '-' + numberStr.substring(6, 10);\n } else if(numberStr.length === 7){\n return numberStr.substring(0, 3) + '-' + numberStr.substring(3, 7);\n }\n }\n}\n\nconst formatForQueryString = function(qStr:string){\n return qStr.replaceAll(\" \", \"+\")\n}\n\nexport default CountyOfficeDetails","import React, { useEffect, useRef, useState } from 'react'\nimport { Alert, Button, Col, Container, Form, Row } from 'react-bootstrap'\nimport PageHeading from '../../views/PageHeading'\nimport { ContainsAuthExpiredError, ErrorDetail } from \"../../models/ErrorDetail\"\nimport { Redirect } from \"react-router-dom\"\nimport CountyOfficeDetails from '../../views/CountyOfficeDetails'\nimport MyFfbfClientApi from '../../api/MyFfbfClientApi'\nimport OverlaySpinner from '../../views/OverlaySpinner'\nimport { ValidationSummary } from '../../views/MessageBoxes'\n\nconst ContactUs = () => {\n const { errors, payload } = MyFfbfClientApi.Account.UseAccountOverview() \n\tconst accountOverview = payload\n \n const [messageBody, set_messageBody] = useState(\"\")\n const [isLoading, set_isLoading] = useState(false)\n const [showConfirmation, set_showConfirmation] = useState(false)\n const [messageErrors, set_messageErrors] = useState([])\n\n const inputRef = useRef(null)\n\n // Focus on the textarea at pageload.\n\tuseEffect(() => inputRef?.current?.focus(), [])\n\n const handleSubmit = async (event: React.FormEvent) => {\n event.preventDefault()\n set_isLoading(true)\n set_messageErrors([])\n\n if (!messageBody) {\n set_messageErrors([{ ErrorMessage: \"Please enter a message.\" }])\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [_, _errors] = await MyFfbfClientApi.Account.SubmitMessageFromUser(messageBody)\n if (_errors.length > 0) {\n set_messageErrors(_errors)\n }\n else {\n set_messageBody(\"\")\n set_showConfirmation(true)\n }\n }\n set_isLoading(false)\n }\n\n\tif (ContainsAuthExpiredError(errors)) {\n return \n }\n if (accountOverview && accountOverview.MembershipSummary.IsTerminated) {\n return \n }\n\n return <>\n { isLoading && }\n \n Contact Us\n \n \n \n { showConfirmation && \n \n \n
\n \n We love hearing from our members, and value your feedback. \n Thank you for helping us to improve your experience as a Florida Farm Bureau member. \n We look forward to getting back in touch with you very soon!\n \n
\n \n
\n }\n { accountOverview && \n \n \n

\n \"message \n MESSAGE US\n

\n
\n

\n We are here to help you have the best experience possible with both your membership and your \n MyFFBF experience. Please submit any comments, feedback, or questions you have, and a member \n of our team will get back to you as soon as possible.\n

\n \n Message\n set_messageBody(e.target.value)}\n />\n \n \n
\n
\n

\n Please consider taking our member satisfaction survey about your experience.
\n Click here\n

\n \n \n \n

\n \"get \n GET IN TOUCH\n

\n \n \n
\n }\n
\n \n}\n\nexport default ContactUs","import React, { useEffect } from 'react'\n// import '../node_modules/bootstrap/dist/css/bootstrap.min.css'\nimport { Route, BrowserRouter as Router, Switch, Redirect, useLocation } from 'react-router-dom'\n\nimport LoggedInLayout from '../src/layout/LoggedInLayout'\n// import JoinPayLayout from '../src/layout/JoinPayLayout'\n// import LoginLayout from '../src/layout/LoginLayout'\n// import RegistrationLayout from '../src/layout/RegistrationLayout'\n\nimport Login from '../src/pages/login/Login'\nimport PurchaseMembership from '../src/pages/login/PurchaseMembership'\nimport Registration from '../src/pages/login/Registration'\nimport GuestCheckout from '../src/pages/login/GuestCheckout'\n\nimport Logout from './pages/account/Logout'\nimport MyAccount from './pages/account/MyAccount'\n\nimport Dashboard from '../src/pages/dashboard/Dashboard'\n\nimport MyMembership_Details from '../src/pages/myMembership/Details'\nimport MyMembership_PayDues from '../src/pages/myMembership/PayDues'\nimport MyMembership_EZPayEdit from './pages/myMembership/EZPayEdit'\nimport MyMembership_EZPaySummary from '../src/pages/myMembership/EZPaySummary'\n\nimport MemberBenefits_Index from './pages/benefits/Index'\nimport MemberBenefits_Disabled from './pages/benefits/Disabled'\n\nimport ContactUs from './pages/contactUs/ContactUs' \n\n\nconst App = () => {\n\n useEffect(()=>{\n document.title = \"MyFFBF\"\n }, [])\n\n return (\n <>\n \n \n\n {/* Nothing SHOULD point straight to root, but if it does get hit, redirect to Dashboard. */}\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\n \n \n \n \n \n \n \n\n {/* Anything else unmatched via the paths above will hit here */}\n \n \n\n \n \n \n );\n}\n\nexport default App\n\nfunction NotFound404() {\n let location = useLocation();\n return (\n <>\n No match for {location.pathname}\n \n );\n}","import { ReportHandler } from 'web-vitals';\n\nconst reportWebVitals = (onPerfEntry?: ReportHandler) => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\n//import \"./web.config\";\n\nReactDOM.render( \n ,\n document.getElementById('root')\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"sourceRoot":""}