{"version":3,"sources":["pages/HomePage.js","utils/constants.js","utils/axios.js","api/client.js","api/infraction.js","api/case.js","api/location.js","api/otp.js","pages/CasePage.js","pages/CaseListPage.js","utils/images.js","assets/ttc-logo.png","assets/credit-cards.png","utils/language/en.js","utils/language/es.js","pages/PaymentPage.js","api/payment.js","pages/PaymentLanding.js","pages/NewQuotePage.js","pages/QuoteListPage.js","pages/Unauthorized.js","App.js","index.js"],"names":["useStyles","makeStyles","root","flexGrow","paddingTop","paddingLeft","paddingRight","button","color","backgroundColor","height","width","fontWeight","fontSize","HomePage","classes","history","useHistory","showPage","setShowPage","useState","process","useEffect","push","_jsx","className","BASE_URL","ROUTES","REACT_APP_TTC_API_EXTERNAL_PAYMENTS","REACT_APP_TTC_API_EXTERNAL_PAYMENTS_TOKEN","REACT_APP_TTC_PAYMENT_IFRAME_UID_API","axiosClient","axios","create","baseURL","headers","getInfractionByCountyAndType","async","countyId","typeId","get","data","error","console","log","saveCitation","post","payload","validateCase","caseNumber","validateCitation","citationNumber","getStates","getCountiesByState","stateId","getCityByZipcode","zipcode","validateOtp","generateOtp","types","typesData","sexs","sexData","sex","countries","countriesData","actions","actionsData","intakes","intakesData","theme","headerSection","padding","spacing","textAlign","borderRadius","buttonSearch","searchText","formLabel","responseLabel","inputText","marginTop","addressText","saveButton","addButton","checkbox","modal","addModal","backdrop","zIndex","drawer","cellAction","CasePage","search","window","location","params","URLSearchParams","isClientExist","setIsClientExist","isClientNotExist","setIsClientNotExist","showAddClient","setShowAddClient","showClientDetail","setShowClientDetail","clientFirstName","setClientFirstName","clientLastName","setClientLastName","clientEmail","setClientEmail","clientPhone","setClientPhone","infractions","setInfractions","states","setStates","counties","setCounties","cities","setCities","errorMap","setErrorMap","eLastName","eFirstName","eAddress1","eCity","eState","eCountry","eSex","eDateOfBirth","eDriverLicense","eCaseState","eCaseCounty","eCaseType","eCitationDate","eCaseAction","eCaseIntake","eComplyByDate","eCaseCitationNumber","eCaseInfraction","eCaseChargeAmount","eClientMobileNumberEdit","eCaseNumber","eLanguage","openAlert","setOpenAlert","openInfraction","setOpenInfraction","addInfractionBtn","setAddInfractionBtn","alertMessage","setAlertMessage","payAlert","setPayAlert","rows","setRows","caseRows","setCaseRows","backShow","setBackShow","copyText","setCopyText","savedSuccess","setSavedSuccess","userId","setUserId","token","setToken","disableSearch","setDisableSearch","showMobileNumberEdit","setShowMobileNumberEdit","showEditPhoneBtn","setShowEditPhoneBtn","driverLicense","setDriverLicense","clientId","setClientId","setStateId","setCountyId","setTypeId","typeDesc","setTypeDesc","infractionId","setInfractionId","setCaseNumber","caseActionId","setCaseActionId","caseActionDesc","setCaseActionDesc","citationDate","setCitationDate","accident","setAccident","injury","setInjury","fatality","setFatality","caseIntakeId","setCaseIntakeId","chargeAmount","setChargeAmount","infractionDesc","setInfractionDesc","paymentPageUrl","setPaymentPageUrl","setCitationNumber","complyByDate","setComplyByDate","reason","setReason","barcodeId","setBarcodeId","quoteGroupId","setQuoteGroupId","lastName","setLastName","firstName","setFirstName","middleName","setMiddleName","address1","setAddress1","address2","setAddress2","clientCity","setClientCity","clientStateId","setClientStateId","setZipcode","clientCountryId","setClientCountryId","mobileNumber","setMobileNumber","email","setEmail","clientDriverLicense","setClientDriverLicense","setSex","dateOfBirth","setDateOfBirth","stateIssuedId","setStateIssuedId","mobileNumberEdit","setMobileNumberEdit","language","setLanguage","showGridCases","setShowGridCases","openAlertAddCase","setOpenAlertAddCase","disableSave","setDisableSave","handleClose","newToken","uuidv4","userName","handleCloseInfraction","validateOtpPage","getCountiesDropdown","getInfractions","getStatesDropdown","response","getCityByZipcodeDropdow","replace","c","r","Math","random","toString","handleOnlyOneCase","children","_jsxs","Grid","container","item","xs","TextField","label","variant","value","disabled","onChange","e","target","Button","id","onClick","getClientByDriverLicense","problemClient","pastDueAmount","addClient","_Fragment","style","marginLeft","MuiPhoneNumber","defaultCountry","marginBottom","ReactDataGrid","minHeight","columns","key","name","editable","rowGetter","i","rowsCount","length","onGridRowsUpdated","_ref2","fromRow","toRow","updated","newRow","slice","enableCellSelect","required","handleChangeZipcode","select","SelectProps","native","map","option","cityName","stateAbbr","stateName","countryId","text","type","InputLabelProps","shrink","handleChangeState","handleSetCounty","county","onKeyDown","keyCode","preventDefault","res","filter","handleSetType","invoiceDate","document","getElementById","split","Date","setDate","getDate","year","getFullYear","monthWithOffset","getUTCMonth","materialDateInput","getUTCDate","handleOnChangeCitationDate","description","handleSetCaseAction","addCaseTicket","float","hidden","_ref","getCellActions","column","row","cellActions","icon","display","callback","rowsTemp","forEach","rowTemp","isAccidentBit","isInjuryBit","isFatalityBit","tickets","groupId","indexRows","caseTickets","ticketNumber","parseInt","parseFloat","payloadClient","client","zipCode","isActive","city","licenseStateId","sexId","languageId","case","isAccident","isInjury","isFatality","payloadCase","errorRes","today","date","date2","Object","values","includes","Dialog","open","onClose","aria-labelledby","DialogTitle","DialogContent","DialogContentText","DialogActions","navigator","clipboard","writeText","autoFocus","handleAddCase","concat","caseAction","click","price","describeInfraction","handleSetInfraction","CurrencyTextField","paddingBotton","digitGroupSeparator","selectOnFocus","currencySymbol","multiline","infraction","amount","toFixed","action","Backdrop","CircularProgress","position","top","left","transform","StyledTableCell","withStyles","head","palette","common","black","white","body","TableCell","StyledTableRow","hover","TableRow","table","minWidth","CaseListPage","React","Component","constructor","props","super","this","state","userid","cases","searchCases","message","searchCase","barcodeIdToDelete","regionSelected","regions","showTable","setState","bind","deleteCaseClient","handleSearch","handleRegionFilter","handleCloseDialog","handleSearchCases","componentDidMount","getListCases","getRegionsList","caseDetailPage","copyPaymentUrl","url","barcode","isPaid","newUrl","event","getRegions","getCasesByClient","newData","isNewQuotePaidFlag","textDecoration","cursor","pointerEvents","param","getClientCasesByParam","JSON","stringify","deleteCase","array","index","findIndex","x","splice","people","filters","filtered","el","String","region","render","paddingBottom","onKeyPress","TableContainer","Table","aria-label","TableHead","align","TableBody","component","scope","createdDate","payAmount","paymentUrl","DeleteIcon","Snackbar","anchorOrigin","vertical","horizontal","autoHideDuration","Fragment","IconButton","size","CloseIcon","withRouter","IMAGES","TTCLogo","CreditCards","translations","headerCase","headerCitation","headerClient","note","selectDefault","country","stateIssued","headerCaseList","tableState","tableCounty","tableCaseNumber","tableCitationDate","tablePrice","tableTickets","tableView","headerCaseTickets","tableCitationNumber","tableDescription","tablePrice2","headerPaymentInformation","paymentFirstName","paymentLastName","paymentAmount","paymentCoupon","paymentApply","paymentCCNumberValidation","paymentCCVVInformation","termsAndConditionsInformation","termsAndConditions","payButton","closeButton","terms","conditions","firstTermsAndConditions","secondTermsAndConditions","thirdTermsAndConditions","fourthTermsAndConditions","fifthTermsAndConditions","sixthTermsAndConditions","seventhTermsAndConditionsPt1","seventhTermsAndConditionsPt2","seventhTermsAndConditionsPt3","eightTermsAndConditions","ninethTermsAndConditions","tenthTermsAndConditions","eleventhTermsAndConditions","handleCloseMessage","validateFormFieldsMessage","validateCouponValueMessageOne","validateCouponValueMessageTwo","savePaymentCallbackMessageOne","savePaymentCallbackMessageTwo","componentDidMountMessageOne","componentDidMountMessageTwo","handleSubmitMessage","cardNumberPlaceholder","cardExperyDatePlaceholder","validateCardNumber","validateCardExpiryDate","validateCardCvv","PaymentPage","isSubmitting","openTermsAndConditions","visibleButton","caseState","caseCounty","caseCitationDate","eMobileNumber","eEmail","eZipCode","eCountryId","eLicenseStateId","eSexId","eStateAbbr","eCCNumber","eCCExp","eCCCvv","prices","filterTickets","errorCCNumber","errorCCExp","errorCCVV","disableButton","paymentExp","ticketList","caseNumberList","frameUid","cardType","paymentToken","countyName","coupon","couponId","couponAmount","couponPercentage","isCouponPercentage","isCouponDisabled","ccNumber","ccExp","ccCvv","handleSubmit","finishSubmit","filterTicketList","handleCloseTermsAndConditions","openTerms","validateCreditCardData","fetch","method","then","json","citationDateFormat","Sentry","newPrices","newCases","barcodes","caseList","caseItem","element","getMonth","newCase","isAlreadyPaid","cItem","enTranslations","esTranslations","originalPaymentAmount","clientStateAbbr","paymentExpired","catch","formData","savePayment","newFilter","validateCoupon","percentage","couponType","discount","clientMobileNumber","errorTerms","savePaymentCallback","eCardNumber","eCardExp","eCardCvv","validateExpiryDate","validateCvv","validateFormFields","test","currentTranslations","subHeaderSection","alt","src","onSubmit","sm","md","lg","xl","Paper","algin","flexFlow","justifyContent","applyButton","validateCouponValue","formattedValue","helperText","InfoIcon","maxWidth","cardText","caseHeader","caseLabel","PaymentLanding","setMessage","expired","setExpired","showButton","setShowButton","NewQuotePage","clientAddress","setClientAddress","eClientFirstNameEdit","eClientLastNameEdit","eClientEmailEdit","eClientAddressEdit","showClientEdit","setShowClientEdit","REACT_APP_TTC_DEFAULT_EXTERNAL_CASE_INTAKE","totalPayment","setTotalPayment","firstNameEdit","setFirstNameEdit","lastNameEdit","setLastNameEdit","emailEdit","setEmailEdit","addressEdit","setAddressEdit","valid","setValid","editInfractionId","setEditInfractionId","couponCode","setCouponCode","createdAt","setCreatedAt","generatePayment","setGeneratePayment","saveMessage","setSaveMessage","showDialogContent","setShowDialogContent","payment","parse","localStorage","getItem","masterId","setMasterId","detailId","setDetailId","totalFee","setTotalFee","_payment$tickets$","county_id","license_number","birth_date","caseintake_id","total_fee","toUpperCase","searchClientByDriver","dob","infractionList","citations_number","citation_infraction_type_id","validation","citations_fee","fileUrl","citations_attachment_url","coupon_used","fee","citations_original_fee","couponUsed","citations_speeding_unlawful_speed","citations_speeding_applicable_speed","getClientByDriverLicenseAndDob","_payment$tickets$2","_payment$tickets$3","_payment$tickets$4","_payment$tickets$5","first_name","last_name","cell_phone","address","zip","generate_receipt","saved_message","citations_date","substring","validationCase","master_id","detail_id","validProcessedAndLockedCase","REACT_APP_TTC_EXTERNAL_QUOTE_REDIRECT","Edit","chargeAmountReal","isWebSale","ticket","paymentExternalId","transactionId","transaction_id","ccName","cc_name","payment_response","ticketExternalList","addPaymentsProcessed","find","StyledTableCellDetail","QuoteListPage","modifiedDate","getTime","isSelected","startDate","toISOString","substr","endDate","showMessage","list","processedAndNotProcessedList","processedList","notProcessedList","messageAlert","showProcessed","regionFilterList","handleShowProcessed","listToFilter","Number","a","region_id","getPaymentsCasesList","is_processed","status","listWithProcessed","listNotProcessed","isChecked","validProcessedCase","handleProcessPayments","some","citation_statute_code","citation_type_description","validateProcess","setItem","handleGoAnotherPage","getCurrentDate","dd","padStart","mm","re","format","paymentsList","FormControlLabel","control","Checkbox","checked","_row$tickets","_row$tickets2","_row$tickets$","KeyboardArrowUp","KeyboardArrowDown","barcode_id","u","join","_","b","paid","origin","colSpan","Collapse","in","timeout","unmountOnExit","Box","Unauthorized","App","Router","Switch","Route","path","exact","dsn","REACT_APP_TTC_SENTRY_DSN","integrations","BrowserTracing","tracesSampleRate","maxValueLength","ReactDOM","StrictMode"],"mappings":"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","file":"static/js/main.db43bd8c.chunk.js","sourcesContent":["import React, { useState, useEffect } from 'react';\nimport { useHistory } from \"react-router-dom\";\nimport { makeStyles } from '@material-ui/core/styles';\n\nconst useStyles = makeStyles(() => ({\n root: {\n flexGrow: 1,\n paddingTop: 300,\n paddingLeft: 20,\n paddingRight: 20\n },\n button: {\n color: '#FFEF65',\n backgroundColor: 'black',\n height: 50,\n width: '50%',\n fontWeight: 'bold',\n fontSize: 16\n }\n}));\n\nfunction HomePage() {\n const classes = useStyles();\n const history = useHistory();\n const [showPage, setShowPage] = useState(process.env.REACT_APP_TTC_PERMISION_VIEW)\n\n useEffect(() => {\n if (showPage == \"false\") {\n history.push(\"/unauthorized\");\n }\n }, [history, showPage]);\n\n return(\n
\n
\n );\n};\n\nexport default HomePage;","const BASE_URL = process.env.REACT_APP_TTC_API_BASE_URL;\nconst PAYMENTS_URL = process.env.REACT_APP_TTC_API_EXTERNAL_PAYMENTS;\nconst PAYMENTS_KEY_SECRET = process.env.REACT_APP_TTC_API_EXTERNAL_PAYMENTS_TOKEN;\nconst PAYMENTS_IFRAME_UID_URL = process.env.REACT_APP_TTC_PAYMENT_IFRAME_UID_API;\nconst PAYMENT_BASE_URL = process.env.REACT_APP_TTC_API_BASE_URL_PAYMENT;\n\nconst ROUTES = {\n CASE_EDITOR_ROUTE: '/caseadd',\n PAYMENT_ROUTE: '/casepayment',\n PAYMENT_PARAM_ROUTE: '/casepayment/',\n PAYMENT_LANDING: '/payment-success',\n CASE_LIST: '/caselist',\n NEW_QUOTE_LIST: '/new-quote-list',\n NEW_QUOTE: '/new-quote',\n UNAUTHORIZED: '/unauthorized',\n}\nexport { BASE_URL, ROUTES, PAYMENTS_URL, PAYMENTS_KEY_SECRET, PAYMENTS_IFRAME_UID_URL, PAYMENT_BASE_URL };","import axios from 'axios';\nimport {BASE_URL} from './constants';\n\nconst axiosClient = axios.create({\n baseURL: BASE_URL,\n headers: {\n 'Access-Control-Allow-Origin': '*',\n 'Content-Type': 'application/json'\n },\n});\n\nexport default axiosClient;","import axios from \"../utils/axios\";\nimport * as Sentry from \"@sentry/react\";\nimport { PAYMENTS_URL, PAYMENTS_KEY_SECRET } from \"../utils/constants\";\n\nexport const getClientByDriverLicense = async (driverLicense) => {\n try {\n const response = await axios.get(`/client/GetClient/${driverLicense}`, {\n headers: {\n \"Allow-Cross-Origin\": \"*\",\n \"Content-Type\": \"application/json\",\n \"Ocp-Apim-Subscription-Key\": process.env.REACT_APP_TTC_APIM_KEY,\n },\n });\n return response.data;\n } catch (error) {\n console.log(error);\n }\n};\n\nexport const getClientByDriverLicenseAndDob = async (driverLicense, dob) => {\n try {\n const response = await axios.get(`/client/GetClientByDob/${driverLicense}/${dob}`, {\n headers: {\n \"Allow-Cross-Origin\": \"*\",\n \"Content-Type\": \"application/json\",\n \"Ocp-Apim-Subscription-Key\": process.env.REACT_APP_TTC_APIM_KEY,\n },\n });\n return response.data;\n } catch (error) {\n console.log(error);\n }\n};\n\nexport const getCasesByClient = async (clientId) => {\n try {\n const response = await axios.get(`/client/GetClientCases/${clientId}`, {\n headers: {\n \"Allow-Cross-Origin\": \"*\",\n \"Content-Type\": \"application/json\",\n \"Ocp-Apim-Subscription-Key\": process.env.REACT_APP_TTC_APIM_KEY,\n },\n });\n return response.data;\n } catch (error) {\n console.log(error);\n }\n};\n\nexport const getClientCasesByParam = async (param) => {\n try {\n const response = await axios.get(`/client/GetClientCasesByParam/${param}`, {\n headers: {\n \"Allow-Cross-Origin\": \"*\",\n \"Content-Type\": \"application/json\",\n \"Ocp-Apim-Subscription-Key\": process.env.REACT_APP_TTC_APIM_KEY,\n },\n });\n return response.data;\n } catch (error) {\n console.log(error);\n }\n};\n\n// export const getPaymentsCasesList = async (startDate, endDate) => {\n// try {\n// const response = await fetch(\n// PAYMENTS_URL +\n// `?endDate=${endDate}&startDate=${startDate}&keySecret=${PAYMENTS_KEY_SECRET}`\n// ).then((res) => res.json());\n// return response.data;\n// } catch (error) {\n// console.log(error);\n// }\n// };\n\nexport const getPaymentsCasesList = async (startDate, endDate) => {\n try {\n const response = await axios.get(\n `/WebSale/GetWebSaleCases/${startDate}/${endDate}`,\n {\n headers: {\n \"Allow-Cross-Origin\": \"*\",\n \"Content-Type\": \"application/json\",\n \"Ocp-Apim-Subscription-Key\": process.env.REACT_APP_TTC_APIM_KEY,\n },\n }\n );\n return response.data.data;\n } catch (error) {\n console.log(error);\n }\n};\n\nexport const getProcessedPayments = async (startDate, endDate) => {\n try {\n const response = await axios.get(\n `/WebSale/GetPaymentExternalCases/${startDate}/${endDate}`,\n {\n headers: {\n \"Allow-Cross-Origin\": \"*\",\n \"Content-Type\": \"application/json\",\n \"Ocp-Apim-Subscription-Key\": process.env.REACT_APP_TTC_APIM_KEY,\n },\n }\n );\n return response.data;\n } catch (error) {\n console.log(error);\n }\n};\n\nexport const validProcessedCase = async (master_id, detail_id) => {\n try {\n const response = await axios.get(\n `/WebSale/IsProcessed/${master_id}/${detail_id}`,\n {\n headers: {\n \"Allow-Cross-Origin\": \"*\",\n \"Content-Type\": \"application/json\",\n \"Ocp-Apim-Subscription-Key\": process.env.REACT_APP_TTC_APIM_KEY,\n },\n }\n );\n return response.data;\n } catch (error) {\n console.log(error);\n }\n};\n\nexport const validProcessedAndLockedCase = async (master_id, detail_id) => {\n try {\n const response = await axios.get(\n `/WebSale/IsProcessedAndLocked/${master_id}/${detail_id}`,\n {\n headers: {\n \"Allow-Cross-Origin\": \"*\",\n \"Content-Type\": \"application/json\",\n \"Ocp-Apim-Subscription-Key\": process.env.REACT_APP_TTC_APIM_KEY,\n },\n }\n );\n return response.data;\n } catch (error) {\n console.log(error);\n }\n};\n\nexport const addPaymentsProcessed = async (payload) => {\n try {\n const response = await axios.post(\n `/WebSale/AddExternalPayment`,\n payload,\n {\n headers: {\n \"Allow-Cross-Origin\": \"*\",\n \"Content-Type\": \"application/json\",\n \"Ocp-Apim-Subscription-Key\": process.env.REACT_APP_TTC_APIM_KEY,\n },\n }\n );\n Sentry.captureMessage(\n \"Method:AddExternalPayment|Response \" + JSON.stringify(response.data)\n );\n return response.data;\n } catch (error) {\n console.log(error);\n }\n};\n","import axios from \"../utils/axios\";\n\nexport const getInfractionByCountyAndType = async (countyId, typeId) => {\n try {\n const response = await axios.get(\n `/combo/GetInfraction/${countyId}/${typeId}`,\n {\n headers: {\n \"Allow-Cross-Origin\": \"*\",\n \"Content-Type\": \"application/json\",\n \"Ocp-Apim-Subscription-Key\": process.env.REACT_APP_TTC_APIM_KEY,\n },\n }\n );\n return response.data;\n } catch (error) {\n console.log(error);\n }\n};\n","import axios from \"../utils/axios\";\n\nexport const saveCitation = async (payload) => {\n try {\n const response = await axios.post(`/case/AddCase`, payload, {\n headers: {\n \"Allow-Cross-Origin\": \"*\",\n \"Content-Type\": \"application/json\",\n \"Ocp-Apim-Subscription-Key\": process.env.REACT_APP_TTC_APIM_KEY,\n },\n });\n return response.data;\n } catch (error) {\n console.log(error);\n }\n};\n\nexport const deleteCase = async (barcodeId) => {\n try {\n const response = await axios.post(`/case/DeleteCase`, barcodeId, {\n headers: {\n \"Allow-Cross-Origin\": \"*\",\n \"Content-Type\": \"application/json\",\n \"Ocp-Apim-Subscription-Key\": process.env.REACT_APP_TTC_APIM_KEY,\n },\n });\n return response.data;\n } catch (error) {\n console.log(error);\n }\n};\n\nexport const validateCase = async (caseNumber) => {\n try {\n const response = await axios.get(`/case/ValidateCase/${caseNumber}`, {\n headers: {\n \"Allow-Cross-Origin\": \"*\",\n \"Content-Type\": \"application/json\",\n \"Ocp-Apim-Subscription-Key\": process.env.REACT_APP_TTC_APIM_KEY,\n },\n });\n return response.data;\n } catch (error) {\n console.log(error);\n }\n};\n\nexport const validateCitation = async (citationNumber) => {\n try {\n const response = await axios.get(\n `/case/ValidateCitation/${citationNumber}`,\n {\n headers: {\n \"Allow-Cross-Origin\": \"*\",\n \"Content-Type\": \"application/json\",\n \"Ocp-Apim-Subscription-Key\": process.env.REACT_APP_TTC_APIM_KEY,\n },\n }\n );\n return response.data;\n } catch (error) {\n console.log(error);\n }\n};\n\nexport const validateCoupon = async (coupon) => {\n try {\n const response = await axios.get(\n `/case/ValidateCoupon/${coupon}`,\n {\n headers: {\n \"Allow-Cross-Origin\": \"*\",\n \"Content-Type\": \"application/json\",\n \"Ocp-Apim-Subscription-Key\": process.env.REACT_APP_TTC_APIM_KEY,\n },\n }\n );\n return response.data;\n } catch (error) {\n console.log(error);\n }\n};","import axios from \"../utils/axios\";\n\nexport const getStates = async () => {\n try {\n const response = await axios.get(`/combo/GetStates`, {\n headers: {\n \"Allow-Cross-Origin\": \"*\",\n \"Content-Type\": \"application/json\",\n \"Ocp-Apim-Subscription-Key\": process.env.REACT_APP_TTC_APIM_KEY,\n },\n });\n return response.data;\n } catch (error) {\n console.log(error);\n }\n};\n\nexport const getRegions = async () => {\n try {\n const response = await axios.get(`/combo/GetRegions`, {\n headers: {\n \"Allow-Cross-Origin\": \"*\",\n \"Content-Type\": \"application/json\",\n \"Ocp-Apim-Subscription-Key\": process.env.REACT_APP_TTC_APIM_KEY,\n },\n });\n return response.data;\n } catch (error) {\n console.log(error);\n }\n};\n\nexport const getCountiesByState = async (stateId) => {\n try {\n const response = await axios.get(`/combo/GetCountyByStateId/${stateId}`, {\n headers: {\n \"Allow-Cross-Origin\": \"*\",\n \"Content-Type\": \"application/json\",\n \"Ocp-Apim-Subscription-Key\": process.env.REACT_APP_TTC_APIM_KEY,\n },\n });\n return response.data;\n } catch (error) {\n console.log(error);\n }\n};\n\nexport const getCityByZipcode = async (zipcode) => {\n try {\n const response = await axios.get(`/combo/GetCityByZipcode/${zipcode}`, {\n headers: {\n \"Allow-Cross-Origin\": \"*\",\n \"Content-Type\": \"application/json\",\n \"Ocp-Apim-Subscription-Key\": process.env.REACT_APP_TTC_APIM_KEY,\n },\n });\n return response.data;\n } catch (error) {\n console.log(error);\n }\n};\n","import axios from \"../utils/axios\";\n\nexport const validateOtp = async (payload) => {\n try {\n const response = await axios.post(`/OTP/ValidateToken`, payload, {\n headers: {\n \"Allow-Cross-Origin\": \"*\",\n \"Content-Type\": \"application/json\",\n \"Ocp-Apim-Subscription-Key\": process.env.REACT_APP_TTC_APIM_KEY,\n },\n });\n return response.data;\n } catch (error) {\n console.log(error);\n }\n};\n\nexport const generateOtp = async (payload) => {\n try {\n const response = await axios.post(`/OTP/RegisterToken`, payload, {\n headers: {\n \"Allow-Cross-Origin\": \"*\",\n \"Content-Type\": \"application/json\",\n \"Ocp-Apim-Subscription-Key\": process.env.REACT_APP_TTC_APIM_KEY,\n },\n });\n return response.data;\n } catch (error) {\n console.log(error);\n }\n};","import React, { useEffect, useState } from \"react\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport {\n Grid,\n TextField,\n Button,\n Dialog,\n DialogActions,\n DialogTitle,\n DialogContent,\n DialogContentText,\n Backdrop,\n CircularProgress,\n} from \"@material-ui/core\";\nimport MuiPhoneNumber from \"material-ui-phone-number\";\nimport typesData from \"../enums/types.json\";\nimport sexData from \"../enums/sex.json\";\nimport actionsData from \"../enums/actions.json\";\nimport intakesData from \"../enums/intakes.json\";\nimport countriesData from \"../enums/countries.json\";\nimport { getClientByDriverLicense } from \"../api/client\";\nimport { getInfractionByCountyAndType } from \"../api/infraction\";\nimport { saveCitation, validateCase, validateCitation } from \"../api/case\";\nimport {\n getStates,\n getCountiesByState,\n getCityByZipcode,\n} from \"../api/location\";\nimport CurrencyTextField from \"@unicef/material-ui-currency-textfield\";\nimport ReactDataGrid from \"react-data-grid\";\nimport { useHistory } from \"react-router-dom\";\nimport { generateOtp, validateOtp } from \"../api/otp\";\nconst types = typesData.types;\nconst sexs = sexData.sex;\nconst countries = countriesData.countries;\nconst actions = actionsData.actions;\nconst intakes = intakesData.intakes;\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n flexGrow: 1,\n paddingTop: 20,\n paddingLeft: 20,\n paddingRight: 20,\n },\n headerSection: {\n padding: theme.spacing(2),\n textAlign: \"left\",\n color: \"black\",\n fontWeight: \"bold\",\n backgroundColor: \"#FFEF65\",\n borderRadius: 7,\n },\n buttonSearch: {\n color: \"#FFEF65\",\n backgroundColor: \"black\",\n height: 50,\n width: \"100%\",\n fontWeight: \"bold\",\n fontSize: 16,\n },\n searchText: {\n width: \"100%\",\n height: 50,\n paddingRight: 20,\n },\n formLabel: {\n paddingRight: 30,\n paddingLeft: 20,\n fontWeight: \"bold\",\n },\n responseLabel: {\n textAlign: \"center\",\n },\n inputText: {\n width: \"100%\",\n height: 30,\n marginTop: 20,\n },\n addressText: {\n width: \"100%\",\n height: 30,\n marginTop: 20,\n },\n saveButton: {\n color: \"#FFEF65\",\n backgroundColor: \"black\",\n height: 50,\n width: 150,\n fontWeight: \"bold\",\n fontSize: 16,\n marginTop: 20,\n },\n addButton: {\n color: \"#FFEF65\",\n backgroundColor: \"black\",\n height: 50,\n width: \"100%\",\n fontWeight: \"bold\",\n fontSize: 16,\n marginTop: 20,\n },\n checkbox: {\n marginTop: 10,\n },\n modal: {\n backgroundColor: \"#FFEF65\",\n color: \"black\",\n textAlign: \"center\",\n },\n addModal: {\n backgroundColor: \"#FFEF65\",\n color: \"black\",\n textAlign: \"center\",\n width: 552,\n },\n backdrop: {\n zIndex: theme.zIndex.drawer + 1,\n color: \"#fff\",\n },\n cellAction: {\n textAlign: \"center\",\n },\n}));\n\nfunction CasePage() {\n const classes = useStyles();\n const history = useHistory();\n const search = window.location.search;\n const params = new URLSearchParams(search);\n /** For Page **/\n const [isClientExist, setIsClientExist] = useState(false);\n const [isClientNotExist, setIsClientNotExist] = useState(false);\n const [showAddClient, setShowAddClient] = useState(false);\n const [showClientDetail, setShowClientDetail] = useState(true);\n const [clientFirstName, setClientFirstName] = useState(\"\");\n const [clientLastName, setClientLastName] = useState(\"\");\n const [clientEmail, setClientEmail] = useState(\"\");\n const [clientPhone, setClientPhone] = useState(\"\");\n const [infractions, setInfractions] = useState([]);\n const [states, setStates] = useState([]);\n const [counties, setCounties] = useState([]);\n const [cities, setCities] = useState([]);\n const [errorMap, setErrorMap] = useState({\n eLastName: false,\n eFirstName: false,\n eAddress1: false,\n eCity: false,\n eState: false,\n eCountry: false,\n eSex: false,\n eDateOfBirth: false,\n eDriverLicense: false,\n eCaseState: false,\n eCaseCounty: false,\n eCaseType: false,\n eCitationDate: false,\n eCaseAction: false,\n eCaseIntake: false,\n eComplyByDate: false,\n eCaseCitationNumber: false,\n eCaseInfraction: false,\n eCaseChargeAmount: false,\n eClientMobileNumberEdit: false,\n eCaseNumber: false,\n eLanguage: false,\n });\n const [openAlert, setOpenAlert] = useState(false);\n const [openInfraction, setOpenInfraction] = useState(false);\n const [addInfractionBtn, setAddInfractionBtn] = useState(false);\n const [alertMessage, setAlertMessage] = useState(\"\");\n const [payAlert, setPayAlert] = useState(false);\n const [rows, setRows] = useState([]);\n const [caseRows, setCaseRows] = useState([]);\n const [backShow, setBackShow] = useState(false);\n const [copyText, setCopyText] = useState(\"Copy\");\n const [savedSuccess, setSavedSuccess] = useState(false);\n const [userId, setUserId] = useState(params.get(\"userid\"));\n const [token, setToken] = useState(params.get(\"otptoken\"));\n const [disableSearch, setDisableSearch] = useState(false);\n const [showMobileNumberEdit, setShowMobileNumberEdit] = useState(false);\n const [showEditPhoneBtn, setShowEditPhoneBtn] = useState(false);\n const [showPage, setShowPage] = useState(false);\n\n /** For Case **/\n const [driverLicense, setDriverLicense] = useState(\"\");\n const [clientId, setClientId] = useState(\"\");\n const [stateId, setStateId] = useState(\n process.env.REACT_APP_TTC_DEFAULT_STATE\n );\n const [countyId, setCountyId] = useState(\n process.env.REACT_APP_TTC_DEFAULT_COUNTY\n );\n const [typeId, setTypeId] = useState(\"0\");\n const [typeDesc, setTypeDesc] = useState(\"\");\n const [infractionId, setInfractionId] = useState(\"0\");\n const [caseNumber, setCaseNumber] = useState(\"\");\n const [caseActionId, setCaseActionId] = useState(\"0\");\n const [caseActionDesc, setCaseActionDesc] = useState(\"\");\n const [citationDate, setCitationDate] = useState(\"\");\n const [accident, setAccident] = useState(\"0\");\n const [injury, setInjury] = useState(\"0\");\n const [fatality, setFatality] = useState(\"0\");\n const [caseIntakeId, setCaseIntakeId] = useState(\n process.env.REACT_APP_TTC_DEFAULT_CASE_INTAKE\n );\n const [chargeAmount, setChargeAmount] = useState(\"\");\n const [infractionDesc, setInfractionDesc] = useState(\"\");\n const [paymentPageUrl, setPaymentPageUrl] = useState(\"\");\n const [citationNumber, setCitationNumber] = useState(\"\");\n const [complyByDate, setComplyByDate] = useState(\"\");\n const [reason, setReason] = useState(\"\");\n const [barcodeId, setBarcodeId] = useState(0);\n const [quoteGroupId, setQuoteGroupId] = useState(\"\");\n\n /** For Clients **/\n const [lastName, setLastName] = useState(\"\");\n const [firstName, setFirstName] = useState(\"\");\n const [middleName, setMiddleName] = useState(\"\");\n const [address1, setAddress1] = useState(\"\");\n const [address2, setAddress2] = useState(\"\");\n const [clientCity, setClientCity] = useState(\"0\");\n const [clientStateId, setClientStateId] = useState(\"0\");\n const [zipcode, setZipcode] = useState(\"\");\n const [clientCountryId, setClientCountryId] = useState(\n process.env.REACT_APP_TTC_DEFAULT_COUNTRY\n );\n const [mobileNumber, setMobileNumber] = useState(\"\");\n const [email, setEmail] = useState(\"\");\n const [clientDriverLicense, setClientDriverLicense] = useState(\"\");\n const [sex, setSex] = useState(\"0\");\n const [dateOfBirth, setDateOfBirth] = useState(\"\");\n const [stateIssuedId, setStateIssuedId] = useState(\"0\");\n const [mobileNumberEdit, setMobileNumberEdit] = useState(\"\");\n const [language, setLanguage] = useState(\"0\");\n\n /** For Grid Cases **/\n const [showGridCases, setShowGridCases] = useState(false);\n const [openAlertAddCase, setOpenAlertAddCase] = useState(false);\n const [disableSave, setDisableSave] = useState(false)\n\n const columns = [\n { key: \"action\", name: \"Delete\", float: \"left\", width: 100 },\n {\n key: \"citationNumber\",\n name: \"# Citation\",\n editable: false,\n width: \"10%\",\n },\n { key: \"infraction\", name: \"Infraction\", editable: false, width: \"40%\" },\n { key: \"amount\", name: \"Amount ($)\", editable: false, width: \"10%\" },\n {\n key: \"reason\",\n name: \"Reason for Adjustment\",\n editable: false,\n width: \"40%\",\n },\n { key: \"infractionId\", width: -1, hidden: true },\n ];\n\n const caseColumns = [\n { key: \"barcodeId\", name: \"Barcode Id\", editable: false, width: \"20%\" },\n { key: \"caseNumber\", name: \"Case Number\", editable: false, width: \"30%\" },\n { key: \"type\", name: \"Type\", editable: false, width: \"20%\" },\n {\n key: \"citationDate\",\n name: \"Citation Date\",\n editable: false,\n width: \"20%\",\n },\n { key: \"caseAction\", name: \"Case Action\", editable: false, width: \"20%\" },\n ];\n\n const handleChangeState = (stateId) => {\n setStateId(stateId);\n getCountiesDropdown(stateId);\n };\n\n const handleChangeZipcode = (e) => {\n setZipcode(e);\n getCityByZipcodeDropdow(e);\n };\n\n const handleSetInfraction = (infractionId) => {\n setInfractionId(infractionId);\n var res = infractions.filter(function (item) {\n if (item.id == infractionId) {\n return item;\n }\n });\n setChargeAmount(res[0].price);\n setInfractionDesc(res[0].describeInfraction);\n };\n\n const handleSetType = (typeId) => {\n setTypeId(typeId);\n var res = types.filter(function (item) {\n if (item.typeId == typeId) {\n return item;\n }\n });\n setTypeDesc(res[0].name);\n setInfractionId(\"0\");\n setChargeAmount(\"\");\n };\n\n const handleSetCaseAction = (caseActionId) => {\n setCaseActionId(caseActionId);\n var res = actions.filter(function (item) {\n if (item.caseActionId == caseActionId) {\n return item;\n }\n });\n setCaseActionDesc(res[0].description);\n };\n\n const handleSetCounty = (countyId) => {\n setCountyId(countyId);\n setInfractionId(\"0\");\n setChargeAmount(\"\");\n };\n\n const handleClose = async () => {\n setOpenAlert(false);\n if (savedSuccess === true) {\n var newToken = uuidv4();\n await generateOtp({\n userName: userId,\n token: newToken,\n });\n if (isClientExist != false)\n history.push(\"/caselist?userid=\" + userId + \"&otptoken=\" + newToken);\n else history.push(\"/\");\n }\n };\n\n const handleCancel = async () => {\n var newToken = uuidv4();\n await generateOtp({\n userName: userId,\n token: newToken,\n });\n history.push(\"/caselist?userid=\" + userId + \"&otptoken=\" + newToken);\n };\n\n const handleCloseInfraction = () => {\n setOpenInfraction(false);\n };\n\n useEffect(() => {\n validateOtpPage();\n }, []);\n\n // useEffect(() => {\n // getStatesDropdown();\n // }, []);\n\n useEffect(() => {\n getCountiesDropdown(stateId, showPage);\n }, [stateId, showPage]);\n\n useEffect(() => {\n getInfractions(countyId, typeId, showPage);\n }, [countyId, typeId, showPage]);\n\n const validateOtpPage = async () => {\n const response = await validateOtp({\n userName: userId,\n token: token,\n });\n if (typeof response == \"undefined\") {\n history.push(\"/unauthorized\");\n } else {\n setShowPage(true);\n getStatesDropdown();\n }\n };\n\n const getInfractions = async (countyId, typeId, showPage) => {\n try {\n if (showPage) {\n const response = await getInfractionByCountyAndType(countyId, typeId);\n if (typeof response != \"undefined\") {\n setInfractions(response);\n }\n }\n } catch (error) {\n console.log(error);\n }\n };\n\n const getStatesDropdown = async () => {\n try {\n const response = await getStates();\n if (typeof response != \"undefined\") {\n setStates(response);\n }\n } catch (error) {\n console.log(error);\n }\n };\n\n const getCountiesDropdown = async (stateId, showPage) => {\n try {\n if (showPage) {\n const response = await getCountiesByState(stateId);\n if (typeof response != \"undefined\") {\n setCounties(response);\n }\n }\n } catch (error) {\n console.log(error);\n }\n };\n\n const getCityByZipcodeDropdow = async (zipcode) => {\n try {\n const response = await getCityByZipcode(zipcode);\n if (typeof response != \"undefined\") {\n setCities(response);\n }\n } catch (error) {\n console.log(error);\n }\n };\n\n const searchClient = async () => {\n try {\n const response = await getClientByDriverLicense(driverLicense);\n if (typeof response === \"undefined\") {\n setIsClientExist(false);\n setIsClientNotExist(true);\n setOpenAlert(true);\n setClientId(\"\");\n setClientFirstName(\"\");\n setClientLastName(\"\");\n setClientEmail(\"\");\n setClientPhone(\"\");\n setShowEditPhoneBtn(false);\n setAlertMessage(\"Client does not exist.\");\n setClientDriverLicense(driverLicense);\n }\n if (typeof response.id === \"undefined\") {\n setOpenAlert(true);\n setAlertMessage(\"Client does not exist.\");\n setClientDriverLicense(driverLicense);\n setClientId(\"\");\n setClientFirstName(\"\");\n setClientLastName(\"\");\n setClientEmail(\"\");\n setClientPhone(\"\");\n setShowEditPhoneBtn(false);\n setIsClientExist(false);\n setIsClientNotExist(true);\n } else {\n if (response.problemClient === 1){\n setAlertMessage(\"Problem client is not allowed.\");\n setIsClientExist(false);\n setIsClientNotExist(false);\n setOpenAlert(true);\n setClientId(\"\");\n setClientFirstName(\"\");\n setClientLastName(\"\");\n setClientEmail(\"\");\n setClientPhone(\"\");\n setShowEditPhoneBtn(false);\n setClientDriverLicense(driverLicense);\n } else {\n if (response.pastDueAmount > 0){\n setAlertMessage(\"Client with Past Due is not allowed\");\n setIsClientExist(false);\n setIsClientNotExist(false);\n setOpenAlert(true);\n setClientId(\"\");\n setClientFirstName(\"\");\n setClientLastName(\"\");\n setClientEmail(\"\");\n setClientPhone(\"\");\n setShowEditPhoneBtn(false);\n setClientDriverLicense(driverLicense);\n } else {\n setClientId(response.id);\n setClientFirstName(response.firstName);\n setClientLastName(response.lastName);\n setClientEmail(response.email);\n setClientPhone(response.mobileNumber);\n setMobileNumberEdit(response.mobileNumber);\n setShowClientDetail(true);\n setShowAddClient(false);\n setIsClientExist(true);\n setIsClientNotExist(false);\n }\n }\n }\n } catch (error) {\n console.log(error);\n }\n };\n\n const addCaseTicket = () => {\n setOpenInfraction(true);\n };\n\n const addInfraction = async () => {\n const errorRes = {\n eCaseCitationNumber: false,\n eCaseInfraction: false,\n eCaseChargeAmount: false,\n };\n if (citationNumber === null || citationNumber === \"\") {\n errorRes.eCaseCitationNumber = true;\n }\n if (infractionId === null || infractionId === \"0\") {\n errorRes.eCaseInfraction = true;\n }\n if (chargeAmount === null || chargeAmount === \"\") {\n errorRes.eCaseChargeAmount = true;\n }\n if (Object.values(errorRes).includes(true)) {\n setErrorMap(errorRes);\n setOpenAlert(true);\n setAlertMessage(\"Complete the required fields please\");\n return;\n }\n if (citationNumber !== null || citationNumber !== \"\") {\n const validation = await validateCitation(citationNumber);\n if (validation !== true) {\n setRows(\n rows.concat([\n {\n citationNumber: citationNumber,\n infraction: infractionDesc,\n amount: parseFloat(chargeAmount).toFixed(2),\n action: \"\",\n infractionId: infractionId,\n reason: reason,\n },\n ])\n );\n ReactDataGrid.rowsCount = rows.length + 1;\n setOpenInfraction(false);\n setInfractionId(\"0\");\n setCitationNumber(\"\");\n setInfractionDesc(\"\");\n setChargeAmount(\"\");\n setReason(\"\");\n } else {\n setOpenAlert(true);\n setAlertMessage(\"Citation Number already exist\");\n setErrorMap({ eCaseCitationNumber: true });\n }\n }\n };\n\n const onGridRowsUpdated = ({ fromRow, toRow, updated }) => {\n setRows((rows) => {\n const newRow = rows.slice();\n for (let i = fromRow; i <= toRow; i++) {\n newRow[i] = { ...newRow[i], ...updated };\n }\n return newRow;\n });\n };\n\n const onGridCaseRowsUpdated = ({ fromRow, toRow, updated }) => {\n setCaseRows((caseRows) => {\n const newRow = caseRows.slice();\n for (let i = fromRow; i <= toRow; i++) {\n newRow[i] = { ...newRow[i], ...updated };\n }\n return newRow;\n });\n };\n\n const getCellActions = (column, row) => {\n const cellActions = [\n {\n icon: (\n \n x\n \n ),\n callback: () => {\n const currentRows = rows;\n let rowsTemp = [];\n currentRows.forEach((rowTemp) => {\n if (rowTemp.infractionId != row.infractionId) {\n rowsTemp.push(rowTemp);\n }\n });\n setRows(rowsTemp);\n },\n },\n ];\n return column.key === \"action\" ? cellActions : null;\n };\n\n const addClient = () => {\n setShowAddClient(true);\n setShowClientDetail(false);\n setIsClientExist(true);\n setIsClientNotExist(false);\n };\n\n function uuidv4() {\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(\n /[xy]/g,\n function (c) {\n var r = (Math.random() * 16) | 0,\n v = c == \"x\" ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n }\n );\n }\n\n const saveCitationHandle = async () => {\n setDisableSave(true)\n const validation = await validateCase(caseNumber);\n if (validation !== true) {\n setErrorMap({ eCaseNumber: false });\n setBackShow(true);\n let isAccidentBit;\n let isInjuryBit;\n let isFatalityBit;\n let tickets = [];\n\n var groupId;\n\n if (showGridCases != true) {\n groupId = uuidv4();\n } else {\n groupId = quoteGroupId;\n }\n\n setQuoteGroupId(groupId);\n\n if (accident !== \"0\") isAccidentBit = true;\n else isAccidentBit = false;\n\n if (injury !== \"0\") isInjuryBit = true;\n else isInjuryBit = false;\n\n if (fatality !== \"0\") isFatalityBit = true;\n else isFatalityBit = false;\n\n if (rows.length > 0) {\n for (let indexRows = 0; indexRows < rows.length; indexRows++) {\n let caseTickets = {};\n caseTickets.ticketNumber = rows[indexRows][\"citationNumber\"];\n caseTickets.infractionId = parseInt(rows[indexRows][\"infractionId\"]);\n caseTickets.chargeAmount = parseFloat(rows[indexRows][\"amount\"]);\n caseTickets.reason = rows[indexRows][\"reason\"];\n tickets.push(caseTickets);\n }\n }\n\n const payloadClient = {\n userId: parseInt(userId),\n client: {\n firstName: firstName,\n lastName: lastName,\n middleName: middleName,\n driverLicense: clientDriverLicense,\n mobileNumber: mobileNumber,\n email: email,\n zipCode: zipcode,\n countryId: clientCountryId,\n address1: address1,\n address2: address2,\n isActive: 1,\n city: clientCity,\n stateAbbr: clientStateId,\n licenseStateId: parseInt(stateIssuedId),\n sexId: parseInt(sex),\n dateOfBirth: dateOfBirth,\n languageId: parseInt(language),\n },\n case: {\n stateId: parseInt(stateId),\n countyId: parseInt(countyId),\n caseNumber: caseNumber,\n infractionId: parseInt(infractionId),\n typeId: parseInt(typeId),\n citationDate: citationDate,\n complyByDate: complyByDate,\n caseActionId: parseInt(caseActionId),\n isAccident: isAccidentBit,\n isInjury: isInjuryBit,\n isFatality: isFatalityBit,\n quoteGroupId: groupId,\n },\n caseTickets: tickets,\n };\n\n const payloadCase = {\n userId: parseInt(userId),\n case: {\n stateId: parseInt(stateId),\n countyId: parseInt(countyId),\n caseNumber: caseNumber,\n clientId: clientId,\n infractionId: parseInt(infractionId),\n typeId: parseInt(typeId),\n citationDate: citationDate,\n complyByDate: complyByDate,\n caseActionId: parseInt(caseActionId),\n isAccident: isAccidentBit,\n isInjury: isInjuryBit,\n isFatality: isFatalityBit,\n quoteGroupId: groupId,\n caseIntakeId: 11,\n },\n client: {\n mobileNumber: mobileNumberEdit,\n },\n caseTickets: tickets,\n };\n\n let payload;\n if (showAddClient === true) payload = payloadClient;\n else payload = payloadCase;\n\n const errorRes = {\n eLastName: false,\n eFirstName: false,\n eAddress1: false,\n eCity: false,\n eState: false,\n eCountry: false,\n eSex: false,\n eDateOfBirth: false,\n eDriverLicense: false,\n eCaseState: false,\n eCaseCounty: false,\n eCaseType: false,\n eCitationDate: false,\n eComplyByDate: false,\n eCaseAction: false,\n eCaseIntake: false,\n eClientMobileNumberEdit: false,\n eLanguage: false,\n };\n\n try {\n var today = new Date();\n var date = new Date(citationDate);\n var date2 = new Date(complyByDate);\n if (showAddClient === true) {\n if (lastName === null || lastName === \"\") {\n errorRes.eLastName = true;\n }\n if (firstName === null || firstName === \"\") {\n errorRes.eFirstName = true;\n }\n if (address1 === null || address1 === \"\") {\n errorRes.eAddress1 = true;\n }\n if (clientCity === null || clientCity === \"0\") {\n errorRes.eCity = true;\n }\n if (clientStateId === null || clientStateId === \"0\") {\n errorRes.eState = true;\n }\n if (clientCountryId === null || clientCountryId === \"0\") {\n errorRes.eCountry = true;\n }\n if (sex === null || sex === \"0\") {\n errorRes.eSex = true;\n }\n if (dateOfBirth === null || dateOfBirth === \"\") {\n errorRes.eDateOfBirth = true;\n }\n if (clientDriverLicense === null || clientDriverLicense === \"\") {\n errorRes.eDriverLicense = true;\n }\n if (language === null || language === \"0\") {\n errorRes.eLanguage = true;\n }\n }\n if (showMobileNumberEdit === true) {\n if (mobileNumberEdit === null || mobileNumberEdit === \"\") {\n errorRes.eClientMobileNumberEdit = true;\n }\n }\n if (stateId === null || stateId === \"0\") {\n errorRes.eCaseState = true;\n }\n if (countyId === null || countyId === \"0\") {\n errorRes.eCaseCounty = true;\n }\n if (typeId === null || typeId === \"0\") {\n errorRes.eCaseType = true;\n }\n if (citationDate === null || citationDate === \"\") {\n errorRes.eCitationDate = true;\n }\n if (complyByDate === null || complyByDate === \"\") {\n errorRes.eComplyByDate = true;\n }\n if (date2.getFullYear() < 1973) {\n errorRes.eComplyByDate = true;\n setBackShow(false);\n setOpenAlert(true);\n setDisableSave(false);\n setAlertMessage(\"Comply by date format is incorrect\");\n }\n if (date.getFullYear() < 1973) {\n errorRes.eCitationDate = true;\n setBackShow(false);\n setOpenAlert(true);\n setDisableSave(false);\n setAlertMessage(\"Citation date format is incorrect\");\n }\n if (date > today) {\n errorRes.eCitationDate = true;\n setBackShow(false);\n setOpenAlert(true);\n setDisableSave(false);\n setAlertMessage(\n \"Citation date must be before the current date or today\"\n );\n }\n if (caseActionId === null || caseActionId === \"0\") {\n errorRes.eCaseAction = true;\n }\n // if (caseIntakeId === null || caseIntakeId === \"0\") {\n // errorRes.eCaseIntake = true;\n // }\n if (Object.values(errorRes).includes(true)) {\n setErrorMap(errorRes);\n setBackShow(false);\n setDisableSave(false);\n return;\n }\n const response = await saveCitation(payload);\n if (typeof response != \"undefined\") {\n setBarcodeId(response);\n setOpenAlertAddCase(true);\n // setBackShow(false);\n // setPayAlert(true);\n // setPaymentPageUrl('https://ttc-florida-web.azurewebsites.net/casepayment?barcodeid=' + response.toString(36))\n // setOpenAlert(true);\n // setAlertMessage('Saved successfully');\n // setSavedSuccess(true);\n } else {\n setBackShow(false);\n setOpenAlert(true);\n setDisableSave(false);\n setAlertMessage(\"An error occurred. Retry\");\n }\n } catch (error) {\n console.log(error);\n }\n } else {\n setOpenAlert(true);\n setDisableSave(false);\n setAlertMessage(\"The ticket already exist\");\n setErrorMap({ eCaseNumber: true });\n }\n };\n\n const handleAddCase = () => {\n setBackShow(false);\n setDisableSave(false);\n setDisableSearch(true);\n setOpenAlertAddCase(false);\n setCaseRows(\n caseRows.concat([\n {\n barcodeId: barcodeId,\n type: typeDesc,\n caseNumber: caseNumber,\n citationDate: citationDate,\n caseAction: caseActionDesc,\n },\n ])\n );\n ReactDataGrid.rowsCount = caseRows.length + 1;\n setShowGridCases(true);\n setStateId(process.env.REACT_APP_TTC_DEFAULT_STATE);\n setCountyId(process.env.REACT_APP_TTC_DEFAULT_COUNTY);\n setTypeId(\"0\");\n setInfractionId(\"0\");\n setCaseNumber(\"\");\n setCaseActionId(\"0\");\n setCitationDate(\"\");\n setAccident(\"0\");\n setInjury(\"0\");\n setFatality(\"0\");\n setCaseIntakeId(process.env.REACT_APP_TTC_DEFAULT_CASE_INTAKE);\n setChargeAmount(\"\");\n setInfractionDesc(\"\");\n setPaymentPageUrl(\"\");\n setCitationNumber(\"\");\n setComplyByDate(\"\");\n setReason(\"\");\n setBarcodeId(0);\n setRows([]);\n\n if (showAddClient === true) {\n setShowAddClient(false);\n setDriverLicense(clientDriverLicense);\n var btn = document.getElementById(\"search\");\n btn.click();\n setShowClientDetail(true);\n }\n };\n\n const handleValidateCase = async (caseNumber) => {\n const response = await validateCase(caseNumber);\n return response;\n // if(response !== false){\n // // setOpenAlert(true);\n // // setAlertMessage('The ticket already exist');\n // // errorMap.caseNumber = true;\n // return false;\n // } else {\n // return true;\n // }\n };\n\n const handleOnlyOneCase = () => {\n setOpenAlert(false);\n setBackShow(false);\n setPayAlert(true);\n setPaymentPageUrl(\n process.env.REACT_APP_TTC_PAYMENT_PAGE_URL + quoteGroupId\n );\n setOpenAlert(true);\n setAlertMessage(\"Saved successfully\");\n setSavedSuccess(true);\n };\n\n useEffect(() => {\n if (clientPhone !== \"\") setShowEditPhoneBtn(true);\n }, [clientPhone]);\n\n const handleOnChangeCitationDate = (e) => {\n var invoiceDate = document.getElementById(\"citationDateInput\").value;\n var days = 30;\n\n invoiceDate = invoiceDate.split(\"-\");\n invoiceDate = new Date(invoiceDate[0], invoiceDate[1] - 1, invoiceDate[2]);\n invoiceDate.setDate(invoiceDate.getDate() + days);\n const year = invoiceDate.getFullYear();\n const monthWithOffset = invoiceDate.getUTCMonth() + 1;\n const month =\n monthWithOffset.toString().length < 2\n ? `0${monthWithOffset}`\n : monthWithOffset;\n const date =\n invoiceDate.getUTCDate().toString().length < 2\n ? `0${invoiceDate.getUTCDate()}`\n : invoiceDate.getUTCDate();\n\n const materialDateInput = `${year}-${month}-${date}`;\n setCitationDate(e);\n setComplyByDate(materialDateInput);\n };\n\n return (\n
\n {showPage ? (\n
\n \n \n setDriverLicense(e.target.value)}\n />\n \n \n \n Search\n \n \n {isClientNotExist && (\n \n \n Add Client\n \n \n )}\n {showClientDetail && (\n <>\n \n
CLIENT DETAILS
\n
\n \n \n \n \n \n \n \n \n {!showMobileNumberEdit && (\n \n \n \n {showEditPhoneBtn && (\n setShowMobileNumberEdit(true)}\n >\n Edit\n \n )}\n \n )}\n {showMobileNumberEdit && (\n \n setMobileNumberEdit(e)}\n />\n setShowMobileNumberEdit(false)}\n >\n Cancel\n \n \n )}\n \n \n \n \n \n )}\n {showGridCases && (\n <>\n \n
CASE LIST
\n
\n \n
\n caseRows[i]}\n rowsCount={caseRows.length}\n onGridRowsUpdated={onGridCaseRowsUpdated}\n enableCellSelect={true}\n />\n
\n
\n \n )}\n {showAddClient && (\n <>\n \n
CLIENT DETAILS
\n
\n \n {\n setLastName(e.target.value);\n setErrorMap({ ...errorMap, eLastName: false });\n }}\n />\n \n \n {\n setFirstName(e.target.value);\n setErrorMap({ ...errorMap, eFirstName: false });\n }}\n />\n \n \n setMiddleName(e.target.value)}\n />\n \n \n {\n setEmail(e.target.value);\n }}\n />\n \n \n {\n setAddress1(e.target.value);\n setErrorMap({ ...errorMap, eAddress1: false });\n }}\n />\n \n \n setAddress2(e.target.value)}\n />\n \n \n handleChangeZipcode(e.target.value)}\n />\n \n \n {\n setClientCity(e.target.value);\n setErrorMap({ ...errorMap, eCity: false });\n }}\n >\n \n {cities.map((option) => (\n \n ))}\n \n \n \n {\n setClientStateId(e.target.value);\n setErrorMap({ ...errorMap, eState: false });\n }}\n >\n \n {states.map((option) => (\n \n ))}\n \n \n \n {\n setClientCountryId(e.target.value);\n setErrorMap({ ...errorMap, eCountry: false });\n }}\n >\n \n {countries.map((option) => (\n \n ))}\n \n \n \n setMobileNumber(e)}\n />\n \n \n {\n setSex(e.target.value);\n setErrorMap({ ...errorMap, eSex: false });\n }}\n >\n \n {sexs.map((option) => (\n \n ))}\n \n \n \n {\n setDateOfBirth(e.target.value);\n setErrorMap({ ...errorMap, eDateOfBirth: false });\n }}\n />\n \n \n {\n setClientDriverLicense(e.target.value);\n setErrorMap({ ...errorMap, eDriverLicense: false });\n }}\n />\n \n \n setStateIssuedId(e.target.value)}\n >\n \n {states.map((option) => (\n \n ))}\n \n \n \n {\n setLanguage(e.target.value);\n setErrorMap({ ...errorMap, eLanguage: false });\n }}\n >\n \n \n \n \n \n \n
\n \n \n )}\n \n
ADD CASE DETAILS
\n
\n \n {\n handleChangeState(e.target.value);\n setErrorMap({ ...errorMap, eCaseState: false });\n }}\n >\n \n {states.map((option) => (\n \n ))}\n \n \n \n {\n handleSetCounty(e.target.value);\n setErrorMap({ ...errorMap, eCaseCounty: false });\n }}\n >\n \n {counties.map((option) => (\n \n ))}\n \n \n \n {\n setCaseNumber(e.target.value);\n }}\n onKeyDown={(e) => {\n if (e.keyCode === 32) {\n e.preventDefault();\n }\n }}\n />\n \n \n {\n handleSetType(e.target.value);\n setErrorMap({ ...errorMap, eCaseType: false });\n }}\n variant=\"outlined\"\n className={classes.inputText}\n >\n \n {types.map((option) => (\n \n ))}\n \n \n \n {\n handleOnChangeCitationDate(e.target.value);\n setErrorMap({ ...errorMap, eCitationDate: false });\n }}\n />\n \n \n {\n handleSetCaseAction(e.target.value);\n setErrorMap({ ...errorMap, eCaseAction: false });\n }}\n variant=\"outlined\"\n className={classes.inputText}\n >\n \n {actions.map((option) => (\n \n ))}\n \n \n \n {\n setAccident(e.target.value);\n }}\n variant=\"outlined\"\n className={classes.inputText}\n >\n \n \n \n \n \n {\n setInjury(e.target.value);\n }}\n variant=\"outlined\"\n className={classes.inputText}\n >\n \n \n \n \n \n {\n setFatality(e.target.value);\n }}\n variant=\"outlined\"\n className={classes.inputText}\n >\n \n \n \n \n \n {\n setCaseIntakeId(e.target.value);\n setErrorMap({ ...errorMap, eCaseIntake: false });\n }}\n variant=\"outlined\"\n className={classes.inputText}\n >\n {intakes.map((option) => (\n \n ))}\n \n \n \n {\n setComplyByDate(e.target.value);\n setErrorMap({ ...errorMap, eComplyByDate: false });\n }}\n />\n \n \n
CASE TICKETS
\n
\n \n \n \n \n Add Infraction\n \n \n \n
\n rows[i]}\n rowsCount={rows.length}\n onGridRowsUpdated={onGridRowsUpdated}\n enableCellSelect={true}\n getCellActions={getCellActions}\n />\n
\n
\n \n {isClientExist && (\n \n Save\n \n )}\n \n \n {isClientExist && (\n \n Cancel\n \n )}\n \n
\n \n \n {alertMessage}\n \n {payAlert && (\n \n \n Note:{\" \"}\n \n \n \n )}\n \n {payAlert && (\n {\n navigator.clipboard.writeText(paymentPageUrl);\n setCopyText(\"Copied!\");\n }}\n className={classes.buttonSearch}\n autoFocus\n >\n {copyText}\n \n )}\n \n Close\n \n \n \n \n \n Add case\n \n \n \n Do you want add another case?\n \n \n \n \n Yes\n \n \n No\n \n \n \n \n \n Add Infraction\n \n \n \n \n {\n setCitationNumber(e.target.value);\n setErrorMap({ ...errorMap, eCaseCitationNumber: false });\n }}\n onKeyDown={(e) => {\n if (e.keyCode === 32) {\n e.preventDefault();\n }\n }}\n />\n \n \n {\n handleSetInfraction(e.target.value);\n setAddInfractionBtn(true);\n setErrorMap({ ...errorMap, eCaseInfraction: false });\n }}\n >\n \n {infractions.map((option) => (\n \n ))}\n \n \n \n {\n setChargeAmount(e.target.value);\n setErrorMap({ ...errorMap, eCaseChargeAmount: false });\n }}\n />\n \n \n {\n setReason(e.target.value);\n }}\n />\n \n \n \n \n {addInfractionBtn && (\n \n Add\n \n )}\n \n Close\n \n \n \n \n \n \n
\n ) : (\n \n

Loading...

\n
\n )}\n
\n );\n}\n\nexport default CasePage;\n","import React from \"react\";\nimport { withStyles, makeStyles } from \"@material-ui/core/styles\";\nimport {\n Grid,\n Button,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TableRow,\n Snackbar,\n IconButton,\n TextField,\n Dialog,\n DialogContent,\n DialogContentText,\n DialogTitle,\n DialogActions,\n Backdrop,\n CircularProgress,\n} from \"@material-ui/core\";\nimport CloseIcon from \"@material-ui/icons/Close\";\nimport { getCasesByClient, getClientCasesByParam } from \"../api/client\";\nimport { getRegions } from \"../api/location\";\nimport { deleteCase } from \"../api/case\";\nimport { validateOtp, generateOtp } from \"../api/otp\";\nimport { withRouter } from \"react-router\";\nimport DeleteIcon from \"@material-ui/icons/Delete\";\n\nconst StyledTableCell = withStyles((theme) => ({\n head: {\n backgroundColor: theme.palette.common.black,\n color: theme.palette.common.white,\n },\n body: {\n fontSize: 14,\n },\n}))(TableCell);\n\nconst StyledTableRow = withStyles((theme) => ({\n root: {\n \"&:nth-of-type(odd)\": {\n backgroundColor: theme.palette.action.hover,\n },\n },\n}))(TableRow);\n\nconst useStyles = makeStyles({\n table: {\n minWidth: 500,\n width: 200,\n },\n root: {\n flexGrow: 1,\n paddingTop: 20,\n paddingLeft: 20,\n paddingRight: 20,\n },\n button: {\n color: \"#FFEF65\",\n backgroundColor: \"black\",\n height: 50,\n width: \"50%\",\n fontWeight: \"bold\",\n fontSize: 16,\n },\n inputText: {\n width: \"100%\",\n height: 30,\n marginTop: 20,\n },\n});\n\nclass CaseListPage extends React.Component {\n constructor(props) {\n super(props);\n const search = window.location.search;\n const params = new URLSearchParams(search);\n this.state = {\n userid: params.get(\"userid\"),\n token: params.get(\"otptoken\"),\n cases: [],\n searchCases: [],\n open: false,\n message: \"\",\n searchCase: \"\",\n openAlertAddCase: false,\n barcodeIdToDelete: \"\",\n regionSelected: \"All\",\n regions: [],\n showTable: true,\n backShow: false,\n showPage: false,\n };\n this.setState = this.setState.bind(this);\n this.handleAddCase = this.handleAddCase.bind(this);\n this.handleClose = this.handleClose.bind(this);\n this.deleteCaseClient = this.deleteCaseClient.bind(this);\n this.handleSearch = this.handleSearch.bind(this);\n this.handleRegionFilter = this.handleRegionFilter.bind(this);\n this.handleCloseDialog = this.handleCloseDialog.bind(this);\n this.handleSearchCases = this.handleSearchCases.bind(this);\n }\n\n componentDidMount() {\n this.validateOtp();\n }\n\n async validateOtp() {\n const response = await validateOtp({\n userName: this.state.userid,\n token: this.state.token,\n });\n if (typeof response == \"undefined\") {\n this.props.history.push(\"/unauthorized\");\n } else {\n this.setState({ showPage: true });\n this.getListCases(this.state.userid);\n this.getRegionsList();\n }\n }\n\n async handleAddCase() {\n var newToken = \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(\n /[xy]/g,\n function (c) {\n var r = (Math.random() * 16) | 0,\n v = c == \"x\" ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n }\n );\n await generateOtp({\n userName: this.state.userid,\n token: newToken,\n });\n this.props.history.push(\"/caseadd?userid=\" + this.state.userid + \"&otptoken=\" + newToken);\n }\n\n handleCloseDialog() {\n this.setState({ openAlertAddCase: false });\n }\n\n caseDetailPage(barcodeId) {\n window.open(\n process.env.REACT_APP_TTC_TICKET_EXTERNAL_URL + barcodeId,\n \"_blank\"\n );\n }\n\n copyPaymentUrl(url, barcode, quoteGroupId, isPaid) {\n if (isPaid != \"YES\") {\n var newUrl = process.env.REACT_APP_TTC_PAYMENT_PAGE_URL + quoteGroupId;\n navigator.clipboard.writeText(newUrl);\n this.setState({ open: true, message: \"Copied Payment URL: \" + barcode });\n } else {\n this.setState({ open: true, message: \"This case is already paid\" });\n }\n }\n\n handleClose(event, reason) {\n if (reason === \"clickaway\") {\n return;\n }\n this.setState({ open: false });\n }\n\n async getRegionsList() {\n try {\n const response = await getRegions();\n if (typeof response != \"undefined\") this.setState({ regions: response });\n } catch (error) {\n console.log(error);\n }\n }\n\n async getListCases(clientId) {\n try {\n const response = await getCasesByClient(clientId);\n if (typeof response != \"undefined\") {\n this.setState({ cases: response, searchCases: response });\n const newData = this.state.cases.map((item) => ({\n ...item,\n label: \"\",\n }));\n this.setState({ cases: newData, searchCases: newData });\n const rows = [...this.state.cases];\n let rowsTemp = [];\n var groupId = \"\";\n rows.forEach((rowTemp) => {\n if (rowTemp.quoteGroupId != groupId) {\n rowTemp.label = \"Copy Link!\";\n if (rowTemp.isNewQuotePaidFlag != \"NO\") {\n document.getElementById(rowTemp.barcodeId).style.color = \"black\";\n document.getElementById(rowTemp.barcodeId).style.textDecoration =\n \"none\";\n document.getElementById(rowTemp.barcodeId).style.cursor =\n \"default\";\n document.getElementById(rowTemp.barcodeId).style.pointerEvents =\n \"none\";\n }\n groupId = rowTemp.quoteGroupId;\n }\n rowsTemp.push(rowTemp);\n });\n this.setState({ cases: rowsTemp, searchCases: rowsTemp });\n }\n } catch (error) {\n console.log(error);\n }\n }\n\n async handleSearchCases(param) {\n try {\n this.setState({ backShow: true });\n const response = await getClientCasesByParam(param);\n console.log(`Response: ${JSON.stringify(response.length)}`);\n if (typeof response != \"undefined\") {\n if (response.length === 0) this.setState({ showTable: false });\n else this.setState({ showTable: true });\n this.setState({ cases: response, searchCases: response });\n const newData = this.state.cases.map((item) => ({\n ...item,\n label: \"\",\n }));\n this.setState({ cases: newData, searchCases: newData });\n const rows = [...this.state.cases];\n let rowsTemp = [];\n var groupId = \"\";\n rows.forEach((rowTemp) => {\n if (rowTemp.quoteGroupId != groupId) {\n rowTemp.label = \"Copy Link!\";\n if (rowTemp.isNewQuotePaidFlag != \"NO\") {\n document.getElementById(rowTemp.barcodeId).style.color = \"black\";\n document.getElementById(rowTemp.barcodeId).style.textDecoration =\n \"none\";\n document.getElementById(rowTemp.barcodeId).style.cursor =\n \"default\";\n document.getElementById(rowTemp.barcodeId).style.pointerEvents =\n \"none\";\n }\n groupId = rowTemp.quoteGroupId;\n }\n rowsTemp.push(rowTemp);\n });\n this.setState({\n cases: rowsTemp,\n searchCases: rowsTemp,\n backShow: false,\n });\n }\n } catch (error) {\n console.log(error);\n }\n }\n\n async deleteCaseClient(barcodeId) {\n try {\n const response = await deleteCase(barcodeId);\n if (typeof response != \"undefined\") {\n var array = this.state.cases;\n var index = array.findIndex((x) => x.barcodeId === barcodeId);\n array.splice(index, 1);\n this.setState({\n people: array,\n barcodeIdToDelete: \"\",\n openAlertAddCase: false,\n open: true,\n message: \"Successfully deleted\",\n });\n }\n } catch (error) {\n console.log(error);\n }\n }\n\n handleSearch(event) {\n this.setState({ searchCase: event.target.value, regionSelected: \"All\" });\n if (event.target.value === \"\") {\n this.getListCases(this.state.userid);\n this.setState({ showTable: true });\n }\n }\n\n handleRegionFilter(event) {\n var filters = event.target.value;\n var filtered = this.state.searchCases.filter(function (el) {\n if (!String(el.region).includes(filters) && filters !== \"All\") {\n return false;\n }\n return true;\n });\n this.setState({ cases: filtered });\n }\n\n render() {\n const { classes } = this.props;\n return (\n
\n {this.state.showPage ? (\n \n \n \n \n Add New Case\n \n \n \n {\n this.setState({ regionSelected: e.target.value });\n this.handleRegionFilter(e);\n }}\n >\n \n {this.state.regions.map((option) => (\n \n ))}\n \n \n \n {\n if (e.key === \"Enter\" && e.target.value !== \"\") {\n this.handleSearchCases(e.target.value);\n }\n }}\n />\n \n {this.state.showTable ? (\n \n \n \n \n \n \n Client\n \n \n Mobile Number\n \n \n Barcode\n \n \n Citation Date\n \n \n Type\n \n \n County\n \n \n Is Paid?\n \n \n Created Date and Time\n \n \n Amount\n \n \n Payment URL\n \n \n \n \n \n {this.state.cases.map((row) => (\n \n \n {row.client}\n \n \n {row.mobileNumber}\n \n \n \n this.caseDetailPage(row.barcodeId)\n }\n style={{\n color: \"blue\",\n cursor: \"pointer\",\n textDecoration: \"underline\",\n }}\n >\n {row.barcodeId}\n \n \n \n {row.citationDate}\n \n \n {row.type}\n \n \n {row.county}\n \n \n {row.isNewQuotePaidFlag}\n \n \n {row.createdDate}\n \n \n $ {parseFloat(row.payAmount).toFixed(2)}\n \n \n \n this.copyPaymentUrl(\n row.paymentUrl,\n row.barcodeId,\n row.quoteGroupId,\n row.isNewQuotePaidFlag\n )\n }\n id={row.barcodeId}\n style={{\n color: \"blue\",\n cursor: \"pointer\",\n textDecoration: \"underline\",\n }}\n >\n {row.label}\n \n \n \n \n this.setState({\n openAlertAddCase: true,\n barcodeIdToDelete: row.barcodeId,\n })\n }\n />\n \n \n ))}\n \n
\n
\n
\n ) : (\n \n

There is no match with the search filter

\n
\n )}\n
\n \n \n \n \n \n }\n />\n \n \n Delete Case\n \n \n \n Do you want to delete this case?\n \n \n \n \n this.deleteCaseClient(this.state.barcodeIdToDelete)\n }\n style={{\n color: \"#FFEF65\",\n backgroundColor: \"black\",\n height: 50,\n width: \"100%\",\n fontWeight: \"bold\",\n fontSize: 16,\n }}\n autoFocus\n >\n Yes\n \n {\n this.setState({\n openAlertAddCase: false,\n barcodeIdToDelete: \"\",\n });\n }}\n style={{\n color: \"#FFEF65\",\n backgroundColor: \"black\",\n height: 50,\n width: \"100%\",\n fontWeight: \"bold\",\n fontSize: 16,\n }}\n autoFocus\n >\n No\n \n \n \n \n \n \n
\n ) : (\n \n

Loading...

\n \n )}\n \n );\n }\n}\n\nexport default withRouter(withStyles(useStyles)(CaseListPage));\n","import TTCLogo from '../assets/ttc-logo.png';\nimport CreditCards from '../assets/credit-cards.png';\nconst IMAGES = {\n TTCLogo,\n CreditCards\n}\n\nexport default IMAGES;","export default __webpack_public_path__ + \"static/media/ttc-logo.311e93b1.png\";","export default __webpack_public_path__ + \"static/media/credit-cards.d1878f7e.png\";","const translations = {\n headerCase: \"Case\",\n headerCitation: \"Citation\",\n headerClient: \"Client Details\",\n note: \"Please review and correct your personal information if necessary\",\n firstName: \"First Name\",\n lastName: \"Last Name\",\n middleName: \"Middle Name\",\n email: \"Email\",\n address1: \"Address 1\",\n address2: \"Address 2\",\n zipcode: \"Zipcode\",\n city: \"City\",\n selectDefault: \"--Select--\",\n country: \"Country\",\n state: \"State\",\n mobileNumber: \"Mobile Number\",\n sex: \"Sex\",\n dateOfBirth: \"Date Of Birth\",\n driverLicense: \"Driver License\",\n stateIssued: \"State Issued\",\n headerCaseList: \"Case List\",\n tableState: \"State\",\n tableCounty: \"County\",\n tableCaseNumber: \"Case Number\",\n tableCitationDate: \"Citation Date\",\n tablePrice: \"Price\",\n tableTickets: \"Tickets\",\n tableView: \"View\",\n headerCaseTickets: \"Case Tickets\",\n tableCitationNumber: \"CitationNumber\",\n tableDescription: \"Description\",\n tablePrice2: \"Price\",\n headerPaymentInformation: \"Payment Information\",\n paymentFirstName: \"First Name\",\n paymentLastName: \"Last Name\",\n paymentAmount: \"Amount\",\n paymentCoupon: \"Coupon\",\n paymentApply: \"Apply\",\n paymentCCNumberValidation: \"Enter digits without spaces\",\n paymentCCVVInformation: \"Last three digits on the card back\",\n termsAndConditionsInformation: \"By clicking Pay Now you agree to our\",\n termsAndConditions: \"Terms and Conditions\",\n payButton: \"Pay Now\",\n closeButton: \"Close\",\n terms: \"TERMS\",\n conditions: \"CONDITIONS\",\n firstTermsAndConditions:\n \"By submitting payment through the “PAY NOW” option, the Client, retains and employs THE TICKET CLINIC, A LAW FIRM, to represent him/her in his/her case submitted on this application. The fee paid is non-refundable, and excludes fines and court costs, if any, which can exceed the price of the ticket, for which the client shall remain solely liable. Client understands that this fee is earned immediately, is non-refundable and is not based on an hourly fee. This fee is exclusive of any appeals. There will be no refunds so please be certain that you wish to hire us. No representation has been made to the client concerning the probability of success as to their case. The client also acknowledges and understands that he/she retained THE TICKET CLINIC and no representations have been made regarding which attorney at the firm shall represent him/her. Further, THE TICKET CLINIC may substitute another attorney not associated with the firm to represent the client.\",\n secondTermsAndConditions:\n \"The client authorizes, THE TICKET CLINIC to represent him/her in this matter, and to either maintain a not guilty plea or enter a no contest plea on the client’s behalf at THE TICKET CLINIC’s discretion.\",\n thirdTermsAndConditions:\n \"In some counties, attorney appearances are permitted by mail or by phone. Client understands that if this situation arises, our attorney may choose to exercise that option.\",\n fourthTermsAndConditions:\n \"The client understands that should his/her attorney be in another courtroom at the time of their trial and the client chooses to be present, client is to wait for his/her attorney. If client decides to handle the case on their own he/she will NOT receive a refund.\",\n fifthTermsAndConditions:\n \"It is the sole responsibility of the client to keep THE TICKET CLINIC informed of any changes to their personal information, including, but not limited to, address, telephone number and email address. Any financial liabilities incurred due to the client failing to inform THE TICKET CLINIC of the aforementioned changes, shall be the sole responsibility of the client.\",\n sixthTermsAndConditions:\n \"Some counties allow our law firm to appear via a written plea. When scheduling conflicts arise, or our attorney is unable to attend the scheduled hearing, this option is used sparingly. In those cases, our firm makes our best attempt to obtain a favorable outcome for the client without an attorney from the firm appearing in person.\",\n seventhTermsAndConditionsPt1:\n \"The client understands that the money back guarantee provided by THE TICKET CLINIC is as follows: Alachua, Baker, Bay, Bradford, Calhoun, Citrus, Clay, Escambia, Franklin, Gadsden, Gilchrist, Glades, Gulf, Hamilton, Hardee, Hendry, Hernando, Highlands, Holmes, Jackson, Jefferson, Lafayette, Leon, Liberty, Madison, Okaloosa, Putnam, Santa Rosa, Sarasota, Suwannee, Taylor, Union, Walton, Washington County: No points if no tickets in past 2 years (excludes school/construction zone, accident cases, & mandatory court cases) no traffic school if no tickets in past 2 years and not exceeding 19 over the limit (excludes school/construction zone, accident cases & mandatory court cases). Manatee: No points if no tickets in past 2 years (excludes school/construction zone, accident cases with injuries, & mandatory court cases) no traffic school if no tickets in past 2 years and not exceeding 19 over the limit (excludes school/construction zone, accident cases with injuries & mandatory court cases). Volusia & Flagler: We guarantee no points regardless of driving history. (Excludes school/construction zones, accident with injuries & mandatory court case. No traffic school if no tickets in the past 2 years & was not exceeding 29 mph over the posted speed limit. (Excludes school/construction zones, accident w/ injuries and mandatory court cases. Duval and Nassau Counties: We guarantee no points if not tickets in the past 12 months (excludes school zone, construction zones, accident cases and mandatory court cases), no guarantee for driving school. St Johns County: We guarantee no points if no tickets in the past 12 months (excludes school and construction zones, accident cases and mandatory court cases) and no school if not tickets in the past 2 years and not exceeding 19 mph over (excludes school and construction zones, accident cases with injuries and mandatory court cases). Indian River, Martin, Okeechobee, & St. Lucie: No points if no tickets in the past 2 years. (Excludes accident with injury cases & mandatory court cases), no driving school if no tickets in the past 2 years (excluding school/construction zones, accidents with injuries and mandatory court cases). Palm Beach & Lee County: No points if not tickets in the past 2 years (Excluding accidents with injuries and mandatory court cases ONLY) No driving school if no tickets in the past 3 years and was not exceeding 14 mph over the speed limit.\",\n seventhTermsAndConditionsPt2:\n \"Excluding school an construction zones, accidents with injuries and mandatory court dates. Monroe County: No points and no school if no tickets in the past 2 years (excludes all accident cases, school/construction zone cases, passing a school bus and mandatory cases). Collier County: No points if no tickets in the past 2 years and not exceeding 20 mph over the speed limit (excludes school/construction zones, accident cases & mandatory court cases), no driving school if no tickets in the past 3 years and was not exceeding 14 mph over the speed limit (excluding school/construction zones, accidents with injuries and mandatory court cases) Columbia, Levy, & Wakulla, County: No points if no tickets in the past 5 years, not exceeding 14 mph over the limit (excludes school/construction, accident cases & mandatory court cases), traffic school is not guaranteed. Brevard, Lake & Orange: no points guaranteed regardless of the driving history, (excludes mandatory court cases, school/construction zone cases & accident w/injuries cases), no driving school if no tickets in the past 3 yrs. not exceeding 14 mph over the limit (excludes school/construction zone, accident w/injuries cases & mandatory court cases). Seminole County: no points if no tickets in the past 12 months (excludes mandatory court cases, school/construction zone cases & accident w/ injuries cases) & no driving school if no tickets in the past 2 years (excludes school/construction zone, accident w/injuries cases, & mandatory court cases).\",\n seventhTermsAndConditionsPt3:\n \"Osceola County: no points guaranteed (excludes mandatory court cases, school/construction zone cases & accident cases), no traffic school so long as no other tickets in the past 2 years, not exceeding 14 mph over the speed limit (traffic school guarantee excludes mandatory court cases, school/construction zone cases, accident cases and move-over law violations).Dixie & Polk County: No points if no tickets in the past 2 years (excludes school/construction zone, accident cases & mandatory court cases), traffic school is not guaranteed. Broward, Miami- Dade County: no points & no driving school if no tickets in the past 2 years, (excludes school/construction zone, violation of traffic control device citations, mandatory court cases & accident with injury cases), client must have valid license for 2+ years to qualify. Charlotte, Desoto, & Marion County: guaranteed no points if no tickets in the past 3 years (excludes school/construction zone, accident cases with injuries, & mandatory court cases), no guarantee for driving school. Sumter County: guaranteed no points if no tickets in the past 3 years and not exceeding 19 mph over the posted speed limit (excludes school/construction zone, accident cases, & mandatory court cases), no guarantee for driving school. Pasco: no points if no tickets in the past 3 years (excludes school/construction, accident with injuries cases & mandatory court cases), no traffic school if no tickets in the past 5 years and not exceeding 19 mph over the posted speed limit (excludes school/construction zone, accident w/ injuries cases, & mandatory court cases) Hillsborough & Pinellas Counties : no points if no tickets in the past 2 years (excludes accidents cases, construction/school zone & mandatory court cases), no traffic school if no tickets in the past 2 years, and no more than 5 other tickets on lifetime driving record (excludes accidents cases, construction/school zone & mandatory court cases).\",\n eightTermsAndConditions:\n \"All money-back guarantees are based on actual speed, NOT necessarily the speed referenced on the citation. This may affect the amount ordered for the fine and/or court costs, as the fine/cost imposed may relate to the actual speed. If your ticket is for 30 mph or more over the speed limit, or for passing a stopped school bus, Florida law does not allow for you to pay for your ticket or elect driving school. There is a mandatory court appearance required either by the client or an attorney (this is considered a “mandatory court case”). The client is aware that THE TICKET CLINIC offers no money-back guarantee for these types of cases and the driver’s license may be suspended by the Court.\",\n ninethTermsAndConditions:\n \"For drivers licensed outside the State of Florida, while we do offer a money-back guarantee for many Florida citations (restrictions apply, call for details) we do not guarantee or promise how the outcome that we obtain for you in Florida will affect your home-state driving record. If this is of concern to you, you should contact your home-state DMV so that your questions may be answered by them.\",\n tenthTermsAndConditions:\n \"Fees are based on the representations of the Client in the ‘hire us now” form. Should the actual charges, dates, counties, or other information differ from said representations, the TICKET CLINIC may, at its option, withdraw from the case, charge an additional fee, or both. In either case, there will be no refund.\",\n eleventhTermsAndConditions:\n \"You agree that all future communication from The Ticket Clinic to you may be paperless, either email or SMS. It is your responsibility to notify The Ticket Clinic if your email, phone number , or physical address changes.\",\n handleCloseMessage: \"This Ticket has already been paid.\",\n validateFormFieldsMessage: \"One or more fields are required\",\n validateCouponValueMessageOne: \"Invalid coupon\",\n validateCouponValueMessageTwo: \"The coupon must not be empty\",\n savePaymentCallbackMessageOne: \"Payment saved successfully\",\n savePaymentCallbackMessageTwo:\n \"Your payment method has been rejected. Please try again later\",\n componentDidMountMessageOne: \"This payment link has already expired.\",\n componentDidMountMessageTwo:\n \"The payment link you are trying to access has expired. For a new payment link, please text us to 305305. If you need further assistance, please call us at 1-800-248-2846. Thank you\",\n handleSubmitMessage: \"Mobile number is required\",\n cardNumberPlaceholder: \"Card Number (Credit/Debit)\",\n cardExperyDatePlaceholder: \"Expiration Date (MM/YY)\",\n validateCardNumber: \"Invalid card number\",\n validateCardExpiryDate: \"Invalid Expiration Date\",\n validateCardCvv: \"Invalid CVV\"\n};\n\nexport default translations;\n","const translations = {\n headerCase: \"Caso\",\n headerCitation: \"Citación\",\n headerClient: \"Detalles del Cliente\",\n note: \"Por favor, revise y corrija su información personal si es necesario\",\n firstName: \"Nombre\",\n lastName: \"Apellido\",\n middleName: \"Segundo Nombre\",\n email: \"Correo Electrónico\",\n address1: \"Dirección 1\",\n address2: \"Dirección 2\",\n zipcode: \"Código Postal\",\n city: \"Ciudad\",\n selectDefault: \"--Seleccionar--\",\n country: \"País\",\n state: \"Estado\",\n mobileNumber: \"Número de Teléfono Móvil\",\n sex: \"Género\",\n dateOfBirth: \"Fecha de Nacimiento\",\n driverLicense: \"Licencia de Conducir\",\n stateIssued: \"Estado de Emisión\",\n headerCaseList: \"Lista de Casos\",\n tableState: \"Estado\",\n tableCounty: \"Condado\",\n tableCaseNumber: \"Número de Caso\",\n tableCitationDate: \"Fecha de Citación\",\n tablePrice: \"Precio\",\n tableTickets: \"Multas\",\n tableView: \"Ver\",\n headerCaseTickets: \"Multas del Caso\",\n tableCitationNumber: \"Número de Citación\",\n tableDescription: \"Descripción\",\n tablePrice2: \"Precio\",\n headerPaymentInformation: \"Información de Pago\",\n paymentFirstName: \"Nombre\",\n paymentLastName: \"Apellido\",\n paymentAmount: \"Cantidad\",\n paymentCoupon: \"Cupón\",\n paymentApply: \"Aplicar\",\n paymentCCNumberValidation: \"Ingrese dígitos sin espacios\",\n paymentCCVVInformation:\n \"Últimos tres dígitos en la parte posterior de la tarjeta\",\n termsAndConditionsInformation:\n \"Al hacer clic en Pagar ahora, acepta nuestros\",\n termsAndConditions: \"Términos y Condiciones\",\n payButton: \"Pagar Ahora\",\n closeButton: \"Cerrar\",\n terms: \"TÉRMINOS\",\n conditions: \"CONDICIONES\",\n firstTermsAndConditions:\n \"Al enviar el pago a través de la opción 'PAGAR AHORA', el Cliente, retiene y emplea a THE TICKET CLINIC, UN BUFETE DE ABOGADOS, para representarlo en su caso presentado en esta aplicación. La tarifa pagada no es reembolsable y excluye multas y costos judiciales, si los hay, que pueden superar el precio de la multa, por lo cual el cliente seguirá siendo el único responsable. El cliente comprende que esta tarifa se gana de inmediato, no es reembolsable y no se basa en una tarifa por hora. Esta tarifa excluye cualquier apelación. No habrá reembolsos, así que asegúrese de que desea contratarnos. No se ha hecho ninguna representación al cliente sobre la probabilidad de éxito en su caso. El cliente también reconoce y entiende que retuvo a THE TICKET CLINIC y no se han hecho representaciones sobre qué abogado del bufete lo representará. Además, THE TICKET CLINIC puede sustituir a otro abogado no asociado al bufete para representar al cliente.\",\n secondTermsAndConditions:\n \"El cliente autoriza a THE TICKET CLINIC a representarlo en este asunto y a mantener una declaración de no culpabilidad o ingresar a una declaración de no contendido en nombre del cliente a discreción de THE TICKET CLINIC.\",\n thirdTermsAndConditions:\n \"En algunos condados, las apariciones de abogados están permitidas por correo o por teléfono. El cliente comprende que si surge esta situación, nuestro abogado puede optar por ejercer esa opción.\",\n fourthTermsAndConditions:\n \"El cliente comprende que si su abogado está en otra sala del tribunal en el momento de su juicio y el cliente elige estar presente, el cliente debe esperar a su abogado. Si el cliente decide manejar el caso por sí mismo, NO recibirá un reembolso.\",\n fifthTermsAndConditions:\n \"Es responsabilidad exclusiva del cliente mantener informada a THE TICKET CLINIC sobre cualquier cambio en su información personal, incluyendo, entre otros, dirección, número de teléfono y dirección de correo electrónico. Cualquier responsabilidad financiera incurrida debido a que el cliente no informa a THE TICKET CLINIC sobre los cambios mencionados anteriormente será responsabilidad exclusiva del cliente.\",\n sixthTermsAndConditions:\n \"Algunos condados permiten que nuestro bufete de abogados aparezca a través de una declaración escrita. Cuando surgen conflictos de programación, o nuestro abogado no puede asistir a la audiencia programada, esta opción se utiliza con moderación. En esos casos, nuestro bufete hace el mejor intento para obtener un resultado favorable para el cliente sin que un abogado del bufete aparezca en persona.\",\n seventhTermsAndConditionsPt1:\n \"El cliente comprende que la garantía de devolución de dinero proporcionada por THE TICKET CLINIC es la siguiente: Alachua, Baker, Bay, Bradford, Calhoun, Citrus, Clay, Escambia, Franklin, Gadsden, Gilchrist, Glades, Gulf, Hamilton, Hardee, Hendry, Hernando, Highlands, Holmes, Jackson, Jefferson, Lafayette, Leon, Liberty, Madison, Okaloosa, Putnam, Santa Rosa, Sarasota, Suwannee, Taylor, Union, Walton, Washington County: Sin puntos si no hay multas en los últimos 2 años (excluye zonas escolares/construcción, casos de accidentes y casos de tribunal obligatorio), sin escuela de tráfico si no hay multas en los últimos 2 años y no excede los 19 sobre el límite (excluye zonas escolares/construcción, casos de accidentes y casos de tribunal obligatorio). Manatee: Sin puntos si no hay multas en los últimos 2 años (excluye zonas escolares/construcción, casos de accidentes con lesiones y casos de tribunal obligatorio), sin escuela de tráfico si no hay multas en los últimos 2 años y no excede los 19 sobre el límite (excluye zonas escolares/construcción, casos de accidentes con lesiones y casos de tribunal obligatorio). Volusia y Flagler: Garantizamos que no hay puntos independientemente del historial de conducción. (Excluye zonas escolares/construcción, accidentes con lesiones y casos de tribunal obligatorio. Sin escuela de tráfico si no hay multas en los últimos 2 años y no excede las 29 mph sobre el límite de velocidad publicado. (Excluye zonas escolares/construcción, accidentes con lesiones y casos de tribunal obligatorio. Condados de Duval y Nassau: Garantizamos que no hay puntos si no hay multas en los últimos 12 meses (excluye zonas escolares, zonas de construcción, casos de accidentes y casos de tribunal obligatorio), sin garantía para la escuela de conducción. Condado de St. Johns: Garantizamos que no hay puntos si no hay multas en los últimos 12 meses (excluye zonas escolares y de construcción, casos de accidentes y casos de tribunal obligatorio) y sin escuela si no hay multas en los últimos 2 años y no excede los 19 mph (excluye zonas escolares y de construcción, casos de accidentes con lesiones y casos de tribunal obligatorio). Indian River, Martin, Okeechobee y St. Lucie: Sin puntos si no hay multas en los últimos 2 años.\",\n seventhTermsAndConditionsPt2:\n \"Excluyendo zonas escolares y de construcción, accidentes con lesiones y fechas de tribunal obligatorias. Condado de Monroe: Sin puntos y sin escuela si no hay multas en los últimos 2 años (excluye todos los casos de accidentes, casos de zonas escolares/construcción, pasar un autobús escolar y casos obligatorios). Condado de Collier: Sin puntos si no hay multas en los últimos 2 años y no excede las 20 mph sobre el límite de velocidad (excluye zonas escolares/construcción, casos de accidentes y casos de tribunal obligatorio), sin escuela de conducción si no hay multas en los últimos 3 años y no excede las 14 mph sobre el límite de velocidad (excluyendo zonas escolares/construcción, accidentes con lesiones y casos de tribunal obligatorio) Condados de Columbia, Levy y Wakulla: Sin puntos si no hay multas en los últimos 5 años, no excediendo las 14 mph sobre el límite (excluye zonas escolares/construcción, casos de accidentes y casos de tribunal obligatorio), no se garantiza la escuela de tráfico. Brevard, Lake y Orange: sin puntos garantizados independientemente del historial de conducción, (excluye casos de tribunal obligatorio, casos de zonas escolares/construcción y casos de accidentes con lesiones), sin escuela de conducción si no hay multas en los últimos 3 años. no exceder las 14 mph sobre el límite (excluye zonas escolares/construcción, casos de accidentes con lesiones y casos de tribunal obligatorio). Condado de Seminole: sin puntos si no hay multas en los últimos 12 meses (excluye casos de tribunal obligatorio, casos de zonas escolares/construcción y casos de accidentes con lesiones) y sin escuela de conducción si no hay multas en los últimos 2 años (excluye zonas escolares/construcción, casos de accidentes con lesiones y casos de tribunal obligatorio).\",\n seventhTermsAndConditionsPt3:\n \"Condado de Osceola: sin puntos garantizados (excluye casos de tribunal obligatorio, casos de zonas escolares/construcción y casos de accidentes), sin escuela de tráfico siempre y cuando no haya otras multas en los últimos 2 años, no excediendo las 14 mph sobre el límite de velocidad (la garantía de escuela de tráfico excluye casos de tribunal obligatorio, casos de zonas escolares/construcción, casos de accidentes y violaciones de la ley de cambio de carril). Condados de Dixie y Polk: Sin puntos si no hay multas en los últimos 2 años (excluye zonas escolares/construcción, casos de accidentes y casos de tribunal obligatorio), no se garantiza la escuela de tráfico. Condados de Broward y Miami-Dade: sin puntos y sin escuela de conducción si no hay multas en los últimos 2 años (excluye zonas escolares/construcción, violaciones de dispositivos de control de tráfico, casos de tribunal obligatorio y casos de accidentes con lesiones), el cliente debe tener una licencia válida durante 2 años o más para calificar. Condados de Charlotte, Desoto y Marion: garantizado sin puntos si no hay multas en los últimos 3 años (excluye zonas escolares/construcción, casos de accidentes con lesiones y casos de tribunal obligatorio), no se garantiza la escuela de conducción. Condado de Sumter: garantizado sin puntos si no hay multas en los últimos 3 años y no excediendo las 19 mph sobre el límite de velocidad publicado (excluye zonas escolares/construcción, casos de accidentes y casos de tribunal obligatorio), no se garantiza la escuela de conducción. Condado de Pasco: sin puntos si no hay multas en los últimos 3 años (excluye zonas escolares/construcción, casos de accidentes con lesiones y casos de tribunal obligatorio), no hay escuela de tráfico si no hay multas en los últimos 5 años y no exceder las 19 mph sobre el límite de velocidad publicado (excluye zonas escolares/construcción, casos de accidentes con lesiones y casos de tribunal obligatorio) Condados de Hillsborough y Pinellas: sin puntos si no hay multas en los últimos 2 años (excluye casos de accidentes, zonas de construcción/escuela y casos de tribunal obligatorio), sin escuela de tráfico si no hay multas en los últimos 2 años y no más de 5 otras multas en el historial de conducción de por vida (excluye casos de accidentes, zonas de construcción/escuela y casos de tribunal obligatorio).\",\n eightTermsAndConditions:\n \"Todas las garantías de devolución de dinero se basan en la velocidad real, NO necesariamente en la velocidad mencionada en la citación. Esto puede afectar la cantidad ordenada para la multa y/o los costos judiciales, ya que la multa/costo impuesto puede estar relacionado con la velocidad real. Si su multa es de 30 mph o más sobre el límite de velocidad, o por rebasar un autobús escolar detenido, la ley de Florida no permite que pague su multa ni elija la escuela de manejo. Se requiere una comparecencia obligatoria ante el tribunal, ya sea por parte del cliente o de un abogado (esto se considera un 'caso de tribunal obligatorio'). El cliente es consciente de que THE TICKET CLINIC no ofrece garantía de devolución de dinero para este tipo de casos y la licencia de conducir puede ser suspendida por el tribunal.\",\n ninethTermsAndConditions:\n \"Para conductores con licencia fuera del estado de Florida, aunque ofrecemos una garantía de devolución de dinero para muchas multas en Florida (se aplican restricciones, llame para más detalles), no garantizamos ni prometemos cómo el resultado que obtenemos para usted en Florida afectará su historial de conducir en su estado de origen. Si esto le preocupa, debe comunicarse con el DMV de su estado de origen para que respondan a sus preguntas.\",\n tenthTermsAndConditions:\n \"Las tarifas se basan en las representaciones del Cliente en el formulario 'Contrátenos ahora'. Si los cargos reales, fechas, condados u otra información difieren de dichas representaciones, THE TICKET CLINIC puede, a su opción, retirarse del caso, cobrar una tarifa adicional o ambas cosas. En cualquier caso, no habrá reembolso.\",\n eleventhTermsAndConditions:\n \"Usted acepta que toda comunicación futura de The Ticket Clinic hacia usted puede ser sin papel, ya sea por correo electrónico o SMS. Es su responsabilidad notificar a The Ticket Clinic si su correo electrónico, número de teléfono o dirección física cambian.\",\n handleCloseMessage: \"Esta multa ya ha sido pagada.\",\n validateFormFieldsMessage: \"Uno o más campos son obligatorios\",\n validateCouponValueMessageOne: \"Cupón no válido\",\n validateCouponValueMessageTwo: \"El cupón no debe estar vacío\",\n savePaymentCallbackMessageOne: \"Pago guardado exitosamente\",\n savePaymentCallbackMessageTwo:\n \"Su método de pago ha sido rechazado. Por favor, inténtelo de nuevo más tarde\",\n componentDidMountMessageOne: \"Este enlace de pago ya ha caducado.\",\n componentDidMountMessageTwo:\n \"El enlace de pago que está intentando acceder ha caducado. Para obtener un nuevo enlace de pago, envíenos un mensaje de texto al 305305. Si necesita más ayuda, llámenos al 1-800-248-2846. Gracias\",\n handleSubmitMessage: \"Numero de telefono es requerido\",\n cardNumberPlaceholder: \"Numero de Tarjeta (Credito/Debito)\",\n cardExperyDatePlaceholder: \"Fecha de Expiracion (MM/YY)\",\n validateCardNumber: \"Numero de tarjeta invalido\",\n validateCardExpiryDate: \"Fecha de expiracion invalida\",\n validateCardCvv: \"CVV invalido\"\n};\n\nexport default translations;\n","import React from \"react\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport {\n Grid,\n TextField,\n Button,\n Dialog,\n DialogActions,\n DialogTitle,\n DialogContent,\n DialogContentText,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TableRow,\n Paper,\n Backdrop,\n CircularProgress,\n} from \"@material-ui/core\";\n\nimport { BASE_URL } from \"../utils/constants\";\nimport IMAGES from \"../utils/images\";\nimport { withRouter } from \"react-router\";\nimport { getStates, getCityByZipcode } from \"../api/location\";\nimport countriesData from \"../enums/countries.json\";\nimport sexData from \"../enums/sex.json\";\nimport MuiPhoneNumber from \"material-ui-phone-number\";\nimport InfoIcon from \"@material-ui/icons/Info\";\nimport { validateCoupon } from \"../api/case\";\nimport * as Sentry from \"@sentry/react\";\nimport enTranslations from \"./../utils/language/en\";\nimport esTranslations from \"./../utils/language/es\";\nimport { savePayment } from \"../api/payment\";\n\nconst useStyles = (theme) => ({\n root: {\n flexGrow: 1,\n paddingTop: 20,\n paddingLeft: 60,\n paddingRight: 60\n },\n headerSection: {\n padding: theme.spacing(2),\n textAlign: \"left\",\n color: \"black\",\n fontWeight: \"bold\",\n backgroundColor: \"#FFEF65\",\n borderRadius: 7,\n },\n subHeaderSection: {\n padding: theme.spacing(2),\n textAlign: \"center\",\n color: \"#FFEF65\",\n fontWeight: \"bold\",\n backgroundColor: \"black\",\n },\n payButton: {\n color: \"#FFEF65\",\n backgroundColor: \"black\",\n height: 50,\n width: 200,\n fontWeight: \"bold\",\n fontSize: 16,\n marginTop: 5,\n },\n applyButton: {\n color: \"#FFEF65\",\n backgroundColor: \"black\",\n height: 50,\n width: \"100%\",\n fontWeight: \"bold\",\n fontSize: 16,\n marginTop: 22,\n },\n inputText: {\n width: \"100%\",\n height: 30,\n marginTop: 20,\n borderRadius: 10,\n },\n cardText: {\n width: \"100%\",\n height: 30,\n borderRadius: 10,\n },\n modal: {\n backgroundColor: \"#FFEF65\",\n color: \"black\",\n textAlign: \"center\",\n },\n buttonSearch: {\n color: \"#FFEF65\",\n backgroundColor: \"black\",\n height: 50,\n width: \"100%\",\n fontWeight: \"bold\",\n fontSize: 16,\n },\n caseHeader: {\n fontWeight: \"bold\",\n textAlign: \"right\",\n width: \"40%\",\n paddingRight: 10,\n fontSize: 14,\n },\n caseLabel: {\n textAlign: \"left\",\n width: \"50%\",\n fontSize: 14,\n },\n addressText: {\n width: \"100%\",\n height: 30,\n marginTop: 20,\n },\n checkbox: {\n marginTop: 10,\n },\n table: {\n minWidth: 600,\n },\n backdrop: {\n zIndex: theme.zIndex.drawer + 1,\n color: \"#fff\",\n },\n});\n\nclass PaymentPage extends React.Component {\n constructor(props) {\n super(props);\n const search = window.location.search;\n const params = new URLSearchParams(search);\n this.state = {\n groupId: params.get(\"groupid\"),\n firstName: \"\",\n lastName: \"\",\n email: \"\",\n paymentAmount: \"\",\n isSubmitting: false,\n alertMessage: \"\",\n openAlert: false,\n openTermsAndConditions: false,\n visibleButton: true,\n cases: [],\n caseState: \"\",\n caseCounty: \"\",\n caseNumber: \"\",\n caseCitationDate: \"\",\n backShow: false,\n client: {\n id: 0,\n firstName: \"\",\n lastName: \"\",\n middleName: \"\",\n driverLicense: \"\",\n mobileNumber: \"\",\n email: \"\",\n zipCode: \"\",\n countryId: \"226\",\n address1: \"\",\n address2: \"\",\n city: \"0\",\n licenseStateId: \"0\",\n sexId: \"2\",\n dateOfBirth: \"\",\n stateAbbr: \"0\",\n language: \"en\",\n },\n errorMap: {\n eFirstName: false,\n eLastName: false,\n eDriverLicense: false,\n eMobileNumber: false,\n eEmail: false,\n eZipCode: false,\n eCountryId: false,\n eAddress1: false,\n eCity: false,\n eLicenseStateId: false,\n eSexId: false,\n eDateOfBirth: false,\n eStateAbbr: false,\n eCCNumber: false,\n eCCExp: false,\n eCCCvv: false\n },\n sexs: sexData.sex,\n countries: countriesData.countries,\n prices: [],\n states: [],\n cities: [],\n filterTickets: [],\n barcodeId: [],\n errorCCNumber: \"\",\n errorCCExp: \"\",\n errorCCVV: \"\",\n disableButton: false,\n paymentExp: \"\",\n ticketList: \"\",\n caseNumberList: \"\",\n frameUid: \"\",\n cardType: \"\",\n paymentToken: \"\",\n userName: \"\",\n countyName: \"\",\n coupon: \"\",\n couponId: 0,\n couponAmount: 0.0,\n couponPercentage: 0.0,\n isCouponPercentage: false,\n isCouponDisabled: false,\n ccNumber: \"\",\n ccExp: \"\",\n ccCvv: \"\",\n };\n this.setState = this.setState.bind(this);\n this.handleSubmit = this.handleSubmit.bind(this);\n this.finishSubmit = this.finishSubmit.bind(this);\n this.filterTicketList = this.filterTicketList.bind(this);\n this.handleClose = this.handleClose.bind(this);\n this.handleCloseTermsAndConditions =\n this.handleCloseTermsAndConditions.bind(this);\n this.openTerms = this.openTerms.bind(this);\n this.getCityByZipcodeDropdow = this.getCityByZipcodeDropdow.bind(this);\n this.getStatesDropdown = this.getStatesDropdown.bind(this);\n this.validateCreditCardData = this.validateCreditCardData.bind(this);\n }\n\n componentDidMount() {\n this.getStatesDropdown();\n\n fetch(BASE_URL + \"/case/GetPayInfoByQuoteGroupId/\" + this.state.groupId, {\n method: \"GET\",\n headers: {\n \"Allow-Cross-Origin\": \"*\",\n \"Content-Type\": \"application/json\",\n \"Ocp-Apim-Subscription-Key\": process.env.REACT_APP_TTC_APIM_KEY,\n },\n })\n .then((response) => response.json())\n .then((data) => {\n Sentry.captureMessage(\n \"Method:GetPayInfoByQuoteGroupId|Response \" + JSON.stringify(data)\n );\n var citationDateFormat;\n let newPrices = [];\n let newCases = [];\n let barcodes = [];\n if (data.caseList.length > 0) {\n data.caseList.forEach((caseItem) => {\n if (caseItem.caseTickets.length > 0) {\n caseItem.caseTickets.forEach((element) => {\n let price = {};\n price.barcodeId = caseItem.barcodeId;\n price.ticketNumber = element.ticketNumber;\n price.chargeAmount = parseFloat(element.chargeAmount).toFixed(\n 2\n );\n price.infraction = element.infraction;\n newPrices.push(price);\n });\n }\n var date = new Date(caseItem.citationDate);\n citationDateFormat =\n date.getDate() +\n \"/\" +\n (date.getMonth() + 1) +\n \"/\" +\n date.getFullYear();\n let newCase = {};\n newCase.barcodeId = caseItem.barcodeId;\n newCase.citationDate = citationDateFormat;\n newCase.caseNumber = caseItem.caseNumber;\n newCase.state = caseItem.state;\n newCase.county = caseItem.county;\n newCase.price = caseItem.payAmount.toFixed(2);\n newCase.isAlreadyPaid = caseItem.isAlreadyPaid;\n newCases.push(newCase);\n });\n }\n\n if (newCases.length > 0) {\n newCases.forEach((cItem) => {\n if (cItem.isAlreadyPaid != false) {\n this.setState({\n openAlert: true,\n alertMessage:\n this.state.client.language === \"en\"\n ? enTranslations.handleCloseMessage\n : esTranslations.handleCloseMessage,\n visibleButton: true,\n paymentExp: \"PAI\",\n });\n }\n barcodes.push(String(cItem.barcodeId));\n });\n }\n\n this.setState({\n firstName: data.client.firstName,\n lastName: data.client.lastName,\n email: data.client.email,\n cases: newCases,\n paymentAmount: parseFloat(data.payAmount).toFixed(2),\n originalPaymentAmount: parseFloat(data.payAmount).toFixed(2),\n client: {\n id: data.client.id,\n firstName: data.client.firstName,\n lastName: data.client.lastName,\n middleName: data.client.middleName,\n driverLicense: data.client.driverLicense,\n mobileNumber: data.client.mobileNumber,\n email: data.client.email,\n zipCode: data.client.zipCode,\n isActive: 1,\n countryId: data.client.country,\n address1: data.client.address1,\n address2: data.client.address2,\n city: data.client.city,\n licenseStateId: data.client.stateAbbr,\n stateAbbr: data.client.clientStateAbbr,\n sexId: data.client.sex,\n dateOfBirth: data.client.dateOfBirth,\n language: data.client.language,\n },\n prices: newPrices,\n ticketList: data.ticketList,\n barcodeId: barcodes,\n caseNumberList: data.caseNumberList,\n userName: data.caseList[0].userName,\n countyName: data.caseList[0].county,\n });\n\n this.getCityByZipcodeDropdow(data.client.zipCode);\n\n if (data.paymentExpired === \"YES\") {\n this.setState({\n openAlert: true,\n alertMessage:\n this.state.client.language === \"en\"\n ? enTranslations.componentDidMountMessageOne\n : esTranslations.componentDidMountMessageOne,\n visibleButton: false,\n paymentExp: data.paymentExpired,\n });\n }\n })\n .catch((error) => {\n console.error(\"error\", error);\n this.setState({\n openAlert: true,\n alertMessage:\n this.state.client.language === \"en\"\n ? enTranslations.componentDidMountMessageTwo\n : esTranslations.componentDidMountMessageTwo,\n visibleButton: false,\n paymentExp: \"YES\",\n });\n });\n }\n\n async getCityByZipcodeDropdow(zipcode) {\n try {\n const response = await getCityByZipcode(zipcode);\n if (typeof response != \"undefined\") {\n this.setState({ cities: response });\n }\n } catch (error) {\n console.log(error);\n }\n }\n\n async getStatesDropdown() {\n try {\n const response = await getStates();\n if (typeof response != \"undefined\") {\n this.setState({ states: response });\n }\n } catch (error) {\n console.log(error);\n }\n }\n\n async savePaymentCallback(formData) {\n try {\n this.setState({ backShow: true, disableButton: true });\n Sentry.captureMessage(\n \"Method:AddPaymentChase|Request \" + JSON.stringify(formData)\n );\n const response = await savePayment(formData);\n Sentry.captureMessage(\n \"Method:AddPaymentChase|Response \" + JSON.stringify(response)\n );\n if (typeof response != \"undefined\") {\n if (response != \"Success\") {\n this.setState({\n openAlert: true,\n alertMessage: response,\n visibleButton: true,\n backShow: false,\n paymentExp: \"PAI\",\n });\n } else {\n this.setState({\n openAlert: true,\n alertMessage:\n this.state.client.language === \"en\"\n ? enTranslations.savePaymentCallbackMessageOne\n : esTranslations.savePaymentCallbackMessageOne,\n backShow: false,\n visibleButton: false,\n paymentExp: \"NO\",\n disableButton: false\n });\n }\n } else {\n this.setState({\n openAlert: true,\n alertMessage:\n this.state.client.language === \"en\"\n ? enTranslations.savePaymentCallbackMessageTwo\n : esTranslations.savePaymentCallbackMessageTwo,\n backShow: false,\n disableButton: false\n });\n }\n } catch (error) {\n console.log(error);\n }\n }\n\n filterTicketList(barcodeId) {\n this.state.filterTickets.length = 0;\n let newFilter = this.state.filterTickets;\n for (let i = 0; i < this.state.prices.length; i++) {\n if (this.state.prices[i].barcodeId === barcodeId) {\n newFilter.push(this.state.prices[i]);\n }\n }\n this.setState({ filterTickets: newFilter });\n }\n\n async validateCouponValue() {\n try {\n this.setState({ backShow: true });\n const response = await validateCoupon(this.state.coupon);\n if (this.state.coupon !== \"\") {\n if (response.couponId !== 0) {\n this.setState({\n couponId: response.couponId,\n couponAmount: response.amount,\n couponPercentage: response.percentage,\n isCouponPercentage: response.couponType === \"Amount\" ? false : true,\n });\n\n switch (response.couponType) {\n case \"Amount\":\n this.setState({\n paymentAmount:\n (this.state.originalPaymentAmount - response.amount).toFixed(2),\n backShow: false,\n });\n break;\n case \"Percentage\":\n var discount =\n (response.percentage / 100) * this.state.originalPaymentAmount;\n this.setState({\n paymentAmount: (\n this.state.originalPaymentAmount - discount\n ).toFixed(2),\n backShow: false,\n });\n break;\n default:\n break;\n }\n } else {\n this.setState({\n openAlert: true,\n alertMessage:\n this.state.client.language === \"en\"\n ? enTranslations.validateCouponValueMessageOne\n : esTranslations.validateCouponValueMessageOne,\n backShow: false,\n paymentAmount: this.state.originalPaymentAmount,\n coupon: \"\",\n });\n }\n } else {\n this.setState({\n openAlert: true,\n alertMessage:\n this.state.client.language === \"en\"\n ? enTranslations.validateCouponValueMessageTwo\n : esTranslations.validateCouponValueMessageTwo,\n backShow: false,\n });\n }\n } catch (error) {\n console.log(error);\n }\n }\n\n finishSubmit() {\n const {\n isSubmitting,\n alertMessage,\n openAlert,\n openTermsAndConditions,\n visibleButton,\n paymentAmount,\n clientFirstName,\n clientLastName,\n clientMobileNumber,\n clientEmail,\n cases,\n sexs,\n states,\n cities,\n countries,\n prices,\n backShow,\n errorMap,\n ticketList,\n caseNumberList,\n errorTerms,\n errorCCNumber,\n errorCCExp,\n filterTickets,\n errorCCVV,\n disableButton,\n paymentExp,\n ...formData\n } = { ...this.state };\n formData.id = this.state.groupId;\n formData.quoteGroupId = this.state.groupId;\n formData.client.licenseStateId = parseInt(this.state.client.licenseStateId);\n formData.client.sexId = parseInt(this.state.client.sexId);\n formData.client.countryId = String(this.state.client.countryId);\n formData.paymentToken = this.state.paymentToken;\n formData.paymentAmount = parseFloat(this.state.paymentAmount);\n formData.couponAmount = parseFloat(this.state.couponAmount);\n formData.couponPercentage = parseFloat(this.state.couponPercentage);\n formData.ccNumber = this.state.ccNumber.replace(/-/g, '');\n this.savePaymentCallback(formData);\n }\n\n validateCreditCardData() {\n var eCardNumber = false;\n var eCardExp = false;\n var eCardCvv = false;\n if (\n this.state.ccNumber === \"\" ||\n this.state.ccNumber === null ||\n !this.validateCardNumber()\n ) {\n eCardNumber = true;\n }\n if (\n this.state.ccExp === \"\" ||\n this.state.ccExp === null ||\n !this.validateExpiryDate()\n ) {\n eCardExp = true;\n }\n if (\n this.state.ccCvv === \"\" ||\n this.state.ccCvv === null ||\n !this.validateCvv()\n ) {\n eCardCvv = true;\n }\n this.setState({\n errorMap: {\n ...this.state.errorMap,\n eCCNumber: eCardNumber,\n eCCExp: eCardExp,\n eCCCvv: eCardCvv,\n },\n });\n if (eCardNumber || eCardExp || eCardCvv) {\n return false;\n } else {\n return true;\n }\n }\n\n validateFormFields() {\n if (\n this.state.client.firstName === \"\" ||\n this.state.client.firstName === null\n ) {\n this.setState({ errorMap: { ...this.state.errorMap, eFirstName: true } });\n }\n if (\n this.state.client.lastName === \"\" ||\n this.state.client.lastName === null\n ) {\n this.setState({ errorMap: { ...this.state.errorMap, eLastName: true } });\n }\n if (\n this.state.client.driverLicense === \"\" ||\n this.state.client.driverLicense === null\n ) {\n this.setState({\n errorMap: { ...this.state.errorMap, eDriverLicense: true },\n });\n }\n if (\n this.state.client.mobileNumber.length > 5 ||\n this.state.client.mobileNumber === null\n ) {\n this.setState({\n errorMap: { ...this.state.errorMap, eMobileNumber: true },\n });\n }\n if (this.state.client.email === \"\" || this.state.client.email === null) {\n this.setState({ errorMap: { ...this.state.errorMap, eEmail: true } });\n }\n if (\n this.state.client.zipcode === \"\" ||\n this.state.client.zipcode === null\n ) {\n this.setState({ errorMap: { ...this.state.errorMap, eZipCode: true } });\n }\n if (\n this.state.client.countryId === \"0\" ||\n this.state.client.countryId === null\n ) {\n this.setState({ errorMap: { ...this.state.errorMap, eCountryId: true } });\n }\n if (\n this.state.client.address1 === \"\" ||\n this.state.client.address1 === null\n ) {\n this.setState({ errorMap: { ...this.state.errorMap, eAddress1: true } });\n }\n if (this.state.client.city === \"0\" || this.state.client.city === null) {\n this.setState({ errorMap: { ...this.state.errorMap, eCity: true } });\n }\n if (\n this.state.client.licenseStateId === \"0\" ||\n this.state.client.licenseStateId === null\n ) {\n this.setState({\n errorMap: { ...this.state.errorMap, eLicenseStateId: true },\n });\n }\n if (this.state.client.sexId === \"0\" || this.state.client.sexId === null) {\n this.setState({ errorMap: { ...this.state.errorMap, eSexId: true } });\n }\n if (\n this.state.client.dateOfBirth === \"\" ||\n this.state.client.dateOfBirth === null\n ) {\n this.setState({\n errorMap: { ...this.state.errorMap, eDateOfBirth: true },\n });\n }\n if (\n this.state.client.stateAbbr === \"0\" ||\n this.state.client.stateAbbr === null\n ) {\n this.setState({ errorMap: { ...this.state.errorMap, eStateAbbr: true } });\n }\n if (Object.values(this.state.errorMap).includes(true)) {\n this.setState({\n openAlert: true,\n alertMessage:\n this.state.client.language === \"en\"\n ? enTranslations.validateFormFieldsMessage\n : esTranslations.validateFormFieldsMessage,\n visibleButton: true,\n });\n return false;\n } else {\n return true;\n }\n }\n\n handleSubmit(event) {\n event.preventDefault();\n if (this.state.client.mobileNumber.length > 5) {\n this.setState({\n errorMap: { ...this.state.errorMap, eMobileNumber: false },\n isSubmitting: true,\n });\n if (this.validateCreditCardData()) {\n this.finishSubmit();\n }\n } else {\n this.setState({\n errorMap: { ...this.state.errorMap, eMobileNumber: true },\n });\n this.setState({\n openAlert: true,\n alertMessage:\n this.state.client.language === \"en\"\n ? enTranslations.handleSubmitMessage\n : esTranslations.handleSubmitMessage,\n visibleButton: true,\n });\n return false;\n }\n }\n\n handleClose() {\n this.setState({ openAlert: false });\n if (\n this.state.visibleButton === false ||\n (this.state.alertMessage === this.state.client.language) === \"en\"\n ? enTranslations.handleCloseMessage\n : esTranslations.handleCloseMessage\n ) {\n this.props.history.push(\n \"/payment-success?exp=\" +\n this.state.paymentExp +\n \"&emi=\" +\n this.state.client.email\n );\n }\n }\n\n handleCloseTermsAndConditions() {\n this.setState({ openTermsAndConditions: false });\n }\n\n openTerms() {\n this.setState({ openTermsAndConditions: true });\n }\n\n validateCardNumber() {\n return /^\\d{4}-\\d{4}-\\d{4}-\\d{4}$/.test(this.state.ccNumber);\n }\n\n validateExpiryDate() {\n return /^(0[1-9]|1[0-2])\\/\\d{2}$/.test(this.state.ccExp);\n }\n\n validateCvv() {\n return /^\\d{3,4}$/.test(this.state.ccCvv);\n }\n\n render() {\n const currentTranslations =\n this.state.client.language === \"en\" ? enTranslations : esTranslations;\n const { classes } = this.props;\n return (\n
\n
\n \n \n \n \n \n
\n \"path\"\n \n {currentTranslations.headerCase} /{\" \"}\n {currentTranslations.headerCitation}:{\" \"}\n {this.state.caseNumberList} / {this.state.ticketList}\n
\n
\n
\n
\n \n \n
\n {currentTranslations.headerClient}\n
\n
\n \n \n {currentTranslations.note}\n \n \n \n \n this.setState({\n client: {\n ...this.state.client,\n firstName: event.target.value,\n },\n })\n }\n />\n \n \n \n this.setState({\n client: {\n ...this.state.client,\n lastName: event.target.value,\n },\n })\n }\n />\n \n \n \n this.setState({\n client: {\n ...this.state.client,\n middleName: event.target.value,\n },\n })\n }\n />\n \n \n \n this.setState({\n client: {\n ...this.state.client,\n email: event.target.value,\n },\n })\n }\n />\n \n \n \n this.setState({\n client: {\n ...this.state.client,\n address1: event.target.value,\n },\n })\n }\n />\n \n \n \n this.setState({\n client: {\n ...this.state.client,\n address2: event.target.value,\n },\n })\n }\n />\n \n \n {\n this.setState({\n client: {\n ...this.state.client,\n zipCode: event.target.value,\n },\n });\n this.getCityByZipcodeDropdow(event.target.value);\n }}\n />\n \n \n \n this.setState({\n client: {\n ...this.state.client,\n city: event.target.value,\n },\n })\n }\n >\n \n {this.state.cities.map((option) => (\n \n ))}\n \n \n \n \n this.setState({\n client: {\n ...this.state.client,\n countryId: event.target.value,\n },\n })\n }\n >\n \n {this.state.countries.map((option) => (\n \n ))}\n \n \n \n \n this.setState({\n client: {\n ...this.state.client,\n stateAbbr: event.target.value,\n },\n })\n }\n >\n \n {this.state.states.map((option) => (\n \n ))}\n \n \n \n \n this.setState({\n client: { ...this.state.client, mobileNumber: event },\n })\n }\n />\n \n \n \n this.setState({\n client: {\n ...this.state.client,\n sexId: event.target.value,\n },\n })\n }\n >\n \n {this.state.sexs.map((option) => (\n \n ))}\n \n \n \n \n this.setState({\n client: {\n ...this.state.client,\n dateOfBirth: event.target.value,\n },\n })\n }\n />\n \n \n \n this.setState({\n client: {\n ...this.state.client,\n driverLicense: event.target.value,\n },\n })\n }\n />\n \n \n \n this.setState({\n client: {\n ...this.state.client,\n licenseStateId: event.target.value,\n },\n })\n }\n >\n \n {this.state.states.map((option) => (\n \n ))}\n \n \n \n
\n \n \n
\n {currentTranslations.headerCaseList}\n
\n
\n \n \n \n \n \n \n {\" \"}\n {currentTranslations.tableState}\n \n \n {\" \"}\n {currentTranslations.tableCounty}\n \n \n {\" \"}\n {currentTranslations.tableCaseNumber}\n \n \n {\" \"}\n {currentTranslations.tableCitationDate}\n \n \n {\" \"}\n {currentTranslations.tablePrice}\n \n \n {\" \"}\n {currentTranslations.tableTickets}\n \n \n \n \n {this.state.cases.map((row) => (\n \n \n {row.state}\n \n {row.county}\n {row.caseNumber}\n \n {row.citationDate}\n \n $ {row.price}\n \n \n this.filterTicketList(row.barcodeId)\n }\n style={{\n color: \"blue\",\n cursor: \"pointer\",\n textDecoration: \"underline\",\n }}\n >\n {currentTranslations.tableView}\n \n \n \n ))}\n \n \n \n \n \n
\n {currentTranslations.headerCaseTickets}\n
\n
\n \n \n \n \n \n \n {\" \"}\n {currentTranslations.tableCitationNumber}\n \n \n {\" \"}\n {currentTranslations.tableDescription}\n \n \n {currentTranslations.tablePrice2}\n \n \n \n \n {this.state.filterTickets.map((row) => (\n \n \n {row.ticketNumber}\n \n {row.infraction}\n \n $ {row.chargeAmount}\n \n \n ))}\n \n \n \n \n \n
\n {currentTranslations.headerPaymentInformation}\n
\n
\n \n
\n \n
\n \n \n \n this.setState({ firstName: event.target.value })\n }\n value={this.state.firstName}\n />\n \n \n \n this.setState({ lastName: event.target.value })\n }\n value={this.state.lastName}\n />\n \n \n \n this.setState({ paymentAmount: event.target.value })\n }\n value={this.state.paymentAmount}\n />\n \n \n \n this.setState({ coupon: event.target.value })\n }\n value={this.state.coupon}\n />\n \n \n this.validateCouponValue()}\n >\n {currentTranslations.paymentApply}\n \n \n \n {\n const value = e.target.value.replace(/\\D/g, \"\");\n const formattedValue = value\n .replace(/(.{4})/g, \"$1-\")\n .slice(0, 19);\n this.setState({ ccNumber: formattedValue });\n }}\n error={this.state.errorMap.eCCNumber}\n helperText={\n this.state.errorMap.eCCNumber ? currentTranslations.validateCardNumber : \"\"\n }\n style={{ marginBottom: 15 }}\n />\n \n \n {\n const value = e.target.value.replace(/\\D/g, \"\");\n const formattedValue = value\n .replace(/(.{2})/, \"$1/\")\n .slice(0, 5);\n this.setState({ ccExp: formattedValue });\n }}\n error={this.state.errorMap.eCCExp}\n helperText={\n this.state.errorMap.eCCExp? currentTranslations.validateCardExpiryDate : \"\"\n }\n />\n \n \n {\n const value = e.target.value.replace(/\\D/g, \"\").slice(0, 4);\n this.setState({ ccCvv: value });\n }}\n error={this.state.errorMap.eCCCvv}\n helperText={this.state.errorMap.eCCCvv ? currentTranslations.validateCardCvv : \"\"}\n />\n \n \n \n  \n \n \n {this.state.visibleButton && (\n \n \n {currentTranslations.payButton}\n \n \n )}\n \n \n \n \n {this.state.alertMessage}\n \n \n \n {currentTranslations.closeButton}\n \n \n \n \n \n {currentTranslations.terms} & {currentTranslations.conditions}\n \n \n \n

\n {currentTranslations.firstTermsAndConditions}\n

\n
    \n
  1. \n {currentTranslations.secondTermsAndConditions}\n
  2. \n
  3. \n {currentTranslations.thirdTermsAndConditions}\n
  4. \n
  5. \n {currentTranslations.fourthTermsAndConditions}\n
  6. \n
  7. \n {currentTranslations.fifthTermsAndConditions}\n
  8. \n
  9. \n {currentTranslations.sixthTermsAndConditions}\n
  10. \n
  11. \n {currentTranslations.seventhTermsAndConditionsPt1}\n {currentTranslations.seventhTermsAndConditionsPt2}\n {currentTranslations.seventhTermsAndConditionsPt3}\n
  12. \n
  13. \n {currentTranslations.eightTermsAndConditions}\n
  14. \n
  15. \n {currentTranslations.ninethTermsAndConditions}\n
  16. \n
  17. \n {currentTranslations.tenthTermsAndConditions}\n
  18. \n
  19. \n {currentTranslations.eleventhTermsAndConditions}\n
  20. \n
\n
\n
\n \n \n {currentTranslations.closeButton}\n \n \n \n \n \n \n
\n
\n );\n }\n}\n\nexport default withRouter(withStyles(useStyles)(PaymentPage));\n","import { BASE_URL, PAYMENT_BASE_URL } from \"../utils/constants\";\nimport axios from \"../utils/axios\";\nimport * as Sentry from '@sentry/react';\n\nexport const savePayment = async (payload) => {\n try {\n const response = await axios.post(`${BASE_URL}/client/AddPaymentChase`, payload, {\n headers: {\n \"Allow-Cross-Origin\": \"*\",\n \"Content-Type\": \"application/json\",\n \"Ocp-Apim-Subscription-Key\": process.env.REACT_APP_TTC_APIM_KEY,\n },\n }).catch(function (error){\n Sentry.captureException(\"Method:savePaymentCallback|Error \" + JSON.stringify(error.response.data))\n });\n return response.data;\n } catch (error) {\n console.log(error);\n }\n};\n\nexport const getPaymentInformation = async (barcodeId) => {\n try {\n const response = await axios.get(\n `${BASE_URL}/case/GetPayInfoByBarcodeId/${barcodeId}`,\n {\n headers: {\n \"Allow-Cross-Origin\": \"*\",\n \"Content-Type\": \"application/json\",\n \"Ocp-Apim-Subscription-Key\": process.env.REACT_APP_TTC_APIM_KEY,\n },\n }\n );\n return response.data;\n } catch (error) {\n console.log(error);\n }\n};\n\nexport const getPaymentInformationByGroupId = async (groupId) => {\n try {\n const response = await axios.get(\n `${BASE_URL}/case/GetCaseListInfoByQuoteGroupId/${groupId}`,\n {\n headers: {\n \"Allow-Cross-Origin\": \"*\",\n \"Content-Type\": \"application/json\",\n \"Ocp-Apim-Subscription-Key\": process.env.REACT_APP_TTC_APIM_KEY,\n },\n }\n );\n return response.data;\n } catch (error) {\n console.log(error);\n }\n};\n\nexport const generateUid = async (payload) => {\n try {\n const response = await axios.post(`${PAYMENT_BASE_URL}/payment/GeneratePaymentUid`, payload, {\n headers: {\n \"Allow-Cross-Origin\": \"*\",\n \"Content-Type\": \"application/json\",\n \"Ocp-Apim-Subscription-Key\": process.env.REACT_APP_TTC_APIM_KEY_PAYMENT,\n \"System\": process.env.REACT_APP_TTC_SYSTEM\n },\n });\n return response.data;\n } catch (error) {\n console.log(error);\n }\n};","import React, { useState, useEffect } from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport {\n Grid,\n Button\n} from '@material-ui/core';\nimport IMAGES from '../utils/images';\n\nconst useStyles = makeStyles(() => ({\n root: {\n flexGrow: 1,\n paddingTop: 50,\n paddingLeft: 20,\n paddingRight: 20\n },\n button: {\n color: '#FFEF65',\n backgroundColor: 'black',\n height: 50,\n width: 200,\n fontWeight: 'bold',\n fontSize: 16\n }\n}));\n\nfunction PaymentLanding() {\n const classes = useStyles();\n const search = window.location.search;\n const params = new URLSearchParams(search);\n const [message, setMessage] = useState('');\n const [expired, setExpired] = useState(params.get('exp'));\n const [email, setEmail] = useState(params.get('emi'));\n const [showButton, setShowButton] = useState(false);\n\n useEffect(() => {\n switch(expired){\n case 'NO': \n setMessage('Payment Successful. A receipt will be emailed to ' + email + '. Thank you for your business.')\n setShowButton(true);\n break;\n case 'YES': \n setMessage('This payment link has already expired. Please contact your legal Assistant.');\n break;\n case 'PAI':\n setMessage('This Ticket has already been paid.');\n setShowButton(true);\n break;\n }\n }, [expired]);\n\n return(\n
\n \n \n \"path\"\n \n \n
\n

{message}

\n
\n

The Ticket Clinic – A Law Firm

\n
\n \n {showButton && (\n \n )}\n \n
\n
\n );\n};\n\nexport default PaymentLanding;","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useState, useEffect } from \"react\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport {\n Grid,\n TextField,\n Button,\n Dialog,\n DialogActions,\n DialogTitle,\n DialogContent,\n DialogContentText,\n Backdrop,\n CircularProgress,\n Table,\n TableHead,\n TableBody,\n TableCell,\n TableRow,\n IconButton,\n} from \"@material-ui/core\";\nimport { Edit } from \"@material-ui/icons\";\nimport MuiPhoneNumber from \"material-ui-phone-number\";\nimport typesData from \"../enums/types.json\";\nimport sexData from \"../enums/sex.json\";\nimport actionsData from \"../enums/actions.json\";\nimport intakesData from \"../enums/intakes_external.json\";\nimport countriesData from \"../enums/countries.json\";\nimport {\n getClientByDriverLicenseAndDob,\n addPaymentsProcessed,\n} from \"../api/client\";\nimport { getInfractionByCountyAndType } from \"../api/infraction\";\nimport { saveCitation, validateCase, validateCitation } from \"../api/case\";\nimport {\n getStates,\n getCountiesByState,\n getCityByZipcode,\n} from \"../api/location\";\nimport CurrencyTextField from \"@unicef/material-ui-currency-textfield\";\nimport ReactDataGrid from \"react-data-grid\";\nimport { useHistory } from \"react-router-dom\";\nimport { generateOtp } from \"../api/otp\";\nimport { validProcessedAndLockedCase } from \"../api/client\";\nimport * as Sentry from \"@sentry/react\";\nconst types = typesData.types;\nconst sexs = sexData.sex;\nconst countries = countriesData.countries;\nconst actions = actionsData.actions;\nconst intakes = intakesData.intakes;\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n flexGrow: 1,\n paddingTop: 20,\n paddingLeft: 20,\n paddingRight: 20,\n },\n headerSection: {\n padding: theme.spacing(2),\n textAlign: \"left\",\n color: \"black\",\n fontWeight: \"bold\",\n backgroundColor: \"#FFEF65\",\n borderRadius: 7,\n },\n buttonSearch: {\n color: \"#FFEF65\",\n backgroundColor: \"black\",\n height: 50,\n width: \"100%\",\n fontWeight: \"bold\",\n fontSize: 16,\n },\n searchText: {\n width: \"100%\",\n height: 50,\n paddingRight: 20,\n },\n formLabel: {\n paddingRight: 30,\n paddingLeft: 20,\n fontWeight: \"bold\",\n },\n responseLabel: {\n textAlign: \"center\",\n },\n inputText: {\n width: \"100%\",\n height: 30,\n marginTop: 20,\n },\n addressText: {\n width: \"100%\",\n height: 30,\n marginTop: 20,\n },\n saveButton: {\n color: \"#FFEF65\",\n backgroundColor: \"black\",\n height: 50,\n width: 150,\n fontWeight: \"bold\",\n fontSize: 16,\n marginTop: 20,\n },\n addButton: {\n color: \"#FFEF65\",\n backgroundColor: \"black\",\n height: 50,\n width: \"100%\",\n fontWeight: \"bold\",\n fontSize: 16,\n marginTop: 20,\n },\n checkbox: {\n marginTop: 10,\n },\n modal: {\n backgroundColor: \"#FFEF65\",\n color: \"black\",\n textAlign: \"center\",\n },\n addModal: {\n backgroundColor: \"#FFEF65\",\n color: \"black\",\n textAlign: \"center\",\n width: 552,\n },\n backdrop: {\n zIndex: theme.zIndex.drawer + 1,\n color: \"#fff\",\n },\n cellAction: {\n textAlign: \"center\",\n },\n}));\n\nfunction NewQuotePage() {\n const classes = useStyles();\n const history = useHistory();\n const search = window.location.search;\n const params = new URLSearchParams(search);\n /** For Page **/\n const [isClientExist, setIsClientExist] = useState(false);\n const [isClientNotExist, setIsClientNotExist] = useState(false);\n const [showAddClient, setShowAddClient] = useState(false);\n const [showClientDetail, setShowClientDetail] = useState(true);\n const [clientFirstName, setClientFirstName] = useState(\"\");\n const [clientLastName, setClientLastName] = useState(\"\");\n const [clientEmail, setClientEmail] = useState(\"\");\n const [clientPhone, setClientPhone] = useState(\"\");\n const [clientAddress, setClientAddress] = useState(\"\");\n const [infractions, setInfractions] = useState([]);\n const [infractionId, setInfractionId] = useState(\"\");\n const [infractionDesc, setInfractionDesc] = useState(\"\");\n const [states, setStates] = useState([]);\n const [counties, setCounties] = useState([]);\n const [cities, setCities] = useState([]);\n const [errorMap, setErrorMap] = useState({\n eLastName: false,\n eFirstName: false,\n eAddress1: false,\n eCity: false,\n eState: false,\n eCountry: false,\n eSex: false,\n eDateOfBirth: false,\n eDriverLicense: false,\n eCaseState: false,\n eCaseCounty: false,\n eCaseType: false,\n eCitationDate: false,\n eCaseAction: false,\n eCaseIntake: false,\n eComplyByDate: false,\n eCaseCitationNumber: false,\n eCaseInfraction: false,\n eCaseChargeAmount: false,\n eClientFirstNameEdit: false,\n eClientLastNameEdit: false,\n eClientEmailEdit: false,\n eClientMobileNumberEdit: false,\n eClientAddressEdit: false,\n eCaseNumber: false,\n eLanguage: false,\n });\n const [openAlert, setOpenAlert] = useState(false);\n const [openInfraction, setOpenInfraction] = useState(false);\n const [addInfractionBtn, setAddInfractionBtn] = useState(false);\n const [alertMessage, setAlertMessage] = useState(\"\");\n const [, setPayAlert] = useState(false);\n const [rows, setRows] = useState([]);\n const [caseRows, setCaseRows] = useState([]);\n const [backShow, setBackShow] = useState(false);\n const [savedSuccess, setSavedSuccess] = useState(false);\n const [userId] = useState(params.get(\"userid\"));\n const [disableSearch, setDisableSearch] = useState(true);\n const [showClientEdit, setShowClientEdit] = useState(false);\n\n /** For Case **/\n const [driverLicense, setDriverLicense] = useState(\"\");\n const [clientId, setClientId] = useState(\"\");\n const [stateId, setStateId] = useState(\"\");\n const [countyId, setCountyId] = useState(\"\");\n const [typeId, setTypeId] = useState(\"0\");\n const [typeDesc, setTypeDesc] = useState(\"\");\n\n const [caseNumber, setCaseNumber] = useState(\"\");\n const [caseActionId, setCaseActionId] = useState(\"0\");\n const [caseActionDesc, setCaseActionDesc] = useState(\"\");\n const [citationDate, setCitationDate] = useState(\"\");\n const [accident, setAccident] = useState(\"0\");\n const [injury, setInjury] = useState(\"0\");\n const [fatality, setFatality] = useState(\"0\");\n const [caseIntakeId, setCaseIntakeId] = useState(\n process.env.REACT_APP_TTC_DEFAULT_EXTERNAL_CASE_INTAKE\n );\n const [chargeAmount, setChargeAmount] = useState(\"\");\n const [totalPayment, setTotalPayment] = useState(0.0);\n const [paymentPageUrl, setPaymentPageUrl] = useState(\"\");\n const [citationNumber, setCitationNumber] = useState(\"\");\n const [complyByDate, setComplyByDate] = useState(\"\");\n const [reason, setReason] = useState(\"\");\n const [barcodeId, setBarcodeId] = useState(0);\n const [quoteGroupId, setQuoteGroupId] = useState(\"\");\n\n /** For Clients **/\n const [lastName, setLastName] = useState(\"\");\n const [firstName, setFirstName] = useState(\"\");\n const [middleName, setMiddleName] = useState(\"\");\n const [address1, setAddress1] = useState(\"\");\n const [address2, setAddress2] = useState(\"\");\n const [clientCity, setClientCity] = useState(\"0\");\n const [clientStateId, setClientStateId] = useState(\"0\");\n const [zipcode, setZipcode] = useState(\"\");\n const [clientCountryId, setClientCountryId] = useState(\n process.env.REACT_APP_TTC_DEFAULT_COUNTRY\n );\n const [mobileNumber, setMobileNumber] = useState(\"\");\n const [email, setEmail] = useState(\"\");\n const [clientDriverLicense, setClientDriverLicense] = useState(\"\");\n const [sex, setSex] = useState(\"0\");\n const [dateOfBirth, setDateOfBirth] = useState(\"\");\n const [stateIssuedId, setStateIssuedId] = useState(\"0\");\n const [mobileNumberEdit, setMobileNumberEdit] = useState(\"\");\n const [firstNameEdit, setFirstNameEdit] = useState(\"\");\n const [lastNameEdit, setLastNameEdit] = useState(\"\");\n const [emailEdit, setEmailEdit] = useState(\"\");\n const [addressEdit, setAddressEdit] = useState(\"\");\n const [valid, setValid] = useState(\"\");\n const [editInfractionId, setEditInfractionId] = useState(\"\");\n const [couponCode, setCouponCode] = useState(\"\");\n const [createdAt, setCreatedAt] = useState(\"\");\n const [language, setLanguage] = useState(\"1\");\n /** For Grid Cases **/\n const [showGridCases, setShowGridCases] = useState(false);\n const [openAlertAddCase, setOpenAlertAddCase] = useState(false);\n const [generatePayment, setGeneratePayment] = useState(false);\n const [saveMessage, setSaveMessage] = useState(\"\");\n const [showDialogContent, setShowDialogContent] = useState(false);\n const [payment] = useState(JSON.parse(localStorage.getItem(\"payment\")));\n const [masterId, setMasterId] = useState(\"\");\n const [detailId, setDetailId] = useState(\"\");\n const [totalFee, setTotalFee] = useState(0.0);\n const [disableSave, setDisableSave] = useState(false)\n\n useEffect(() => {\n if (payment) {\n let county;\n if (payment.tickets.length > 0) county = payment.tickets[0].county_id;\n else county = process.env.REACT_APP_TTC_DEFAULT_COUNTY;\n setDriverLicense(payment.license_number);\n setDateOfBirth(payment.birth_date);\n setMasterId(payment.id);\n setDetailId(payment.tickets[0]?.id);\n setCaseIntakeId(payment.caseintake_id);\n setTotalFee(payment.total_fee)\n setCountyId(county);\n getInfractions(county, typeId);\n if (payment.sex === \"M\") setSex(\"1\");\n else setSex(\"2\");\n }\n }, [payment, typeId]);\n\n const addClient = () => {\n setShowAddClient(true);\n setShowClientDetail(false);\n setIsClientExist(true);\n setIsClientNotExist(false);\n };\n\n const getInfractions = async (countyId, typeId) => {\n try {\n const response = await getInfractionByCountyAndType(countyId, typeId);\n if (typeof response != \"undefined\") {\n setInfractions(response);\n setInfractionId(response[0].id);\n setInfractionDesc(response[0].describeInfraction);\n }\n } catch (error) {\n console.log(error);\n }\n };\n\n useEffect(() => {\n getStatesDropdown();\n }, []);\n\n const getStatesDropdown = async () => {\n try {\n const response = await getStates();\n if (typeof response != \"undefined\") {\n setStates(response);\n var res = response.filter(function (item) {\n if (item.stateAbbr.toUpperCase() == process.env.REACT_APP_TTC_SYSTEM.toUpperCase()) {\n return item;\n }\n });\n setStateId(res[0].id);\n setStateIssuedId(res[0].id);\n getCountiesDropdown(res[0].id);\n }\n } catch (error) {\n console.log(error);\n }\n };\n\n const getCityByZipcodeDropdow = async (zipcode) => {\n try {\n const response = await getCityByZipcode(zipcode);\n if (typeof response != \"undefined\") {\n setCities(response);\n setClientCity(payment.city);\n }\n } catch (error) {\n console.log(error);\n }\n };\n\n const handleChangeZipcode = (e) => {\n setZipcode(e);\n getCityByZipcodeDropdow(e);\n };\n\n const handleChangeState = (stateId) => {\n setStateId(stateId);\n getCountiesDropdown(stateId);\n };\n\n const getCountiesDropdown = async (stateId) => {\n try {\n const response = await getCountiesByState(stateId);\n if (typeof response != \"undefined\") {\n setCounties(response);\n }\n } catch (error) {\n console.log(error);\n }\n };\n\n const searchClientByDriver = async (driverLicense, dob) => {\n try {\n if (payment.tickets.length > 0) {\n const rowsTemp = [];\n const infractionList = await getInfractionByCountyAndType(\n countyId,\n \"1\"\n );\n payment.tickets.forEach(async (element, index) => {\n if (\n element.citations_number !== null ||\n element.citations_number !== \"\"\n ) {\n var res = infractionList.filter(function (item) {\n if (item.id == element.citation_infraction_type_id) {\n return item;\n }\n });\n const validation = await validateCitation(element.citations_number);\n const row = {\n citationNumber: element.citations_number,\n amount: parseFloat(element.citations_fee).toFixed(2),\n id: element.id,\n fileUrl: element.citations_attachment_url,\n infraction: res[0].describeInfraction,\n infractionId: element.citation_infraction_type_id,\n reason:\n element.coupon_used === \"NO\"\n ? \"\"\n : \"Coupon: \" + element.coupon_used,\n valid: !validation ? \"NO\" : \"YES\",\n fee: parseFloat(element.citations_original_fee).toFixed(2),\n couponUsed: element.coupon_used,\n citations_speeding_unlawful_speed: element.citations_speeding_unlawful_speed,\n citations_speeding_applicable_speed: element.citations_speeding_applicable_speed\n };\n rowsTemp.push(row);\n }\n });\n //rowsTemp[0].reason = \"Coupon: \" + payment.coupon_used\n setRows(rowsTemp);\n }\n const response = await getClientByDriverLicenseAndDob(driverLicense, dob);\n if (typeof response.id === \"undefined\") {\n setAlertMessage(\"Client does not exist.\");\n setClientDriverLicense(driverLicense);\n setDateOfBirth(dob);\n setClientId(\"\");\n setClientFirstName(\"\");\n setClientLastName(\"\");\n setClientEmail(\"\");\n setClientPhone(\"\");\n setClientAddress(\"\");\n setFirstName(payment.first_name);\n setLastName(payment.last_name);\n setEmail(payment.email);\n setMobileNumber(\"+1\" + payment.cell_phone);\n setAddress1(payment.address);\n setClientStateId(payment.state);\n handleChangeZipcode(payment.zip);\n setShowClientEdit(false);\n setIsClientExist(false);\n setIsClientNotExist(false);\n setShowClientDetail(false);\n setShowAddClient(true);\n setCaseActionId(\"1\");\n setTypeId(\"1\");\n setAddInfractionBtn(true);\n setCouponCode(payment.coupon_used);\n setCreatedAt(payment.createdAt);\n setGeneratePayment(payment.generate_receipt);\n setSaveMessage(payment.saved_message);\n document.getElementById(\"citationDateInput\").value =\n payment.tickets[0]?.citations_date.substring(0, 10);\n handleOnChangeCitationDate(\n payment.tickets[0]?.citations_date.substring(0, 10)\n );\n setOpenAlert(true);\n } else {\n setAlertMessage(\"Client found. Case will be assigned to an exist Client.\");\n setClientId(response.id);\n setClientFirstName(response.firstName);\n setFirstNameEdit(payment.first_name);\n setClientLastName(response.lastName);\n setLastNameEdit(payment.last_name);\n setClientEmail(response.email);\n setEmailEdit(payment.email);\n setClientPhone(response.mobileNumber);\n setMobileNumberEdit(\"+1\" + payment.cell_phone);\n setClientAddress(response.address1);\n setAddressEdit(payment.address);\n setShowClientDetail(true);\n setShowAddClient(false);\n setIsClientExist(true);\n setCaseActionId(\"1\");\n setTypeId(\"1\");\n setAddInfractionBtn(true);\n setIsClientNotExist(false);\n setCouponCode(payment.coupon_used);\n setCreatedAt(payment.createdAt);\n setGeneratePayment(payment.generate_receipt);\n setSaveMessage(payment.saved_message);\n document.getElementById(\"citationDateInput\").value =\n payment.tickets[0]?.citations_date.substring(0, 10);\n handleOnChangeCitationDate(\n payment.tickets[0]?.citations_date.substring(0, 10)\n );\n setOpenAlert(true);\n setErrorMap({\n ...errorMap,\n eCaseInfraction: false,\n eCaseChargeAmount: false,\n eCaseCitationNumber: false,\n });\n }\n } catch (error) {\n console.log(error);\n }\n };\n\n useEffect(() => {\n if (\n driverLicense !== \"\" ||\n driverLicense == null ||\n dateOfBirth !== \"\" ||\n dateOfBirth == null\n ) {\n searchClientByDriver(driverLicense, dateOfBirth);\n }\n }, [driverLicense]);\n\n const handleSetCounty = (countyId) => {\n setCountyId(countyId);\n setInfractionId(\"0\");\n setChargeAmount(\"\");\n };\n\n const handleOnChangeCitationDate = (e) => {\n var invoiceDate = document.getElementById(\"citationDateInput\").value;\n var days = 30;\n invoiceDate = invoiceDate.split(\"-\");\n invoiceDate = new Date(invoiceDate[0], invoiceDate[1] - 1, invoiceDate[2]);\n invoiceDate.setDate(invoiceDate.getDate() + days);\n const year = invoiceDate.getFullYear();\n const monthWithOffset = invoiceDate.getUTCMonth() + 1;\n const month =\n monthWithOffset.toString().length < 2\n ? `0${monthWithOffset}`\n : monthWithOffset;\n const date =\n invoiceDate.getUTCDate().toString().length < 2\n ? `0${invoiceDate.getUTCDate()}`\n : invoiceDate.getUTCDate();\n\n const materialDateInput = `${year}-${month}-${date}`;\n setCitationDate(e);\n setComplyByDate(materialDateInput);\n };\n\n const handleSetCaseAction = (caseActionId) => {\n setCaseActionId(caseActionId);\n var res = actions.filter(function (item) {\n if (item.caseActionId == caseActionId) {\n return item;\n }\n });\n setCaseActionDesc(res[0].description);\n };\n\n const handleSetType = (typeId) => {\n setTypeId(typeId);\n var res = types.filter(function (item) {\n if (item.typeId == typeId) {\n return item;\n }\n });\n setTypeDesc(res[0].name);\n setInfractionId(\"0\");\n setChargeAmount(\"\");\n };\n\n const addCaseTicket = (id) => {\n setEditInfractionId(id);\n setOpenInfraction(true);\n rows.forEach((element) => {\n if (element.id === id) {\n setCitationNumber(element.citationNumber);\n setChargeAmount(element.amount);\n setInfractionId(element.infractionId);\n setReason(element.reason);\n }\n });\n };\n\n function uuidv4() {\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(\n /[xy]/g,\n function (c) {\n var r = (Math.random() * 16) | 0,\n v = c == \"x\" ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n }\n );\n }\n\n const handleCancel = async () => {\n var newToken = uuidv4();\n await generateOtp({\n userName: userId,\n token: newToken,\n });\n history.push(\"/new-quote-list?userid=\" + userId + \"&otptoken=\" + newToken);\n };\n\n const handleAddCase = () => {\n setBackShow(false);\n setDisableSearch(true);\n setOpenAlertAddCase(false);\n setCaseRows(\n caseRows.concat([\n {\n barcodeId: barcodeId,\n type: typeDesc,\n caseNumber: caseNumber,\n citationDate: citationDate,\n caseAction: caseActionDesc,\n },\n ])\n );\n ReactDataGrid.rowsCount = caseRows.length + 1;\n setShowGridCases(true);\n setStateId(process.env.REACT_APP_TTC_DEFAULT_STATE);\n setCountyId(process.env.REACT_APP_TTC_DEFAULT_COUNTY);\n setTypeId(\"0\");\n setInfractionId(\"0\");\n setCaseNumber(\"\");\n setCaseActionId(\"0\");\n setCitationDate(\"\");\n setAccident(\"0\");\n setInjury(\"0\");\n setFatality(\"0\");\n setCaseIntakeId(process.env.REACT_APP_TTC_DEFAULT_EXTERNAL_CASE_INTAKE);\n setChargeAmount(\"\");\n setInfractionDesc(\"\");\n setPaymentPageUrl(\"\");\n setCitationNumber(\"\");\n setComplyByDate(\"\");\n setReason(\"\");\n setBarcodeId(0);\n setRows([]);\n\n if (showAddClient === true) {\n setShowAddClient(false);\n setDriverLicense(clientDriverLicense);\n var btn = document.getElementById(\"search\");\n btn.click();\n setShowClientDetail(true);\n }\n };\n\n const validationCase = async () => {\n const response = await validProcessedAndLockedCase(masterId, detailId);\n return response;\n }\n\n const saveCitationHandle = async () => {\n setDisableSave(true)\n const processedCase = await validationCase();\n if (!processedCase) {\n var validation;\n if (caseNumber !== \"\") {\n validation = await validateCase(caseNumber);\n } else {\n validation = false;\n }\n var val = validation === \"undefined\" || !validation ? false : true;\n if (!val) {\n setErrorMap({ eCaseNumber: false });\n setBackShow(true);\n let isAccidentBit;\n let isInjuryBit;\n let isFatalityBit;\n let tickets = [];\n\n var groupId;\n\n if (showGridCases != true) {\n groupId = uuidv4();\n } else {\n groupId = quoteGroupId;\n }\n\n setQuoteGroupId(groupId);\n\n if (accident !== \"0\") isAccidentBit = true;\n else isAccidentBit = false;\n\n if (injury !== \"0\") isInjuryBit = true;\n else isInjuryBit = false;\n\n if (fatality !== \"0\") isFatalityBit = true;\n else isFatalityBit = false;\n\n if (rows.length > 0) {\n for (let indexRows = 0; indexRows < rows.length; indexRows++) {\n let caseTickets = {};\n caseTickets.ticketNumber = rows[indexRows][\"citationNumber\"];\n caseTickets.infractionId = parseInt(\n rows[indexRows][\"infractionId\"]\n );\n caseTickets.chargeAmount = parseFloat(rows[indexRows][\"fee\"]);\n caseTickets.chargeAmountReal = parseFloat(\n rows[indexRows][\"amount\"]\n );\n caseTickets.reason = rows[indexRows][\"reason\"];\n caseTickets.fileUrl = rows[indexRows][\"fileUrl\"];\n caseTickets.couponCode = rows[indexRows][\"couponUsed\"];\n caseTickets.citations_speeding_unlawful_speed = rows[indexRows][\"citations_speeding_unlawful_speed\"];\n caseTickets.citations_speeding_applicable_speed = rows[indexRows][\"citations_speeding_applicable_speed\"];\n tickets.push(caseTickets);\n }\n }\n\n const payloadClient = {\n userId: parseInt(userId),\n isWebSale: true,\n client: {\n firstName: firstName,\n lastName: lastName,\n middleName: middleName,\n driverLicense: clientDriverLicense,\n mobileNumber: mobileNumber,\n email: email,\n zipCode: zipcode,\n countryId: clientCountryId,\n address1: address1,\n address2: address2,\n isActive: 1,\n city: clientCity,\n stateAbbr: clientStateId,\n licenseStateId: parseInt(stateIssuedId),\n sexId: parseInt(sex),\n dateOfBirth: dateOfBirth,\n languageId: parseInt(language),\n },\n case: {\n stateId: parseInt(stateId),\n countyId: parseInt(countyId),\n caseNumber: caseNumber,\n infractionId: parseInt(infractionId),\n typeId: parseInt(typeId),\n citationDate: citationDate,\n complyByDate: complyByDate,\n caseActionId: parseInt(caseActionId),\n isAccident: isAccidentBit,\n isInjury: isInjuryBit,\n isFatality: isFatalityBit,\n quoteGroupId: groupId,\n caseIntakeId: parseInt(caseIntakeId),\n couponCode: couponCode,\n createdAt: createdAt\n },\n caseTickets: tickets,\n };\n\n const payloadCase = {\n userId: parseInt(userId),\n isWebSale: true,\n case: {\n stateId: parseInt(stateId),\n countyId: parseInt(countyId),\n caseNumber: caseNumber,\n clientId: clientId,\n infractionId: parseInt(infractionId),\n typeId: parseInt(typeId),\n citationDate: citationDate,\n complyByDate: complyByDate,\n caseActionId: parseInt(caseActionId),\n isAccident: isAccidentBit,\n isInjury: isInjuryBit,\n isFatality: isFatalityBit,\n quoteGroupId: groupId,\n caseIntakeId: parseInt(caseIntakeId),\n couponCode: couponCode,\n createdAt: createdAt\n },\n client: {\n firstName: firstNameEdit,\n lastName: lastNameEdit,\n email: emailEdit,\n mobileNumber: mobileNumberEdit,\n address1: addressEdit,\n },\n caseTickets: tickets,\n };\n\n let payload;\n if (showAddClient === true) payload = payloadClient;\n else payload = payloadCase;\n\n const errorRes = {\n eLastName: false,\n eFirstName: false,\n eAddress1: false,\n eCity: false,\n eState: false,\n eCountry: false,\n eSex: false,\n eDateOfBirth: false,\n eDriverLicense: false,\n eCaseState: false,\n eCaseCounty: false,\n eCaseType: false,\n eCitationDate: false,\n eComplyByDate: false,\n eCaseAction: false,\n eCaseIntake: false,\n eClientFirstNameEdit: false,\n eClientLastNameEdit: false,\n eClientEmailEdit: false,\n eClientMobileNumberEdit: false,\n eClientAddressEdit: false,\n eLanguage: false,\n };\n\n try {\n var today = new Date();\n var date = new Date(citationDate);\n var date2 = new Date(complyByDate);\n if (showAddClient === true) {\n if (lastName === null || lastName === \"\") {\n errorRes.eLastName = true;\n }\n if (firstName === null || firstName === \"\") {\n errorRes.eFirstName = true;\n }\n if (address1 === null || address1 === \"\") {\n errorRes.eAddress1 = true;\n }\n if (clientCity === null || clientCity === \"0\") {\n errorRes.eCity = true;\n }\n if (clientStateId === null || clientStateId === \"0\") {\n errorRes.eState = true;\n }\n if (clientCountryId === null || clientCountryId === \"0\") {\n errorRes.eCountry = true;\n }\n if (sex === null || sex === \"0\") {\n errorRes.eSex = true;\n }\n if (dateOfBirth === null || dateOfBirth === \"\") {\n errorRes.eDateOfBirth = true;\n }\n if (clientDriverLicense === null || clientDriverLicense === \"\") {\n errorRes.eDriverLicense = true;\n }\n if (language === null || language === \"0\") {\n errorRes.eLanguage = true;\n }\n }\n if (showClientEdit === true) {\n if (mobileNumberEdit === null || mobileNumberEdit === \"\") {\n errorRes.eClientMobileNumberEdit = true;\n }\n if (firstNameEdit === null || firstNameEdit === \"\") {\n errorRes.eClientFirstNameEdit = true;\n }\n if (lastNameEdit === null || lastNameEdit === \"\") {\n errorRes.eClientLastNameEdit = true;\n }\n if (emailEdit === null || emailEdit === \"\") {\n errorRes.eClientEmailEdit = true;\n }\n if (addressEdit === null || addressEdit === \"\") {\n errorRes.eClientAddressEdit = true;\n }\n }\n if (stateId === null || stateId === \"0\") {\n errorRes.eCaseState = true;\n }\n if (countyId === null || countyId === \"0\") {\n errorRes.eCaseCounty = true;\n }\n if (typeId === null || typeId === \"0\") {\n errorRes.eCaseType = true;\n }\n if (citationDate === null || citationDate === \"\") {\n errorRes.eCitationDate = true;\n }\n if (complyByDate === null || complyByDate === \"\") {\n errorRes.eComplyByDate = true;\n }\n if (date2.getFullYear() < 1973) {\n errorRes.eComplyByDate = true;\n setBackShow(false);\n setOpenAlert(true);\n setDisableSave(false);\n setAlertMessage(\"Comply by date format is incorrect\");\n }\n if (date.getFullYear() < 1973) {\n errorRes.eCitationDate = true;\n setBackShow(false);\n setOpenAlert(true);\n setDisableSave(false);\n setAlertMessage(\"Citation date format is incorrect\");\n }\n if (date > today) {\n errorRes.eCitationDate = true;\n setBackShow(false);\n setOpenAlert(true);\n setDisableSave(false);\n setAlertMessage(\n \"Citation date must be before the current date or today\"\n );\n }\n if (caseActionId === null || caseActionId === \"0\") {\n errorRes.eCaseAction = true;\n }\n if (Object.values(errorRes).includes(true)) {\n setErrorMap(errorRes);\n setBackShow(false);\n setDisableSave(false);\n return;\n }\n Sentry.captureMessage(\n \"Method:SaveCitationHandle|AddCase|Request \" + JSON.stringify(payload)\n );\n const barcode = await saveCitation(payload);\n Sentry.captureMessage(\n \"Method:SaveCitationHandle|AddCase|Response \" + JSON.stringify(barcode)\n );\n if (typeof barcode != \"undefined\") {\n setBarcodeId(barcode);\n var ticketList = [];\n payment.tickets.forEach((element) => {\n const ticket = {\n paymentAmount: parseFloat(element.citations_fee),\n paymentExternalId: element.id,\n transactionId: element.transaction_id,\n ccName: element.cc_name\n };\n ticketList.push(ticket);\n });\n const payment_response = {\n id: uuidv4(),\n createdAt: payment.createdAt,\n barcodeId: barcode.toString(),\n ticketExternalList: ticketList,\n paymentExternalId: payment.id,\n generatePayment: generatePayment,\n userId: parseInt(userId),\n totalFee: parseFloat(totalFee)\n };\n addPaymentsProcessed(payment_response);\n Sentry.captureMessage(\n \"Method:SaveCitationHandle|AddExternalPayment|Request \" + JSON.stringify(payment_response)\n );\n handleOnlyOneCase();\n //setOpenAlertAddCase(true);\n } else {\n setBackShow(false);\n setOpenAlert(true);\n setDisableSave(false);\n setAlertMessage(\"An error occurred. Retry\");\n }\n } catch (error) {\n console.log(error);\n }\n } else {\n setOpenAlert(true);\n setDisableSave(false);\n setAlertMessage(\"The ticket already exist\");\n setErrorMap({ eCaseNumber: true });\n }\n } else {\n setOpenAlert(true);\n setAlertMessage(\"This case is already processed\");\n }\n };\n\n const handleSetInfraction = (infractionId) => {\n setInfractionId(infractionId);\n var res = infractions.filter(function (item) {\n if (item.id == infractionId) {\n return item;\n }\n });\n setInfractionDesc(res[0].describeInfraction);\n };\n\n const addInfraction = async () => {\n if (citationNumber !== null || citationNumber !== \"\") {\n const validation = await validateCitation(citationNumber);\n if (validation !== true) {\n rows.forEach((element) => {\n if (element.id === editInfractionId) {\n element.infraction = infractionDesc;\n element.citationNumber = citationNumber;\n element.reason = reason;\n element.valid = \"NO\";\n element.infractionId = infractionId;\n }\n });\n setOpenInfraction(false);\n } else {\n setOpenAlert(true);\n setAlertMessage(\"Citation Number already exist\");\n setErrorMap({ eCaseCitationNumber: true });\n }\n }\n };\n\n const handleClose = async () => {\n setOpenAlert(false);\n if (savedSuccess === true) {\n var newToken = uuidv4();\n await generateOtp({\n userName: userId,\n token: newToken,\n });\n history.push(\n \"/new-quote-list?userid=\" + userId + \"&otptoken=\" + newToken\n );\n window.open(\n process.env.REACT_APP_TTC_EXTERNAL_QUOTE_REDIRECT + barcodeId,\n \"_blank\"\n );\n }\n };\n\n const handleOnlyOneCase = () => {\n setOpenAlert(false);\n setBackShow(false);\n setPayAlert(true);\n setPaymentPageUrl(\n process.env.REACT_APP_TTC_PAYMENT_PAGE_URL + quoteGroupId\n );\n setShowDialogContent(true);\n setOpenAlert(true);\n setAlertMessage(\"Saved successfully\");\n setSavedSuccess(true);\n };\n\n const handleCloseInfraction = () => {\n setOpenInfraction(false);\n };\n\n return (\n
\n \n \n setDriverLicense(e.target.value)}\n />\n \n {isClientNotExist && (\n \n \n Add Client\n \n \n )}\n {showClientDetail && (\n <>\n \n
CLIENT DETAILS
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n setShowClientEdit(true)}\n >\n Edit\n \n
\n
\n {showClientEdit && (\n <>\n \n {\n setFirstNameEdit(e.target.value);\n setErrorMap({ ...errorMap, eClientFirstNameEdit: false });\n }}\n />\n \n \n {\n setLastNameEdit(e.target.value);\n setErrorMap({ ...errorMap, eClientLastNameEdit: false });\n }}\n />\n \n \n {\n setMobileNumberEdit(e);\n setErrorMap({\n ...errorMap,\n eClientMobileNumberEdit: false,\n });\n }}\n />\n \n \n {\n setEmailEdit(e.target.value);\n setErrorMap({ ...errorMap, eClientEmailEdit: false });\n }}\n />\n \n \n {\n setAddressEdit(e.target.value);\n setErrorMap({ ...errorMap, eClientAddressEdit: false });\n }}\n />\n \n \n
\n setShowClientEdit(false)}\n >\n Cancel\n \n
\n
\n \n )}\n \n )}\n {showAddClient && (\n <>\n \n
CLIENT DETAILS
\n
\n \n {\n setLastName(e.target.value);\n setErrorMap({ ...errorMap, eLastName: false });\n }}\n />\n \n \n {\n setFirstName(e.target.value);\n setErrorMap({ ...errorMap, eFirstName: false });\n }}\n />\n \n \n setMiddleName(e.target.value)}\n />\n \n \n {\n setEmail(e.target.value);\n }}\n />\n \n \n {\n setAddress1(e.target.value);\n setErrorMap({ ...errorMap, eAddress1: false });\n }}\n />\n \n \n setAddress2(e.target.value)}\n />\n \n \n handleChangeZipcode(e.target.value)}\n />\n \n \n {\n setClientCity(e.target.value);\n setErrorMap({ ...errorMap, eCity: false });\n }}\n >\n \n {cities.map((option) => (\n \n ))}\n \n \n \n {\n setClientStateId(e.target.value);\n setErrorMap({ ...errorMap, eState: false });\n }}\n >\n \n {states.map((option) => (\n \n ))}\n \n \n \n {\n setClientCountryId(e.target.value);\n setErrorMap({ ...errorMap, eCountry: false });\n }}\n >\n \n {countries.map((option) => (\n \n ))}\n \n \n \n setMobileNumber(e)}\n />\n \n \n {\n setSex(e.target.value);\n setErrorMap({ ...errorMap, eSex: false });\n }}\n >\n \n {sexs.map((option) => (\n \n ))}\n \n \n \n {\n setDateOfBirth(e.target.value);\n setErrorMap({ ...errorMap, eDateOfBirth: false });\n }}\n />\n \n \n {\n setClientDriverLicense(e.target.value);\n setErrorMap({ ...errorMap, eDriverLicense: false });\n }}\n />\n \n \n setStateIssuedId(e.target.value)}\n >\n \n {states.map((option) => (\n \n ))}\n \n \n \n {\n setLanguage(e.target.value);\n setErrorMap({ ...errorMap, eLanguage: false });\n }}\n >\n \n \n \n \n \n
\n \n \n )}\n \n
ADD CASE DETAILS
\n
\n \n {\n handleChangeState(e.target.value);\n setErrorMap({ ...errorMap, eCaseState: false });\n }}\n >\n \n {states.map((option) => (\n \n ))}\n \n \n \n {\n handleSetCounty(e.target.value);\n setErrorMap({ ...errorMap, eCaseCounty: false });\n }}\n >\n \n {counties.map((option) => (\n \n ))}\n \n \n \n {\n setCaseNumber(e.target.value);\n }}\n onKeyDown={(e) => {\n if (e.keyCode === 32) {\n e.preventDefault();\n }\n }}\n />\n \n \n {\n handleSetType(e.target.value);\n setErrorMap({ ...errorMap, eCaseType: false });\n }}\n variant=\"outlined\"\n className={classes.inputText}\n >\n \n {types.map((option) => (\n \n ))}\n \n \n \n {\n handleOnChangeCitationDate(e.target.value);\n setErrorMap({ ...errorMap, eCitationDate: false });\n }}\n />\n \n \n {\n handleSetCaseAction(e.target.value);\n setErrorMap({ ...errorMap, eCaseAction: false });\n }}\n variant=\"outlined\"\n className={classes.inputText}\n >\n \n {actions.map((option) => (\n \n ))}\n \n \n \n {\n setAccident(e.target.value);\n }}\n variant=\"outlined\"\n className={classes.inputText}\n >\n \n \n \n \n \n {\n setInjury(e.target.value);\n }}\n variant=\"outlined\"\n className={classes.inputText}\n >\n \n \n \n \n \n {\n setFatality(e.target.value);\n }}\n variant=\"outlined\"\n className={classes.inputText}\n >\n \n \n \n \n \n {\n setCaseIntakeId(e.target.value);\n setErrorMap({ ...errorMap, eCaseIntake: false });\n }}\n variant=\"outlined\"\n className={classes.inputText}\n >\n {intakes.map((option) => (\n \n ))}\n \n \n \n {\n setComplyByDate(e.target.value);\n setErrorMap({ ...errorMap, eComplyByDate: false });\n }}\n />\n \n \n
CASE TICKETS
\n
\n \n
\n \n \n \n \n Citation Number\n \n \n Infraction\n \n \n Amount ($)\n \n \n Reason for Adjustment\n \n \n Is Citation Exist?\n \n \n \n \n \n {rows.map((row) => (\n <>\n \n \n {row.citationNumber}\n \n \n {row.infraction}\n \n \n $ {row.amount}\n \n \n {row.reason}\n \n \n {row.valid}\n \n \n \n {\n addCaseTicket(row.id);\n }}\n />\n \n \n \n \n ))}\n \n
\n
\n
\n \n e.valid === \"YES\") || rows.length === 0 || disableSave}\n >\n Save\n \n \n \n \n Cancel\n \n \n \n \n \n {alertMessage}\n \n {showDialogContent && (\n \n {saveMessage}\n \n )}\n \n \n Close\n \n \n \n \n \n Add case\n \n \n Do you want add another case?\n \n \n \n Yes\n \n \n No\n \n \n \n \n \n Add Infraction\n \n \n \n \n {\n setCitationNumber(e.target.value);\n setErrorMap({ ...errorMap, eCaseCitationNumber: false });\n }}\n onKeyDown={(e) => {\n if (e.keyCode === 32) {\n e.preventDefault();\n }\n }}\n />\n \n \n {\n handleSetInfraction(e.target.value);\n setAddInfractionBtn(true);\n setErrorMap({ ...errorMap, eCaseInfraction: false });\n }}\n >\n \n {infractions.map((option) => (\n \n ))}\n \n \n \n {\n setChargeAmount(e.target.value);\n setErrorMap({ ...errorMap, eCaseChargeAmount: false });\n }}\n />\n \n \n {\n setReason(e.target.value);\n }}\n />\n \n \n \n \n {addInfractionBtn && (\n \n Edit\n \n )}\n \n Close\n \n \n \n \n \n \n
\n );\n}\n\nexport default NewQuotePage;\n","import React from \"react\";\nimport { withStyles, makeStyles } from \"@material-ui/core/styles\";\nimport {\n Grid,\n Table,\n TableHead,\n TableBody,\n TableCell,\n TableRow,\n TableContainer,\n Checkbox,\n TextField,\n Button,\n Dialog,\n DialogTitle,\n DialogActions,\n CircularProgress,\n Backdrop,\n FormControlLabel,\n Collapse,\n IconButton,\n Box,\n} from \"@material-ui/core\";\nimport { KeyboardArrowDown, KeyboardArrowUp } from \"@material-ui/icons\";\nimport { withRouter } from \"react-router\";\nimport { getPaymentsCasesList, validProcessedCase } from \"../api/client\";\nimport NewQuotePage from \"./NewQuotePage\";\nimport { validateOtp } from \"../api/otp\";\n\nconst StyledTableCell = withStyles((theme) => ({\n head: {\n backgroundColor: theme.palette.common.black,\n color: theme.palette.common.white,\n fontSize: 12,\n },\n body: {\n fontSize: 14,\n },\n}))(TableCell);\n\nconst StyledTableCellDetail = withStyles((theme) => ({\n head: {\n backgroundColor: \"#FFEF65\",\n color: theme.palette.common.black,\n },\n body: {\n fontSize: 8,\n },\n}))(TableCell);\n\nconst StyledTableRow = withStyles((theme) => ({\n root: {\n \"&:nth-of-type(odd)\": {\n backgroundColor: theme.palette.action.hover,\n },\n },\n}))(TableRow);\n\nconst useStyles = makeStyles({\n table: {\n minWidth: 500,\n width: 200,\n },\n root: {\n flexGrow: 1,\n paddingTop: 20,\n paddingLeft: 20,\n paddingRight: 20,\n },\n button: {\n color: \"#FFEF65\",\n backgroundColor: \"black\",\n height: 50,\n width: \"50%\",\n fontWeight: \"bold\",\n fontSize: 16,\n },\n inputText: {\n width: \"100%\",\n height: 30,\n marginTop: 20,\n },\n});\n\nclass QuoteListPage extends React.Component {\n constructor(props) {\n super(props);\n const search = window.location.search;\n const params = new URLSearchParams(search);\n const modifiedDate = new Date(new Date().getTime() - 5 * 60 * 60 * 1000);\n this.state = {\n userid: params.get(\"userid\"),\n token: params.get(\"otptoken\"),\n open: -1,\n isSelected: false,\n startDate: new Date(modifiedDate).toISOString().substr(0, 10),\n endDate: new Date(modifiedDate).toISOString().substr(0, 10),\n showMessage: false,\n list: [],\n processedAndNotProcessedList: [],\n processedList: [],\n notProcessedList: [],\n openAlert: false,\n messageAlert: \"\",\n backShow: false,\n showProcessed: false,\n showPage: false,\n regionSelected: params.get(\"regionid\"),\n regions: [],\n regionFilterList: []\n };\n this.setState = this.setState.bind(this);\n this.handleClose = this.handleClose.bind(this);\n //this.handleProcessPayments = this.handleProcessPayments.bind(this);\n this.handleShowProcessed = this.handleShowProcessed.bind(this);\n this.handleRegionFilter = this.handleRegionFilter.bind(this);\n //this.checkRow = this.checkRow.bind(this);\n }\n\n componentDidMount() {\n this.validateOtp();\n }\n\n async validateOtp() {\n const response = await validateOtp({\n userName: this.state.userid,\n token: this.state.token,\n });\n if (typeof response == \"undefined\") {\n this.props.history.push(\"/unauthorized\");\n } else {\n this.setState({ showPage: true });\n }\n }\n\n handleRegionFilter(event) {\n var filters = event;\n var filtered = [];\n var listToFilter = !this.state.showProcessed\n ? this.state.notProcessedList\n : this.state.processedList;\n switch (Number(filters)) {\n case 0:\n filtered = listToFilter;\n break;\n case 1:\n listToFilter.forEach((a) => {\n if (a.region_id === 1) filtered.push(a);\n });\n break;\n case 2:\n listToFilter.forEach((a) => {\n if (a.region_id === 2) filtered.push(a);\n });\n break;\n default:\n filtered = listToFilter;\n break;\n }\n this.setState({ list: filtered, regionSelected: filters });\n }\n\n async paymentsList() {\n try {\n this.setState({ backShow: true, showProcessed: false });\n var start = new Date(this.state.startDate);\n var end = new Date(this.state.endDate);\n if (start > end) {\n this.setState({\n openAlert: true,\n messageAlert: \"The end date must not be less than the start date\",\n });\n } else {\n const response = await getPaymentsCasesList(\n this.state.startDate,\n this.state.endDate\n );\n response.forEach((a) => {\n if (a.is_processed) {\n a.status = \"Processed\";\n } else {\n a.status = \"Pending\";\n }\n });\n const listWithProcessed = [];\n const listNotProcessed = [];\n response.forEach((a) => {\n if (a.status === \"Pending\") listNotProcessed.push(a);\n if (a.status === \"Processed\") listWithProcessed.push(a);\n });\n this.setState({\n processedAndNotProcessedList: response,\n list: listNotProcessed,\n processedList: listWithProcessed,\n notProcessedList: listNotProcessed,\n });\n const newData = this.state.list.map((item) => ({\n ...item,\n isChecked: false,\n }));\n this.setState({ list: newData });\n this.handleRegionFilter(this.state.regionSelected);\n if (this.state.list.length === 0) this.setState({ showMessage: true });\n }\n this.setState({ backShow: false });\n } catch (error) {\n console.log(error);\n }\n }\n\n caseDetailPage(barcodeId) {\n window.open(\n process.env.REACT_APP_TTC_TICKET_EXTERNAL_URL + barcodeId,\n \"_blank\"\n );\n }\n\n handleClose() {\n this.setState({ openAlert: false });\n }\n\n async validateProcess(masterId, detailId) {\n const response = await validProcessedCase(masterId, detailId);\n return response;\n }\n\n handleProcessPayments(id) {\n this.state.list.forEach(async (element) => {\n if (element.tickets.some(e => e.citation_infraction_type_id === 0)){\n this.setState({ openAlert: true, messageAlert: \"Missing price for Statute: \" + element.tickets[0].citation_statute_code + \", County: \" + element.county + \", Type Description: \" + element.tickets[0].citation_type_description})\n } else {\n if (element.master_id === id) {\n const validation = await this.validateProcess(element.id, element.tickets[0].id);\n if (!validation) {\n localStorage.setItem(\"payment\", JSON.stringify(element));\n this.props.history.push(\"/new-quote?userid=\" + this.state.userid);\n } else {\n this.setState({ openAlert: true, messageAlert: \"This case is already processed\" })\n }\n }\n }\n });\n }\n\n handleShowProcessed() {\n if (this.state.showProcessed) {\n this.setState({\n list: this.state.notProcessedList,\n regionSelected: \"0\",\n });\n } else {\n this.setState({\n list: this.state.processedList,\n regionSelected: \"0\",\n });\n }\n }\n\n handleGoAnotherPage() {\n return ;\n }\n\n getCurrentDate() {\n let date = new Date();\n let dd = String(date.getDate()).padStart(2, \"0\");\n let mm = String(date.getMonth() + 1).padStart(2, \"0\");\n let yyyy = String(date.getFullYear());\n return yyyy + \"-\" + mm + \"-\" + dd;\n }\n\n render() {\n const re = /(\\d{3})(\\d{3})(\\d{4})/;\n return (\n
\n {this.state.showPage ? (\n \n \n \n this.setState({ startDate: e.target.value })}\n />\n \n \n this.setState({ endDate: e.target.value })}\n />\n \n \n {\n this.setState({ regionSelected: e.target.value });\n this.handleRegionFilter(e.target.value);\n }}\n >\n \n \n \n \n \n \n \n this.paymentsList()}\n >\n Search\n \n \n \n {\n this.setState({\n showProcessed: !this.state.showProcessed,\n });\n this.handleShowProcessed();\n }}\n name=\"processed\"\n />\n }\n label=\"Show processed cases\"\n />\n \n \n {this.state.list.length > 0 ? (\n <>\n \n \n \n \n \n \n \n Id\n \n \n Citation Number\n \n \n County\n \n \n Client\n \n \n Mobile Number\n \n \n State\n \n \n Paid?\n \n \n Citation Date\n \n \n Register Date\n \n \n Origin\n \n \n Status\n \n \n \n \n \n {this.state.list.map((row, index) => (\n <>\n \n \n {row.tickets.length !== 0 && (\n \n this.setState({\n open:\n this.state.open === index\n ? -1\n : index,\n })\n }\n >\n {this.state.open ? (\n \n ) : (\n \n )}\n \n )}\n \n {row.id}\n \n {row.barcode_id != null ? (\n \n this.caseDetailPage(row.barcode_id)\n }\n style={{\n color: \"blue\",\n cursor: \"pointer\",\n textDecoration: \"underline\",\n }}\n >\n {row.tickets\n ?.map((u) => u.citations_number)\n .join(\", \")}\n \n ) : (\n \n )}\n \n {row.county}\n \n {row.first_name + \" \" + row.last_name}\n \n \n {row.cell_phone.replace(\n re,\n (_, a, b, c) => `(${a}) ${b}-${c}`\n )}\n \n {row.state}\n \n {row.paid === \"1\" ? \"YES\" : \"NO\"}\n \n \n {row.tickets[0]?.citations_date.slice(0, 10)}\n \n \n {row.createdAt.slice(0, 10)}\n \n \n {row.origin[0].toUpperCase() +\n row.origin.substring(1)}\n \n {row.status}\n \n {row.status === \"Pending\" && (\n \n this.handleProcessPayments(\n row.master_id\n )\n }\n >\n Process\n \n )}\n \n \n \n \n \n \n

\n Citations\n

\n
\n \n \n \n #\n \n \n Citation Number\n \n \n Citation Fee\n \n \n Ticket\n \n \n \n \n {row.tickets.map((r) => (\n <>\n \n \n {r.id}\n \n \n {r.citations_number}\n \n \n ${\" \"}\n {Number(\n r.citations_fee\n ).toFixed(2)}\n \n \n {r.citations_attachment_url !==\n \"\" && (\n {\n window.open(\n r.citations_attachment_url,\n \"_blank\"\n );\n }}\n >\n View\n \n )}\n \n \n \n ))}\n \n
\n \n \n \n \n \n ))}\n \n \n
\n
\n \n ) : (\n \n {this.state.showMessage && (\n

There is no match data with the search filter

\n )}\n
\n )}\n
\n \n \n {this.state.messageAlert}\n \n \n \n Close\n \n \n \n \n \n \n
\n ) : (\n \n

Loading...

\n
\n )}\n
\n );\n }\n}\n\nexport default withRouter(withStyles(useStyles)(QuoteListPage));\n","import React, { useState, useEffect } from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport {\n Grid,\n Button\n} from '@material-ui/core';\nimport IMAGES from '../utils/images';\n\nconst useStyles = makeStyles(() => ({\n root: {\n flexGrow: 1,\n paddingTop: 50,\n paddingLeft: 20,\n paddingRight: 20\n },\n button: {\n color: '#FFEF65',\n backgroundColor: 'black',\n height: 50,\n width: 200,\n fontWeight: 'bold',\n fontSize: 16\n }\n}));\n\nfunction Unauthorized() {\n const classes = useStyles();\n\n return(\n
\n \n \n \"path\"\n \n \n
\n

Unauthorized

\n
\n

The Ticket Clinic – A Law Firm

\n
\n
\n
\n );\n};\n\nexport default Unauthorized;","import React from 'react';\nimport {BrowserRouter as Router, Route, Switch} from 'react-router-dom';\nimport HomePage from './pages/HomePage';\nimport CasePage from './pages/CasePage';\nimport CaseListPage from './pages/CaseListPage';\nimport PaymentPage from './pages/PaymentPage';\nimport PaymentLanding from './pages/PaymentLanding';\nimport QuoteListPage from './pages/QuoteListPage';\nimport { ROUTES } from './utils/constants';\nimport NewQuotePage from './pages/NewQuotePage';\nimport Unauthorized from './pages/Unauthorized';\n\nfunction App() {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n\nexport default App;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport * as Sentry from \"@sentry/browser\";\nimport { BrowserTracing } from \"@sentry/tracing\";\n\nSentry.init({\n dsn: process.env.REACT_APP_TTC_SENTRY_DSN,\n integrations: [new BrowserTracing()],\n tracesSampleRate: 1.0,\n maxValueLength: 100000\n});\n\nReactDOM.render(\n \n \n ,\n document.getElementById('root')\n);\n"],"sourceRoot":""}