{"version":3,"sources":["pages/AddressLookup/PropertyInfo/TaxMap.tsx","pages/OrderEntry/css/colors.tsx","pages/OrderEntry/ui/TextArea.tsx","pages/OrderEntry/ui/TextField.tsx","components/ContactUsPopup.tsx","context/UserContext.tsx","context/SearchParamsContext.tsx","pages/Authentication/styles.tsx","images/hudson-logo.png","components/Input.tsx","components/icons.tsx","components/PasswordInput.tsx","components/LinkButton.tsx","components/Button.tsx","components/MediaButtons.tsx","pages/Authentication/AuthenticationLayout.tsx","pages/Authentication/CreateResetPassword.tsx","components/MediaInputs.tsx","pages/Authentication/ForgotPassword.tsx","pages/Authentication/LogIn.tsx","components/utilities/debouncer.tsx","pages/Home/styles.tsx","components/utilities/dateUtilities.tsx","pages/OrderDetails/LegacyOrders/LegacyStyles.tsx","components/utilities/Iframe.tsx","components/utilities/fileUtilities.tsx","pages/OrderDetails/LegacyOrders/DocumentsSlideout.tsx","pages/OrderDetails/LegacyOrders/NamesSlideout.tsx","pages/OrderDetails/LegacyOrders/PropertiesSlideout.tsx","pages/OrderDetails/LegacyOrders/TopBarSlideout.tsx","pages/OrderDetails/LegacyOrders/Container.tsx","components/Highlight.tsx","pages/Home/ClientOrderRow.tsx","components/ToolTip.tsx","pages/Home/ClientOrders.tsx","components/IconButton.tsx","components/SearchBar.tsx","components/StagingBanner.tsx","pages/OrderEntry/ConfirmLeaveModal.tsx","pages/Home/TopBar.tsx","pages/Home/Search.tsx","pages/Home/Card.tsx","pages/Home/index.tsx","pages/OrderDetails/styles.tsx","components/RadioButton.tsx","pages/OrderDetails/Priority.tsx","pages/OrderDetails/OrderSummary.tsx","pages/OrderDetails/Files.tsx","pages/OrderDetails/OrderCompleted.tsx","pages/OrderDetails/SearchesDelivered.tsx","pages/OrderDetails/SidebarSummary.tsx","pages/OrderDetails/add-search-modal/indexStyles.tsx","pages/OrderDetails/add-search-modal/icons.js","pages/OrderDetails/add-search-modal/searchDropdownStyles.tsx","pages/OrderDetails/add-search-modal/SearchTypeChooser.tsx","pages/OrderDetails/add-search-modal/SearchDropdown.tsx","pages/OrderEntry/ui/outside-click.ts","pages/OrderDetails/add-search-modal/index.tsx","pages/OrderDetails/ConfirmModal.tsx","pages/OrderEntry/ui/icons.tsx","pages/OrderEntry/ui/ButtonSpinner.tsx","pages/OrderEntry/ui/DropdownTable.tsx","pages/OrderDetails/AddProperty/SelectedCityBar.tsx","pages/OrderDetails/AddProperty/AddPropertyContext.tsx","pages/OrderDetails/AddProperty/Municipality.tsx","pages/OrderDetails/AddProperty/PropertySection.tsx","pages/OrderDetails/AddProperty/RpadResults.tsx","pages/OrderDetails/AddProperty/PropertyDisplay.tsx","pages/OrderEntry/PropertiesAndNames/PropertyTab/AddAdditionalData.jsx","pages/OrderDetails/AddProperty/Rpad.tsx","pages/OrderDetails/AddProperty/SearchSection.tsx","pages/OrderDetails/AddProperty/AddSearchModal.tsx","pages/OrderDetails/AddProperty/AddPropertyModal.tsx","pages/OrderDetails/OrderSummaryDesktop.tsx","pages/OrderDetails/Sidebar.tsx","components/StatusLabel.tsx","pages/OrderEntry/Documents/ImportedFileTag.tsx","pages/OrderDetails/UploadSdaModal.tsx","pages/OrderDetails/SearchActionsDropdown.tsx","pages/OrderDetails/SearchCard.tsx","pages/OrderDetails/PropertyCard.tsx","pages/OrderDetails/index.tsx","pages/OrderEntry/PropertiesAndNames/Names/NameTypeDropdown.tsx","pages/OrderEntry/PropertiesAndNames/Names/NameType.tsx","components/utilities/functions.ts","pages/OrderEntry/OrderEntryContext.tsx","pages/OrderEntry/PropertiesAndNames/Names/index.tsx","pages/OrderEntry/PropertiesAndNames/PropertyTab/SelectedCityBar.tsx","pages/OrderEntry/PropertiesAndNames/PropertyTab/Municipality.tsx","pages/OrderEntry/PropertiesAndNames/PropertyTab/PropertySection.tsx","pages/OrderEntry/PropertiesAndNames/PropertyTab/RpadResults.tsx","pages/OrderEntry/PropertiesAndNames/PropertyTab/PropertyDisplay.tsx","pages/OrderEntry/PropertiesAndNames/PropertyTab/Rpad.tsx","pages/OrderEntry/PropertiesAndNames/index.tsx","pages/OrderEntry/ToggleDropdown.tsx","pages/OrderEntry/DuplicateTitleModal.tsx","pages/OrderEntry/MainOrderDetails.tsx","pages/OrderEntry/Searches/DropdownSelect.tsx","pages/OrderEntry/Searches/AddSearch.tsx","pages/OrderEntry/SearchTypeTag.tsx","pages/OrderEntry/Searches/index.tsx","pages/OrderEntry/Documents/index.tsx","pages/OrderEntry/PropertiesAndNames/PropertyErrorModal.tsx","pages/OrderEntry/index.tsx","pages/OrderEntry/SuccessPage.jsx","pages/NotFound.tsx","pages/ErrorPage.jsx","components/PhoneNumberInput.tsx","pages/Settings/Profile/ProfilePage.tsx","pages/Settings/ClientUsers/NewUserModal.tsx","pages/Settings/ClientUsers/EditRow.tsx","pages/Settings/ClientUsers/NotificationToolTip.tsx","pages/Settings/ClientUsers/InfoRow.tsx","pages/Settings/ClientUsers/UsersPage.tsx","pages/Settings/CompanySettings/CompanySettingsTabs.tsx","pages/Settings/CompanySettings/Components/Option.tsx","pages/Settings/CompanySettings/Components/Setting.tsx","pages/Settings/AccountSettings/ChangePasswordModal.tsx","pages/Settings/CompanySettings/Components/FtpForm.tsx","pages/Settings/CompanySettings/CompanySettingsPage.tsx","pages/Settings/AccountSettings/AccountSettingsPage.tsx","pages/Settings/Settings.tsx","pages/Settings/index.tsx","pages/InvoicePage/InvoiceDetails.tsx","pages/InvoicePage/InvoicePage.tsx","pages/AddressLookup/AddressInfo/DropdownTable.tsx","pages/AddressLookup/AddressInfo/SelectedCityBar.tsx","pages/AddressLookup/AddressInfo/Municipality.tsx","pages/AddressLookup/AddressInfo/AddressResults.tsx","pages/AddressLookup/AddressInfo/AddressFieldTypeAhead.tsx","pages/AddressLookup/AddressInfo/PropertySection.tsx","pages/AddressLookup/PropertyResults/index.tsx","pages/AddressLookup/AddressInfo/index.tsx","pages/AddressLookup/index.tsx","pages/AddressLookup/PropertyInfo/TopBarActions.tsx","components/CopyComponent.tsx","pages/AddressLookup/PropertyInfo/PropertyInformation.tsx","pages/AddressLookup/PropertyInfo/AssessmentInformation.tsx","pages/AddressLookup/PropertyInfo/OwnershipInformation.tsx","pages/AddressLookup/PropertyInfo/StreetViewMap.tsx","components/GoogleMaps.png","pages/AddressLookup/PropertyInfo/index.tsx","App.tsx","index.tsx"],"names":["HeaderInfo","styled","div","ViewButton","DownloadButton","TaxMap","props","useState","mapSource","setMapSource","isPdf","setIsPdf","progress","setProgress","loading","setLoading","removeLastPeriod","str","length","substring","replaceLeadingZeros","replace","getBlockLotQualifierString","block","lot","qualifier","actualQualifier","getTaxMap","a","axios","get","property","swis","responseType","data","response","Buffer","from","toString","base64ToUrl","getTaxMapNyc","params","qs","stringify","boro","section","getTaxMapNys","county","swisCode","base64","type","binary_string","window","atob","len","bytes","Uint8Array","i","charCodeAt","URL","createObjectURL","Blob","buffer","useEffect","location","toLowerCase","interval","setInterval","clearInterval","style","width","borderRadius","marginLeft","marginTop","href","target","rel","color","download","title","height","src","alt","textAlign","percent","indicating","fontSize","paddingTop","colors","black","grey200","grey300","grey400","grey500","grey600","hudsonRed","orange100","orange200","white","blue","textareaStyles","background","border","display","backgroundColor","resize","caretColor","outline","TextArea","error","label","value","placeholder","onChange","styles","divStyles","onBlur","onPaste","name","css","marginBottom","justifyContent","fieldStyles","cursor","grey","grey100","disabledStyles","noop","TextField","disabled","e","onKeyUp","onKeyDown","getWidth","loadingStatus","includes","parseInt","verticalAlign","camelcase","autoComplete","Wrapper","OpenWrapper","CancelButton","button","SubmitButton","ContactUsPopup","emailAddress","setEmailAddress","emailNote","setEmailNote","formOpen","setFormOpen","orderId","setOrderId","success","setSuccess","user","useUserContext","path","pathname","routeParts","split","isNaN","email","submitEmailMessage","submitEmail","userName","firstName","lastName","replyToEmail","clientName","clientId","post","setTimeout","lineHeight","padding","input","paddingLeft","onClick","size","position","bottom","right","defaultUser","id","UserContext","React","createContext","UserContextComponent","children","history","useHistory","setUser","setUserContext","isAuthenticated","LogRocket","identify","then","startsWith","push","interceptors","use","message","Promise","reject","reload","Provider","useContext","SearchParamsContext","SearchParamsContextComponent","useQueryParam","StringParam","queryParam","setQueryParam","BooleanParam","searchOpen","setOpenParam","isTopSearchOpen","setIsTopSearchOpenHook","topSearchText","setTopSearchTextHook","mainSearchText","setMainSearchTextHook","setIsTopSearchOpen","open","setTopSearchText","text","setMainSearchText","useSearchParams","LogInScreen","TopBarLayout","MainSectionLayout","InnerMainSectionLayout","MiddleBar","OuterMiniBoxes","MiniBox","span","SmallRectangle","WideRectangle","BottomSquare","RightRectangle","HudsonLogoStyles","OuterLogIn","maxHeight","LogInHeader","SubHeader","PasswordConditions","InputMobile","InputDesktop","ButtonMobile","ButtonDesktop","ResetWrapper","Reset","InputBase","InputBorderless","InputError","IconStyles","LabelText","isColor","BottomText","Input","inputType","isLabel","labelText","icon","isBottomText","bottomText","GetInput","EyeIcon","viewBox","fill","xmlns","d","stroke","strokeWidth","fillRule","clipRule","HiddenEyeIcon","strokeLinecap","XCircleIcon","XRedCircleIcon","CheckCircleIcon","fillOpacity","SearchIcon","MenuIcon","XIcon","mask","XIconDark","ArrowIcon","SortIcon","SortIconBox","x","y","SortIconActive","DownloadIcon","EditIcon","ExpandIcon","DownloadIconTwo","XIconSmall","GreyBullet","cx","cy","r","LegacyIcon","stroke-width","strokeLinejoin","LargeLegacyIcon","AttachmentIcon","clipPath","XIconLarge","PaperClip","stroke-linecap","stroke-linejoin","PreviewIcon","fill-rule","clip-rule","HelpIcon","DownCarotIcon","RightCarotIcon","SuccessIcon","StopSign","NotFoundIcon","clip-path","transform","InvoiceIcon","AlertIcon","SmallPlusIcon","MinusIcon","PrintIcon","CopyIcon","PasswordInput","isHidden","setIsHidden","specialError","setSpecialError","minimumError","setMinimumError","noMinimumError","setNoMinimumError","noSpecialError","setNoSpecialError","regex","handleChange","passwordConditions","test","handleBlur","isError","alignItems","LinkButtonStyles","LinkButton","linkText","ButtonBaseStyles","ButtonPrimaryMedium","ButtonPrimaryTwoSmall","ButtonPrimaryTwoMedium","ButtonPrimaryTwoLarge","ButtonPrimaryTwoLargeDisabled","ButtonSecondarySmall","ButtonSecondarySmallDisabled","ButtonSecondaryMedium","ButtonSecondaryMediumDisabled","ButtonTertiarySmall","ButtonTertiaryMedium","Button","buttonType","Loader","inline","active","buttonText","GetButton","MediaButtons","widthMobile","widthDesktop","AuthenticationLayout","HudsonLogo","CreateResetPassword","password","setPassword","confirmPassword","setConfirmPassword","confirmPasswordError","setConfirmPasswordError","validToken","setValidToken","token","useParams","checkToken","onCreateSubmit","onResetSubmit","key","reset","margin","flexDirection","header","subHeader","linkButton","maxWidth","MediaInputs","ForgotPassword","resetInstructions","setResetInstructions","setEmail","onForgotPasswordSubmit","trim","LogIn","notMatch","isNotAuthenticated","setIsNotAuthenticated","showInternalMessage","setShowInternalMessage","onLoginSubmit","onEmailBlur","isInternal","marginRight","useDebounce","delay","debouncedValue","setDebouncedValue","handler","clearTimeout","OuterWrap","HomeScreen","TopBarStyles","Logout","LogoutStyles","NewOrderStyles","MenuIconStyles","TopInfo","CardLayout","ButtonStyles","GetDateInCurrentTimeZone","date","browserTZ","Intl","DateTimeFormat","resolvedOptions","timeZone","utcDate","moment","tz","ArchivedHeader","SpanStyle","TextStyle","DocumentsDivStyle","DocumentTitleStyles","DocumentDateStyle","PropertiesDivStyle","NamesDivStyle","PropertyCardWrapper","PropertyCardStyle","PropertySpanStyle","PropertyContentStyle","PropertyTextStyle","PaperClipSection","FileNameSection","FileMetaData","DownloadButtonSection","OuterSlideoutStyle","OrderedTextStyle","OverlayStyles","ModalWrap","Iframe","onClose","overflow","url","convertToFileDownload","b64Data","filename","byteCharacters","byteArrays","offset","slice","byteNumbers","Array","byteArray","blob","navigator","msSaveBlob","blobURL","tempLink","document","createElement","setAttribute","body","appendChild","click","removeChild","revokeObjectURL","downloadDocument","documentId","queryString","fileName","merge","searchType","searchId","downloadOrderDocuments","searches","DocumentsSlideout","legacyOrder","iframeOpen","iframeUrl","preview","setPreview","handleOnClickPreview","handleOnDocumentDownload","Fragment","documents","map","index","description","dateCreated","format","NamesSlideout","alignContent","owners","o","PropertiesSlideout","properties","p","idx","fontWeight","address","municipality","TopBarSlideout","top","onHideClick","titleNumber","paddingBottom","receivedDate","result","search","getSearches","LegacyOrderDetailsSlideout","hdsNumber","Date","status","setLegacyOrder","getOrder","legacyOrderId","Highlighter","require","highlight","searchText","onlyExactMatch","toLocaleLowerCase","searchWords","autoEscape","textToHighlight","OrderInfo","OrderDetails","DateStyles","StatusStyles","LegacyStatusStyles","LegacyOrderStyles","SidebarStyles","Overlay","ClientOrderRow","order","orderDate","openSlidout","setOpenSlideout","onClickRow","isLegacy","OrderRow","to","textDecoration","Highlight","addresses","propertiesCount","LegacyOrderRow","legacyDocumentsCount","transition","openSlideoutObj","callOpenSlideout","ToolTipContent","ToolTipWrap","ToolTip","toolTipText","RecentOrdersStyles","HeaderRow","SortStyles","SortOpenStyles","SortOptionStyles","SortIconMobile","SortIconDesktop","sortOptions","ClientOrders","sortOpen","setSortOpen","addEventListener","removeEventListener","searchActive","filterActive","stopPropagation","s","orders","legacyOrders","lastLegacyDate","IconButtonStyles","hoverColor","IconButton","className","SearchBarStyles","SearchOpenStyles","InputStyles","SearchBar","setSearchOpen","onSearchTextChange","onEnterClick","closeSearch","StagingBanner","environment","setEnvironment","GetData","toUpperCase","UnassignModalContent","Close","ActualContent","Unassign","Information","ButtonContainer","UnassignButton","XButton","Modal","zIndex","Icon","info","cancelButtonText","onConfirmAction","TopBar","openOptions","setOpenOptions","showHomeModal","setShowHomeModal","showSearchModal","setShowSearchModal","showLogoutModal","setShowLogoutModal","logout","ConfirmLeaveModal","showLeaveModal","husdonLogo","isTitleNumber","CustomInput","Search","onKeyPress","onFocus","selected","CardInfo","CardAmount","Number","StatusSection","ArrowStyles","Card","number","baseFilter","pageNumber","sortBy","statusFilter","isSearching","isFiltering","HomePage","userContext","searchParams","clientOrders","setClientOrders","setLegacyOrders","setLastLegacyDate","filters","setFilters","debouncedSearch","searchLegacy","setSearchLegacy","filterCount","setCount","total","setTotal","statusCounts","setStatusCounts","legacyCount","setLegacyCount","legacyTotal","setLegacyTotal","filter","sessionStorage","getItem","setSearchFilterState","getStaticData","all","getClientOrdersCount","getClientOrders","getStatusCounts","getLegacyOrdersCount","getLastLegacyDate","pageSize","getLegacyOrders","headerSearch","clear","showMore","newFilters","sort","onFilterCardClick","filterType","mapper","removeItem","setItem","inProgress","counts","partiallyCompleted","waitingOnClient","completed","onClickClear","DetailOuterWrap","DetailWrap","OuterWrapper","InnerWrapper","TitleNumberWrap","DownloadStyles","BackStyles","InnerDetail","DetailWrapDesktop","OrderDetailsButton","OuterCard","ClosedCard","PropertyInfo","DetailSectionDesktop","ExpandSection","DetailSection","Details","DetailTitle","SearchCardStyles","SearchCardInBetween","SearchCardDesktop","SearchDetailTitle","SearchHeaders","SearchInfo","DropdownStyles","DropdownOuter","SidebarSummaryStyles","SummaryHeader","TitleStyles","GreyBackground","RadioButtonStyles","RadioButton","setSelected","EditOptionStyles","Priority","priority","DownloadOptions","DownloadOptionStyles","EditOptions","OnHoldCancelled","OrderSummary","downloadOpen","setDownloadOpen","editOpen","setEditOpen","getPriority","setPriority","statusId","showDownload","textTransform","Files","customFileName","OrderCompleted","grouped","sortedSearches","orderBy","dateAdded","valueOf","groupBy","groupByStatusType","allCompleted","Object","keys","Completed","SearchesDelivered","dateGrouped","searchStatusType","flexWrap","arr","searchTypeTruncated","SidebarSummary","setSearches","continOrUpdateNumber","searchCategoryId","groupByType","allOrderSearches","immer","reduce","pre","cur","concat","Root","Tile","FormWrap","SelectSearchersWrap","SelectPropertiesWrap","Chip","ButtonSection","NotesInput","textarea","Plus","SearchGlass","DropdownWrap","isOpen","SearchTypeChooser","activeIndexes","setActiveIndexes","handleClick","titleProps","indexes","indexOfClicked","findIndex","splice","Accordion","exclusive","categorySearches","cs","Title","Boolean","category","Content","searchTypes","st","selectedSearches","onSelectSearch","SearchDropdown","searchRef","closeDropdown","setSearchText","ref","useOnClickOutside","additionalIgnoreRefs","listener","event","current","contains","some","AddSearchModal","useRef","searchDropdown","openSearchDropdown","submitting","setSubmitting","setCategorySearches","setSelectedSearches","selectedProperties","setSelectedProperties","errors","setErrors","note","setNote","getCountyId","countyId","every","stringified","JSON","addSearchesToOrder","objToPost","propertyIds","userId","selectedSearch","newSelectedSearches","produce","draft","onRemoveSearch","newProperties","onRemoveProperty","Dropdown","fluid","selection","multiple","options","ModalContent","Header","Children","ConfirmButton","ConfirmModal","SearchGlassIcon","PlusIcon","floaterOne","keyframes","spinnerS","animation","opacity","fieldWrap","filterWrap","left","boxShadow","openFilter","innerDropDown","overflowY","tableRowWrap","content","borderTop","cellWrap","DropdownTable","state","searchValue","matchTextSearch","handleItemClick","onItemClick","setState","getRequiredStar","showRequired","this","isDropdown","itemList","onTextChange","fieldWidth","ButtonSpinner","municipalityError","fontFamily","stateCode","municipalityType","subMunicipality","subMunicipalityType","hamletName","Component","cityBarWrap","gap","SelectedCityBar","city","AddPropertyContext","undefined","labelsMarkUnvalidated","AddPropertyProvider","addressLine2","undeterminedLocality","zip","district","isDuplicate","includeMunicipalSearches","isValidated","rpadId","municipalityId","subMunicipalityId","duplicates","countyOnly","rpadPropertyId","printKey","fullValidationNote","validationNote","preConvertedFiles","validationFiles","isResidential","unvalidatedOwner","selectedCounty","overrideMode","isNyc","hamletId","selectedCity","stateName","rpadSwisCode","municipalityTypeId","subMunicipalityTypeId","setProperties","propertyErrors","setPropertyErrors","openErrorModal","setOpenErrorModal","addedSearches","setAddedSearches","clientNote","setClientNote","validateForm","validateProperty","indexedPropertyErrors","hasError","checkDuplicate","matchedProperty","onSubmit","propertiesWithDuplicates","oldOrder","submitProperty","changePropertyInfo","onCancel","useAddProperty","Municipality","setIsDropdown","cityOptions","setCityOptions","cityLoaderStatus","setCityLoaderStatus","selectedItem","setSelectedItem","baseSelectedCity","getCityOptions","useCallback","debounce","paramsSerializer","arrayFormat","item","setPropertyInfo","handleSelectedCity","svg","PropertySection","findMatches","Row","RpadResults","matches","m","propertyIndex","aptNo","muniTypes","mt","trimmed","paddingRight","owner","ErrorText","trimEnd","charToRemove","PropertyDisplay","resultCount","setResultCount","setEditIndex","setDeleteConfirmation","isLoading","results","dataLength","next","newResultCount","callRpadValidation","hasMore","totalCount","loader","scrollThreshold","scrollableTarget","buildingCode","propertyClass","setMatches","AddPropertyWrap","PlusButton","AddAdditionalData","dataName","CollapsedCard","baseProperty","Rpad","setSearchWasMade","deleteConfirmation","editIndex","setIsLoading","boroMapper","Manhattan","Bronx","Brooklyn","Queens","getNumberOfBorough","boroughName","searchTerm","returnCount","queryOptions","swiss","borough","stringifiedParams","baseUrl","preventDefault","indexToRemove","deleteProperty","addProperty","SearchSection","flat","searchTypeId","onCloseSearch","getOrderDetails","AddPropertyModal","openSearchModal","setOpenSearchModal","sidebarSummaryOpen","setSidebarSummaryOpen","openAddSearch","setOpenAddSearch","openAddProperty","setOpenAddProperty","searchesToDownload","Sidebar","contacts","contact","isPurchase","c","StatusLabelStyles","StatusLabel","DocumentUploaded","ImportedFileTag","editMode","setEditMode","autoFocus","fileNameToDisplay","changeCustomFileName","defaultValue","onRemoveClick","DocumentOptions","UploadButton","convertToBase64","file","resolve","reader","FileReader","readAsDataURL","onload","cleanedBase64","indexOf","onerror","UploadSdaModal","files","setFiles","includeOtherPropertiesChecked","setIncludeOtherPropertiesChecked","uploading","setUploading","succesPopup","setSuccessPopup","pdfErrorMessage","setPdfErrorMessage","allFiles","f","lastIndexOf","onDrop","newFiles","tempFile","fileBase64","newArray","newName","extension","startExtension","newExtension","removedExtensionFromName","uploadSda","sda","includeAllProperties","propertyId","getRootProps","getInputProps","isDragActive","onRemoveFileClick","otherSdaProperties","Checkbox","checked","onDownload","SearchActionsDropdown","updateOrder","setUpdateOrder","viewPdf","downloadSda","sdaOpen","updateSearch","SearchCard","showDropdown","searchDocId","setSearchDocId","dropdownOpen","searchIdsOpen","completedStatus","handleSearchCheckChange","closeDropdownForSearch","openDropdownForSearch","dateOrdered","fee","downloadSearchDocuments","PropertyCard","uploadSdaOpen","setUploadSdaOpen","selectAll","setSelectAll","setSearchIdsOpen","searchesOpen","closeAllSearches","completedSearchesIds","newSearchesToDownload","setSearchesToDownload","uploadStatus","searchesForProperty","documentsSearches","townFee","countyFee","SearchCardMobile","OrderDetailsPage","setShowLoader","setOrder","flatMap","forEach","docId","isSuperRush","isRush","updatedOrder","sdaProperties","find","query","OrderSummaryDesktop","defaultOpen","pr","customStyles","container","provided","control","NameTypeDropdown","selectedType","setSelectedType","purchaseOptions","refiOptions","onChangeOption","components","IndicatorSeparator","po","defaultName","OuterPart","TypeStyles","NameType","openDropdown","setOpenDropdown","onMouseOver","nameOption","onChangeName","deleteName","onDelete","checkIfInputContainsLettersOrNull","match","defaultPriority","defaultInitialNameType","defaultBorrowerType","defaultSellertype","OrderEntryContext","OrderEntryProvider","selectedClient","setSelectedClient","setTitleNumber","searchesAssignObj","setSearchesAssignObj","orderEntryNames","setOrderEntryNames","setIsPurchase","openSellerErrorModal","setOpenSellerErrorModal","templateSearchTypes","setTemplateSearchTypes","fromAddressLookup","setFromAddressLookup","oen","getPropertyInfo","submitOrder","oe","checkBankruptcy","checkPatriot","checkCogs","checkFranchise","checkArticles","localStorage","addSellersToNames","names","newOrderEntryNames","deleteListOfNames","useOrderEntry","OuterStyles","OptionButton","Names","ownerNames","buyer","ownerName","newNames","onChangeSaleType","newOrderNames","orderName","buyerIndex","onDeleteName","newOther","minWidth","PropertiesAndNames","ToggleDropdown","DuplicateTitleModal","openState","titleNumExistsOrderId","DuplicateTitle","toggleOptions","clientJvs","setClientJvs","setNumCheckLoaderStatus","setTitleNumExistsOrderId","showTitleExistsModal","setShowTitleExistsModal","mappedData","jv","handleTitleNumber","client","OuterSearchType","SearchType","SearchName","DropdownSelect","isExpanded","setIsExpanded","addSearchClick","OuterSelectStyles","SearchStyles","AddSearch","selectOpen","setSelectOpen","setSearchList","listContainsSearchText","handleSearchTextChange","list","l","SearchTypeTag","searchName","onDeleteClick","TemplateStyles","getInitialAssignObj","assignee","orderNote","Searches","templates","setTemplates","selectedTemplate","setSelectedTemplate","tempAssignToUpdate","setTempAssignToUpdate","setSearchTypes","searchCategoriesAndTypes","setSearchCategoriesAndTypes","setOpenAssign","getTemplates","getSearchTypes","mappingCategories","field","newAssignObj","t","rest","handleAssignSearchDeletion","obj","prev","cat","nestedIndex","topLevelIndex","lowerLevelIndex","handleTemplateSelection","template","addSearches","searchesToAdd","searchesToRemove","catobj","handleTemplateSearchAdd","ts","addedSearchTypes","newAddedSearches","newSearchesAssignObj","searchesAssignInitialObjPopulation","addedSearch","newTemplateSearches","handleTemplateSearchDeleteClick","newSearches","handleAddedSearchDeleteClick","DragDrop","Documents","actualFileName","PropertyErrorModal","OrderEntryLayout","OrderEntry","showleaveModal","setShowLeaveModal","MainOrderDetails","pageWrap","letterSpacing","iconWrap","messageStyle","SuccessPage","NotFound","PageWrap","GlobalError","PhoneNumberInput","hasAlphaCharachter","AsYouType","Section","SectionHeader","ProfilePage","states","setStates","setClient","getStates","getClient","phone","stateId","changeClientInfo","newClientInfo","onSave","val","NewUserModalContent","TopPart","NewUser","AddButton","multiSelectStyles","valueContainer","minHeight","borderColor","indicatorsContainer","multiValue","NewUserModal","roles","setRoles","contactNotificationTypes","createLogin","roleOption","editedNotificationTypes","newUser","setNewUser","getRolesForClient","userRole","role","addNewUser","afterSaveUser","changeUserInfo","newUserTemp","isMulti","SaveStyles","EditRow","clientuser","editUser","setEditUser","updatingChanges","setUpdatingChanges","singleAdminAlert","setSingleAdminAlert","singleAdmin","onSaveChanges","afterSavingCall","tooTipWrap","toolTip","whiteSpace","borderStyle","borderWidth","NotificationToolTip","notifications","n","listStyle","EditStyles","InfoRow","showTooltip","clientUser","onEditClick","TopHeader","DetailedHeader","UserInfo","UsersPage","users","setUsers","openNewUserModal","setOpenNewUserModal","deleteIndexes","setDeleteIndexes","noUsersSelected","setNoUsersSelected","confirmDeleteModal","setConfirmDeleteModal","getClientContacts","b","deleteContacts","handleDeleteClick","u","ua","newIndexes","deleteUserIndexes","TabSection","Tab","isSelected","tabArray","CompanySettingsTabs","ta","indexSelected","setIndexSelected","Option","Radio","option","selectedValue","setCompanySettings","settingName","SectionWrap","Setting","clientSetting","setting","statement","settingOptions","selectedOptionId","ChangePasswordContent","ChangePasswordModal","oldPassword","setOldPassword","oldPasswordVerified","setOldPasswordVerified","successPopup","handleOnPasswordBlur","getQueryString","confirmPasswordUrl","onChangePassword","changePasswordUrl","handleAfterChange","queryObject","needsClientId","FtpForm","openPasswordModal","setOpenPasswordModal","changeFtpValue","companyFTPSetting","host","username","allowFtpChange","ButtonWrap","defaultFtpValues","CompanySettingsPage","saved","setIsSaved","ftpSetting","newClientSettings","companySettings","setAllowFtpChange","saving","setSaving","newCompanySettings","getAdditionalContent","func","mapped","ftp","getClientSettings","changeCompanySettings","settingIndex","saveChanges","k","additionalContent","AccountSettingsPage","accountInfo","setAccountInfo","passwordInputValue","setPasswordInputValue","getClientInfo","getPassWordLength","passwordLength","changeAccountInfo","newAccountInfo","Tabs","route","accessLevel","Settings","indexToSelect","setIndexToSelect","tab","permission","borderBottom","Info","SeeMore","SeeMoreInner","InvoiceDetails","collapseOpen","setCollapseOpen","invoiceDetails","feeType","quantity","price","WarningWrapper","Total","InvoicePage","setInvoiceDetails","generating","setGenerating","createIndividualSearchFromInvoiceInfo","invoiceInfo","rate","formatInvoiceData","apiInvoiceData","formattedData","displaySearches","values","getInvoiceDetails","generateBillingDoc","getTotalPrice","column","totalTownFee","subtotal","locationTypeId","unit","AddressResults","AddressFieldTypeAhead","setSearchTerm","setTypeAheadMatches","typeAheadMatches","setProperty","setAddressResultClicked","PropertyResults","onPropertyClick","propertyResult","isNj","AddressInfo","resultsLoading","setResultsLoading","addressResultClicked","useLocation","newProperty","setFunction","isPropertyResults","parse","onSearch","AddressLookup","OrderButton","TopBarActions","print","CopyComponent","copied","setCopied","onCopyClick","clipboard","writeText","textToCopy","afterCopyText","OuterBox","InnerBox","PropertyInformation","zipCode","buildingDescription","AssessmentInformation","landValue","displayType","thousandSeparator","prefix","improvement","OwnershipInformation","mailingAddress","StreetViewMap","propertyResultJson","getBuildingClassByCode","getPropertyLookupInfoNj","countyData","P_Zip","init","rootHostname","App","globalError","setGlobalError","ReactRouterRoute","Route","exact","component","Home","render","ReactDOM","getElementById"],"mappings":"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","file":"static/js/main.efe14e18.chunk.js","sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { useParams } from 'react-router-dom';\nimport styled from '@emotion/styled';\nimport axios from 'axios';\nimport { Result } from '../types';\nimport { Loader, Progress } from 'semantic-ui-react';\nimport qs from 'qs';\n\nconst HeaderInfo = styled.div`\n font-weight: bold;\n margin-top: 8px;\n background: #f7f7f9;\n border-radius: 6px 6px 0px 0px;\n padding: 24px 16px;\n font-size: 18px;\n border-bottom: 1px solid #e5e5ea;\n width: 600px;\n display: flex;\n align-items: center;\n`;\nconst ViewButton = styled.div`\n background-color: #333;\n color: #fff;\n border-radius: 6px;\n padding: 8px 16px;\n margin-left: 40px;\n cursor: pointer;\n`;\nconst DownloadButton = styled.div`\n background-color: #333;\n color: #fff;\n border-radius: 6px;\n padding: 8px 16px;\n margin-left: 16px;\n cursor: pointer;\n`;\ninterface Props {\n property: Result;\n location: string;\n county: string;\n swisCode: string;\n}\nconst TaxMap = (props: Props) => {\n const [mapSource, setMapSource] = useState('');\n const [isPdf, setIsPdf] = useState(false);\n const [progress, setProgress] = useState(5);\n const [loading, setLoading] = useState(false);\n const removeLastPeriod = (str: string) => {\n if (str[str.length - 1] === '.') {\n return str.substring(0, str.length - 1);\n }\n return str;\n };\n\n const replaceLeadingZeros = (str: string) => {\n return str.replace(/^0+/, '');\n };\n\n const getBlockLotQualifierString = (block: string, lot: string, qualifier: string) => {\n const actualQualifier = qualifier ? `_${qualifier}` : '';\n return `${removeLastPeriod(block)}_${removeLastPeriod(lot)}${actualQualifier}`;\n };\n const getTaxMap = async () => {\n setLoading(true);\n const { data } = await axios.get(\n `https://njpropertyrecords.com/api/property/${props.property.swis}_${getBlockLotQualifierString(\n props.property.property.block,\n props.property.property.lot,\n props.property.property.qualifier\n )}/assets/tax-map?format=pdf&apiKey=988bb1e33286f80887ae3042689cc2f6&marker=true`,\n {\n responseType: 'arraybuffer',\n }\n );\n if (data) {\n const response = Buffer.from(data, 'binary').toString('base64');\n if (response) {\n setMapSource(base64ToUrl(response, 'image/png'));\n setIsPdf(false);\n }\n }\n setLoading(false);\n };\n\n const getTaxMapNyc = async () => {\n setLoading(true);\n const params = qs.stringify({\n boro: props.property.property.section,\n block: replaceLeadingZeros(props.property.property.block),\n lot: replaceLeadingZeros(props.property.property.lot),\n });\n const { data } = await axios.get(`/api/clientproperty/getNycTaxMap?${params}`);\n if (data) {\n setMapSource(base64ToUrl(data, 'application/pdf'));\n }\n setIsPdf(true);\n setLoading(false);\n };\n\n const getTaxMapNys = async () => {\n setLoading(true);\n const params = qs.stringify({\n county: props.county,\n section: props.property.property.section,\n block: props.property.property.block,\n lot: props.property.property.lot,\n swisCode: props.swisCode,\n });\n const { data } = await axios.get(`/api/clientproperty/getNysTaxMap?${params}`);\n if (data) {\n setMapSource(base64ToUrl(data, 'application/pdf'));\n }\n setIsPdf(true);\n setLoading(false);\n };\n\n function base64ToUrl(base64: string, type: string) {\n var binary_string = window.atob(base64);\n var len = binary_string.length;\n var bytes = new Uint8Array(len);\n for (var i = 0; i < len; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n return URL.createObjectURL(new Blob([bytes.buffer], { type }));\n }\n useEffect(() => {\n if (props.location.toLowerCase() === 'nyc') {\n getTaxMapNyc();\n } else if (props.location.toLowerCase() === 'ny state') {\n getTaxMapNys();\n } else {\n getTaxMap();\n }\n const interval = setInterval(() => {\n setProgress(progress => {\n if (progress >= 100) {\n clearInterval(interval); // Clear the interval when progress is 100\n return progress;\n }\n return progress + 2;\n });\n }, 1000);\n }, []);\n\n return (\n
\n \n Tax Map\n {!loading && mapSource && (\n <>\n \n \n View\n \n \n \n \n Download\n \n \n \n )}\n \n {mapSource &&\n (isPdf ? (\n \n
\n \n \n );\n}\n","import qs from 'qs';\nimport axios from 'axios';\nimport { Search } from '../../pages/types';\n\ndeclare global {\n interface Navigator {\n msSaveBlob?: any;\n }\n}\n\nexport function convertToFileDownload(b64Data: string, filename: string) {\n const byteCharacters = atob(b64Data);\n const byteArrays = [];\n\n for (let offset = 0; offset < byteCharacters.length; offset += 512) {\n const slice = byteCharacters.slice(offset, offset + 512);\n\n const byteNumbers = new Array(slice.length);\n for (let i = 0; i < slice.length; i++) {\n byteNumbers[i] = slice.charCodeAt(i);\n }\n\n const byteArray = new Uint8Array(byteNumbers);\n byteArrays.push(byteArray);\n }\n\n const blob = new Blob(byteArrays, { type: 'application/octet-stream' });\n\n if (typeof window.navigator.msSaveBlob !== 'undefined') {\n // IE workaround for \"HTML7007: One or more blob URLs were\n // revoked by closing the blob for which they were created.\n // These URLs will no longer resolve as the data backing\n // the URL has been freed.\"\n window.navigator.msSaveBlob(blob, filename);\n } else {\n const blobURL = window.URL.createObjectURL(blob);\n const tempLink = document.createElement('a');\n tempLink.style.display = 'none';\n tempLink.href = blobURL;\n tempLink.setAttribute('download', filename);\n\n // Safari thinks _blank anchor are pop ups. We only want to set _blank\n // target if the browser does not support the HTML5 download attribute.\n // This allows you to download files in desktop safari if pop up blocking\n // is enabled.\n if (typeof tempLink.download === 'undefined') {\n tempLink.setAttribute('target', '_blank');\n }\n\n document.body.appendChild(tempLink);\n tempLink.click();\n document.body.removeChild(tempLink);\n window.URL.revokeObjectURL(blobURL);\n }\n}\n\nexport async function downloadDocument(documentId: number) {\n const queryString = qs.stringify({ documentId });\n const { data } = await axios.get(`/api/clientdownload/downloadfile?${queryString}`);\n convertToFileDownload(data.base64, data.fileName);\n}\n\nexport async function downloadSearchDocuments(\n title: string,\n merge: boolean,\n searchType: string,\n searchId: number\n) {\n const queryString = qs.stringify({ title, merge, searchType, searchId });\n const { data } = await axios.get(`/api/clientdownload/downloadSearchDocuments?${queryString}`);\n convertToFileDownload(data.base64, data.fileName);\n}\n\nexport async function downloadOrderDocuments(title: string, merge: boolean, searches: Search[]) {\n const queryString = qs.stringify({ title, merge });\n const { data } = await axios.post(`/api/clientdownload/downloadOrderDocuments?${queryString}`, searches);\n convertToFileDownload(data.base64, data.fileName);\n}\n","import axios from 'axios';\nimport { GetDateInCurrentTimeZone } from '../../../components/utilities/dateUtilities';\nimport React, { useState } from 'react';\nimport Iframe from '../../../components/utilities/Iframe';\nimport {\n DocumentDateStyle,\n DocumentsDivStyle,\n DocumentTitleStyles,\n DownloadButton,\n DownloadButtonSection,\n FileMetaData,\n FileNameSection,\n OrderedTextStyle,\n PaperClipSection,\n} from './LegacyStyles';\nimport { LegacyOrder, LegacyOrderDocument } from '../../types';\nimport { convertToFileDownload } from '../../../components/utilities/fileUtilities';\nimport {\n PaperClip,\n PreviewIcon,\n DownloadIcon,\n} from '../../../components/icons';\n\nconst DocumentsSlideout = ({ legacyOrder }: { legacyOrder: LegacyOrder }) => {\n const [preview, setPreview] = useState({ iframeOpen: false, iframeUrl: '' });\n\n const handleOnClickPreview = (url: string) => {\n setPreview({ iframeOpen: true, iframeUrl: url });\n };\n\n const handleOnDocumentDownload = async (id: number) => {\n const { data } = await axios.get(`/api/clientdownload/downloadLegacyFile/${id}`);\n await convertToFileDownload(data.base64, data.fileName);\n };\n\n return (\n \n {preview.iframeOpen && (\n setPreview({ iframeOpen: false, iframeUrl: '' })}\n width={'545px'}\n >\n )}\n \n
\n Documents\n
\n {legacyOrder.documents.map((d: LegacyOrderDocument, index: number) => {\n return (\n \n \n \n \n \n handleOnClickPreview(\n `/api/clientOrder/viewDocument?documentId=${d.id}`\n )\n }\n >\n \n {`${d.description}.pdf`}\n \n \n \n Created{' '}\n {GetDateInCurrentTimeZone(d.dateCreated).format(\n 'MM/DD/YYYY'\n )}\n \n \n \n \n \n handleOnClickPreview(\n `/api/clientOrder/viewDocument?documentId=${d.id}`\n )\n }\n >\n \n \n\n
handleOnDocumentDownload(d.id)}>\n \n
\n {/* {iframeOpen && setIframeOpen(false)} open={iframeOpen} url={iframeUrl} />} */}\n
\n
\n );\n })}\n
\n
\n );\n};\nexport default DocumentsSlideout;\n","import React from 'react';\nimport { NamesDivStyle, OrderedTextStyle, TextStyle } from './LegacyStyles';\nimport { LegacyOrder, LegacyOrderOwner } from '../../types';\n\ninterface Props {\n legacyOrder: LegacyOrder;\n}\n\nconst NamesSlideout = (props: Props) => {\n return (\n \n \n \n Names\n \n\n {props.legacyOrder.owners.map((o: LegacyOrderOwner) => {\n return (\n
\n {o.name}\n
\n
\n );\n })}\n
\n
\n );\n};\nexport default NamesSlideout;\n","import React from 'react';\nimport {\n OrderedTextStyle,\n PropertiesDivStyle,\n PropertyCardStyle,\n PropertyCardWrapper,\n PropertyContentStyle,\n PropertySpanStyle,\n PropertyTextStyle,\n} from './LegacyStyles';\nimport { LegacyOrder, LegacyOrderProperty } from '../../types';\n\ninterface Props {\n legacyOrder: LegacyOrder;\n}\n\nconst PropertiesSlideout = (props: Props) => {\n return (\n \n \n
\n \n Properties{' '}\n \n {/* */}\n
\n\n {props.legacyOrder.properties.map(\n (p: LegacyOrderProperty, idx: number) => {\n return (\n \n \n
\n \n PROPERTY {idx + 1}\n \n \n {p.address}\n \n
\n
\n\n \n
\n \n Municipality\n \n {p.municipality}\n
\n
\n SBL\n \n {p.section}-{p.block}-{p.lot}\n \n
\n
\n \n \n \n County\n \n {p.county}\n \n \n
\n
\n );\n }\n )}\n
\n
\n );\n};\nexport default PropertiesSlideout;\n","import { XIcon, XIconLarge } from '../../../components/icons';\nimport { GetDateInCurrentTimeZone } from '../../../components/utilities/dateUtilities';\nimport React, { useEffect, useState } from 'react';\nimport { ArchivedHeader, OrderedTextStyle, SpanStyle, TextStyle, TopBarStyle } from './LegacyStyles';\nimport { LegacyOrder } from '../../types';\n\ninterface Props {\n legacyOrder: LegacyOrder;\n onHideClick: () => void;\n}\n\nconst TopBarSlideout = (props: Props) => {\n const [loading, setLoading] = useState(true);\n useEffect(() => {\n setLoading(false);\n }, []);\n\n const getSearches = () => {\n let result = '';\n for (let i = 0; i < props.legacyOrder.searches.length; i++) {\n const search = props.legacyOrder.searches[i].search;\n if (i < props.legacyOrder.searches.length - 1) {\n result += `${search.replace(' Search', '')}, `;\n } else {\n result += `${search.replace('Search', '')}`;\n }\n }\n return result;\n };\n\n return (\n \n {!loading && (\n
\n
props.onHideClick()}>\n \n
\n \n
Archived Order: {props.legacyOrder.titleNumber}
\n
\n
\n \n Ordered {GetDateInCurrentTimeZone(props.legacyOrder.receivedDate).format('MM/DD/YYYY')}\n \n
\n\n
\n SEARCHES\n
\n {getSearches()}\n
\n
\n )}\n
\n );\n};\nexport default TopBarSlideout;\n","import axios from 'axios';\nimport React, { useState, useEffect } from 'react';\nimport { OuterSlideoutStyle } from './LegacyStyles';\nimport { LegacyOrder } from '../../types';\nimport DocumentsSlideout from './DocumentsSlideout';\nimport NamesSlideout from './NamesSlideout';\nimport PropertiesSlideout from './PropertiesSlideout';\nimport TopBarSlideout from './TopBarSlideout';\n\ninterface Props {\n legacyOrderId: number;\n onHideClick: () => void;\n width: number;\n}\n\nconst LegacyOrderDetailsSlideout = (props: Props) => {\n const [legacyOrder, setLegacyOrder] = useState({\n id: 0,\n titleNumber: '',\n hdsNumber: '',\n receivedDate: new Date(),\n status: '',\n clientId: 0,\n clientName: '',\n properties: [],\n searches: [],\n owners: [],\n documents: [],\n });\n const [loading, setLoading] = useState(true);\n useEffect(() => {\n const getOrder = async () => {\n const { data } = await axios.get(\n `/api/clientOrder/getLegacyOrder?orderId=${props.legacyOrderId}`\n );\n setLegacyOrder(data);\n };\n if (props.legacyOrderId > 0) {\n getOrder().then(() => setLoading(false));\n }\n }, [props.legacyOrderId]);\n\n return (\n \n props.onHideClick()}\n />\n \n \n \n \n );\n};\nexport default LegacyOrderDetailsSlideout;\n","import * as React from 'react';\nconst Highlighter = require(\"react-highlight-words\");\n\nconst highlight = (text: string, searchText: string, onlyExactMatch: boolean = false) => {\n if (!text || !searchText) {\n return text;\n }\n if(onlyExactMatch && text.toLocaleLowerCase().trim() !== searchText.toLocaleLowerCase().trim()) {\n return text;\n }\n return \n};\n\nexport default highlight;","import styled from '@emotion/styled';\nimport { Link, useHistory } from 'react-router-dom';\nimport { GetDateInCurrentTimeZone } from '../../components/utilities/dateUtilities';\nimport { Order } from '../types';\nimport { LegacyIcon, AttachmentIcon } from '../../components/icons';\nimport LegacyOrderDetailsSlideout from '../OrderDetails/LegacyOrders/Container';\nimport { useState } from 'react';\nimport Highlight from '../../components/Highlight';\nimport { Layout } from '../OrderDetails/LegacyOrders/LegacyStyles';\n\nconst OrderInfo = styled.div`\n border-top: 0.75px solid #ccc9c6;\n padding: 14px 8px;\n display: flex;\n justify-content: space-between;\n font-size: 12px;\n color: #33322f;\n cursor: pointer;\n align-items: center;\n :hover {\n background-color: #f5f5f5;\n }\n @media (min-width: 768px) {\n font-size: 14px;\n display: grid;\n grid-template-columns: 20% 15% 37% 25%;\n grid-column-gap: 1%;\n padding: 14px 0px;\n }\n`;\nconst OrderDetails = styled.div`\n max-width: 190px;\n @media (min-width: 768px) {\n display: contents;\n }\n`;\nconst DateStyles = styled.div`\n @media (max-width: 767px) {\n display: none;\n }\n @media (min-width: 768px) {\n display: block;\n }\n`;\nconst StatusStyles = styled.div<{ color: string }>`\n /* width: 100px; */\n height: 24px;\n font-size: 10px;\n display: flex;\n color: ${props => props.color};\n /* justify-content: center; */\n font-weight: 600;\n /* border-radius: 3px; */\n align-items: center;\n @media (min-width: 768px) {\n /* width: 148px; */\n height: 32px;\n font-size: 14px;\n }\n`;\nconst LegacyStatusStyles = styled.div`\n display: flex;\n align-items: center;\n @media (min-width: 768px) {\n width: 175px;\n height: 32px;\n font-size: 14px;\n }\n @media (max-width: 767px) {\n align-items: flex-end;\n flex-direction: column;\n }\n`;\n\nconst LegacyOrderStyles = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 112px;\n margin-right: 24px;\n`;\nconst SidebarStyles = styled.div`\n z-index: 90000;\n width: 0;\n overflow: hidden;\n height: 100vh;\n background-color: #fff;\n position: fixed;\n right: 0;\n top: 0;\n box-shadow: 0px 16px 32px #eae8e5;\n transition: all 0.2s ease;\n`;\nconst Overlay = styled.div`\n background-color: rgba(233, 232, 232, 0.5);\n bottom: 0;\n height: 100%;\n left: 0;\n position: fixed;\n right: 0;\n top: 0;\n width: 100%;\n z-index: 10000;\n`;\ninterface Props {\n order: Order;\n backgroundColor?: string;\n searchText: string;\n}\n\nconst ClientOrderRow = (props: Props) => {\n const date = GetDateInCurrentTimeZone(props.order.orderDate).format('MM/DD/YYYY');\n const history = useHistory();\n\n const [openSlidout, setOpenSlideout] = useState({ open: false, id: 0 });\n\n const callOpenSlideout = () => {\n const openSlideoutObj = {\n open: !openSlidout.open,\n id: props.order.id,\n };\n setOpenSlideout(openSlideoutObj);\n };\n\n const onClickRow = async () => {\n if (!props.order.isLegacy) {\n document.title = `Title ${props.order.titleNumber}`;\n // history.push(`/order/${props.order.id}`);\n } else {\n if (!openSlidout.open) {\n setOpenSlideout({ open: true, id: props.order.id });\n }\n }\n };\n\n const OrderRow = () => {\n return (\n \n \n \n
{Highlight(props.order.titleNumber, props.searchText)}
\n {date}\n
\n
\n {props.order.addresses.length === 1 ? (\n
{Highlight(props.order.addresses[0], props.searchText)}
\n ) : (\n
{Highlight(props.order.addresses[0], props.searchText)}
\n )}\n
\n
\n {props.order.propertiesCount > 1 && `${props.order.propertiesCount - 1}`}\n {props.order.propertiesCount > 2\n ? ` additional properties`\n : props.order.propertiesCount > 1 && ` additional property`}{' '}\n
\n
\n
\n \n {props.order.status}\n \n
\n \n );\n };\n\n const LegacyOrderRow = () => {\n return (\n \n {openSlidout.open && setOpenSlideout({ open: false, id: 0 })} />}\n \n
{props.order.titleNumber}
\n {date}\n
\n
\n {props.order.addresses.length === 1\n ? `${props.order.addresses[0]}`\n : `${props.order.addresses[0]}`}\n
\n
\n {props.order.propertiesCount > 1 && `${props.order.propertiesCount - 1}`}\n {props.order.propertiesCount > 2\n ? ` additional properties`\n : props.order.propertiesCount > 1 && ` additional property`}{' '}\n
\n
\n
\n \n \n \n
Archived Order
\n
\n
\n \n {props.order.legacyDocumentsCount}\n
\n
\n {\n \n callOpenSlideout()}\n />\n \n }\n
\n );\n };\n\n return !props.order.isLegacy ? : ;\n};\nexport default ClientOrderRow;\n","import styled from '@emotion/styled/macro';\n\nconst ToolTipContent = styled.div`\n opacity: 0;\n min-width: 252px;\n white-space: normal;\n padding: 10px;\n position: absolute;\n top: -84px;\n color: white;\n background-color: #444340;\n align-items: center;\n left: -128px;\n height: 56px;\n justify-content: center;\n display: flex;\n span {\n border-color: #333 transparent transparent transparent;\n border-style: solid;\n border-width: 6px 6px 0 6px;\n height: 0;\n position: absolute;\n bottom: -6px;\n left: \n width: 0;\n }\n `\n\nconst ToolTipWrap = styled.div`\n cursor: pointer;\n display: inline-flex;\n position: relative;\n verticalAlign: top;\n justifyContent: center;\n :hover {\n ${ToolTipContent} {\n opacity: 1;\n }\n }\n`\n\ninterface Props {\n children: any;\n toolTipText: string;\n}\n\nconst ToolTip = (props: Props) => {\n return (\n \n {props.children}\n \n {props.toolTipText}\n \n \n \n );\n};\n\nexport default ToolTip;","import styled from '@emotion/styled';\nimport React, { useState } from 'react';\nimport ClientOrderRow from './ClientOrderRow';\nimport { Order } from '../types';\nimport { SortIcon, SortIconBox, SortIconActive, LargeLegacyIcon, HelpIcon } from '../../components/icons';\nimport Button from '../../components/Button';\nimport { useEffect } from 'react';\nimport ToolTip from '../../components/ToolTip';\nimport moment from 'moment';\n\nconst Wrapper = styled.div`\n margin-top: 42px;\n`;\nconst RecentOrdersStyles = styled.div`\n color: #93918f;\n display: flex;\n justify-content: space-between;\n margin-bottom: 8px;\n text-transform: uppercase;\n position: relative;\n @media (min-width: 768px) {\n font-weight: 600;\n font-size: 24px;\n color: #444340;\n text-transform: capitalize;\n }\n`;\nconst HeaderRow = styled.div`\n display: none;\n @media (min-width: 768px) {\n display: grid;\n grid-template-columns: 20% 15% 37% 25%;\n grid-column-gap: 1%;\n color: #93918f;\n font-size: 10px;\n margin: 26px 0 8px 0;\n text-align: left;\n }\n`;\nconst SortStyles = styled.div`\n cursor: pointer;\n`;\nconst SortOpenStyles = styled.div`\n position: absolute;\n background-color: #fff;\n border: 1px solid #000000;\n padding: 24px 40px 24px 24px;\n border-radius: 3px;\n right: 0;\n top: 46px;\n`;\nconst SortOptionStyles = styled.div`\n margin-top: 8px;\n font-size: 16px;\n cursor: pointer;\n padding-top: 8px;\n color: #444340;\n :hover {\n color: #93918f;\n }\n`;\nconst SortIconMobile = styled.div`\n @media (min-width: 768px) {\n display: none;\n }\n`;\nconst SortIconDesktop = styled.div`\n display: none;\n @media (min-width: 768px) {\n display: block;\n height: 40px;\n width: 40px;\n border-radius: 5px;\n :hover {\n background-color: #f5f5f5;\n }\n }\n`;\n\ninterface Props {\n orders: Order[];\n legacyOrders: Order[];\n onClickUpdated?: () => void;\n onClick: (sortBy: string) => void;\n onClickClear?: () => void;\n searchActive?: boolean;\n filterActive?: boolean;\n lastLegacyDate?: Date;\n searchText: string;\n}\n\nconst sortOptions = [\n {\n key: 'lastUpdated',\n value: 'Last Updated',\n },\n {\n key: 'orderDate',\n value: 'Date Ordered',\n },\n];\n\nconst ClientOrders = (props: Props) => {\n const [sortOpen, setSortOpen] = useState(false);\n\n useEffect(() => {\n window.addEventListener('click', () => {\n setSortOpen(false);\n });\n return () => {\n window.removeEventListener('click', () => {\n setSortOpen(false);\n });\n };\n }, []);\n\n return (\n \n \n {!props.searchActive ? (\n <>\n
Search Results
\n {/* \n \n \n \n );\n}\n","import React, { useState } from 'react';\nimport styled from '@emotion/styled';\nimport { Link, useHistory } from 'react-router-dom';\nimport { Icon, Loader, Modal } from 'semantic-ui-react';\n\nconst ModalContent = styled.div`\n display: flex;\n flex-direction: column;\n`;\nconst Close = styled.button`\n display: flex;\n justify-content: flex-end;\n padding: 15px;\n background-color:#fff;\n border:none;\n cursor:pointer;\n`;\nconst ActualContent = styled.div`\n padding: 0 35px;\n`;\nconst Header = styled.div`\n font-weight: bold;\n font-size: 16px;\n line-height: 24px;\n color: #4d4e4d;\n border-bottom: 1px solid #E5E5EA;\n padding: 0px 35px 16px 35px;\n`;\n\nconst ButtonContainer = styled.div`\n display: flex;\n gap: 9px;\n margin-top: 45px;\n justify-content: flex-end;\n border-top: 1px solid #E5E5EA;\n padding-top:24px;\n`;\n\nconst CancelButton = styled.button`\n background: #ffffff;\n border: 1px solid #e5e5ea;\n border-radius: 5px;\n color: #444444;\n font-family: Lato;\n font-weight: bold;\n font-size: 14px;\n line-height: 21px;\n text-align: center;\n width: 127px;\n height: 47px;\n cursor:pointer;\n`;\nconst Children = styled.div`\nmargin-top:24px;\n`;\nconst ConfirmButton = styled.button`\n background: #444;\n border: 1px solid #444;\n border-radius: 5px;\n font-family: Lato;\n font-weight: bold;\n font-size: 14px;\n text-align: center;\n color: #ffffff;\n width: 127px;\n height: 47px;\n cursor:pointer;\n margin-right:35px;\n`;\ninterface Props {\n onConfirmAction: () => void;\n buttonText: string;\n header: string;\n info?: string;\n cancelButtonText?: string;\n open: boolean;\n onClose: any;\n children?: any;\n height?: any;\n width?: any;\n}\n\nconst ConfirmModal = (props: Props) => {\n const [loading, setLoading] = useState(false);\n return (\n \n \n \n \n \n
{props.header}?
\n \n {props.children && props.children}\n \n \n {props.cancelButtonText || 'Cancel'}\n \n {loading ? (\n \n ) : (\n props.buttonText\n )}\n \n \n\n
\n
\n );\n};\n\nexport default ConfirmModal;\n","/** @jsxRuntime classic */\n/** @jsx jsx */\n//@ts-nocheck\nimport * as React from 'react';\nimport { jsx } from '@emotion/react';\n\nexport function FeeIcon() {\n return (\n \n \n \n \n \n \n \n \n );\n}\nexport function EditIconDocument({...props}) {\n return (\n \n \n \n \n \n \n \n \n );\n}\n\nexport function UnlockIcon({ stroke = 'currentColor', fill = 'currentColor' }) {\n return (\n \n \n \n \n \n \n \n \n );\n}\nexport function PhoneIcon() {\n return (\n \n \n \n \n \n \n \n );\n}\n\nexport function ZoomIcon() {\n return (\n \n \n \n \n \n \n \n \n );\n}\nexport function EmptyIcon() {\n return (\n \n \n \n );\n}\nexport function DownloadIcon({ stroke, background, ...props }) {\n return (\n \n \n \n \n \n \n );\n}\n\nexport function PreviewIcon() {\n return (\n \n \n \n \n \n \n \n \n \n \n \n );\n}\nexport function EditIcon({ ...props }) {\n return (\n \n \n \n \n \n \n \n \n \n );\n}\n\n// stroke={'#93918F'}\nexport function ClientsIcon({ currentColor }) {\n return (\n \n \n \n \n \n \n \n \n );\n}\nexport function MunicipalitiesIcon({ stroke = 'currentColor', ...props }) {\n return (\n \n \n \n \n \n \n \n );\n}\n\n// stroke='#93918F'\nexport function TaxingIcon({ stroke = 'currentColor', ...props }) {\n return (\n \n \n \n \n \n \n \n \n );\n}\nexport function TagIcon({ width = 16, height = 16, stroke = 'currentColor', ...props }) {\n return (\n \n \n \n \n \n \n );\n}\n// hover color for tag is #FADEAE\nexport function LargeTagIcon({ stroke = 'currentColor', ...props }) {\n return (\n \n \n \n \n \n \n );\n}\nexport function PaperClipIcon({ stroke = 'currentColor', ...props }) {\n return (\n \n \n \n );\n}\n\nexport function PrintIcon({ width = 16, height = 16, stroke = 'currentColor', ...props }) {\n return (\n \n \n \n \n \n \n );\n}\n\nexport function LargePrintIcon({ width = 16, height = 16, stroke = 'currentColor', ...props }) {\n return (\n \n \n \n \n \n \n );\n}\n\n//base color is #444340\nexport function XIcon({ stroke = 'currentColor', ...props }) {\n return (\n \n \n \n \n \n );\n}\n\n// base color #93918F\nexport function XIconLarge({ stroke = 'currentColor', ...props }) {\n return (\n \n \n \n \n \n );\n}\n\n//base color is #CCC9C6\nexport function DownCarotIcon({ stroke = 'currentColor', ...props }) {\n return (\n \n \n \n );\n}\n\n//base color is #CCC9C6\nexport function RightCarotIcon({ stroke = 'currentColor', ...props }) {\n return (\n \n \n \n );\n}\n\nexport function TrashCanIcon({ stroke = 'currentColor', ...props }) {\n return (\n \n \n \n \n \n );\n}\n\nexport function ViewedIcon({ stroke = 'currentColor', ...props }) {\n return (\n \n \n \n );\n}\n\n// base fill is #CCC9C6\nexport function DownCarotFullIcon({ fill = 'currentColor', ...props }) {\n return (\n \n \n \n );\n}\n\n// base color is stroke='#FADEAE',\nexport function CheckIcon({ stroke = 'currentColor', ...props }) {\n return (\n \n \n \n );\n}\n\n// base color is stroke='#444340',\nexport function SearchGlassIcon({ stroke = 'currentColor', ...props }) {\n return (\n \n \n \n \n \n \n );\n}\n\n// base color is stroke='#fff',\nexport function PlusIcon({ stroke = 'currentColor', ...props }) {\n return (\n \n \n \n \n \n );\n}\n\n// base color is stroke='#444340',\nexport function LargeSearchGlassIcon({ stroke = 'currentColor', ...props }) {\n return (\n \n \n \n \n \n \n );\n}\n\n// base color is stroke='#EEA61A',\nexport function CompletedIcon({ stroke = 'currentColor', ...props }) {\n return (\n \n \n \n \n \n );\n}\n\n// base color is stroke='#EEA61A',\nexport function DataEntryIcon({ stroke = 'currentColor', ...props }) {\n return (\n \n \n \n \n \n \n );\n}\n\n// base color is stroke='#EEA61A',\nexport function MultipleIcon({ stroke = 'currentColor', ...props }) {\n return (\n \n \n \n \n \n \n \n );\n}\n\n// base color is stroke='#EEA61A',\nexport function OrdersIcon({ stroke = 'currentColor', ...props }) {\n return (\n \n \n \n \n \n );\n}\n\n// base color is stroke='#EEA61A',\nexport function FolderIcon({ stroke = 'currentColor', ...props }) {\n return (\n \n \n \n \n \n \n );\n}\n\n// base color is stroke='#EEA61A',\nexport function MailIcon({ stroke = 'currentColor', ...props }) {\n return (\n \n \n \n \n \n \n );\n}\n\n// base color is stroke='#EEA61A',\nexport function RequestedIcon({ stroke = 'currentColor', ...props }) {\n return (\n \n \n \n );\n}\n\n// base color is stroke='#EEA61A',\nexport function InProgressIcon({ stroke = 'currentColor', ...props }) {\n return (\n \n \n \n \n \n \n \n \n );\n}\n\n// base color is stroke='#33322F',\nexport function FaceIcon({ stroke = 'currentColor', fill = 'currentColor', ...props }) {\n return (\n \n \n \n \n \n \n \n \n );\n}\n\n// base color is stroke='#93918F',\nexport function AddressBookIcon({ stroke = 'currentColor', ...props }) {\n return (\n \n \n \n \n \n \n );\n}\n\nexport function LockIcon({ ...props }) {\n return (\n \n \n \n \n \n \n \n \n \n \n \n );\n}\n\n// base color is stroke='#93918F',\nexport function SentArrowIcon({ stroke = 'currentColor', ...props }) {\n return (\n \n \n \n \n \n );\n}\n\n// base color is stroke='#93918F',\nexport function SettingsIcon({ stroke = 'currentColor', ...props }) {\n return (\n \n \n \n \n \n \n \n \n );\n}\n\n// base color is stroke='#FADEAE',\nexport function RushIcon({ stroke = 'currentColor', ...props }) {\n return (\n \n \n \n );\n}\n\nexport function SuccessIcon({ stroke = 'currentColor', ...props }) {\n return (\n \n \n \n \n \n \n \n \n \n );\n}\n\nexport function SendIcon({ stroke = 'currentColor', ...props }) {\n return (\n \n \n \n \n \n \n );\n}\n\nexport function LogoutIcon() {\n return (\n \n \n \n \n \n \n \n \n \n );\n}\n\nexport function ReportsIcon() {\n return (\n \n \n \n \n \n \n \n \n \n \n );\n}\n\nexport function PencilIcon() {\n return (\n \n \n \n \n \n );\n}\n\nexport function ArrowleftIcon() {\n return (\n \n \n \n );\n}\n\nexport function NotesNotification() {\n return (\n \n \n \n );\n}\nexport function NotificationBell() {\n return (\n \n \n \n \n );\n}\nexport function MarkRead() {\n return (\n \n \n \n \n \n \n );\n}\nexport function FaxIcon({ makeBold }) {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n\nexport function WebsiteIcon({ makeBold }) {\n return (\n \n \n \n \n );\n}\n\nexport function MailOutlookCardIcon({ makeBold }) {\n return (\n \n \n \n );\n}\n\nexport function PhoneOutlookCardIcon({ makeBold }) {\n return (\n \n \n \n );\n}\n\nexport function PlusSquare() {\n return (\n \n \n \n );\n}\n\nexport function OutlookCardsInfoIcon({ makeBold }) {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n\nexport function RequirementIcon() {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n\n// export function RequirementIcon() {\n// \treturn (\n// \t\t\n// \t\t\t\n// \t\t\n\n// \t)\n// }\n\nexport function EmailOutlookCardIcon({ makeBold }) {\n return (\n \n \n \n );\n}\n\nexport function OutlookCardEditIcon() {\n return (\n \n \n \n \n \n );\n}\n\nexport function ArrowForward() {\n return (\n \n \n \n );\n}\n\nexport function ArrowBackward() {\n return (\n \n \n \n );\n}\n\nexport function MailBox({ makeBold }) {\n return (\n \n \n \n );\n}\n\nexport const ReqOutlookCardDownloadIcon = () => {\n return (\n \n \n \n \n \n \n );\n};\n\nexport const InPersonVendorIcon = ({ makeBold }) => {\n return (\n \n \n \n \n );\n};\n\nexport const PropertiesPlusIcon = () => {\n return (\n \n \n \n \n );\n};\n\nexport const PropertiesMinusIcon = () => {\n return (\n \n \n \n );\n};\n\nexport const ArrowUp = () => {\n return (\n \n \n \n \n );\n};\n\nexport const ErrorIconSmall = () => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport const PopOut = () => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport const FormIcon = () => {\n return (\n \n \n \n );\n};\n\nexport const BackCurvedIcon = () => (\n \n \n \n \n \n \n \n \n \n \n \n);\n\nexport function OutlookNotesIcon() {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n\nexport function OutlookNotesIconRed() {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\nexport function ClockIcon() {\n return (\n \n \n \n \n );\n}\n","/** @jsxRuntime classic */\n/** @jsx jsx */\n//@ts-nocheck\nimport { jsx, keyframes } from '@emotion/react';\nimport * as React from 'react';\n\nconst floaterOne = keyframes`\n from { transform: rotate(0deg) }\n to { transform: rotate(360deg) }\n`;\n\nconst spinnerS = {\n animation: `${floaterOne} 1s infinite linear`,\n zIndex: '20000',\n position: 'absolute',\n transform: 'translateY(-50%)',\n};\n\nexport default function ({ fill = '#EAE8E5', styles, ...props }: any) {\n return (\n
\n \n \n \n \n \n \n
\n );\n}\n","/** @jsxRuntime classic */\n/** @jsx jsx */\n//@ts-nocheck\nimport { jsx } from '@emotion/react';\nimport camelcase from 'lodash.camelcase';\nimport React, { Component } from 'react';\nimport colors from '../css/colors';\nimport { SearchGlassIcon } from './icons';\nimport ButtonSpinner from './ButtonSpinner';\nimport highlight from '../../../components/Highlight';\n\nconst fieldWrap = {\n alignItems: 'center',\n border: `1px solid ${colors.grey400}`,\n borderRadius: 5,\n color: colors.grey400,\n display: 'flex',\n height: 48,\n justifyContent: 'space-between',\n padding: '0 16px',\n width: '100%',\n '&:hover': {\n ' span': { color: colors.black },\n ' svg': { color: colors.black },\n },\n ' :focus-within': {\n border: `1px solid ${colors.blue}`,\n outline: 'none',\n color: colors.grey200,\n ' svg': { color: colors.blue },\n },\n ' input': {\n caretColor: colors.blue,\n width: '100%',\n height: '100%',\n },\n};\n\nconst filterWrap = {\n backgroundColor: colors.white,\n left: 0,\n overflow: 'hidden',\n position: 'absolute',\n // top: 77,\n width: '100%',\n zIndex: '151',\n height: 0,\n transition: 'all 200ms ease-in-out',\n boxShadow: '2px 2px 6px rgba(0, 0, 0, 0.15)'\n};\n\nconst openFilter = {\n height: 280,\n};\n\nconst innerDropDown = {\n border: `1px solid ${colors.grey400}`,\n borderRadius: 5,\n // marginTop: 8,\n maxHeight: 264,\n overflowY: 'scroll',\n padding: 16,\n};\n\nconst tableRowWrap = {\n height: 80,\n display: 'flex',\n paddingLeft: 16,\n position: 'relative',\n '&:before': {\n position: 'absolute',\n top: 0,\n right: 0,\n borderRadius: 5,\n left: 0,\n width: '100%',\n content: '\"\"',\n borderTop: `1px solid ${colors.grey300}`,\n },\n ':first-of-type': { '&:before': { borderTop: 'none' } },\n '&:hover': {\n borderRadius: 5,\n backgroundColor: colors.grey600,\n cursor: 'pointer',\n '&:before': { border: `1px solid ${colors.grey300}`, bottom: 0 },\n ' + div': { '&:before': { border: 'none' } },\n },\n};\n\nconst cellWrap = {\n display: 'inline-flex',\n justifyContent: 'center',\n flexDirection: 'column',\n width: 134,\n ' span': { color: colors.grey500 },\n};\n\nexport default class DropdownTable extends Component {\n state = {\n searchValue: '',\n };\n\n matchTextSearch = value => {\n const { searchValue } = this.state;\n return value?.toLowerCase().includes(searchValue?.toLowerCase())\n ? { color: colors.orange200 }\n : '';\n };\n\n handleItemClick = (e, i) => {\n const { onClick, onItemClick } = this.props;\n onClick(e);\n onItemClick(i);\n this.setState({ searchValue: '' });\n };\n\n getRequiredStar = showRequired => {\n if (showRequired) {\n return *;\n }\n return '';\n };\n\n render() {\n const {\n isDropdown,\n itemList,\n label,\n width,\n styles,\n onTextChange,\n onClick,\n onItemClick,\n loadingStatus,\n showRequired,\n onBlur\n } = this.props;\n const fieldWidth = { width: width || 250 };\n return (\n
\n {label && (\n
\n {label} {this.getRequiredStar(showRequired)}\n
\n )}\n
\n \n {\n this.setState({searchValue: e.target.value});\n onTextChange(e);\n }}\n onBlur={(e) => onBlur && onBlur(e)}\n />\n {loadingStatus && (\n \n \n \n )}\n
\n {this.props.municipalityError && (\n
\n Select municipality before saving the unvalidated property\n
\n )}\n {isDropdown &&
\n
\n {itemList.map(i => (\n
\n this.handleItemClick(e, i)}\n >\n
\n State\n \n
\n
\n County\n \n
\n
\n {i.municipalityType}\n \n
\n
\n {i.subMunicipality && (\n \n {i.subMunicipalityType}\n \n \n )}\n {i.hamletName && (\n \n Hamlet\n \n \n )}\n
\n {i.swisCode && (\n
\n Swis Code\n \n
\n )}\n
\n
\n ))}\n
\n
}\n \n );\n }\n}\n","//@ts-nocheck\nimport React from 'react';\nimport colors from '../../OrderEntry/css/colors';\n\nconst cityBarWrap = {\n backgroundColor: colors.grey600,\n borderRadius: 5,\n display: 'flex',\n marginTop: 20,\n padding: '0 16px',\n position: 'relative',\n width: 696,\n justifyContent: 'flex-start',\n height: 48,\n};\n\nconst cellWrap = {\n display: 'inline-flex',\n justifyContent: 'center',\n flexDirection: 'column',\n fontFamily: 'IBM Plex Sans',\n gap: 3,\n width: 134,\n ' span': { color: colors.grey300 },\n};\n\nexport default function SelectedCityBar({ city, icon }) {\n const { county, municipality, municipalityType, subMunicipality, subMunicipalityType, swisCode, stateCode, hamletName } = city;\n return (\n
\n
{icon}
\n
\n State\n {stateCode}\n
\n
\n County\n {county}\n
\n
\n {municipalityType}\n {municipality}\n
\n {subMunicipalityType && (\n
\n {subMunicipalityType}\n {subMunicipality}\n
\n )}\n {hamletName && (\n
\n Hamlet\n {hamletName}\n
\n )}\n {swisCode && (\n
\n Swis Code\n {swisCode}\n
\n )}\n
\n );\n}\n","import axios from 'axios';\nimport React, { createContext, useContext, useState } from 'react';\nimport {\n DropdownOption,\n Property,\n SubmitionError,\n SearchType,\n PropertyError,\n IndexedPropertyErrors,\n} from './types';\nimport { useHistory } from 'react-router-dom';\nimport produce from 'immer';\nimport { useUserContext } from '../../../context/UserContext';\nimport qs from 'qs';\n\ninterface Props {\n children: React.ReactNode;\n}\n\ninterface ContextType {\n properties: Property[];\n setProperties: React.Dispatch>;\n onSubmit: (orderId: number) => void;\n errors: SubmitionError;\n propertyErrors: IndexedPropertyErrors;\n validateProperty: () => boolean;\n setAddedSearches: React.Dispatch>;\n addedSearches: any[];\n submitting: boolean;\n clientNote: string;\n setClientNote: React.Dispatch>;\n openErrorModal: boolean;\n setOpenErrorModal: React.Dispatch>;\n changePropertyInfo: (label: keyof Partial, value: any, index: number) => void;\n onCancel:() => void;\n}\n\nconst createProperty = () => {\n const property: Property = {\n address: '',\n addressLine2: '',\n undeterminedLocality: false,\n zip: '',\n district: '',\n section: '',\n block: '',\n lot: '',\n qualifier: '',\n isDuplicate: false,\n includeMunicipalSearches: false,\n isValidated: false,\n rpadId: null,\n municipalityId: null,\n subMunicipalityId: null,\n duplicates: null,\n countyOnly: false,\n rpadPropertyId: '',\n printKey: '',\n owners: null,\n fullValidationNote: null,\n validationNote: '',\n preConvertedFiles: null,\n validationFiles: null,\n isResidential: null,\n unvalidatedOwner: null,\n selectedCounty: null,\n overrideMode: false,\n isNyc: false,\n hamletId: null,\n selectedCity: {\n county: '',\n municipality: '',\n municipalityId: null,\n municipalityType: '',\n stateCode: '',\n stateName: '',\n subMunicipality: '',\n subMunicipalityId: null,\n subMunicipalityType: '',\n swisCode: '',\n rpadSwisCode: '',\n countyId: null,\n id: null,\n municipalityTypeId: null,\n subMunicipalityTypeId: null,\n hamletId: null,\n hamletName: ''\n },\n };\n\n return property;\n};\nconst AddPropertyContext = createContext(undefined);\nconst labelsMarkUnvalidated: (keyof Property)[] = ['address', 'block', 'section', 'qualifier', 'lot','addressLine2', ]\n\nexport const AddPropertyProvider = (props: Props) => {\n const { user } = useUserContext();\n const [properties, setProperties] = useState([createProperty()]);\n const [errors, setErrors] = useState(null);\n const [propertyErrors, setPropertyErrors] = useState({});\n const [openErrorModal, setOpenErrorModal] = useState(false);\n const [submitting, setSubmitting] = useState(false);\n const [addedSearches, setAddedSearches] = useState([]);\n const [clientNote, setClientNote] = useState('');\n\n const { push } = useHistory();\n\n const validateForm = () => {\n const errors: SubmitionError = {};\n if (properties.length < 1) {\n errors.properties = 'Needs at least 1 Property';\n setOpenErrorModal(true);\n }\n if (validateProperty()) {\n errors.properties = 'Property missing info';\n }\n setErrors(errors);\n return Object.keys(errors).length === 0 ? null : errors;\n };\n const validateProperty = () => {\n const indexedPropertyErrors: IndexedPropertyErrors = properties.reduce((pre, p, index) => {\n let error: PropertyError = {};\n let hasError = false;\n if (!p.address) {\n error.address = 'Missing Address';\n hasError = true;\n }\n if ( \n (!p.undeterminedLocality && !p.selectedCity?.municipalityId) ||\n (p.undeterminedLocality && !p.undeterminedLocality)\n ) {\n error.municipality = 'Missing Municipality';\n hasError = true;\n }\n if (hasError) {\n pre[index] = error;\n }\n return pre;\n }, {});\n setPropertyErrors(indexedPropertyErrors);\n\n const keys = Object.keys(indexedPropertyErrors);\n\n return keys.length > 0;\n };\n async function checkDuplicate(\n matchedProperty: Property\n ) {\n const params = qs.stringify({\n address:matchedProperty.address,\n stateCode:matchedProperty.selectedCity.stateCode,\n section: matchedProperty.section,\n block:matchedProperty.block,\n lot:matchedProperty.lot,\n qualifier:matchedProperty.qualifier,\n swisCode:matchedProperty.selectedCity.swisCode,\n rpadPropertyId:matchedProperty.rpadPropertyId\n });\n \n const { data } = await axios.get(`/api/clientproperty/duplicatecheck?${params}`)\n return data;\n }\n \n const onSubmit = async (orderId: number) => {\n const err = validateForm();\n if (!err) {\n const propertiesWithDuplicates = properties.map(async (p) => {\n const data = await checkDuplicate(p);\n return data.length > 0 ? {...p, duplicates: data.length, oldOrder: data[0]} : {...p}\n });\n const submitProperty = {\n properties: await Promise.all(propertiesWithDuplicates),\n searchTypes: addedSearches,\n note: clientNote,\n userId: user.id,\n };\n setSubmitting(true);\n await axios.post(`/api/ClientProperty/AddPropertyWithSearches/${orderId}`, submitProperty);\n setSubmitting(false);\n setProperties([createProperty()]);\n setAddedSearches([]);\n setClientNote('');\n }\n};\n const onCancel = () => {\n setProperties([createProperty()]);\n setAddedSearches([]);\n setClientNote('');\n }\n const changePropertyInfo = (label: keyof Partial, value: any, index: number) => {\n const newProperties = produce(properties, draft => {\n (draft[index][label] as keyof Property) = value;\n if(label === 'selectedCity'){\n draft[index].municipalityId = value?.municipalityId;\n draft[index].subMunicipalityId = value?.subMunicipalityId;\n draft[index].hamletId = value?.hamletId;\n }\n if(labelsMarkUnvalidated.includes(label)){\n draft[index].isValidated = false;\n draft[index].printKey = null;\n draft[index].rpadPropertyId = null;\n\n }\n\n });\n setProperties(newProperties);\n };\n return (\n \n {props.children}\n \n );\n};\n\nexport function useAddProperty() {\n const context = useContext(AddPropertyContext);\n return context;\n}\n","import React, { useCallback, useEffect, useState } from 'react';\nimport styled from '@emotion/styled';\nimport DropdownTable from '../../OrderEntry/ui/DropdownTable';\nimport debounce from 'lodash.debounce';\nimport produce from 'immer';\nimport axios from 'axios';\nimport qs from 'qs';\nimport { Property, SelectedCity } from './types';\nimport SelectedCityBar from './SelectedCityBar';\nimport { XIcon } from '../../../components/icons';\nimport { useAddProperty } from './AddPropertyContext';\n\ninterface Props {\n property: Property;\n changePropertyInfo: (label: keyof Partial, value: any, index: number) => void;\n index: number;\n setPropertyInfo: (p: any, index: number) => void;\n }\n const Municipality = (props: Props) => {\n const { properties, changePropertyInfo, propertyErrors, validateProperty } = useAddProperty();\n const [isDropdown, setIsDropdown] = useState(false);\n const [cityOptions, setCityOptions] = useState([]);\n const [cityLoaderStatus, setCityLoaderStatus] = useState(false);\n const [selectedItem, setSelectedItem] = useState(false);\n const baseSelectedCity: SelectedCity = {\n county: '',\n municipality: '',\n municipalityId: null,\n municipalityType: '',\n stateCode: '',\n stateName: '',\n subMunicipality: '',\n subMunicipalityId: null,\n subMunicipalityType: '',\n swisCode: '',\n rpadSwisCode: '',\n countyId: null,\n id: null,\n municipalityTypeId: null,\n subMunicipalityTypeId: null,\n hamletId: null,\n hamletName: '',\n };\n const handleSelectedCity = (item: SelectedCity) => {\n const property: Property = {\n address: properties[props.index].address,\n block: properties[props.index].block,\n countyOnly: false,\n district: null,\n includeMunicipalSearches: true,\n isDuplicate: false,\n isValidated: false,\n lot: properties[props.index].lot,\n municipalityId: item.municipalityId,\n subMunicipalityId: item.subMunicipalityId,\n owners: properties[props.index].owners,\n printKey: properties[props.index].printKey,\n rpadPropertyId: properties[props.index].rpadPropertyId,\n section: properties[props.index].section,\n selectedCity: item,\n zip: properties[props.index].zip,\n addressLine2: properties[props.index].addressLine2,\n validationNote: '',\n validationFiles: [],\n selectedCounty: null,\n hamletId: item.hamletId,\n };\n props.setPropertyInfo(property, props.index);\n setIsDropdown(false);\n setSelectedItem(true)\n };\n const getCityOptions = useCallback(\n debounce(async value => {\n const tempProperty = { ...props.property };\n if (value === '') {\n const newProperty = produce(props.property, draft => {\n // draft.selectedCity = {\n // county: '',\n // municipality: '',\n // municipalityId: null,\n // municipalityType: null,\n // stateCode: '',\n // stateName: '',\n // subMunicipality: '',\n // subMunicipalityId: null,\n // subMunicipalityType: '',\n // swisCode: '',\n // };\n // draft.cityOptions = [];\n });\n // props.setProperty(newProperty);\n return;\n }\n setCityLoaderStatus(true);\n const { data } = await axios.get('/api/clientproperty/GetCityOptions', {\n params: { searchValue: (value || '').trim() },\n paramsSerializer: params => {\n return qs.stringify(params, { arrayFormat: 'repeat' });\n },\n });\n \n // setProperty(tempProperty);\n setCityOptions(data.filter((d, i) => i < 100));\n setIsDropdown(data.length ? true : false);\n setCityLoaderStatus(false);\n }, 600),\n []\n );\n const deleteMuni = () => {\n props.changePropertyInfo('selectedCity', baseSelectedCity, props.index);\n };\n useEffect(() => {\n window.addEventListener('click', () => {\n setIsDropdown(false);\n });\n return () => {\n window.removeEventListener('click', () => {\n setIsDropdown(false);\n });\n };\n }, []);\n return (\n <>\n
\n
Municipality
\n
\n {(props.property?.selectedCity?.municipalityId || false) &&\n props.property?.selectedCity?.municipalityId ? (\n } />\n ) : (\n
\n {\n getCityOptions(e.target.value);\n e.stopPropagation();\n }}\n onClick={() => {}}\n onItemClick={e => {\n handleSelectedCity(e);\n }}\n onBlur={e => {\n if (!selectedItem) {\n props.changePropertyInfo('undeterminedLocality', e.target.value, props.index);\n }\n }}\n loadingStatus={cityLoaderStatus}\n styles={{ backgroundColor: '#f7f7f9', svg: { display: 'none' } }}\n />\n
\n )}\n
\n
\n \n );\n };\n \n export default Municipality;\n","import React, { useEffect } from 'react';\nimport styled from '@emotion/styled';\nimport { Property } from './types';\nimport { Loader } from 'semantic-ui-react';\n\nconst Input = styled.input`\n background: #f7f7f9;\n border: 1px solid #e5e5ea;\n border-radius: 5px;\n height: 48px;\n :focus {\n outline: none;\n }\n`;\n\ninterface Props {\n changePropertyInfo?: (label: keyof Partial, value: any, index: number) => void;\n index?: number;\n property?: Property;\n findMatches?: (e: any) => void;\n error?: any;\n isLoading?: boolean;\n}\n\nconst PropertySection = (props: Props) => {\n useEffect(() => {}, [props.property]);\n return (\n
\n
\n
\n \n {\n props.changePropertyInfo('address', e.target.value, props.index);\n props.findMatches(e);\n }}\n value={props.property.address || ''}\n />\n {/* \n \n */}\n {props.error}\n
\n
\n \n props.changePropertyInfo('addressLine2', e.target.value, props.index)}\n value={props.property.addressLine2 || ''}\n />\n
\n
\n \n
\n {props.property?.selectedCity?.stateCode !== 'NJ' && (\n
\n \n props.changePropertyInfo('section', e.target.value, props.index)}\n value={props.property.section || ''}\n />\n
\n )}\n
\n \n props.changePropertyInfo('block', e.target.value, props.index)}\n value={props.property.block || ''}\n />\n
\n
\n \n props.changePropertyInfo('lot', e.target.value, props.index)}\n value={props.property.lot || ''}\n />\n
\n {props.property?.selectedCity?.stateCode === 'NJ' && (\n
\n \n props.changePropertyInfo('qualifier', e.target.value, props.index)}\n value={props.property.qualifier || ''}\n />\n
\n )}\n
\n
\n );\n };\n\nexport default PropertySection;\n","import * as React from 'react';\nimport styled from '@emotion/styled';\nimport produce from 'immer';\nimport { MatchedProperty } from './types';\nimport Highlight from '../../../components/Highlight';\nimport { SelectedCity } from './types';\nimport { useAddProperty } from './AddPropertyContext';\n\nconst OuterWrapper = styled.div`\n padding: 4px 8px;\n background-color: #fff;\n z-index: 500;\n`;\nconst Row = styled.div`\n display: flex;\n //grid-template-columns: 25% 10% 26% 18% 35%;\n //grid-column-gap: 1%;\n gap: 8px;\n z-index: 500;\n padding: 8px 16px;\n cursor: pointer;\n :hover {\n background: #f7f7f9;\n border-radius: 4px;\n }\n`;\ninterface Props {\n matches: Array;\n handleOnSave?: (match: MatchedProperty[]) => void;\n searchText: string;\n propertyIndex: number;\n handleClick: (m: MatchedProperty, s: SelectedCity) => void;\n properties?:any\n}\n\nfunction RpadResults(props: Props) {\n const { properties } = useAddProperty();\n return (\n
\n {props.matches?.map(m => {\n return (\n \n {\n props.handleClick(m, properties[props.propertyIndex].selectedCity);\n }}\n >\n
{Highlight(m.address, props.searchText)}
\n
{m.aptNo}
\n
\n {m.muniTypes.map((mt, index) => {\n const trimmed = mt?.name.trim()\n return {`${index > 0 ? ', ' : ''}${trimmed}`};\n })}\n
\n
\n {m.property.section}{' '}\n {m.property.block} {m.property.lot} {m.property.qualifier && m.property.qualifier}\n
\n
\n {m.owners.map((owner, index) => {\n return
{owner}
;\n })}\n
\n \n
\n );\n })}\n
\n );\n }\n \n export default RpadResults;\n","import React, { useState } from 'react';\nimport styled from '@emotion/styled';\nimport Municipality from './Municipality';\nimport PropertySection from './PropertySection';\nimport InfiniteScroll from 'react-infinite-scroll-component';\nimport RpadResults from './RpadResults';\nimport { Property, MatchedProperty, SelectedCity, PropertyError } from './types';\nimport { FiTrash2 } from 'react-icons/fi';\nimport { Match } from './types';\nimport { DownCarotIcon } from '../../../components/icons';\nimport { useAddProperty } from './AddPropertyContext';\n\nconst ErrorText = styled.div`\n font-size: 13px;\n color: #c50e29;\n`;\n\n const trimEnd = (str: string, charToRemove: string) => {\n if(!str){\n return str;\n }\n let index = str.length - 1;\n while(str[index] === charToRemove){\n index--;\n }\n return str.substring(0, index + 1);\n}\n\ninterface Props {\n index: number;\n setDeleteConfirmation: any;\n property: any;\n setEditIndex: any;\n findMatches: (e: any, p: any) => void;\n callRpadValidation: (searchTerm: string, property: Property, resultCount: number) => void;\n matches: Match;\n searchText: string;\n setPropertyInfo: (p: any, index: number) => void;\n setMatches: React.Dispatch>;\n isLoading: boolean;\n}\nconst PropertyDisplay = (props: Props) => {\n const { properties, changePropertyInfo, propertyErrors, validateProperty } = useAddProperty();\n const [resultCount, setResultCount] = useState(15);\n // const validateProperty = () => {\n // const property = props.property;\n // const errors: SubmitionPropertyError = {};\n // if (!property.address) {\n // errors.address = 'Missing Street';\n // }\n // if (\n // (!property.undeterminedLocality && !property.selectedCity?.municipalityId) ||\n // (property.undeterminedLocality && !property.undeterminedLocality)\n // ) {\n // errors.municipality = 'Missing Municipality';\n // }\n // setErrors(errors);\n // return Object.keys(errors).length === 0 ? null : errors;\n // };\n const submitEdit = () => {\n const err = validateProperty();\n if (!err[props.index]) {\n props.setEditIndex(-1);\n }\n };\n return (\n
\n \n {props.index < properties.length - 1 ? (\n \n \n \n ) : properties.length - 1 ? (\n props.setDeleteConfirmation(props.index)}\n />\n ) : (\n
\n )}\n {propertyErrors[props.index]?.municipality && (\n {propertyErrors[props.index].municipality}\n )}\n
\n {\n props.findMatches(e, props.property);\n setResultCount(15);\n }}\n error={\n propertyErrors[props.index]?.address && (\n {propertyErrors[props.index].address}\n )\n }\n isLoading={props.isLoading}\n />\n {props.matches.results.length > 0 && (\n \n {\n const newResultCount = resultCount + 15;\n props.callRpadValidation(props.searchText, props.property, newResultCount);\n setResultCount(newResultCount);\n }}\n hasMore={props.matches.results.length !== props.matches.totalCount}\n loader={
Loading...
}\n scrollThreshold={0.2}\n scrollableTarget=\"infiniteDiv\"\n >\n {\n const property: Property = {\n address: m.address,\n block: s.stateCode === 'NJ'?trimEnd(m.property.block, \".\"):(m.property.block) ,\n countyOnly: false,\n district: m.muniTypes[2]?.district ?? m.muniTypes[1]?.district,\n includeMunicipalSearches: true,\n isDuplicate: false,\n isValidated: true,\n lot: s.stateCode === 'NJ'? trimEnd(m.property.lot, \".\"): m.property.lot,\n municipalityId: m.muniTypes[1].id,\n subMunicipalityId: m.muniTypes[2]?.id,\n owners: m.owners,\n printKey: m.printKey,\n rpadPropertyId: m.id,\n section: m.property.section,\n qualifier: m.property.qualifier,\n selectedCity: s.municipalityId\n ? s\n : {\n county: m.muniTypes[0]?.name,\n countyId: m.muniTypes[0]?.id,\n municipality: m.muniTypes[1]?.name,\n municipalityId: m.muniTypes[1]?.id,\n municipalityType: m.muniTypes[1]?.type,\n subMunicipality: m.muniTypes[2]?.name,\n subMunicipalityType: m.muniTypes[2]?.type,\n subMunicipalityId: m.muniTypes[2]?.id,\n swisCode: m.muniTypes[2]?.swisCode || m.muniTypes[1]?.swisCode,\n stateCode: m.muniTypes[0]?.stateCode,\n stateName: m.muniTypes[0]?.state,\n },\n zip: m.location.zip,\n addressLine2: m.aptNo,\n validationNote: '',\n validationFiles: [],\n selectedCounty: null,\n hamletId: s?.hamletId || undefined,\n buildingCode: m.property.propertyClass,\n };\n props.setPropertyInfo(property, props.index);\n props.setMatches({ totalCount: null, results: [] });\n }}\n propertyIndex={props.index}\n />\n \n
\n )}\n
\n
\n );\n};\nexport default PropertyDisplay;\n","import React from 'react';\nimport { Component } from 'react';\nimport { PlusIcon } from '../../ui/icons';\nimport colors from '../../css/colors';\nimport styled from '@emotion/styled';\n\nconst AddPropertyWrap = styled.div`\n align-items: center;\n cursor: pointer;\n display: flex;\n font-weight: 700;\n margin-top: 32px;\n margin-bottom: 32px;\n`;\nconst PlusButton = styled.div`\n align-items: center;\n background-color: #f5f5f5;\n border-radius: 5px;\n color: #8e8e93;\n display: flex;\n height: 30px;\n justify-content: center;\n margin-right: 10px;\n width: 30px;\n :hover {\n background-color: #f5f5f5;\n }\n`;\nexport default class AddAdditionalData extends Component {\n render() {\n const { dataName, onClick } = this.props;\n return (\n \n \n \n \n {dataName}\n \n );\n }\n}\n","import React, { useCallback, useEffect, useState } from 'react';\nimport styled from '@emotion/styled';\nimport produce from 'immer';\nimport queryString from 'query-string';\nimport axios from 'axios';\nimport { Property} from './types';\nimport debounce from 'lodash.debounce';\nimport ConfirmModal from '../ConfirmModal';\nimport PropertyDisplay from './PropertyDisplay';\nimport { FiTrash2 } from 'react-icons/fi';\nimport { Icon } from 'semantic-ui-react';\nimport { Match } from './types';\n// import AddAdditionalData from './AddAdditionalData';\nimport { EditIcon } from '../../../components/icons';\nimport AddAdditionalData from '../../OrderEntry/PropertiesAndNames/PropertyTab/AddAdditionalData';\nimport { useAddProperty } from './AddPropertyContext';\n\nconst CollapsedCard = styled.div<{ error: boolean }>`\n border: ${props => (props.error ? '1px solid #ff5252' : '1px solid #e5e5ea')};\n border-radius: 5px;\n padding: 16px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n cursor: pointer;\n margin-bottom: 8px;\n margin-top: 8px;\n`;\n\nconst Overlay = styled.div`\n background-color: transparent;\n bottom: 0;\n height: 100%;\n left: 0;\n position: fixed;\n right: 0;\n top: 0;\n width: 100%;\n z-index: 100;\n`;\n\nconst baseProperty: Property = {\n address: '',\n addressLine2: '',\n undeterminedLocality: false,\n zip: '',\n district: '',\n section: '',\n block: '',\n lot: '',\n qualifier: '',\n isDuplicate: false,\n includeMunicipalSearches: false,\n isValidated: false,\n rpadId: null,\n municipalityId: null,\n subMunicipalityId: null,\n duplicates: null,\n countyOnly: false,\n rpadPropertyId: '',\n printKey: '',\n owners: null,\n fullValidationNote: null,\n validationNote: '',\n preConvertedFiles: null,\n validationFiles: null,\n isResidential: null,\n unvalidatedOwner: null,\n selectedCounty: null,\n overrideMode: false,\n isNyc: false,\n selectedCity: {\n county: '',\n municipality: '',\n municipalityId: null,\n municipalityType: '',\n stateCode: '',\n stateName: '',\n subMunicipality: '',\n subMunicipalityId: null,\n subMunicipalityType: '',\n swisCode: '',\n rpadSwisCode: '',\n countyId: null,\n id: null,\n municipalityTypeId: null,\n subMunicipalityTypeId: null,\n hamletId: null,\n hamletName: '',\n },\n};\n\ninterface Props {}\nconst Rpad = (props: Props) => {\n const {\n setProperties,\n properties,\n validateProperty,\n propertyErrors,\n } = useAddProperty();\n const [searchWasMade, setSearchWasMade] = useState(false);\n const [matches, setMatches] = React.useState({ totalCount: null, results: [] });\n const [searchText, setSearchText] = useState('');\n const [deleteConfirmation, setDeleteConfirmation] = useState(-1);\n const [editIndex, setEditIndex] = useState(-1);\n const [isLoading, setIsLoading] = useState(false);\n\n const setPropertyInfo = (property: Property, index: number) => {\n const newProperties = produce(properties, draft => {\n draft[index] = property;\n });\n setProperties(newProperties);\n };\n const addProperty = () => {\n const newProperties = [...properties];\n newProperties.push(baseProperty);\n setProperties(newProperties);\n };\n\n const deleteProperty = (indexToRemove: number) => {\n const newProperties = properties?.filter((p, index) => index !== indexToRemove);\n const owners = properties[indexToRemove].owners;\n setProperties(newProperties);\n };\n\n const submitProperty = () => {\n const err = validateProperty();\n if (!err) {\n addProperty();\n }\n };\n const boroMapper = {\n Manhattan: '1',\n Bronx: '2',\n Brooklyn: '3',\n Queens: '4',\n 'Staten Island': '5',\n };\n const getNumberOfBorough = boroughName => {\n return boroMapper[boroughName];\n };\n\n const callRpadValidation = async (searchTerm: string, property: Property, returnCount: number = 15) => {\n if (!searchTerm) {\n setMatches({ totalCount: 0, results: [] });\n return;\n }\n const queryOptions = {\n address: searchTerm,\n swiss: property.selectedCity?.swisCode,\n borough: getNumberOfBorough(property.selectedCity?.municipality),\n returnCount,\n };\n\n const stringifiedParams = queryString.stringify(queryOptions);\n const baseUrl = `/api/clientproperty/validateRpad/${\n !property?.selectedCity?.stateCode\n ? 'default'\n : property?.selectedCity?.stateCode === 'NJ'\n ? 'NJ'\n : property?.selectedCity?.municipalityType === 'Borough'\n ? 'NYC'\n : 'NYS'\n }`;\n const { data } = await axios.get(`${baseUrl}?${stringifiedParams}`);\n setMatches(data);\n };\n const findMatches = useCallback(\n debounce(async (e: any, property: Property) => {\n setIsLoading(true);\n e.preventDefault();\n setSearchText(e.target.value);\n setSearchWasMade(true);\n await callRpadValidation(e.target.value, property);\n setIsLoading(false);\n }, 600),\n []\n );\n useEffect(() => {\n if (properties.length) {\n setEditIndex(properties.length - 1);\n }\n }, [properties.length]);\n\n return (\n
\n {matches.results.length > 0 && (\n setMatches({ totalCount: null, results: [] })} />\n )}\n {properties?.map((p, index, arr) => {\n return (\n
\n {index === editIndex ? (\n \n ) : (\n setEditIndex(index)}>\n
\n
{p.address}
\n
\n {p.selectedCity.county}\n {p.selectedCity.municipality}\n
\n
\n {p.section && p.section}\n {p.block}\n {p.lot}\n {p.qualifier && p.qualifier}\n
\n
\n
\n {\n e.stopPropagation();\n setDeleteConfirmation(index);\n }}\n />\n \n setEditIndex(index)} />\n \n
\n
\n )}\n
\n );\n })}\n {deleteConfirmation > -1 && (\n {\n deleteProperty(deleteConfirmation);\n setDeleteConfirmation(-1);\n }}\n buttonText=\"Delete\"\n header=\"Delete Property\"\n cancelButtonText=\"Cancel\"\n open={deleteConfirmation > -1}\n onClose={() => setDeleteConfirmation(-1)}\n height={265}\n width={400}\n >\n Are you sure you want to delete this property?\n \n )}\n
\n \n
\n
\n );\n};\n\nexport default Rpad;\n","import React, { useEffect, useRef, useState } from 'react';\nimport styled from '@emotion/styled';\nimport Select from 'react-select';\nimport { useAddProperty } from './AddPropertyContext';\nimport qs from 'qs';\nimport axios from 'axios';\nimport { CategorySearch, Order, SearchType } from '../../types';\nimport { Plus, XIcon } from '../add-search-modal/icons';\nimport SearchDropdown from '../add-search-modal/SearchDropdown';\nimport produce from 'immer';\nimport useOnClickOutside from '../../OrderEntry/ui/outside-click';\n\nconst multiSelectStyles = {\n valueContainer: (provided: any) => ({\n ...provided,\n maxHeight: '200px',\n overflow: 'auto',\n minHeight: 45,\n outline: '1px solid #f4f0ed',\n borderColor: '#f4f0ed',\n border: '1px solid #fff',\n }),\n indicatorsContainer: (provided: any, state: any) => ({\n ...provided,\n outline: '1px solid #f4f0ed',\n borderColor: '#f4f0ed',\n border: '1px solid #fff',\n }),\n multiValue: (provided: any, state: any) => ({\n ...provided,\n borderRadius: '15px',\n border: '1px solid #f5f5f5',\n }),\n};\nexport const SelectSearchersWrap = styled.div`\n align-items: center;\n border-radius: 5px;\n border: 1px solid #e5e5ea;\n display: flex;\n flex-wrap: wrap;\n padding: 12px 16px;\n padding-bottom: 4px;\n position: relative;\n .addSearch {\n align-items: center;\n border-radius: 5px;\n border: 1px dashed #e5e5ea;\n box-sizing: border-box;\n cursor: pointer;\n display: flex;\n height: 30px;\n margin-right: 8px;\n margin-bottom: 8px;\n padding: 0 8px;\n transition: all 0.1s;\n :hover {\n border: 1px dashed #ff5252;\n color: #ff5252;\n }\n svg {\n margin-right: 8px;\n }\n }\n`;\nexport const Chip = styled.div`\n align-items: center;\n background: #e5e5ea;\n border-radius: 5px;\n color: #333;\n display: flex;\n font-weight: 400;\n height: 30px;\n justify-content: center;\n margin-right: 8px;\n padding: 0 8px;\n margin-bottom: 8px;\n svg {\n cursor: pointer;\n margin-left: 8px;\n max-width: 11px;\n }\n`;\nexport const NotesInput = styled.textarea`\n background: #ffffff;\n height: 120px;\n border: 1px solid #e5e5ea;\n border-radius: 5px;\n width: 100%;\n padding: 12px 16px;\n resize: none;\n ::placeholder {\n color: #e5e5ea;\n }\n`;\ninterface Props {\n order: Order;\n}\n\nconst SearchSection = (props: Props) => {\n const { properties, setClientNote, setAddedSearches, addedSearches } = useAddProperty();\n const searchRef = useRef();\n const [categorySearches, setCategorySearches] = useState([]);\n const [searchDropdown, openSearchDropdown] = useState(false);\n\n const getCountyId = (countyId: number) => {\n if (!countyId) {\n return countyId;\n }\n return properties.every(\n property => property.selectedCity.countyId === countyId || property.selectedCity.countyId === countyId\n )\n ? countyId\n : null;\n };\n const onRemoveSearch = (index: number) => {\n const newSelectedSearches = produce(addedSearches, draft => {\n draft.splice(index, 1);\n });\n setAddedSearches(newSelectedSearches);\n };\n const onSelectSearch = (searchType: SearchType) => {\n const newSelectedSearches = produce(addedSearches, draft => {\n draft.push(searchType);\n });\n setAddedSearches(newSelectedSearches);\n };\n useOnClickOutside(searchRef, () => openSearchDropdown(false));\n useEffect(() => {\n const countyId = (properties.length > 0 ? properties[0].selectedCity.countyId : {}) as any;\n var stringified = qs.stringify({ countyId: getCountyId(countyId) });\n axios\n .get(`/api/clientsearch/GetSearchCategoriesAndTypes?${stringified}`)\n .then(({ data }) => {\n setCategorySearches(data);\n });\n // setSelectedProperties(properties.map(p => p.id));\n setAddedSearches(\n props.order.properties\n .map(p => p.searches)\n .flat().reduce((pre, cur) => {\n if (pre.some(p => p.searchType === cur.searchType)) {\n return pre;\n }\n pre.push(cur);\n return pre;\n }, [])\n .map(s => ({id: s.searchTypeId, type: s.searchType}))\n );\n }, [JSON.stringify(properties)]);\n return (\n
\n
Select Searches
\n \n {addedSearches.map((selectedSearch, i) => {\n return (\n \n {selectedSearch.type} onRemoveSearch(i)} />\n \n );\n })}\n
openSearchDropdown(!searchDropdown)}>\n Add Search\n
\n openSearchDropdown(false)}\n />\n
\n
\n
Properties
\n {properties.map(p => {\n return
{p.address}
;\n })}\n
\n
Note
\n setClientNote(e.target.value)} placeholder=\"Enter your notes here\" />\n
\n );\n};\n\nexport default SearchSection;\n","import React, { useState } from 'react';\nimport styled from '@emotion/styled';\nimport { Link, useHistory } from 'react-router-dom';\nimport { Icon, Loader, Modal } from 'semantic-ui-react';\nimport SearchSection from './SearchSection';\nimport { Order } from '../../types';\nimport { ArrowIcon } from '../../../components/icons';\nimport { useAddProperty } from './AddPropertyContext';\n\nconst ModalContent = styled.div`\n display: flex;\n flex-direction: column;\n`;\nconst Close = styled.button`\n display: flex;\n justify-content: flex-end;\n padding: 15px;\n background-color: #fff;\n border: none;\n cursor: pointer;\n`;\nconst ActualContent = styled.div`\n padding: 0 35px;\n`;\nconst Header = styled.div`\n font-weight: bold;\n font-size: 16px;\n line-height: 24px;\n color: #4d4e4d;\n border-bottom: 1px solid #e5e5ea;\n padding: 0px 35px 16px 35px;\n`;\n\nconst ButtonContainer = styled.div`\n display: flex;\n gap: 9px;\n justify-content: flex-end;\n border-top: 1px solid #e5e5ea;\n padding-top: 24px;\n padding-bottom: 24px;\n margin-top: 56px;\n`;\n\nconst CancelButton = styled.button`\n background: #ffffff;\n border: 1px solid #e5e5ea;\n border-radius: 5px;\n color: #444444;\n font-family: Lato;\n font-weight: bold;\n font-size: 14px;\n line-height: 21px;\n text-align: center;\n width: 127px;\n height: 47px;\n cursor: pointer;\n`;\nconst Children = styled.div`\n margin-top: 24px;\n`;\nconst ConfirmButton = styled.button`\n background: #444;\n border: 1px solid #444;\n border-radius: 5px;\n font-family: Lato;\n font-weight: bold;\n font-size: 14px;\n text-align: center;\n color: #ffffff;\n width: 127px;\n height: 47px;\n cursor: pointer;\n margin-right: 35px;\n`;\ninterface Props {\n open: boolean;\n onClose: any;\n onCloseSearch: any;\n order: Order;\n getOrderDetails: () => any;\n}\n\nconst AddSearchModal = (props: Props) => {\n const { onCancel, submitting, onSubmit } = useAddProperty();\n return (\n \n \n \n \n \n \n
Add Search
\n \n \n \n \n {\n props.onClose();\n onCancel();\n }}\n >\n Cancel\n \n {\n await onSubmit(props.order.id);\n props.onClose();\n props.onCloseSearch();\n props.getOrderDetails();\n }}>\n {submitting ? : 'Save'}\n \n \n
\n
\n );\n};\n\nexport default AddSearchModal;\n","import React, { useState } from 'react';\nimport styled from '@emotion/styled';\nimport { Link, useHistory } from 'react-router-dom';\nimport { Icon, Loader, Modal } from 'semantic-ui-react';\nimport Rpad from './Rpad';\nimport AddSearchModal from './AddSearchModal';\nimport { useAddProperty } from './AddPropertyContext';\nimport { Order } from '../../types';\nimport axios from 'axios';\n\nconst ModalContent = styled.div`\n display: flex;\n flex-direction: column;\n`;\nconst Close = styled.button`\n display: flex;\n justify-content: flex-end;\n padding: 15px;\n background-color: #fff;\n border: none;\n cursor: pointer;\n`;\nconst ActualContent = styled.div`\n padding: 0 35px;\n`;\nconst Header = styled.div`\n font-weight: bold;\n font-size: 16px;\n line-height: 24px;\n color: #4d4e4d;\n border-bottom: 1px solid #e5e5ea;\n padding: 0px 35px 16px 35px;\n`;\n\nconst ButtonContainer = styled.div`\n display: flex;\n gap: 9px;\n justify-content: flex-end;\n border-top: 1px solid #e5e5ea;\n padding-top: 24px;\n padding-bottom: 24px;\n`;\n\nconst CancelButton = styled.button`\n background: #ffffff;\n border: 1px solid #e5e5ea;\n border-radius: 5px;\n color: #444444;\n font-family: Lato;\n font-weight: bold;\n font-size: 14px;\n line-height: 21px;\n text-align: center;\n width: 127px;\n height: 47px;\n cursor: pointer;\n`;\nconst Children = styled.div`\n margin-top: 24px;\n`;\nconst ConfirmButton = styled.button`\n background: #444;\n border: 1px solid #444;\n border-radius: 5px;\n font-family: Lato;\n font-weight: bold;\n font-size: 14px;\n text-align: center;\n color: #ffffff;\n width: 127px;\n height: 47px;\n cursor: pointer;\n margin-right: 35px;\n`;\ninterface Props {\n open: boolean;\n onClose: any;\n order: Order;\n getOrderDetails:() => any;\n}\n\nconst AddPropertyModal = (props: Props) => {\n const { validateProperty, onSubmit, onCancel, submitting } = useAddProperty();\n const [openSearchModal, setOpenSearchModal] = useState(false);\n\n const nextProperty = () => {\n const err = validateProperty();\n if (!err) {\n setOpenSearchModal(true);\n } \n };\n return (\n \n {openSearchModal ? (\n {\n setOpenSearchModal(false);\n props.onClose();\n }}\n order={props.order}\n onCloseSearch={() => setOpenSearchModal(false)}\n getOrderDetails={props.getOrderDetails}\n />\n ) : (\n \n {\n props.onClose();\n onCancel();\n }}>\n \n \n
Add Property
\n \n \n \n \n {\n props.onClose();\n onCancel();\n }}>Cancel\n \n {submitting ? : 'Next'}\n \n \n
\n )}\n
\n );\n};\n\nexport default AddPropertyModal;\n","import React, { useState } from 'react';\nimport styled from '@emotion/styled';\nimport { useEffect } from 'react';\nimport { useHistory } from 'react-router-dom';\n\nimport {\n AddSearchIcon,\n Download,\n EditIcon,\n ExpandIcon,\n DownloadIconTwo,\n UploadIcon,\n InvoiceIcon,\n} from '../../components/icons';\nimport { TitleNumber, DetailWrapDesktop, OrderDetailsButton } from './styles';\nimport SidebarSummary from './SidebarSummary';\nimport { Order, Search } from '../types';\nimport Priority from './Priority';\nimport Button from '../../components/Button';\nimport AddSearchModal from './add-search-modal';\nimport { useUserContext } from '../../context/UserContext';\nimport { MdOutlineAddBox, MdAddBusiness } from 'react-icons/md';\nimport { PlusIcon } from '../OrderEntry/ui/icons';\nimport AddPropertyModal from '../OrderDetails/AddProperty/AddPropertyModal';\n\ninterface Props {\n order: Order;\n download: (merge: boolean) => void;\n getPriority: () => string;\n setPriority: (priority: string) => void;\n showDownload?: boolean;\n getOrderDetails?: () => Promise;\n searchesToDownload: number[];\n}\nconst OrderSummary = (props: Props) => {\n const [downloadOpen, setDownloadOpen] = useState(false);\n const [editOpen, setEditOpen] = useState(false);\n const [sidebarSummaryOpen, setSidebarSummaryOpen] = useState(false);\n const [openAddSearch, setOpenAddSearch] = useState(false);\n const [openAddProperty, setOpenAddProperty] = useState(false);\n const { user } = useUserContext();\n const history = useHistory();\n\n useEffect(() => {\n window.addEventListener('click', () => {\n setDownloadOpen(false);\n setEditOpen(false);\n });\n return () => {\n window.removeEventListener('click', () => {\n setDownloadOpen(false);\n setEditOpen(false);\n });\n };\n }, []);\n\n return (\n <>\n \n {sidebarSummaryOpen && setSidebarSummaryOpen(false)} />}\n
\n {/* {props.order.titleNumber} */}\n
\n {props.showDownload && (\n
\n {\n e.stopPropagation();\n setDownloadOpen(!downloadOpen);\n }}\n buttonType={\n props.searchesToDownload.length === 0\n ? 'ButtonSecondarySmallDisabled'\n : 'ButtonSecondarySmall'\n }\n buttonText=\"Download\"\n icon={}\n />\n {downloadOpen && (\n \n \n Download\n
\n props.download(false)}>\n Download Individual Documents\n \n props.download(true)}>\n Merge Documents & Download\n \n \n )}\n
\n )}\n {props.order.statusId !== 3 && (\n <>\n setOpenAddSearch(true)}\n buttonType=\"ButtonSecondarySmall\"\n buttonText=\"Add Search\"\n icon={}\n />\n \n )}\n setOpenAddProperty(true)}\n buttonType=\"ButtonSecondarySmall\"\n buttonText=\"Add Property\"\n icon={}\n width={'130px'}\n />\n
\n {\n e.stopPropagation();\n setEditOpen(!editOpen);\n }}\n buttonType=\"ButtonSecondarySmall\"\n buttonText=\"Change Priority\"\n icon={}\n width={200}\n />\n {editOpen && (\n \n {/* \n Change Priority\n
*/}\n \n \n )}\n
\n {\n e.stopPropagation();\n history.push(`/billingStatement/${props.order.id}/${props.order.titleNumber?.replace('/', '-')}`);\n }}\n buttonType=\"ButtonSecondarySmall\"\n buttonText=\"View Billing Statement\"\n icon={}\n width={'200px'}\n />\n \n\n {props.order.statusId === 2 && (\n
\n On Hold\n
\n )}\n {props.order.statusId === 3 && (\n
\n Cancelled\n
\n )}\n setSidebarSummaryOpen(true)}>\n Order Details\n \n \n \n \n {props.order && sidebarSummaryOpen && (\n setSidebarSummaryOpen(false)}\n order={props.order}\n status={props.getPriority()}\n />\n )}\n \n
\n {openAddSearch && (\n {\n setOpenAddSearch(false);\n props.getOrderDetails && props.getOrderDetails();\n }}\n properties={props.order.properties}\n clientName={props.order.clientName}\n orderId={props.order.id}\n userId={user.id}\n titleNumber={props.order.titleNumber}\n userName={`${user.firstName || ''} ${user.lastName || ''}`}\n />\n )}\n {openAddProperty && (\n setOpenAddProperty(false)}\n order={props.order}\n getOrderDetails={() => props.getOrderDetails()}\n />\n )}\n \n );\n};\n\nexport default OrderSummary;\n\nconst DownloadOptions = styled.div`\n position: absolute;\n background-color: white;\n border: 1px solid #e5e5ea;\n padding: 24px 40px 24px 24px;\n left: 0;\n top: 40px;\n width: 237px;\n z-index: 50;\n border-radius: 4px;\n`;\nconst DownloadOptionStyles = styled.div`\n margin-top: 8px;\n font-size: 16px;\n cursor: pointer;\n color: #444340;\n :hover {\n color: #bcc2c7;\n }\n`;\nconst EditOptions = styled.div`\n position: absolute;\n background-color: white;\n border: 1px solid #eae8e5;\n border-radius: 4px;\n padding: 24px 40px 24px 24px;\n left: 0px;\n top: 48px;\n width: 175px;\n z-index: 50;\n`;\nconst SidebarStyles = styled.div`\n background-color: #fff;\n box-shadow: 0px 16px 32px #eae8e5;\n height: 100vh;\n max-width: 90vw;\n overflow: hidden;\n position: fixed;\n right: 0;\n top: 0;\n transition: all 0.2s ease;\n width: 0;\n z-index: 90000;\n`;\nconst Overlay = styled.div`\n background-color: rgba(233, 232, 232, 0.5);\n bottom: 0;\n height: 100%;\n left: 0;\n position: fixed;\n right: 0;\n top: 0;\n width: 100%;\n z-index: 10000;\n`;\nconst OnHoldCancelled = styled.div`\n color: #e52c2c;\n display: flex;\n align-items: center;\n /* position: absolute;\n left: 204px; */\n z-index: 50;\n`;\n","import React from 'react';\nimport styled from '@emotion/styled';\nimport { Contact, Order } from '../types';\nimport groupBy from 'lodash.groupby';\nimport { GroupedByIcon } from '../../components/icons';\n\nconst SidebarStyles = styled.div`\n display: none;\n @media (min-width: 1260px) {\n border: 1.5px solid #eae8e5;\n border-radius: 5px;\n font-size: 14px;\n padding: 40px 16px;\n display: block;\n margin-left: 32px;\n width: 100%;\n max-width: 402px;\n }\n .card-header {\n font-weight: 700;\n font-size: 20px;\n padding-left: 24px;\n height: 56px;\n }\n .type-group {\n padding: 16px 24px;\n border-top: 1px solid #e5e5ea;\n }\n .person-type {\n color: #8e8e93;\n font-size: 14px;\n }\n`;\nconst InputStyles = styled.div`\n width: 100%;\n display: flex;\n align-items: center;\n color: #444;\n text-transform: uppercase;\n line-height: 28px;\n`;\ninterface Props {\n contact: Contact[];\n order: Order;\n}\nconst groupByType = (contacts: Contact[]) => {\n return groupBy(contacts, 'contactType');\n};\nconst Sidebar = (props: Props) => {\n const grouped = groupByType(props.contact);\n\n return (\n \n
Names
\n <>\n {Object.keys(grouped).map(key => {\n return (\n
\n
\n {key === 'Borrower' ? (props.order.isPurchase ? 'Buyer' : 'Borrower') : key}\n
\n {grouped[key].map(c => {\n return {c.name};\n })}\n
\n );\n })}\n \n
\n );\n};\n\nexport default Sidebar;\n","import React from 'react';\nimport styled from '@emotion/styled';\n\nconst StatusLabelStyles = styled.div<{ color?: string }>`\n background-color: #fff;\n /* width: 124px; */\n height: 32px;\n font-size: 10px;\n display: flex;\n /* justify-content: center; */\n align-items: center;\n font-weight: 600;\n color: ${(props) => props.color};\n @media (min-width: 768px) {\n /* width: 160px; */\n height: 32px;\n font-size: 14px;\n }\n`;\ninterface Props {\n status: string;\n}\nconst StatusLabel = (props: Props) => {\n return (\n \n {props.status}\n \n );\n};\n\nexport default StatusLabel;\n","import React, { useState } from 'react';\nimport styled from '@emotion/styled';\nimport { XIcon } from '../../../components/icons';\n\ninterface PropTypes {\n fileNameToDisplay: string;\n onRemoveClick: () => void;\n onSaveFileClick?: (e: any) => void;\n filePath?: string;\n changeCustomFileName: (newName: string) => void;\n}\n\nconst DocumentUploaded = styled.div`\n background-color: #f7f7f9;\n border-radius: 5px;\n height: 40px;\n padding: 10px 16px;\n display: inline-block;\n width: 376px;\n margin-top: 6px;\n margin-left: 200px;\n position: relative;\n`;\nconst InputStyles = styled.input`\n background-color: #fff;\n border-radius: 5;\n height: 30px;\n width: 278px;\n border: 1px solid #ff867f;\n position: absolute;\n top: 6px;\n left: 10px;\n :focus {\n border: 1px solid #ff867f;\n }\n`;\n\nfunction ImportedFileTag(props: PropTypes) {\n const [editMode, setEditMode] = useState(false);\n\n return (\n \n {!editMode ? (\n
setEditMode(true)}>\n {props.fileNameToDisplay}\n \n \n
\n \n ) : (\n {\n if (e.key === 'Enter') {\n if (e.target.value !== props.fileNameToDisplay) {\n props.changeCustomFileName(e.target.value);\n }\n setEditMode(false);\n }\n }}\n defaultValue={props.fileNameToDisplay}\n onBlur={e => {\n setEditMode(false);\n if (e.target.value !== props.fileNameToDisplay) {\n props.changeCustomFileName(e.target.value);\n }\n }}\n />\n )}\n
\n );\n}\n\nexport default ImportedFileTag;\n","import React, { useState, useEffect } from 'react';\nimport styled from '@emotion/styled';\nimport { Checkbox, Icon, Loader, Modal } from 'semantic-ui-react';\nimport Dropzone from 'react-dropzone';\nimport produce from 'immer';\nimport ImportedFileTag from '../OrderEntry/Documents/ImportedFileTag';\nimport { Property, FileUpload } from '../types';\nimport axios from 'axios';\nimport Button from '../../components/Button';\n\nconst ModalContent = styled.div`\n display: flex;\n flex-direction: column;\n`;\nconst Close = styled.button`\n display: flex;\n justify-content: flex-end;\n padding: 16px;\n background-color: #fff;\n border: none;\n cursor: pointer;\n`;\nconst Header = styled.div`\n border-bottom: 1px solid #e5e5ea;\n padding: 0 24px 24px 24px;\n font-size: 16px;\n font-weight: bold;\n`;\nconst Information = styled.div`\n display: flex;\n flex-direction: column;\n margin-top: 24px;\n`;\n\nconst ButtonContainer = styled.div`\n display: flex;\n gap: 9px;\n margin-top: 56px;\n justify-content: flex-end;\n border-top: 1px solid #e5e5ea;\n padding: 24px 0;\n`;\n\n// const Button = styled.button`\n// background: #ffffff;\n// border: 1px solid #e5e5ea;\n// border-radius: 5px;\n// color: #444444;\n// font-weight: bold;\n// text-align: center;\n// height: 40px;\n// cursor: pointer;\n// padding: 10px;\n// `;\nconst DocumentOptions = styled.div`\n border: 1.4px dashed #e5e5ea;\n padding: 24px;\n border-radius: 4px;\n margin: 0 24px;\n`;\nconst UploadButton = styled.button`\n background-color: #333;\n border-radius: 5px;\n height: 40px;\n padding: 5px 16px;\n margin-right: 16px;\n border: none;\n width: 124px;\n font-weight: bold;\n cursor: pointer;\n color: #fff;\n :hover {\n background-color: #444;\n }\n`;\ninterface Props {\n open: boolean;\n onClose: any;\n onDownload: () => void;\n otherSdaProperties: Property[];\n county: string;\n orderId: number;\n propertyId: number;\n getOrderDetails: () => void;\n}\n\nfunction convertToBase64(file: any) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => {\n const result = reader.result as string;\n const cleanedBase64 = result.substring(result.indexOf(',') + 1);\n resolve(cleanedBase64);\n };\n reader.onerror = error => {\n reject(error);\n };\n });\n}\n\nconst UploadSdaModal = (props: Props) => {\n const [files, setFiles] = useState([]);\n const [includeOtherPropertiesChecked, setIncludeOtherPropertiesChecked] = useState(false);\n const [uploading, setUploading] = useState(false);\n const [succesPopup, setSuccessPopup] = useState(false);\n const [pdfErrorMessage, setPdfErrorMessage] = useState(false);\n\n useEffect(() => {\n const allFiles = files.every(f => {\n const extension = f.fileName?.substring(f.fileName?.lastIndexOf('.'));\n return extension === '.pdf';\n });\n setPdfErrorMessage(allFiles);\n }, [files]);\n\n const onDrop = async (newFiles: any) => {\n const arr: FileUpload[] = [];\n for (let file of newFiles) {\n const base64 = (await convertToBase64(file)) as string;\n const tempFile: FileUpload = {\n fileBase64: base64,\n fileName: file.name,\n };\n const extension = file?.name?.substring(file?.name?.lastIndexOf('.'));\n if (extension !== '.pdf') {\n setPdfErrorMessage(true);\n }\n arr.push(tempFile);\n }\n\n const newArray = produce(files, draft => {\n for (let file of arr) {\n draft.push(file);\n }\n });\n setFiles(newArray);\n };\n\n const onRemoveFileClick = (index: any) => {\n setFiles(files.filter((f, i) => i !== index));\n };\n const changeCustomFileName = (index: number) => (newName: string) => {\n const newFiles = produce(files, draft => {\n const fileName = draft[index].fileName;\n const extension = fileName.substring(fileName.lastIndexOf('.'));\n var startExtension = newName.lastIndexOf('.');\n const newExtension = newName.substring(startExtension);\n const removedExtensionFromName = startExtension > -1 ? newName.substring(0, startExtension) : newName;\n draft[index].fileName = `${removedExtensionFromName}${\n startExtension === -1 || newExtension.length > 5 ? extension : newExtension\n }`;\n });\n setFiles(newFiles);\n };\n const uploadSda = async () => {\n if (files.length === 0) {\n return;\n }\n setUploading(true);\n const sda = {\n files,\n county: props.county,\n orderId: props.orderId,\n includeAllProperties: includeOtherPropertiesChecked,\n propertyId: props.propertyId,\n };\n await axios.post(`/api/clientsearch/uploadSda`, sda);\n setSuccessPopup(true);\n setTimeout(() => {\n setSuccessPopup(false);\n props.onClose();\n }, 2000);\n setUploading(false);\n \n props.getOrderDetails();\n };\n return (\n \n {succesPopup ? (\n
\n Uploaded succesfully!\n
\n ) : (\n \n \n \n \n
Upload SDA
\n \n \n {({ getRootProps, getInputProps, isDragActive }) => {\n return (\n \n
\n \n
\n {isDragActive ? drop here : Drag and drop files}\n\n
Or
\n Select File\n
\n
\n
\n );\n }}\n
\n {files.map((file, index) => {\n return (\n
\n onRemoveFileClick(index)}\n changeCustomFileName={changeCustomFileName(index)}\n />\n
\n );\n })}\n {!pdfErrorMessage && (\n
\n The uploaded SDA should be in pdf format\n
\n )}\n {props.otherSdaProperties.length > 0 && (\n
\n setIncludeOtherPropertiesChecked(data.checked)}\n checked={includeOtherPropertiesChecked}\n />\n Includes all properties\n
\n )}\n
\n \n \n Download SDA Form\n \n \n Upload to Order\n \n \n
\n )}\n
\n );\n};\n\nexport default UploadSdaModal;\n","import React, { useState, useEffect } from 'react';\nimport styled from '@emotion/styled';\nimport { DropdownStyles } from './styles';\nimport Button from '../../components/Button';\nimport { DownloadIconTwo, StatusRequested, UploadIcon } from '../../components/icons';\nimport ConfirmModal from './ConfirmModal';\nimport { BiFileBlank } from 'react-icons/bi';\nimport TextArea from '../OrderEntry/ui/TextArea';\nimport UploadSdaModal from './UploadSdaModal';\nimport { MdOutlineAddBox } from 'react-icons/md';\nimport { FiDownload, FiUpload } from 'react-icons/fi';\n\ninterface Props {\n status: any;\n download: (props: any) => void;\n searchType: string;\n viewPdf: () => void;\n sdaOpen?: any;\n updateSearch: (note: string) => void;\n downloadSda: () => void;\n}\nconst SearchActionsDropdown = (props: Props) => {\n const [updateOrder, setUpdateOrder] = useState(false);\n const [note, setNote] = useState('');\n return (\n <>\n \n {props.status === 'Completed' && (\n <>\n {\n e.stopPropagation();\n props.download(props);\n }}\n buttonType=\"ButtonSecondaryMedium\"\n buttonText=\"Download\"\n icon={}\n />\n {\n e.stopPropagation();\n props.viewPdf();\n }}\n buttonType=\"ButtonSecondaryMedium\"\n buttonText=\"View PDF\"\n icon={}\n />\n \n )}\n {props.status === 'Completed' && (\n {\n e.stopPropagation();\n setUpdateOrder(true);\n }}\n buttonType=\"ButtonSecondaryMedium\"\n buttonText={props.searchType.includes('Tax') ? 'Order Tax Contin' : 'Order Updated Search'}\n width={props.searchType.includes('Tax') ? '155px' : '190px'}\n icon={}\n />\n )}\n {props.status === 'SDA Requested' && (\n
\n {\n e.stopPropagation();\n props.downloadSda();\n }}\n buttonType=\"ButtonSecondaryMedium\"\n buttonText=\"Download SDA Form\"\n icon={}\n width={200}\n />\n {\n e.stopPropagation();\n props.sdaOpen();\n }}\n buttonType=\"ButtonSecondaryMedium\"\n buttonText=\"Upload SDA\"\n icon={}\n />\n
\n )}\n
\n {updateOrder && (\n setUpdateOrder(false)}\n onConfirmAction={() => {\n setUpdateOrder(false);\n props.updateSearch(note);\n }}\n open={updateOrder}\n children={\n {\n setNote(e.target.value);\n }}\n styles={{ width: 400, ' :focus': { outline: 'none' }, caretColor: '#8e8e93' }}\n />\n }\n />\n )}\n \n );\n};\n\nexport default SearchActionsDropdown;\n","import React, { useEffect, useState } from 'react';\nimport axios from 'axios';\n\nimport { DownCarotIcon } from '../../components/icons';\nimport StatusLabel from '../../components/StatusLabel';\nimport { Order, Search, Document, Property } from '../types';\nimport { SearchInfo, DropdownOuter } from './styles';\nimport SearchActionsDropdown from './SearchActionsDropdown';\nimport { Checkbox } from 'semantic-ui-react';\nimport { Modal } from 'semantic-ui-react';\n\ninterface PropTypes {\n searchType: string;\n dateOrdered: string;\n status?: string;\n fee?: number;\n order?: Order;\n searchId: number;\n documentsSearches: Document[];\n sdaOpen: any;\n updateSearch: (searchType: any, note: string) => Promise;\n searchesToDownload: any;\n handleSearchCheckChange: any;\n completedStatus: boolean;\n closeDropdownForSearch: (searchId: number) => void;\n openDropdownForSearch: (searchId: number) => void;\n closeAllSearches: () => void;\n searchIdsOpen: number[];\n downloadSda: () => void;\n download: any;\n searchTypeId: number;\n}\n\nconst SearchCard = (props: PropTypes) => {\n // const [openDropdown, setOpenDropdown] = useState(false);\n const showDropdown = props.status === 'Completed' || props.status === 'SDA Requested';\n const [preview, setPreview] = useState({ iframeOpen: false, iframeUrl: '' });\n const [searchDocId, setSearchDocId] = useState(null);\n const dropdownOpen = props.searchIdsOpen.includes(props.searchId);\n const viewPdf = (url: string) => {\n setPreview({ iframeOpen: true, iframeUrl: url });\n };\n useEffect(() => {\n if (props.status === 'Completed') {\n axios\n .get(`/api/clientDownload/getSearchDocId/${props.searchId}`)\n .then(({ data }) => setSearchDocId(data?.documentId));\n }\n }, []);\n\n return (\n
\n {preview.iframeOpen && (\n setPreview({ iframeOpen: false, iframeUrl: '' })}\n >\n {/* setPreview({ iframeOpen: false, iframeUrl: '' })}\n width={'650px'}\n > */}\n \n \n )}\n
\n {props.completedStatus && (\n \n )}\n
\n \n showDropdown &&\n (dropdownOpen\n ? props.closeDropdownForSearch(props.searchId)\n : props.openDropdownForSearch(props.searchId))\n }\n >\n
{props.searchType}
\n
{props.dateOrdered}
\n {props.status && }\n
{props.fee > 0 && `$${props.fee}`}
\n
\n {showDropdown && }\n
\n \n \n {dropdownOpen && (\n props.download(props)}\n searchType={props.searchType}\n status={props.status}\n updateSearch={note => {\n props.updateSearch({ id: props.searchTypeId, type: `${props.searchType} ${props.searchType.includes('Tax') ? 'Contin' : 'Update'}` }, note);\n }}\n viewPdf={() => viewPdf(`/api/utility/getDocument/${searchDocId}`)}\n sdaOpen={props.sdaOpen}\n downloadSda={props.downloadSda}\n />\n )}\n \n
\n );\n};\n\nexport default SearchCard;\n","import React, { useEffect, useState } from 'react';\nimport moment from 'moment-timezone';\nimport axios from 'axios';\nimport qs from 'qs';\n\nimport { DownCarotIcon, DownloadButton } from '../../components/icons';\nimport StatusLabel from '../../components/StatusLabel';\nimport { Order, Search, Document, Property } from '../types';\nimport { downloadSearchDocuments } from '../../components/utilities/fileUtilities';\nimport {\n OuterCard,\n ClosedCard,\n ExpandSection,\n DetailTitle,\n Details,\n SearchCardStyles,\n SearchDetailTitle,\n SearchHeaders,\n DetailSection,\n SearchInfo,\n SearchCardInBetween,\n DetailSectionDesktop,\n PropertyInfo,\n SearchCardDesktop,\n DropdownOuter,\n} from './styles';\nimport Button from '../../components/Button';\nimport SearchActionsDropdown from './SearchActionsDropdown';\nimport Iframe from '../../components/utilities/Iframe';\nimport UploadSdaModal from './UploadSdaModal';\nimport { useUserContext } from '../../context/UserContext';\nimport { Checkbox } from 'semantic-ui-react';\nimport { Modal } from 'semantic-ui-react';\nimport SearchCard from './SearchCard';\n\ninterface Props {\n addresses: string;\n addressLine2: string;\n section: string;\n county: string;\n municipalityType: string;\n subMunicipalityType: string;\n municipality: string;\n subMunicipality: string;\n block: string;\n lot: string;\n searches: Search[];\n number: number;\n swisCode: string;\n defaultOpen: boolean;\n order: Order;\n uploadStatus?: boolean;\n onDownload: () => void;\n otherSdaProperties: Property[];\n propertyId: number;\n getOrderDetails: () => void;\n searchesToDownload: number[];\n setSearchesToDownload: React.Dispatch>;\n}\nfunction GetDateInCurrentTimeZone(date: any) {\n const browserTZ = Intl.DateTimeFormat().resolvedOptions().timeZone;\n const utcDate = moment.tz(date, 'Universal');\n return moment(utcDate).tz(browserTZ);\n}\nconst download = (props: PropTypes) => {\n downloadSearchDocuments(props.order.titleNumber, true, props.searchType, props.searchId);\n};\n\nconst PropertyCard = (props: Props) => {\n const [uploadSdaOpen, setUploadSdaOpen] = useState(false);\n const [selectAll, setSelectAll] = useState(false);\n const [searchIdsOpen, setSearchIdsOpen] = useState([]);\n const { user } = useUserContext();\n const closeDropdownForSearch = (searchId: number) => {\n const searchesOpen = [...searchIdsOpen].filter(s => {\n return s !== searchId;\n });\n setSearchIdsOpen(searchesOpen);\n };\n const openDropdownForSearch = (searchId: number) => {\n const searchesOpen = [...searchIdsOpen];\n searchesOpen.push(searchId);\n setSearchIdsOpen(searchesOpen);\n };\n const closeAllSearches = () => {\n setSearchIdsOpen([]);\n };\n const updateSearch = async (searchType: any, note: string) => {\n const objToPost = {\n searchTypes: [searchType],\n propertyIds: [props.propertyId],\n note,\n clientName: user.clientName,\n orderId: props.order.id,\n userId: user.id,\n titleNumber: props.order.titleNumber,\n userName: `${user.firstName || ''} ${user.lastName || ''}`\n };\n await axios.post(`/api/clientSearch/AddSearchesToOrder`, objToPost);\n props.getOrderDetails();\n };\n const handleSearchCheckChange =\n (searchId: number) =>\n (e: any, { checked }) => {\n const completedSearchesIds = props.searches.filter(s => {\n return s.searchStatusType === 'Completed' && s.propertyId === props.propertyId;\n }).map(s => s.id);\n\n const newSearchesToDownload = checked\n ? props.searchesToDownload.concat([searchId])\n : props.searchesToDownload.filter(s => s !== searchId);\n props.setSearchesToDownload(newSearchesToDownload);\n setSelectAll(completedSearchesIds.length === newSearchesToDownload.filter(s => completedSearchesIds.includes(s)).length);\n };\n\n\n const handleSelectAllChange = (e, { checked }) => {\n const searchesForProperty = props.searches.filter((s => s.searchStatusType === 'Completed' && s.propertyId === props.propertyId)).map(s => s.id)\n \n props.setSearchesToDownload(\n checked ? props.searchesToDownload.concat(searchesForProperty.filter(s => !props.searchesToDownload.includes(s))) : props.searchesToDownload.filter((s) => !searchesForProperty.includes(s))\n );\n setSelectAll(checked);\n };\n const completedStatus =\n props.searches.filter(s => {\n return s.searchStatusType === 'Completed';\n }).length > 0;\n return (\n <>\n \n \n \n
\n {props.addresses} {props.addressLine2 && props.addressLine2}\n
\n {props.uploadStatus && (\n {\n e.stopPropagation();\n setUploadSdaOpen(!uploadSdaOpen);\n }}\n buttonType=\"ButtonSecondarySmall\"\n buttonText=\"Upload SDA\"\n />\n )}\n
\n \n {props.municipalityType && (\n
\n {props.municipalityType}:\n
{props.municipality}
\n
\n )}\n {props.subMunicipalityType && (\n
\n {props.subMunicipalityType}:\n
{props.subMunicipality}
\n
\n )}\n {props.county && (\n
\n County:\n
{props.county}
\n
\n )}\n\n {/* {props.swisCode && (\n
\n SWIS:\n
{props.swisCode}
\n
\n )} */}\n {props.municipalityType !== 'Borough' && props.section && (\n
\n Section:\n
{props.section}
\n
\n )}\n {props.block && (\n
\n Block:\n
{props.block}
\n
\n )}\n {props.lot && (\n
\n Lot:\n
{props.lot}
\n
\n )}\n
\n \n \n
\n {completedStatus && (\n s.searchStatusType === 'Completed').length === 0}\n checked={selectAll}\n onChange={handleSelectAllChange}\n />\n )}\n
\n
Search
\n
Date Ordered
\n
Current Status
\n
Town Fee
\n
\n
\n {props.searches.map(s => {\n return (\n setUploadSdaOpen(true)}\n updateSearch={updateSearch}\n searchesToDownload={props.searchesToDownload}\n handleSearchCheckChange={handleSearchCheckChange}\n completedStatus={completedStatus}\n closeDropdownForSearch={closeDropdownForSearch}\n openDropdownForSearch={openDropdownForSearch}\n closeAllSearches={closeAllSearches}\n searchIdsOpen={searchIdsOpen}\n searchTypeId={s.searchTypeId}\n downloadSda={props.onDownload}\n download={download}\n />\n );\n })}\n
\n
\n\n \n \n {props.county && (\n
\n County:\n
{props.county}
\n
\n )}\n {props.municipalityType && (\n
\n {props.municipalityType}\n
{props.municipality}
\n
\n )}\n {props.subMunicipalityType && (\n
\n {props.subMunicipalityType}\n
{props.subMunicipality}
\n
\n )}\n {props.swisCode && (\n
\n SWIS:\n
{props.swisCode}
\n
\n )}\n {props.section && (\n
\n Section:\n
{props.section}
\n
\n )}\n {props.block && (\n
\n Block:\n
{props.block}
\n
\n )}\n {props.lot && (\n
\n Lot:\n
{props.lot}
\n
\n )}\n
\n {props.searches.map(s => {\n return (\n setUploadSdaOpen(true)}\n updateSearch={updateSearch}\n searchesToDownload={props.searchesToDownload}\n handleSearchCheckChange={handleSearchCheckChange}\n completedStatus={completedStatus}\n closeDropdownForSearch={closeDropdownForSearch}\n openDropdownForSearch={openDropdownForSearch}\n closeAllSearches={closeAllSearches}\n searchIdsOpen={searchIdsOpen}\n downloadSda={props.onDownload}\n />\n );\n })}\n \n {props.searches.map(s => {\n return (\n setUploadSdaOpen(true)}\n updateSearch={updateSearch}\n searchesToDownload={props.searchesToDownload}\n handleSearchCheckChange={handleSearchCheckChange}\n completedStatus={completedStatus}\n closeDropdownForSearch={closeDropdownForSearch}\n openDropdownForSearch={openDropdownForSearch}\n closeAllSearches={closeAllSearches}\n searchIdsOpen={searchIdsOpen}\n downloadSda={props.onDownload}\n download={download}\n searchTypeId={s.searchTypeId}\n />\n );\n })}\n \n
\n {uploadSdaOpen && (\n {\n setUploadSdaOpen(false);\n closeAllSearches();\n }}\n onDownload={props.onDownload}\n otherSdaProperties={props.otherSdaProperties}\n county={props.county}\n orderId={props.order.id}\n propertyId={props.propertyId}\n getOrderDetails={props.getOrderDetails}\n />\n )}\n
\n \n );\n};\n\nexport default PropertyCard;\n\ninterface PropTypes {\n searchType: string;\n dateOrdered: string;\n status?: string;\n fee?: number;\n order?: Order;\n searchId: number;\n documentsSearches: Document[];\n sdaOpen: any;\n updateSearch: (searchType: string, note: string) => Promise;\n searchesToDownload: any;\n handleSearchCheckChange: any;\n completedStatus: boolean;\n closeDropdownForSearch: (searchId: number) => void;\n openDropdownForSearch: (searchId: number) => void;\n closeAllSearches: () => void;\n searchIdsOpen: number[];\n downloadSda:() => void;\n}\n\nconst SearchCardMobile = (props: PropTypes) => {\n return (\n <>\n \n
\n
{props.searchType}
\n
\n {props.status && }\n \n {props.status === 'Completed' && download(props)} />}\n \n
\n
\n
\n
\n Date Ordered\n
{props.dateOrdered}
\n
\n {props.fee > 0 && (\n
\n Town Fee\n
{`$${props.fee}`}
\n
\n )}\n
\n
\n \n );\n};\n\n\n","import React, { useEffect } from 'react';\nimport TopBar from '../Home/TopBar';\nimport OrderSummary from './OrderSummary';\nimport OrderSummaryDesktop from './OrderSummaryDesktop';\nimport Sidebar from './Sidebar';\nimport PropertyCard from './PropertyCard';\nimport { DetailOuterWrap, Wrapper, OuterWrapper, InnerWrapper } from './styles';\nimport { useState } from 'react';\nimport { useHistory, useParams } from 'react-router-dom';\nimport axios from 'axios';\nimport qs from 'qs';\nimport { Order } from '../types';\nimport { useUserContext } from '../../context/UserContext';\nimport { downloadDocument, downloadOrderDocuments } from '../../components/utilities/fileUtilities';\nimport immer from 'immer';\nimport { useSearchParams } from '../../context/SearchParamsContext';\n\nconst OrderDetailsPage = () => {\n const userContext = useUserContext();\n const searchParams = useSearchParams();\n const clientId = userContext.user.clientId;\n const history = useHistory();\n const [showLoader, setShowLoader] = useState(false);\n const [searchesToDownload, setSearchesToDownload] = useState([]);\n const [order, setOrder] = useState();\n const status = order?.properties.filter(p => {\n return (\n p.searches.filter(s => {\n return s.searchStatusType === 'Completed';\n }).length > 0\n );\n });\n\n const { orderId } = useParams<{ orderId: string }>();\n const headerSearch = () => {\n const queryString = qs.stringify({\n open: searchParams.isTopSearchOpen ? 1 : 0,\n query: searchParams.topSearchText,\n });\n document.title = '';\n history.push(`/home?${queryString}`);\n };\n\n useEffect(() => {\n if (clientId !== 0) {\n getOrderDetails();\n }\n }, [userContext]);\n\n const getOrderDetails = async () => {\n const queryString = qs.stringify({ orderId, clientId });\n setShowLoader(true);\n const { data } = await axios.get(`/api/clientorder/getorder?${queryString}`);\n setOrder(data);\n };\n\n const closeDetailsSearch = () => {\n searchParams.setTopSearchText('');\n searchParams.setIsTopSearchOpen(false);\n };\n\n const download = async (merge: boolean) => {\n let searches = order.properties.flatMap(p => p.searches).filter((s) => searchesToDownload.includes(s.id));\n downloadOrderDocuments(order.titleNumber, merge, searches);\n };\n\n const downloadSda = async (orderId: number) => {\n const queryString = qs.stringify({ orderId });\n const { data } = await axios.get(`/api/clientorder/getSdaDocIds?${queryString}`);\n if (data.length > 0) {\n data.forEach(async (docId: any) => {\n await downloadDocument(docId);\n });\n }\n };\n const getPriority = () => {\n if (order?.isSuperRush) {\n return 'Super Rush';\n } else if (order?.isRush) {\n return 'Rush';\n } else return 'Regular';\n };\n\n const setPriority = async (priority: string) => {\n const updatedOrder = immer(order, draft => {\n if (draft != null) {\n draft.isRush = priority === 'Rush';\n draft.isSuperRush = priority === 'Super Rush';\n }\n });\n setOrder(updatedOrder);\n await axios.post(`/api/clientorder/updateorder`, { ...updatedOrder });\n };\n const sdaProperties = order?.properties\n .map(p => {\n const hasSda = p.searches.find(s => s.searchStatusType === 'SDA Requested') !== undefined;\n if (hasSda) {\n return p;\n } else {\n return null;\n }\n })\n .filter(p => p);\n return (\n <>\n {order && (\n
\n \n \n \n 0}\n />\n 0}\n // uploadStatus={uploadStatus.length > 0}\n // onDownload={() => downloadSda(order.id)}\n // onUpload={() => uploadSda(order.id)}\n getOrderDetails={getOrderDetails}\n searchesToDownload={searchesToDownload}\n />\n {/* {notGrouped ? (\n setNotGrouped(false)}\n properties={order.properties}\n />\n ) : ( */}\n <>\n \n \n {order.properties &&\n order.properties.map((p, i) => {\n return (\n pr.id).includes(p.id)}\n onDownload={() => downloadSda(order.id)}\n otherSdaProperties={sdaProperties.filter(sda => sda.id !== p.id)}\n propertyId={p.id}\n getOrderDetails={getOrderDetails}\n searchesToDownload={searchesToDownload}\n setSearchesToDownload={setSearchesToDownload}\n />\n );\n })}\n \n {order.contacts && }\n \n \n \n \n
\n )}\n \n );\n};\n\nexport default OrderDetailsPage;\n","import React, { useEffect, useState } from 'react';\nimport styled from '@emotion/styled';\nimport Select from 'react-select';\nimport { DropdownOption } from '../../types';\nconst customStyles = {\n container: (provided: any, state: any) => ({\n ...provided,\n marginTop: 8,\n width: 88,\n }),\n control: (provided: any, state: any) => ({\n ...provided,\n border: '1px solid #85b7d9',\n background: '#F7F7F9',\n height: 26,\n ':hover': {\n border: '1px solid #85b7d9',\n },\n }),\n};\ninterface Props {\n typeSelected?: DropdownOption;\n isPurchase?: boolean;\n onChangeOption?: (option: DropdownOption) => void;\n defaultName?: string;\n closeDropdown?: (e: boolean) => void;\n}\nconst NameTypeDropdown = (props: Props) => {\n const [selectedType, setSelectedType] = useState();\n const purchaseOptions = [\n { value: 1, label: 'Buyer' },\n { value: 2, label: 'Seller' },\n { value: 3, label: 'Other' },\n ];\n const refiOptions = [\n { value: 1, label: 'Borrower' },\n { value: 2, label: 'Other' },\n ];\n return (\n {\n setSelectedType(o);\n props.onChangeOption(o);\n }}\n styles={customStyles}\n placeholder={''}\n components={{\n IndicatorSeparator: null,\n }}\n defaultValue={purchaseOptions.concat(refiOptions).find(po => po.label === props.defaultName)}\n\n />\n );\n};\n\nexport default NameTypeDropdown;\n","import React, { useEffect, useState } from 'react';\nimport styled from '@emotion/styled';\nimport { XIconLarge } from '../../../../components/icons';\nimport NameTypeDropdown from './NameTypeDropdown';\nimport { DropdownOption } from '../../types';\nimport TextField from '../../ui/TextField';\nimport { useOrderEntry } from '../../OrderEntryContext';\n\nconst OuterPart = styled.div`\n display: flex;\n align-items: center;\n margin-bottom: 8px;\n`;\nconst TypeStyles = styled.div`\n height: 38px;\n width: 88px;\n padding: 4px 8px;\n border-radius: 5px;\n border: 1px solid #fff;\n margin-top: 8px;\n cursor: pointer;\n z-index: 50;\n :hover {\n background-color: #f7f7f9;\n border: 1px solid #85b7d9;\n }\n`;\ninterface Props {\n nameOption: DropdownOption;\n name: string;\n isPurchase?: boolean;\n defaultName?: any;\n onChangeOption: (option: DropdownOption) => void;\n onChangeName: (name: string) => void;\n deleteName: boolean;\n onDelete: () => void\n}\nconst NameType = (props: Props) => {\n const [openDropdown, setOpenDropdown] = useState(true);\n\n useEffect(() => {\n window.addEventListener('click', () => {\n setOpenDropdown(false);\n });\n return () => {\n window.removeEventListener('click', () => {\n setOpenDropdown(false);\n });\n };\n }, []);\n useEffect(() => {\n setOpenDropdown(false);\n }, [props.defaultName]);\n return (\n \n
\n {openDropdown ? (\n
e.stopPropagation()}>\n {\n props.onChangeOption(e);\n setOpenDropdown(false);\n }}\n defaultName={props.defaultName}\n closeDropdown={setOpenDropdown}\n />\n
\n ) : (\n {\n e.stopPropagation();\n setOpenDropdown(true);\n }}\n >\n {props.nameOption ? props.nameOption.label : props.defaultName}\n \n )}\n
\n props.onChangeName(e.target.value)} />\n {props.deleteName && (\n {\n props.onDelete();\n }}\n />\n )}\n
\n );\n};\n\nexport default NameType;\n","const checkIfInputContainsLettersOrNull = (input: string) => {\n if (!input) {\n return true;\n }\n const regex = /[A-Za-z]/g;\n return input.match(regex)?.length > 0\n\n}\n\nconst trimEnd = (str: string, charToRemove: string) => {\n if (!str) {\n return str;\n }\n let index = str.length - 1;\n while (str[index] === charToRemove) {\n index--;\n }\n return str.substring(0, index + 1);\n}\n\n\nexport {\n checkIfInputContainsLettersOrNull,\n trimEnd\n}","import axios from 'axios';\nimport React, { createContext, useContext, useEffect, useState } from 'react';\nimport {\n DropdownOption,\n SearchesAssign,\n Property,\n OrderEntryName,\n File,\n SubmitionError,\n Search,\n PropertyError,\n IndexedPropertyErrors,\n} from './types';\nimport { useHistory, useParams } from 'react-router-dom';\nimport convertToFileDownload from './FileDownloads';\nimport produce from 'immer';\nimport qs from 'qs';\nimport { PropertyMatch, Result } from '../AddressLookup/types';\nimport { trimEnd } from '../../components/utilities/functions';\n\ninterface Props {\n children: React.ReactNode;\n}\nconst defaultPriority = { value: 0, label: 'Priority: Regular' };\n\ninterface ContextType {\n selectedClient: DropdownOption;\n setSelectedClient: (e: DropdownOption) => void;\n titleNumber: string;\n priority: DropdownOption;\n setTitleNumber: React.Dispatch>;\n setPriority: React.Dispatch;\n searchesAssignObj: SearchesAssign;\n setSearchesAssignObj: React.Dispatch>;\n properties: Property[];\n setProperties: React.Dispatch>;\n orderEntryNames: OrderEntryName[];\n setOrderEntryNames: React.Dispatch>;\n submitOrder: () => void;\n files: File[];\n setFiles: React.Dispatch>;\n setIsPurchase: React.Dispatch>;\n isPurchase: boolean;\n submitting: boolean;\n errors: SubmitionError;\n propertyErrors: IndexedPropertyErrors;\n validateProperty: () => boolean;\n setAddedSearches: React.Dispatch>;\n setTemplateSearchTypes: React.Dispatch>;\n templateSearchTypes: Search[];\n addedSearches: Search[];\n clientNote: string;\n setClientNote: React.Dispatch>;\n openErrorModal: boolean;\n setOpenErrorModal: React.Dispatch>;\n openSellerErrorModal: boolean;\n setOpenSellerErrorModal: React.Dispatch>;\n changePropertyInfo: (label: keyof Partial, value: any, index: number) => void;\n addSellersToNames: (names: any[]) => void;\n deleteListOfNames: (name: string[]) => void;\n fromAddressLookup: boolean;\n}\n\nconst defaultInitialNameType = { value: 1, label: 'Seller' };\nconst defaultBorrowerType = { value: 1, label: 'Borrower' };\nconst defaultSellertype = { value: 2, label: 'Seller' };\nconst createProperty = () => {\n const property: Property = {\n address: '',\n addressLine2: '',\n undeterminedLocality: false,\n zip: '',\n district: '',\n section: '',\n block: '',\n lot: '',\n qualifier: '',\n isDuplicate: false,\n includeMunicipalSearches: false,\n isValidated: false,\n rpadId: null,\n municipalityId: null,\n subMunicipalityId: null,\n duplicates: null,\n countyOnly: false,\n rpadPropertyId: '',\n printKey: '',\n owners: null,\n fullValidationNote: null,\n validationNote: '',\n preConvertedFiles: null,\n validationFiles: null,\n isResidential: null,\n unvalidatedOwner: null,\n selectedCounty: null,\n overrideMode: false,\n isNyc: false,\n hamletId: null,\n selectedCity: {\n county: '',\n municipality: '',\n municipalityId: null,\n municipalityType: '',\n stateCode: '',\n stateName: '',\n subMunicipality: '',\n subMunicipalityId: null,\n subMunicipalityType: '',\n swisCode: '',\n rpadSwisCode: '',\n countyId: null,\n id: null,\n municipalityTypeId: null,\n subMunicipalityTypeId: null,\n hamletId: null,\n hamletName: '',\n },\n };\n\n return property;\n};\nconst OrderEntryContext = createContext(undefined);\n\nconst labelsMarkUnvalidated: (keyof Property)[] = [\n 'address',\n 'block',\n 'section',\n 'qualifier',\n 'lot',\n 'addressLine2',\n];\n\nexport const OrderEntryProvider = (props: Props) => {\n const [selectedClient, setSelectedClient] = useState();\n const [titleNumber, setTitleNumber] = useState('');\n const [priority, setPriority] = useState(defaultPriority);\n const [searchesAssignObj, setSearchesAssignObj] = useState({});\n const [properties, setProperties] = useState([]);\n const [orderEntryNames, setOrderEntryNames] = useState([]);\n const [files, setFiles] = useState([]);\n const [isPurchase, setIsPurchase] = useState(true);\n const [submitting, setSubmitting] = useState(false);\n const [errors, setErrors] = useState(null);\n const [propertyErrors, setPropertyErrors] = useState({});\n const [openErrorModal, setOpenErrorModal] = useState(false);\n const [openSellerErrorModal, setOpenSellerErrorModal] = useState(false);\n const [templateSearchTypes, setTemplateSearchTypes] = useState([]);\n const [addedSearches, setAddedSearches] = useState([]);\n const [clientNote, setClientNote] = useState('');\n const [fromAddressLookup, setFromAddressLookup] = useState(false);\n const { propertyId, location } = useParams<{ propertyId: string; location: string }>();\n\n const oeNamesCheck = orderEntryNames.find(oen => oen.type.label === 'Seller' && oen.name) !== undefined;\n const { push } = useHistory();\n const getPropertyInfo = async () => {\n const queryOptions = {\n rpadId: propertyId,\n };\n const stringifiedParams = qs.stringify(queryOptions);\n const baseUrl = `/api/clientproperty/validateRpad/${location}`;\n const { data } = await axios.get(`${baseUrl}?${stringifiedParams}`);\n if (data.totalCount !== 1) {\n setProperties([createProperty()]);\n } else {\n const m = data.results[0];\n const property = {\n address: m.address,\n block: location === 'NJ' ? trimEnd(m.property.block, '.') : m.property.block,\n countyOnly: false,\n district: m.muniTypes[2]?.district ?? m.muniTypes[1]?.district,\n includeMunicipalSearches: true,\n isDuplicate: false,\n isValidated: true,\n lot: location === 'NJ' ? trimEnd(m.property.lot, '.') : m.property.lot,\n municipalityId: m.muniTypes[1].id,\n subMunicipalityId: m.muniTypes[2]?.id,\n owners: m.owners,\n printKey: m.printKey,\n rpadPropertyId: m.id,\n section: m.property.section,\n qualifier: m.property.qualifier,\n zip: m.location.zip,\n addressLine2: m.aptNo,\n validationNote: '',\n validationFiles: [],\n selectedCounty: null,\n buildingCode: m.property.propertyClass,\n selectedCity: {\n county: m.muniTypes[0]?.name,\n countyId: m.muniTypes[0]?.id,\n municipality: m.muniTypes[1]?.name,\n municipalityId: m.muniTypes[1]?.id,\n municipalityType: m.muniTypes[1]?.type,\n subMunicipality: m.muniTypes[2]?.name,\n subMunicipalityType: m.muniTypes[2]?.type,\n subMunicipalityId: m.muniTypes[2]?.id,\n swisCode: m.muniTypes[2]?.swisCode || m.muniTypes[1]?.swisCode,\n stateCode: m.muniTypes[0]?.stateCode,\n stateName: m.muniTypes[0]?.state,\n },\n };\n setProperties([property]);\n }\n };\n useEffect(() => {\n if (propertyId) {\n getPropertyInfo();\n setFromAddressLookup(true);\n } else {\n setFromAddressLookup(false);\n setOrderEntryNames([]);\n setProperties([createProperty()]);\n }\n }, [propertyId]);\n const validateForm = () => {\n const errors: SubmitionError = {};\n if (!titleNumber) {\n errors.titleNumber = 'Title Number Required';\n }\n if (properties.length < 1) {\n errors.properties = 'Needs at least 1 Property';\n setOpenErrorModal(true);\n }\n if (validateProperty()) {\n errors.properties = 'Property missing info';\n }\n // if (!oeNamesCheck && clientNote === '') {\n // errors.names = 'Needs at least 1 seller or note';\n // setOpenSellerErrorModal(true);\n // }\n if (templateSearchTypes.concat(addedSearches).length < 1) {\n errors.searches = 'Needs at least 1 Search';\n }\n setErrors(errors);\n return Object.keys(errors).length === 0 ? null : errors;\n };\n const validateProperty = () => {\n const indexedPropertyErrors: IndexedPropertyErrors = properties.reduce((pre, p, index) => {\n let error: PropertyError = {};\n let hasError = false;\n if (!p.address) {\n error.address = 'Missing Address';\n hasError = true;\n }\n if (\n (!p.undeterminedLocality && !p.selectedCity?.municipalityId) ||\n (p.undeterminedLocality && !p.undeterminedLocality)\n ) {\n error.municipality = 'Missing Municipality';\n hasError = true;\n }\n if (hasError) {\n pre[index] = error;\n }\n return pre;\n }, {});\n setPropertyErrors(indexedPropertyErrors);\n\n const keys = Object.keys(indexedPropertyErrors);\n\n return keys.length > 0;\n };\n\n async function checkDuplicate(matchedProperty: Property) {\n const params = qs.stringify({\n address: matchedProperty.address,\n stateCode: matchedProperty.selectedCity?.stateCode,\n section: matchedProperty.section,\n block: matchedProperty.block,\n lot: matchedProperty.lot,\n qualifier: matchedProperty.qualifier,\n swisCode: matchedProperty.selectedCity?.swisCode,\n rpadPropertyId: matchedProperty.rpadPropertyId,\n });\n\n const { data } = await axios.get(`/api/clientproperty/duplicatecheck?${params}`);\n return data;\n }\n\n const submitOrder = async () => {\n setSubmitting(true);\n const err = validateForm();\n if (err) {\n setSubmitting(false);\n return;\n }\n\n const propertiesWithDuplicates = await Promise.all(\n properties.map(async p => {\n if (!p.selectedCity?.municipalityId) {\n return { ...p };\n }\n const data = await checkDuplicate(p);\n return data.length > 0 ? { ...p, duplicates: data.length, oldOrder: data[0] } : { ...p };\n })\n );\n const searchTypes = templateSearchTypes.concat(addedSearches);\n const order = {\n titleNumber,\n priority: priority.value,\n selectedClient: selectedClient.value,\n files,\n properties: propertiesWithDuplicates.map(p => {\n if (!p.selectedCity?.municipalityId) {\n return {\n address: p.address,\n addressLine2: p.addressLine2,\n includeMunicipalSearches: true,\n undeterminedLocality: p.undeterminedLocality,\n zip: p.zip,\n section: p.section,\n block: p.block,\n lot: p.lot,\n qualifier: p.qualifier,\n };\n } else {\n return { ...p };\n }\n }),\n searchTypes: searchTypes,\n clientNote,\n orderEntryNames: orderEntryNames\n .filter(oe => oe.name?.trim())\n .map(oen => ({\n ...oen,\n checkBankruptcy: searchTypes.find(s => s.name === 'Bankruptcy Search') ? true : false,\n checkPatriot: searchTypes.find(s => s.name === 'Patriot Search') ? true : false,\n checkCogs: searchTypes.find(s => s.name === 'Certificate of Good Standing') ? true : false,\n checkFranchise: searchTypes.find(s => s.name === 'Franchise Tax') ? true : false,\n checkArticles: searchTypes.find(s => s.name === 'Articles of organization') ? true : false,\n type:\n oen.type.label === 'Buyer'\n ? defaultBorrowerType\n : oen.type.label === 'Seller'\n ? defaultSellertype\n : oen.type,\n })),\n isPurchase,\n };\n\n const { status, data } = await axios.post('/api/orderEntry/add', order);\n setSubmitting(false);\n if (status === 200) {\n localStorage.removeItem('selectedProperties');\n push(`/order-confirmation/success/${data.orderId}`);\n }\n };\n const changePropertyInfo = (label: keyof Partial, value: any, index: number) => {\n const newProperties = produce(properties, draft => {\n (draft[index][label] as keyof Property) = value;\n if (label === 'selectedCity') {\n draft[index].municipalityId = value?.municipalityId;\n draft[index].subMunicipalityId = value?.subMunicipalityId;\n draft[index].hamletId = value?.hamletId;\n }\n if (labelsMarkUnvalidated.includes(label)) {\n draft[index].isValidated = false;\n draft[index].printKey = null;\n draft[index].rpadPropertyId = null;\n }\n });\n setProperties(newProperties);\n };\n const addSellersToNames = (names: any[]) => {\n const newOrderEntryNames = produce(orderEntryNames, draft => {\n for (const name of names) {\n if (name.trim()) {\n draft.push({ name: name.trim(), type: defaultInitialNameType });\n }\n }\n });\n setOrderEntryNames(\n newOrderEntryNames\n .filter(oe => oe.name)\n .reduce((pre, cur) => {\n if (pre.some(p => p.name === cur.name)) {\n return pre;\n }\n pre.push(cur);\n return pre;\n }, [] as OrderEntryName[])\n );\n };\n const deleteListOfNames = (names: string[]) => {\n setOrderEntryNames(orderEntryNames.filter(oen => !names.includes(oen.name)));\n };\n return (\n \n {props.children}\n \n );\n};\n\nexport function useOrderEntry() {\n const context = useContext(OrderEntryContext);\n return context;\n}\n","import React, { useEffect } from 'react';\nimport styled from '@emotion/styled';\nimport NameType from './NameType';\nimport PlusButton from '../../PlusButton';\nimport { DropdownOption, OrderEntryName, Property } from '../../types';\nimport produce from 'immer';\nimport { useOrderEntry } from '../../OrderEntryContext';\nimport AddAdditionalData from '../PropertyTab/AddAdditionalData';\n\nconst OuterStyles = styled.div`\n /* margin-top: 16px; */\n padding: 16px 0 32px 0;\n /* margin-left: 10%; */\n /* padding-left: 200px; */\n`;\nconst OptionButton = styled.div<{ backgroundColor?: boolean }>`\n border: 1px solid #e5e5ea;\n border-radius: 5px;\n padding: 4px 8px;\n background-color: ${props => props.backgroundColor && '#e5e5ea'};\n margin-right: 8px;\n cursor: pointer;\n`;\nconst ErrorText = styled.div`\n font-size: 13px;\n color: #c50e29;\n`;\ninterface PropTypes {\n orderEntryNames: OrderEntryName[];\n setOrderEntryNames: React.Dispatch>;\n properties: Property[];\n}\n\nconst Names = () => {\n const { orderEntryNames, setOrderEntryNames, properties, isPurchase, setIsPurchase, errors, fromAddressLookup } = useOrderEntry();\n\n const onChangeType = (option: DropdownOption, index: number) => {\n const newState = produce(orderEntryNames, draft => {\n draft[index].type = option;\n });\n setOrderEntryNames(newState);\n };\n const addName = () => {\n const newOther = produce(orderEntryNames, draft => {\n if (draft.length === 0) {\n draft.push({ name: '', type: { value: 1, label: 'Borrower' } });\n }\n else if (draft.length > 0 && !isPurchase){\n draft.push({ name: '', type: { value: 1, label: 'Borrower' } });\n }\n else {\n draft.push({ name: '', type: { value: 3, label: 'Other' } });\n }\n });\n setOrderEntryNames(newOther);\n };\n useEffect(() => {\n if (properties.length > 0) {\n const ownerNames = properties.map((p) => p.owners ).flat();\n const names = produce(orderEntryNames, draft => {\n const buyer = draft.find(name => name.type.value === 2);\n const seller = draft.find(name => name.type.value === 1 && (name.name || !fromAddressLookup));\n if (!seller) {\n ownerNames.forEach(ownerName => {\n draft.push({ name: ownerName, type: { value: 1, label: isPurchase ? 'Seller' : 'Borrower' } }); \n });\n }\n if (isPurchase && !buyer) {\n draft.push({ name: '', type: { value: 2, label: 'Buyer' } });\n }\n\n });\n\n setOrderEntryNames(names);\n }\n\n }, [JSON.stringify(properties)]);\n\n const onChangeName = (index: number) => (value: string) => {\n const newNames = produce(orderEntryNames, draft => {\n draft[index].name = value;\n });\n setOrderEntryNames(newNames);\n };\n\n const onChangeSaleType = (label: string) => {\n const newOrderNames = produce(orderEntryNames, draft => {\n for (let orderName of draft) {\n if (orderName.type.value === 1) {\n orderName.type.label = label;\n }\n }\n const buyerIndex = draft.findIndex(d => d.type.value === 2);\n if (label === 'Seller' && buyerIndex === -1) {\n draft.push({ name: '', type: { value: 2, label: 'Buyer' } });\n }\n if (label === 'Borrower' && buyerIndex > -1) {\n draft.splice(buyerIndex, 1);\n }\n });\n\n setOrderEntryNames(newOrderNames);\n };\n\n const onChangeOption = (index: number) => (value: DropdownOption) => {\n const newNames = produce(orderEntryNames, draft => {\n draft[index].type = value;\n });\n setOrderEntryNames(newNames);\n };\n\n const onDeleteName = (index: number) => {\n const newNames = produce(orderEntryNames, draft => {\n draft.splice(index, 1);\n });\n setOrderEntryNames(newNames);\n };\n\n if (properties.length === 0) {\n return
;\n }\n\n return (\n \n
\n
Names
\n
\n
\n {\n setIsPurchase(true);\n onChangeSaleType('Seller');\n }}\n >\n Purchase\n \n {\n setIsPurchase(false);\n onChangeSaleType('Borrower');\n }}\n >\n Refi\n \n
\n\n\n {orderEntryNames.map((oen, index) => {\n return (\n = 1}\n onChangeName={onChangeName(index)}\n onDelete={() => onDeleteName(index)}\n />\n );\n })}\n {errors?.titleNumber && {errors?.names}}\n \n
\n
\n
\n );\n};\n\nexport default Names;","//@ts-nocheck\nimport React from 'react';\nimport colors from '../../css/colors';\n\nconst cityBarWrap = {\n backgroundColor: colors.grey600,\n borderRadius: 5,\n display: 'flex',\n marginTop: 20,\n padding: '0 16px',\n position: 'relative',\n minWidth: 552.85,\n justifyContent: 'flex-start',\n height: 48,\n};\n\nconst cellWrap = {\n display: 'inline-flex',\n justifyContent: 'center',\n flexDirection: 'column',\n fontFamily: 'IBM Plex Sans',\n gap: 3,\n minWidth: 134,\n ' span': { color: colors.grey300 },\n};\n\nexport default function SelectedCityBar({ city, icon }) {\n const { county, municipality, municipalityType, subMunicipality, subMunicipalityType, swisCode, stateCode, hamletName } = city;\n return (\n
\n
{icon}
\n
\n State\n {stateCode}\n
\n
\n County\n {county}\n
\n
\n {municipalityType}\n {municipality}\n
\n {subMunicipalityType && (\n
\n {subMunicipalityType}\n {subMunicipality}\n
\n )}\n {hamletName && (\n
\n Hamlet\n {hamletName}\n
\n )}\n {swisCode && (\n
\n Swis Code\n {swisCode}\n
\n )}\n
\n );\n}\n","import React, { useCallback, useEffect, useState } from 'react';\nimport styled from '@emotion/styled';\nimport { SearchIcon } from '../../../../components/icons';\nimport { XIcon } from '../../ui/icons';\nimport DropdownTable from '../../ui/DropdownTable';\nimport debounce from 'lodash.debounce';\nimport produce from 'immer';\nimport axios from 'axios';\nimport qs from 'qs';\nimport SelectedCityBar from './SelectedCityBar';\nimport TextArea from '../../ui/TextArea';\nimport { Property, SelectedCity } from '../../types';\nimport { useOrderEntry } from '../../OrderEntryContext';\n\ninterface Props {\n property: Property;\n changePropertyInfo: (label: keyof Partial, value: any, index: number) => void;\n index: number;\n setPropertyInfo: (p: any, index: number) => void;\n}\nconst Municipality = (props: Props) => {\n const { properties } = useOrderEntry();\n const [isDropdown, setIsDropdown] = useState(false);\n const [cityOptions, setCityOptions] = useState([]);\n const [cityLoaderStatus, setCityLoaderStatus] = useState(false);\n const [selectedItem, setSelectedItem] = useState(false);\n const baseSelectedCity: SelectedCity = {\n county: '',\n municipality: '',\n municipalityId: null,\n municipalityType: '',\n stateCode: '',\n stateName: '',\n subMunicipality: '',\n subMunicipalityId: null,\n subMunicipalityType: '',\n swisCode: '',\n rpadSwisCode: '',\n countyId: null,\n id: null,\n municipalityTypeId: null,\n subMunicipalityTypeId: null,\n hamletId: null,\n hamletName: '',\n };\n const handleSelectedCity = (item: SelectedCity) => {\n const property: Property = {\n address: properties[props.index].address,\n block: properties[props.index].block,\n countyOnly: false,\n district: null,\n includeMunicipalSearches: true,\n isDuplicate: false,\n isValidated: false,\n lot: properties[props.index].lot,\n municipalityId: item.municipalityId,\n subMunicipalityId: item.subMunicipalityId,\n owners: properties[props.index].owners,\n printKey: properties[props.index].printKey,\n rpadPropertyId: properties[props.index].rpadPropertyId,\n section: properties[props.index].section,\n selectedCity: item,\n zip: properties[props.index].zip,\n addressLine2: properties[props.index].addressLine2,\n validationNote: '',\n validationFiles: [],\n selectedCounty: null,\n hamletId: item.hamletId,\n };\n props.setPropertyInfo(property, props.index);\n setIsDropdown(false);\n setSelectedItem(true)\n };\n const getCityOptions = useCallback(\n debounce(async value => {\n const tempProperty = { ...props.property };\n if (value === '') {\n const newProperty = produce(props.property, draft => {\n // draft.selectedCity = {\n // county: '',\n // municipality: '',\n // municipalityId: null,\n // municipalityType: null,\n // stateCode: '',\n // stateName: '',\n // subMunicipality: '',\n // subMunicipalityId: null,\n // subMunicipalityType: '',\n // swisCode: '',\n // };\n // draft.cityOptions = [];\n });\n // props.setProperty(newProperty);\n return;\n }\n setCityLoaderStatus(true);\n const { data } = await axios.get('/api/clientproperty/GetCityOptions', {\n params: { searchValue: (value || '').trim() },\n paramsSerializer: params => {\n return qs.stringify(params, { arrayFormat: 'repeat' });\n },\n });\n\n // setProperty(tempProperty);\n setCityOptions(data.filter((d, i) => i < 100));\n setIsDropdown(data.length ? true : false);\n setCityLoaderStatus(false);\n }, 600),\n []\n );\n const deleteMuni = () => {\n props.changePropertyInfo('selectedCity', baseSelectedCity, props.index);\n };\n useEffect(() => {\n window.addEventListener('click', () => {\n setIsDropdown(false);\n });\n return () => {\n window.removeEventListener('click', () => {\n setIsDropdown(false);\n });\n };\n }, []);\n\n return (\n <>\n
\n
Municipality
\n
\n {(props.property?.selectedCity?.municipalityId || false) &&\n (props.property?.selectedCity?.municipalityId) ? (\n } />\n ) : (\n
\n {\n getCityOptions(e.target.value);\n e.stopPropagation();\n }}\n onClick={() => {}}\n onItemClick={e => {\n handleSelectedCity(e);\n }}\n onBlur={e => {\n if (!selectedItem) {\n props.changePropertyInfo('undeterminedLocality', e.target.value, props.index);\n }\n }}\n loadingStatus={cityLoaderStatus}\n styles={{ backgroundColor: '#f7f7f9', svg: { display: 'none' } }}\n />\n
\n )}\n
\n
\n \n );\n};\n\nexport default Municipality;\n","import React, { useEffect } from 'react';\nimport styled from '@emotion/styled';\nimport { Property } from '../../types';\nimport { Loader } from 'semantic-ui-react';\nimport { useOrderEntry } from '../../OrderEntryContext';\n\nconst Input = styled.input`\n background: #f7f7f9;\n border: 1px solid #e5e5ea;\n border-radius: 5px;\n height: 48px;\n :focus {\n outline: none;\n }\n`;\n\ninterface Props {\n changePropertyInfo: (label: keyof Partial, value: any, index: number) => void;\n index: number;\n property: Property;\n findMatches: (e: any) => void;\n error: any;\n isLoading: boolean;\n}\n\nconst PropertyCard = (props: Props) => {\n useEffect(() => {}, [props.property]);\n return (\n
\n
\n
\n \n {\n props.changePropertyInfo('address', e.target.value, props.index);\n props.findMatches(e);\n }}\n value={props.property.address || ''}\n />\n \n \n \n {props.error}\n
\n
\n \n props.changePropertyInfo('addressLine2', e.target.value, props.index)}\n value={props.property.addressLine2 || ''}\n />\n
\n
\n\n
\n {(props.property?.selectedCity?.stateCode !== 'NJ') && (\n
\n \n props.changePropertyInfo('section', e.target.value, props.index)}\n value={props.property.section || ''}\n />\n
\n )}\n
\n \n props.changePropertyInfo('block', e.target.value, props.index)}\n value={props.property.block || ''}\n />\n
\n
\n \n props.changePropertyInfo('lot', e.target.value, props.index)}\n value={props.property.lot || ''}\n />\n
\n {props.property?.selectedCity?.stateCode === 'NJ' && (\n
\n \n props.changePropertyInfo('qualifier', e.target.value, props.index)}\n value={props.property.qualifier || ''}\n />\n
\n )}\n
\n
\n );\n};\n\nexport default PropertyCard;\n","import * as React from 'react';\nimport styled from '@emotion/styled';\nimport produce from 'immer';\nimport { MatchedProperty } from './types';\nimport Highlight from '../../../../components/Highlight';\nimport { SelectedCity } from '../../types';\nimport { useOrderEntry } from '../../OrderEntryContext';\n\nconst OuterWrapper = styled.div`\n padding: 4px 8px;\n background-color: #fff;\n z-index: 500;\n`;\nconst Row = styled.div`\n display: flex;\n //grid-template-columns: 25% 10% 26% 18% 35%;\n //grid-column-gap: 1%;\n gap: 8px;\n z-index: 500;\n padding: 8px 16px;\n cursor: pointer;\n :hover {\n background: #f7f7f9;\n border-radius: 4px;\n }\n`;\ninterface Props {\n matches: Array;\n handleOnSave?: (match: MatchedProperty[]) => void;\n searchText: string;\n propertyIndex: number;\n handleClick: (m: MatchedProperty, s: SelectedCity) => void;\n}\n\nfunction RpadResults(props: Props) {\n const { properties } = useOrderEntry();\n return (\n
\n {props.matches?.map(m => {\n return (\n \n {\n props.handleClick(m, properties[props.propertyIndex].selectedCity);\n }}\n >\n
{Highlight(m.address, props.searchText)}
\n
{m.aptNo}
\n
\n {m.muniTypes.map((mt, index) => {\n const trimmed = mt?.name.trim()\n return {`${index > 0 ? ', ' : ''}${trimmed}`};\n })}\n
\n
\n {m.property.section}{' '}\n {m.property.block} {m.property.lot} {m.property.qualifier && m.property.qualifier}\n
\n
\n {m.owners.map((owner, index) => {\n return
{owner}
;\n })}\n
\n \n
\n );\n })}\n
\n );\n}\n\nexport default RpadResults;\n","import React, { useCallback, useEffect, useState } from 'react';\nimport styled from '@emotion/styled';\nimport Municipality from './Municipality';\nimport PropertySection from './PropertySection';\nimport InfiniteScroll from 'react-infinite-scroll-component';\nimport RpadResults from './RpadResults';\nimport { useOrderEntry } from '../../OrderEntryContext';\nimport { Property, MatchedProperty, SelectedCity } from '../../types';\nimport debounce from 'lodash.debounce';\nimport { GarbageIcon } from '../../../../components/icons';\nimport { DownCarotIcon } from '../../ui/icons';\nimport { FiTrash2 } from 'react-icons/fi';\nimport { Match } from './types';\nimport { trimEnd } from '../../../../components/utilities/functions';\n\nconst ErrorText = styled.div`\n font-size: 13px;\n color: #c50e29;\n`;\n\n \n\ninterface Props {\n index: number;\n setDeleteConfirmation: any;\n property: any;\n setEditIndex: any;\n findMatches: (e: any, p: any) => void;\n callRpadValidation: (searchTerm: string, property: Property, resultCount: number) => void;\n matches: Match;\n searchText: string;\n setPropertyInfo: (p: any, index: number) => void;\n addSellersToNames: any;\n setMatches: React.Dispatch>;\n isLoading: boolean;\n}\nconst PropertyDisplay = (props: Props) => {\n const { properties, changePropertyInfo, propertyErrors, validateProperty } = useOrderEntry();\n const [resultCount, setResultCount] = useState(15);\n // const validateProperty = () => {\n // const property = props.property;\n // const errors: SubmitionPropertyError = {};\n // if (!property.address) {\n // errors.address = 'Missing Street';\n // }\n // if (\n // (!property.undeterminedLocality && !property.selectedCity?.municipalityId) ||\n // (property.undeterminedLocality && !property.undeterminedLocality)\n // ) {\n // errors.municipality = 'Missing Municipality';\n // }\n // setErrors(errors);\n // return Object.keys(errors).length === 0 ? null : errors;\n // };\n const submitEdit = () => {\n const err = validateProperty();\n if (!err[props.index]) {\n props.setEditIndex(-1);\n }\n };\n return (\n
\n \n {props.index < properties.length - 1 ? (\n \n \n \n ) : properties.length - 1 ? (\n props.setDeleteConfirmation(props.index)}\n />\n ) : (\n
\n )}\n {propertyErrors[props.index]?.municipality && (\n {propertyErrors[props.index].municipality}\n )}\n
\n {\n props.findMatches(e, props.property);\n setResultCount(15);\n }}\n error={\n propertyErrors[props.index]?.address && (\n {propertyErrors[props.index].address}\n )\n }\n isLoading={props.isLoading}\n />\n {props.matches.results.length > 0 && (\n \n {\n const newResultCount = resultCount + 15;\n props.callRpadValidation(props.searchText, props.property, newResultCount);\n setResultCount(newResultCount);\n }}\n hasMore={props.matches.results.length !== props.matches.totalCount}\n loader={
Loading...
}\n scrollThreshold={0.2}\n scrollableTarget=\"infiniteDiv\"\n >\n {\n const property: Property = {\n address: m.address,\n block: s.stateCode === 'NJ'?trimEnd(m.property.block, \".\"):(m.property.block) ,\n countyOnly: false,\n district: m.muniTypes[2]?.district ?? m.muniTypes[1]?.district,\n includeMunicipalSearches: true,\n isDuplicate: false,\n isValidated: true,\n lot: s.stateCode === 'NJ'? trimEnd(m.property.lot, \".\"): m.property.lot,\n municipalityId: m.muniTypes[1].id,\n subMunicipalityId: m.muniTypes[2]?.id,\n owners: m.owners,\n printKey: m.printKey,\n rpadPropertyId: m.id,\n section: m.property.section,\n qualifier: m.property.qualifier,\n selectedCity: s.municipalityId\n ? s\n : {\n county: m.muniTypes[0]?.name,\n countyId: m.muniTypes[0]?.id,\n municipality: m.muniTypes[1]?.name,\n municipalityId: m.muniTypes[1]?.id,\n municipalityType: m.muniTypes[1]?.type,\n subMunicipality: m.muniTypes[2]?.name,\n subMunicipalityType: m.muniTypes[2]?.type,\n subMunicipalityId: m.muniTypes[2]?.id,\n swisCode: m.muniTypes[2]?.swisCode || m.muniTypes[1]?.swisCode,\n stateCode: m.muniTypes[0]?.stateCode,\n stateName: m.muniTypes[0]?.state,\n },\n zip: m.location.zip,\n addressLine2: m.aptNo,\n validationNote: '',\n validationFiles: [],\n selectedCounty: null,\n hamletId: s?.hamletId || undefined,\n buildingCode: m.property.propertyClass,\n };\n props.setPropertyInfo(property, props.index);\n props.addSellersToNames(m.owners);\n props.setMatches({ totalCount: null, results: [] });\n }}\n propertyIndex={props.index}\n />\n \n
\n )}\n
\n
\n );\n};\nexport default PropertyDisplay;\n","import React, { useCallback, useEffect, useState } from 'react';\nimport styled from '@emotion/styled';\nimport produce from 'immer';\nimport queryString from 'query-string';\nimport axios from 'axios';\nimport { useOrderEntry } from '../../OrderEntryContext';\nimport { Property, MatchedProperty } from '../../types';\nimport debounce from 'lodash.debounce';\nimport { EditIcon } from '../../../../components/icons';\nimport ConfirmModal from '../../../OrderDetails/ConfirmModal';\nimport PropertyDisplay from './PropertyDisplay';\nimport { FiTrash2 } from 'react-icons/fi';\nimport { Icon } from 'semantic-ui-react';\nimport { Match } from './types';\nimport AddAdditionalData from './AddAdditionalData';\n\nconst CollapsedCard = styled.div<{ error: boolean }>`\n border: ${props => (props.error ? '1px solid #ff5252' : '1px solid #e5e5ea')};\n border-radius: 5px;\n padding: 16px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n cursor: pointer;\n margin-bottom: 8px;\n margin-top: 8px;\n`;\n\nconst Overlay = styled.div`\n background-color: transparent;\n bottom: 0;\n height: 100%;\n left: 0;\n position: fixed;\n right: 0;\n top: 0;\n width: 100%;\n z-index: 100;\n`;\n\nconst baseProperty: Property = {\n address: '',\n addressLine2: '',\n undeterminedLocality: false,\n zip: '',\n district: '',\n section: '',\n block: '',\n lot: '',\n qualifier: '',\n isDuplicate: false,\n includeMunicipalSearches: false,\n isValidated: false,\n rpadId: null,\n municipalityId: null,\n subMunicipalityId: null,\n duplicates: null,\n countyOnly: false,\n rpadPropertyId: '',\n printKey: '',\n owners: null,\n fullValidationNote: null,\n validationNote: '',\n preConvertedFiles: null,\n validationFiles: null,\n isResidential: null,\n unvalidatedOwner: null,\n selectedCounty: null,\n overrideMode: false,\n isNyc: false,\n selectedCity: {\n county: '',\n municipality: '',\n municipalityId: null,\n municipalityType: '',\n stateCode: '',\n stateName: '',\n subMunicipality: '',\n subMunicipalityId: null,\n subMunicipalityType: '',\n swisCode: '',\n rpadSwisCode: '',\n countyId: null,\n id: null,\n municipalityTypeId: null,\n subMunicipalityTypeId: null,\n hamletId: null,\n hamletName: '',\n \n },\n};\n\ninterface Props {}\nconst Rpad = (props: Props) => {\n const {\n setProperties,\n properties,\n addSellersToNames,\n validateProperty,\n propertyErrors,\n deleteListOfNames,\n } = useOrderEntry();\n const [searchWasMade, setSearchWasMade] = useState(false);\n const [matches, setMatches] = React.useState({ totalCount: null, results: [] });\n const [searchText, setSearchText] = useState('');\n const [deleteConfirmation, setDeleteConfirmation] = useState(-1);\n const [editIndex, setEditIndex] = useState(-1);\n const [isLoading, setIsLoading] = useState(false);\n\n const setPropertyInfo = (property: Property, index: number) => {\n const newProperties = produce(properties, draft => {\n draft[index] = property;\n });\n setProperties(newProperties);\n };\n const addProperty = () => {\n const newProperties = [...properties];\n newProperties.push(baseProperty);\n setProperties(newProperties);\n };\n\n const deleteProperty = (indexToRemove: number) => {\n const newProperties = properties?.filter((p, index) => index !== indexToRemove);\n const owners = properties[indexToRemove].owners;\n if (owners) {\n deleteListOfNames(owners.map(o => o.trim()));\n }\n setProperties(newProperties);\n };\n\n const submitProperty = () => {\n const err = validateProperty();\n if (!err) {\n addProperty();\n }\n };\n const boroMapper = {\n Manhattan: '1',\n Bronx: '2',\n Brooklyn: '3',\n Queens: '4',\n 'Staten Island': '5',\n };\n const getNumberOfBorough = boroughName => {\n return boroMapper[boroughName];\n };\n\n const callRpadValidation = async (searchTerm: string, property: Property, returnCount: number = 15) => {\n if (!searchTerm) {\n setMatches({ totalCount: 0, results: [] });\n return;\n }\n const queryOptions = {\n address: searchTerm,\n swiss: property.selectedCity?.swisCode,\n borough: getNumberOfBorough(property.selectedCity?.municipality),\n returnCount,\n };\n\n const stringifiedParams = queryString.stringify(queryOptions);\n const baseUrl = `/api/clientproperty/validateRpad/${\n !property?.selectedCity?.stateCode\n ? 'default'\n : property?.selectedCity?.stateCode === 'NJ'\n ? 'NJ'\n : property?.selectedCity?.municipalityType === 'Borough'\n ? 'NYC'\n : 'NYS'\n }`;\n const { data } = await axios.get(`${baseUrl}?${stringifiedParams}`);\n setMatches(data);\n };\n const findMatches = useCallback(\n debounce(async (e: any, property: Property) => {\n setIsLoading(true);\n e.preventDefault();\n setSearchText(e.target.value);\n setSearchWasMade(true);\n await callRpadValidation(e.target.value, property);\n setIsLoading(false);\n }, 600),\n []\n );\n useEffect(() => {\n if (properties.length) {\n setEditIndex(properties.length - 1);\n }\n }, [properties.length]);\n\n return (\n
\n {matches.results.length > 0 && (\n setMatches({ totalCount: null, results: [] })} />\n )}\n {properties?.map((p, index, arr) => {\n return (\n
\n {index === editIndex ? (\n \n ) : (\n setEditIndex(index)}>\n
\n
{p.address}
\n
\n {p.selectedCity.county}\n {p.selectedCity.municipality}\n
\n
\n {p.section && p.section}\n {p.block}\n {p.lot}\n {p.qualifier && p.qualifier}\n
\n
\n
\n {\n e.stopPropagation();\n setDeleteConfirmation(index);\n }}\n />\n \n setEditIndex(index)} />\n \n
\n
\n )}\n
\n );\n })}\n {deleteConfirmation > -1 && (\n {\n deleteProperty(deleteConfirmation);\n setDeleteConfirmation(-1);\n }}\n buttonText=\"Delete\"\n header=\"Delete Property\"\n cancelButtonText=\"Cancel\"\n open={deleteConfirmation > -1}\n onClose={() => setDeleteConfirmation(-1)}\n height={265}\n width={400}\n >\n Are you sure you want to delete this property?\n \n )}\n {/*
{errors?.properties && errors.properties}
*/}\n {/*
\n
*/}\n {/* \n \n Add another property\n
*/}\n
\n \n
\n \n );\n};\n\nexport default Rpad;\n","import React, { useEffect, useState, Dispatch } from 'react';\nimport styled from '@emotion/styled';\nimport produce from 'immer';\nimport Names from './Names';\nimport PropertyForm from './PropertyTab';\nimport { useOrderEntry } from '../OrderEntryContext';\nimport AddAdditionalData from './PropertyTab/AddAdditionalData';\nimport PropertyCard from './PropertyTab/PropertyCard';\nimport { Property } from '../../types';\nimport Rpad from './PropertyTab/Rpad';\n\nconst OuterStyles = styled.div`\n margin-top: 32px;\n padding: 16px 0 32px 0;\n border-top: 1px solid #e5e5ea;\n`;\n\nconst PropertiesAndNames = () => {\n const { setProperties, properties, errors } = useOrderEntry();\n const [openForm, setOpenForm] = useState(false);\n\n return (\n \n
\n
Properties
\n
\n \n
\n
\n \n
\n
\n
\n );\n};\n\nexport default PropertiesAndNames;\n","import React from 'react';\nimport styled from '@emotion/styled';\nimport Select from 'react-select';\n\nconst customStyles = {\n container: (provided: any, state: any) => ({\n ...provided,\n backgroundColor: '#E5E5EA',\n borderRadius: 5,\n minWidth: 170,\n }),\n control: (provided: any, state: any) => ({\n ...provided,\n // boxShadow: state.isFocused && '1px solid #ff5252',\n // border: state.isFocused && '1px solid #ff5252',\n height: 48,\n backgroundColor: '#E5E5EA',\n borderRadius: 5,\n border: 'none',\n // '&:hover': {\n // border: state.isFocused && '1px solid #ff5252',\n // },\n }),\n};\ninterface Props {\n options: string[];\n [key: string]: any;\n defaultValue: string;\n value: any\n}\nconst ToggleDropdown = (props: Props | any) => {\n return (\n \n );\n};\n\nexport default ToggleDropdown;\n","import { Modal, Icon } from 'semantic-ui-react';\nimport styled from '@emotion/styled';\n\nconst UnassignModalContent = styled.div`\n display: flex;\n flex-direction: column;\n padding-top: 24px;\n position: relative;\n`;\nconst Close = styled.div`\n display: flex;\n justify-content: flex-end;\n cursor: pointer;\n padding-right: 24px;\n`;\nconst ActualContent = styled.div`\n padding: 0 35px;\n display: flex;\n`;\n\nconst Information = styled.div`\n width: 390px;\n height: 48px;\n font-family: Lato;\n font-style: normal;\n font-weight: normal;\n margin-top: 8px;\n font-size: 16px;\n line-height: 24px;\n color: #4d4e4d;\n`;\n\ninterface PropTypes {\n openState: boolean;\n onClose: (e?: any) => void;\n titleNumExistsOrderId: boolean;\n}\n\nconst DuplicateTitleModal = (props: PropTypes) => {\n return (\n \n \n \n \n \n \n \n This file number already exists in our system.\n
\n To add a contin or update, click{' '}\n \n {' '}\n here{' '}\n {' '}\n to access the original file.\n
\n
\n
\n
\n );\n};\n\nexport default DuplicateTitleModal;\n","import React, { useEffect, useState } from 'react';\nimport styled from '@emotion/styled';\nimport axios from 'axios';\n// import Header from 'components/ui/Header';\nimport { Link } from 'react-router-dom';\n// import TextField from './TextField';\nimport Select from 'react-select';\nimport ToggleDropdown from './ToggleDropdown';\nimport { Client, DropdownOption } from './types';\nimport { Modal } from 'semantic-ui-react';\nimport 'semantic-ui-css/semantic.min.css';\nimport { useOrderEntry } from './OrderEntryContext';\nimport TextField from './ui/TextField';\nimport { useUserContext } from '../../context/UserContext';\nimport qs from 'qs';\nimport DuplicateTitleModal from './DuplicateTitleModal';\nconst DuplicateTitle = styled.div`\n font-size: 11px;\n position: absolute;\n top: 80px;\n left: 0px;\n`;\nconst ErrorText = styled.div`\n font-size: 13px;\n color: #c50e29;\n`;\nconst customStyles = {\n container: (provided: any, state: any) => ({\n ...provided,\n marginTop: 8,\n width: 230,\n }),\n control: (provided: any, state: any) => ({\n ...provided,\n border: '1px solid #f5f5f5',\n // boxShadow: state.isFocused && '1px solid #ff5252',\n // border: state.isFocused && '1px solid #ff5252',\n height: 48,\n // '&:hover': {\n // border: state.isFocused && '1px solid #ff5252',\n // },\n }),\n};\nconst toggleOptions = [\n { value: 0, label: 'Priority: Regular' },\n { value: 1, label: 'Priority: Rush' },\n { value: 2, label: 'Priority: Super Rush' },\n];\n\nconst OrderDetails = () => {\n const [clientJvs, setClientJvs] = useState([]);\n const [numCheckLoaderStatus, setNumCheckLoaderStatus] = useState(false);\n const [titleNumExistsOrderId, setTitleNumExistsOrderId] = useState(false);\n const [showTitleExistsModal, setShowTitleExistsModal] = useState(false);\n\n const { titleNumber, setTitleNumber, setPriority, priority, errors, setSelectedClient, selectedClient } =\n useOrderEntry();\n const { user } = useUserContext();\n\n useEffect(() => {\n if (user.clientId)\n axios.get(`/api/clientaccount/getClientAndJvs/${user.clientId}`).then(({ data }) => {\n const mappedData = data.map(jv => ({ value: jv.id, label: jv.name }));\n setClientJvs(mappedData);\n setSelectedClient(mappedData.find(d => d.value === user.clientId));\n });\n }, [user?.clientId]);\n const handleTitleNumber = async () => {\n setNumCheckLoaderStatus(true);\n const queryString = qs.stringify({ titleNumber, clientId: user.clientId });\n const { data } = await axios.get(`/api/clientOrder/TitleNumExistsForClient?${queryString}`);\n\n setTitleNumExistsOrderId(data > 0 ? data : null);\n setShowTitleExistsModal(data > 0 ? data : null);\n setNumCheckLoaderStatus(false);\n };\n return (\n
\n
New Order
\n
\n {\n setTitleNumber(e.target.value);\n }}\n onBlur={handleTitleNumber}\n />\n {titleNumExistsOrderId && (\n \n {/* \n Duplicate Title\n */}\n Open duplicate title\n \n )}\n {errors?.titleNumber && {errors?.titleNumber}}\n
\n\n \n {/* {clientJvs.length <= 1 && (\n

Client: {selectedClient?.label}

\n )} */}\n\n {clientJvs.length > 1 && (\n <>\n
Company
\n setSelectedClient(client)}\n styles={customStyles}\n components={{\n IndicatorSeparator: null,\n }}\n />\n \n )}\n
\n
\n {\n setPriority(p);\n }}\n components={{\n IndicatorSeparator: null,\n }}\n />\n
\n {/* setShowTitleExistsModal(false)}\n closeIcon\n size=\"small\"\n >\n \n

Title Number already exists

\n Go to order\n
\n */}\n setShowTitleExistsModal(false)}\n openState={showTitleExistsModal}\n titleNumExistsOrderId={titleNumExistsOrderId}\n />\n \n );\n};\n\nexport default OrderDetails;\n","import React, { useState } from 'react';\nimport styled from '@emotion/styled';\nimport { DownCarotIcon, RightCarotIcon } from '../../../components/icons';\nimport { Search } from '../types';\n\nconst OuterSearchType = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n cursor: pointer;\n margin-bottom: 16px;\n`;\nconst SearchType = styled.div`\n font-weight: 900;\n`;\nconst SearchName = styled.div`\n cursor: pointer;\n margin-bottom: 16px;\n :hover {\n text-decoration: underline;\n }\n`;\ninterface Props {\n addSearchClick?: (i: Search) => void;\n category: string;\n searchTypes: Search[];\n searchText: string;\n}\n\nconst DropdownSelect = (props: Props) => {\n const [isExpanded, setIsExpanded] = useState(false);\n\n return (\n \n
\n {\n e.stopPropagation();\n setIsExpanded(!isExpanded);\n }}\n >\n {props.category}\n {isExpanded ? : }\n \n
\n {(isExpanded || props.searchText) && (\n
\n {props.searchTypes &&\n props.searchTypes.map(st => {\n return (\n {\n e.stopPropagation();\n props.addSearchClick(st)\n }}>\n {st.type}\n \n );\n })}\n
\n )}\n
\n );\n};\n\nexport default DropdownSelect;\n","import React, { useEffect, useState } from 'react';\nimport styled from '@emotion/styled';\nimport immer from 'immer';\nimport DropdownSelect from './DropdownSelect';\nimport { Search, SelectList } from '../types';\nimport { SearchIcon } from '../../../components/icons';\n\nconst OuterStyles = styled.div`\n border-radius: 5px;\n display: flex;\n align-items: center;\n position: relative;\n`;\nconst OuterSelectStyles = styled.div`\n background: #ffffff;\n border: 1px solid #e5e5ea;\n box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.15);\n border-radius: 5px;\n padding: 24px;\n position: absolute;\n width: 310px;\n top: 0px;\n z-index: 500;\n left:224px;\n`;\nconst SearchStyles = styled.div`\n height: 44px;\n border: 1px solid #e5e5ea;\n border-radius: 5px;\n width: 216px;\n display: flex;\n align-items: center;\n padding: 0px 0px 0px 8px;\n :focus {\n border: 1px solid #e5e5ea;\n }\n`;\n\ninterface Props {\n searchTypes?: Search[];\n list: SelectList[];\n addSearchClick?: (i: Search) => void;\n addedSearches?: Search[];\n onClick?: () => void;\n}\nconst AddSearch = (props: Props) => {\n const [searchText, setSearchText] = useState('');\n const [selectOpen, setSelectOpen] = useState(false);\n const [searchList, setSearchList] = useState([]);\n useEffect(() => {\n window.addEventListener('click', () => {\n setSelectOpen(false);\n });\n return () => {\n window.removeEventListener('click', () => {\n setSelectOpen(false);\n });\n };\n }, []);\n\n useEffect(() => {\n setSearchList(props.searchTypes);\n }, [JSON.stringify(props.searchTypes)]);\n\n const listContainsSearchText = (searchText: any) => {\n const searches = props.searchTypes.filter(st => {\n return st.type.toLowerCase().includes(searchText || searchText.toLowerCase());\n });\n setSearchList(searches);\n };\n const handleSearchTextChange = (searchText: any) => {\n setSearchText(searchText);\n };\n return (\n \n {\n e.stopPropagation();\n }}\n >\n \n \n setSelectOpen(true)}\n onChange={(e: any) => {\n listContainsSearchText(e.target.value.toLowerCase());\n handleSearchTextChange(e.target.value.toLowerCase());\n }}\n value={searchText}\n placeholder=\"Add Searches\"\n style={{border:'none', outline:'none'}}\n />\n \n {selectOpen && (\n \n {props.list.map(l => {\n return (\n st.searchCategoryId === l.id)\n .filter(st => st.type.toLowerCase().includes(searchText.toLowerCase()))}\n addSearchClick={props.addSearchClick}\n searchText={searchText}\n />\n );\n })}\n \n )}\n \n \n );\n};\n\nexport default AddSearch;\n","import React from 'react';\nimport styled from '@emotion/styled';\nimport { XIconSmall } from '../../components/icons';\nimport { IoMdClose } from 'react-icons/io';\n\ninterface propTypes {\n searchName: string;\n onDeleteClick: () => void;\n}\nconst SearchStyles = styled.div`\n background: #e5e5ea;\n border-radius: 5px;\n padding: 8px 12px;\n margin-top: 8px;\n display: inline-block;\n cursor: pointer;\n`;\n\nconst SearchTypeTag = (props: propTypes) => {\n return (\n \n {props.searchName}\n \n \n );\n};\n\nexport default SearchTypeTag;","import React, { useEffect, useState } from 'react';\nimport styled from '@emotion/styled';\nimport axios from 'axios';\nimport { produce } from 'immer';\nimport qs from 'qs';\nimport { Search, SelectedTemplate, SearchCategories, CategoryIds, AssignObj } from '../types';\nimport AddSearch from './AddSearch';\nimport SearchTypeTag from '../SearchTypeTag';\nimport { useOrderEntry } from '../OrderEntryContext';\n\nconst OuterStyles = styled.div`\n margin-top: 32px;\n padding: 16px 0 32px 0;\n border-top: 1px solid #e5e5ea;\n`;\n//@ts-ignore\nconst TemplateStyles = styled.div<{ backgroundColor?: boolean; border?: boolean }>`\n height: 32px;\n border: ${(props: any) => (props.border ? '1px solid #C7C7CC' : '1px solid #E5E5EA')};\n border-radius: 5px;\n padding: 8px;\n display: flex;\n align-items: center;\n margin-left: 8px;\n cursor: pointer;\n background-color: ${(props: any) => (props.backgroundColor ? '#E5E5EA' : '#fff')};\n :hover {\n border: 1px solid #c7c7cc;\n }\n`;\n\ninterface UpdateObject {\n key: string;\n index: number;\n field: 'assignee' | 'orderNote';\n value: any;\n}\n\nconst getInitialAssignObj: (searchType: Search) => AssignObj = searchType => {\n return {\n searchTypes: [searchType],\n assignee: null,\n orderNote: null,\n };\n};\n\nconst ErrorText = styled.div`\n font-size: 13px;\n color: #c50e29;\n margin-left: 200px;\n`;\n\nconst Searches = () => {\n const [templates, setTemplates] = useState([]);\n const [selectedTemplate, setSelectedTemplate] = useState();\n const [tempAssignToUpdate, setTempAssignToUpdate] = useState(null);\n const [searchTypes, setSearchTypes] = useState([]);\n const [searchCategoriesAndTypes, setSearchCategoriesAndTypes] = useState([]);\n const [openAssign, setOpenAssign] = useState(false);\n\n const {\n selectedClient,\n searchesAssignObj,\n setSearchesAssignObj,\n errors,\n setTemplateSearchTypes,\n setAddedSearches,\n addedSearches,\n templateSearchTypes,\n properties,\n } = useOrderEntry();\n\n useEffect(() => {\n getTemplates();\n }, [selectedClient?.value]);\n\n useEffect(() => {\n getSearchTypes();\n }, [properties.length]);\n type Mapping = {\n [key in CategoryIds]: SearchCategories;\n };\n const mappingCategories: Mapping = {\n '1': 'Municipal',\n '2': 'Tax',\n '3': 'Abstract',\n '4': 'Other',\n '5': 'B & P',\n };\n\n const handleTemplateSearchAdd = (searchesToAdd: Search[], searchesToRemove: Search[]) => {\n const newAssignObj = produce(searchesAssignObj, draft => {\n for (let search of searchesToRemove) {\n const obj = draft[mappingCategories[search.searchCategoryId.toString() as CategoryIds]];\n const indexes = obj.reduce((prev: any, cat, index) => {\n const nestedIndex = cat.searchTypes.findIndex(st => st.id === search.id);\n if (nestedIndex > -1) {\n prev.topLevelIndex = index;\n prev.lowerLevelIndex = nestedIndex;\n }\n return prev;\n }, {});\n obj[indexes?.topLevelIndex].searchTypes.splice(indexes?.lowerLevelIndex, 1);\n if (obj[indexes?.topLevelIndex].searchTypes.length === 0) {\n obj.splice(indexes?.topLevelIndex, 1);\n }\n }\n\n for (let search of searchesToAdd) {\n const catobj =\n draft[mappingCategories[search.searchCategoryId.toString() as CategoryIds] as SearchCategories];\n if (catobj && catobj[0]?.searchTypes) {\n catobj[0].searchTypes.push(search);\n } else {\n draft[mappingCategories[search.searchCategoryId.toString() as CategoryIds] as SearchCategories] = [\n getInitialAssignObj(search),\n ];\n }\n }\n });\n setSearchesAssignObj(newAssignObj);\n };\n\n const searchesAssignInitialObjPopulation = (searchTypes: Search[], category?: SearchCategories) => {\n const newSearchesAssignObj = produce(searchesAssignObj, draft => {\n for (let search of searchTypes) {\n const catobj =\n draft[mappingCategories[search.searchCategoryId.toString() as CategoryIds] as SearchCategories];\n if (catobj && catobj[0]?.searchTypes) {\n catobj[0].searchTypes.push(search);\n } else {\n draft[mappingCategories[search.searchCategoryId.toString() as CategoryIds] as SearchCategories] = [\n getInitialAssignObj(search),\n ];\n }\n }\n });\n setSearchesAssignObj(newSearchesAssignObj);\n };\n\n const updateAssignNoteSearchesAssign = (\n key: string,\n index: number,\n field: 'assignee' | 'orderNote',\n value: any\n ) => {\n setTempAssignToUpdate({ key, index, field, value });\n };\n\n useEffect(() => {\n if (tempAssignToUpdate) {\n const { key, index, field, value } = tempAssignToUpdate;\n const newAssignObj = produce(searchesAssignObj, draft => {\n draft[key][index][field] = value;\n });\n setSearchesAssignObj(newAssignObj);\n setTempAssignToUpdate(null);\n }\n }, [JSON.stringify(tempAssignToUpdate)]);\n\n const getTemplates = async () => {\n if (selectedClient?.value) {\n const { data } = await axios.get(`/api/clientsearch/getsearchtemplates/${selectedClient.value}`);\n const templates = data.map((t: any) => {\n return {\n ...t,\n searchTypes: t.searchTypes.map((st: any) =>\n (({ type, ...rest }) => {\n return { ...rest, name: type, type };\n })(st)\n ),\n };\n });\n setTemplates(templates);\n return templates;\n }\n };\n const getCountyId = (countyId: number) => {\n if (!countyId) {\n return countyId;\n }\n return properties.every(\n property => property.selectedCity?.countyId === countyId || property.selectedCounty?.id === countyId\n )\n ? countyId\n : null;\n };\n const getSearchTypes = async () => {\n const { countyId } = (properties.length > 0 ? properties[0].selectedCity || {}: {}) as any;\n var stringified = qs.stringify({ countyId: getCountyId(countyId) });\n const { data } = await axios.get(`/api/clientsearch/GetSearchCategoriesAndTypes?${stringified}`);\n const searchTypes = data.reduce((pre: any, cur: any) => {\n return pre.concat(cur.searchTypes);\n }, []);\n setSearchTypes(searchTypes);\n setSearchCategoriesAndTypes(data);\n };\n const handleAssignSearchDeletion = (search: Search) => {\n const newAssignObj = produce(searchesAssignObj, draft => {\n const obj = draft[mappingCategories[search.searchCategoryId.toString() as CategoryIds]];\n const indexes = obj.reduce((prev: any, cat, index) => {\n const nestedIndex = cat.searchTypes.findIndex(st => st.id === search.id);\n if (nestedIndex > -1) {\n prev.topLevelIndex = index;\n prev.lowerLevelIndex = nestedIndex;\n }\n return prev;\n }, {});\n obj[indexes?.topLevelIndex].searchTypes.splice(indexes?.lowerLevelIndex, 1);\n if (obj[indexes?.topLevelIndex].searchTypes.length === 0) {\n obj.splice(indexes?.topLevelIndex, 1);\n }\n });\n setSearchesAssignObj(newAssignObj);\n };\n\n const handleTemplateSelection = (template: any) => {\n let addSearches = true;\n if (template.name === selectedTemplate?.name) {\n setSelectedTemplate(null);\n setTemplateSearchTypes([]);\n addSearches = false;\n } else {\n setSelectedTemplate(template);\n setTemplateSearchTypes(template.searchTypes);\n }\n setOpenAssign(true);\n handleTemplateSearchAdd(addSearches ? template.searchTypes : [], templateSearchTypes);\n };\n\n const handleTemplateSearchDeleteClick = (search: Search) => {\n const index = templateSearchTypes.findIndex(addedSearch => addedSearch.id === search.id);\n const newTemplateSearches = produce(templateSearchTypes, draft => {\n draft.splice(index, 1);\n });\n setTemplateSearchTypes(newTemplateSearches);\n handleAssignSearchDeletion(search);\n };\n\n const handleAddClick = (addedSearchTypes: Search) => {\n const newAddedSearches = produce(addedSearches, draft => {\n const searchType = { ...addedSearchTypes };\n searchType.name = addedSearchTypes.type;\n draft.push(searchType);\n });\n setAddedSearches(newAddedSearches);\n setOpenAssign(true);\n searchesAssignInitialObjPopulation([addedSearchTypes]);\n };\n const handleAddedSearchDeleteClick = (search: Search) => {\n const index = addedSearches.findIndex(addedSearch => addedSearch.id === search.id);\n const newSearches = produce(addedSearches, draft => {\n draft.splice(index, 1);\n });\n setAddedSearches(newSearches);\n handleAssignSearchDeletion(search);\n };\n const handleMinusSearch = (index: number, category: string, search: Search) => {\n const lengthOfCategory = searchesAssignObj[category].length;\n const lengthOfSearches = searchesAssignObj[category][index].searchTypes.length;\n const indexOfSearchType = searchesAssignObj[category][index].searchTypes.findIndex(\n s => s.id === search.id\n );\n if (lengthOfCategory === 1 && lengthOfSearches === 1) {\n return;\n }\n const newSearchAssignObj = produce(searchesAssignObj, draft => {\n if (lengthOfCategory === 1) {\n draft[category][index].searchTypes.splice(indexOfSearchType, 1);\n draft[category].push(getInitialAssignObj(search));\n } else if (lengthOfSearches === 1) {\n draft[category][index + 1]?.searchTypes.push(search);\n draft[category].splice(index, 1);\n } else {\n draft[category][index].searchTypes.splice(indexOfSearchType, 1);\n if (index === lengthOfCategory - 1) {\n draft[category].push(getInitialAssignObj(search));\n } else {\n draft[category][index + 1].searchTypes.push(search);\n }\n }\n });\n setSearchesAssignObj(newSearchAssignObj);\n };\n return (\n \n
\n
\n
Searches
\n {templates.length > 0 && (\n \n
Choose a Template:
\n {templates.length === 0 && selectedClient &&
No Templates saved for this client
}\n
\n {templates.map(t => (\n \n {\n handleTemplateSelection(t);\n }}\n backgroundColor={selectedTemplate?.name === t.name}\n border={selectedTemplate?.name === t.name}\n >\n {' '}\n {t.name}\n \n \n ))}\n
\n
\n )}\n
\n
\n
\n
\n
\n {\n return !templateSearchTypes\n .concat(addedSearches)\n .map(ts => ts.name)\n .includes(st.type);\n })}\n addedSearches={addedSearches}\n addSearchClick={handleAddClick}\n />\n
\n
\n
\n
\n {(templateSearchTypes.length > 0 || addedSearches.length > 0) && (\n
Searches added to this order:
\n )}\n {templateSearchTypes.map((item, index) => {\n return (\n
\n handleTemplateSearchDeleteClick(item)}\n />\n
\n );\n })}\n {addedSearches.map((item, index) => {\n return (\n
\n handleAddedSearchDeleteClick(item)}\n />\n
\n );\n })}\n
\n
\n {errors?.searches && {errors.searches}}\n
\n \n );\n};\n\nexport default Searches;\n","import React from 'react';\nimport styled from '@emotion/styled';\nimport Dropzone from 'react-dropzone';\nimport produce from 'immer';\nimport { useOrderEntry } from '../OrderEntryContext';\nimport ImportedFileTag from './ImportedFileTag';\nimport { File } from '../types';\nimport TextArea from '../ui/TextArea';\n\nconst OuterStyles = styled.div`\n margin-top: 32px;\n padding: 16px 0 32px 0;\n border-top: 1px solid #e5e5ea;\n`;\nconst DocumentOptions = styled.div`\n border: 1.4px dashed #e5e5ea;\n padding: 8px;\n border-radius: 4px;\n width: 376px;\n`;\nconst UploadButton = styled.button`\n background-color: #e5e5ea;\n border-radius: 5px;\n height: 32px;\n padding: 5px 16px;\n margin-right: 16px;\n border: none;\n cursor: pointer;\n :hover {\n background-color: #d8d8db;\n }\n`;\nconst DragDrop = styled.span`\n padding-left: 16px;\n border-left: 2px solid #e5e5ea;\n`;\n\nconst Documents = () => {\n const { files, setFiles, clientNote, setClientNote } = useOrderEntry();\n\n const onDrop = async (newFiles: any) => {\n const arr: File[] = [];\n for (let file of newFiles) {\n const base64 = (await convertToBase64(file)) as string;\n const tempFile: File = {\n base64,\n customFileName: null,\n actualFileName: file.name,\n };\n arr.push(tempFile);\n }\n const newArray = produce(files, draft => {\n for (let file of arr) {\n draft.push(file);\n }\n });\n setFiles(newArray);\n };\n\n const onRemoveFileClick = (index: any) => {\n setFiles(files.filter((f, i) => i !== index));\n };\n\n const changeCustomFileName = (index: number) => (newName: string) => {\n const newFiles = produce(files, draft => {\n const fileName = draft[index].actualFileName;\n const extension = fileName.substring(fileName.lastIndexOf('.'));\n var startExtension = newName.lastIndexOf('.');\n const newExtension = newName.substring(startExtension);\n const removedExtensionFromName = startExtension > -1 ? newName.substring(0, startExtension) : newName;\n draft[index].customFileName = `${removedExtensionFromName}${\n startExtension === -1 || newExtension.length > 5 ? extension : newExtension\n }`;\n });\n setFiles(newFiles);\n };\n function convertToBase64(file: any) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => {\n const result = reader.result as string;\n const cleanedBase64 = result.substring(result.indexOf(',') + 1);\n resolve(cleanedBase64);\n };\n reader.onerror = error => {\n reject(error);\n };\n });\n }\n return (\n \n \n
\n
\n
Additional Information
\n \n {({ getRootProps, getInputProps, isDragActive }) => {\n return (\n \n
\n \n Upload Document\n \n {isDragActive ? drop here : or drag and drop files}\n \n
\n
\n );\n }}\n
\n
\n
\n {files.map((file, index) => {\n return (\n
\n onRemoveFileClick(index)}\n changeCustomFileName={changeCustomFileName(index)}\n />\n
\n );\n })}\n
\n
\n {/* @ts-ignore */}\n setClientNote(e.target.value)}\n styles={{ width: 608, ' :focus': { outline: 'none' }, caretColor: '#8e8e93' }}\n />\n
\n
\n
\n
\n );\n};\n\nexport default Documents;\n","import React, { useState } from 'react';\nimport styled from '@emotion/styled';\nimport { Link, useHistory } from 'react-router-dom';\nimport { Icon, Loader, Modal } from 'semantic-ui-react';\n\nconst UnassignModalContent = styled.div`\n display: flex;\n flex-direction: column;\n`;\nconst Close = styled.button`\n display: flex;\n justify-content: flex-end;\n padding: 15px;\n background-color: #fff;\n border: none;\n cursor: pointer;\n`;\nconst ActualContent = styled.div`\n padding: 0 35px;\n`;\nconst Unassign = styled.div`\n font-family: Lato;\n font-weight: bold;\n font-size: 20px;\n line-height: 30px;\n color: #4d4e4d;\n width: 302.48px;\n`;\n\nconst Information = styled.div`\n width: 320.67px;\n height: 48px;\n font-family: Lato;\n font-style: normal;\n font-weight: normal;\n margin-top: 24.25px;\n font-size: 16px;\n line-height: 24px;\n color: #4d4e4d;\n`;\n\nconst ButtonContainer = styled.div`\n display: flex;\n gap: 9px;\n margin-top: 45px;\n justify-content: flex-end;\n`;\n\nconst CancelButton = styled.button`\n background: #ffffff;\n border: 1px solid #e5e5ea;\n box-sizing: border-box;\n border-radius: 5px;\n color: #444444;\n font-family: Lato;\n font-style: normal;\n font-weight: bold;\n font-size: 14px;\n line-height: 21px;\n text-align: center;\n width: 127.01px;\n height: 47.02px;\n cursor: pointer;\n`;\nconst Button = styled.button`\n background: #444;\n border: 1px solid #444;\n box-sizing: border-box;\n border-radius: 5px;\n font-family: Lato;\n font-style: normal;\n font-weight: bold;\n font-size: 14px;\n line-height: 21px;\n text-align: center;\n color: #ffffff;\n width: 127.01px;\n height: 47.02px;\n cursor: pointer;\n`;\ninterface Props {\n buttonText: string;\n info: string;\n open: boolean;\n onClose: any;\n}\n\nconst PropertyErrorModal = (props: Props) => {\n return (\n \n \n \n \n \n \n {props.info}\n \n \n \n \n \n \n );\n};\n\nexport default PropertyErrorModal;\n","import React, { useEffect, useState } from 'react';\nimport styled from '@emotion/styled';\nimport PropertiesAndNames from './PropertiesAndNames';\nimport MainOrderDetails from './MainOrderDetails';\nimport Searches from './Searches';\nimport Documents from './Documents';\nimport Button from '../../components/Button';\nimport { useOrderEntry } from './OrderEntryContext';\nimport { useHistory } from 'react-router-dom';\nimport qs from 'qs';\nimport TopBar from '../Home/TopBar';\nimport { useUserContext } from '../../context/UserContext';\nimport { useSearchParams } from '../../context/SearchParamsContext';\nimport PropertyErrorModal from './PropertiesAndNames/PropertyErrorModal';\n\nconst OrderEntryLayout = styled.div`\n margin-top: 50px;\n`;\n\nconst OrderEntry = () => {\n const {\n submitOrder,\n submitting,\n titleNumber,\n openErrorModal,\n setOpenErrorModal,\n setOpenSellerErrorModal,\n openSellerErrorModal,\n } = useOrderEntry();\n const [showleaveModal, setShowLeaveModal] = useState(false);\n const userContext = useUserContext();\n const searchParams = useSearchParams();\n const clientName = userContext.user.clientName;\n const history = useHistory();\n const headerSearch = () => {\n const queryString = qs.stringify({\n open: searchParams.isTopSearchOpen ? 1 : 0,\n query: searchParams.topSearchText,\n });\n document.title = '';\n history.push(`/home?${queryString}`);\n };\n const closeDetailsSearch = () => {\n searchParams.setTopSearchText('');\n searchParams.setIsTopSearchOpen(false);\n };\n const setupBeforeUnloadListener = () => {\n window.addEventListener('beforeunload', ev => {\n ev.preventDefault();\n ev.returnValue = '';\n });\n };\n useEffect(() => {\n // setupBeforeUnloadListener();\n }, []);\n useEffect(() => {\n if (titleNumber && !showleaveModal) {\n setShowLeaveModal(true);\n }\n }, [titleNumber]);\n return (\n <>\n \n setOpenErrorModal(false)}\n open={openErrorModal}\n />\n {/* setOpenSellerErrorModal(false)}\n open={openSellerErrorModal}\n /> */}\n \n \n \n \n \n \n {\n setShowLeaveModal(false);\n submitOrder();\n }}\n buttonType=\"ButtonPrimaryMedium\"\n buttonText=\"Submit Order\"\n loadingStatus={submitting}\n />\n
\n \n \n );\n};\n\nexport default OrderEntry;\n","import React from 'react';\nimport { Link } from 'react-router-dom';\nimport Button from '../../components/Button';\nimport { SuccessIcon } from '../../components/icons';\n\nconst pageWrap = {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n height: '100%',\n paddingBottom: 40,\n flexDirection: 'column',\n letterSpacing: 0.5,\n marginTop:50\n};\n\nconst iconWrap = {\n width: 224,\n height: 224,\n borderRadius: '50%',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: '#f5f5f5',\n marginBottom: 32,\n};\n\nconst messageStyle = {\n margin: '16px 0 40px',\n textAlign: 'center',\n lineHeight: '1.5',\n fontSize: 16,\n};\n\nexport default function SuccessPage(props) {\n const {\n match: { params },\n } = props;\n return (\n
\n
\n \n
\n
Success
\n
\n HDS{' '}\n \n #{params.orderId}\n {' '}\n was added.\n
\n \n
\n \n );\n}\n","import React from 'react';\nimport styled from '@emotion/styled';\nimport { Link } from 'react-router-dom';\nimport Button from '../components/Button';\nimport HudsonLogo from '../images/hudson-logo.png';\nimport { useHistory } from 'react-router-dom';\nimport { NotFoundIcon } from '../components/icons';\n\nexport const TopBarStyles = styled.div`\n background-color: #f5f5f5;\n display: flex;\n align-items: center;\n border-bottom: 1px solid #c0bcb4;\n justify-content: space-between;\n padding: 0 16px;\n position: relative;\n height: 70px;\n @media (min-width: 768px) {\n padding: 0 40px;\n }\n @media (min-width: 1024px) {\n padding: 0 70px;\n }\n @media (min-width: 1700px) {\n padding: 0 230px;\n }\n`;\n\nconst NotFound = () => {\n const history = useHistory();\n const onHomeClick = () => {\n history.push('/home');\n };\n return (\n
\n \n
\n \"\"\n
\n
\n
\n
\n \n

\n This page was not found\n

\n
\n \n
\n
\n
\n
\n );\n};\n\nexport default NotFound;\n","import React from 'react';\nimport styled from '@emotion/styled';\nimport HudsonLogo from '../images/hudson-logo.png';\nimport { RiFileWarningFill } from 'react-icons/ri';\n\nexport const TopBarStyles = styled.div`\n background-color: #f5f5f5;\n display: flex;\n align-items: center;\n border-bottom: 1px solid #c0bcb4;\n justify-content: space-between;\n padding: 0 16px;\n position: relative;\n height: 70px;\n @media (min-width: 768px) {\n padding: 0 40px;\n }\n @media (min-width: 1024px) {\n padding: 0 70px;\n }\n @media (min-width: 1700px) {\n padding: 0 230px;\n }\n`;\n\nconst PageWrap = styled.div`\n display: flex;\n flex-direction: column;\n height: 100vh;\n > div:first-of-type {\n flex: 0 0 auto;\n }\n .contentWrap {\n padding: 20px;\n display: flex;\n flex: 1;\n justify-content: center;\n }\n .innerContent {\n flex-direction: column;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 16px;\n line-height: 1.7;\n }\n .pointer {\n cursor: pointer;\n }\n .sorryText {\n justify-content: center;\n display: flex;\n margin-top: 30px;\n }\n`;\n\nconst GlobalError = () => {\n return (\n \n \n
\n \"\"\n
\n
\n
\n
\n \n
Sorry, we are experiencing technical issues right now.
\n
\n Please reach out to us by email\n \n orders@hudsonsearch.com\n \n or by phone at 866-260-9308.\n
\n
\n
\n
\n );\n};\n\nexport default GlobalError;\n","import React from 'react';\nimport TextField from '../pages/OrderEntry/ui/TextField';\nimport { AsYouType } from 'libphonenumber-js';\nimport { checkIfInputContainsLettersOrNull } from './utilities/functions';\n\ninterface IProps {\n value: string;\n onChange: (val: string) => void;\n styles: any;\n width: any;\n label: string;\n name: string;\n}\n\nexport default function PhoneNumberInput(props: IProps) {\n const onChange = (e: any) => {\n const hasAlphaCharachter = checkIfInputContainsLettersOrNull(e.target.value);\n props.onChange(hasAlphaCharachter ? e.target.value : new AsYouType('US').input(e.target.value));\n };\n return (\n \n );\n}\n","import React, { useEffect, useState } from 'react';\nimport styled from '@emotion/styled';\nimport TextField from '../../OrderEntry/ui/TextField';\nimport Select from 'react-select';\nimport { Client, DropdownOption, State } from '../types';\nimport {AsYouType} from 'libphonenumber-js'\nimport axios from 'axios';\nimport produce from 'immer';\nimport Button from '../../../components/Button';\nimport PhoneNumberInput from '../../../components/PhoneNumberInput';\nimport { checkIfInputContainsLettersOrNull } from '../../../components/utilities/functions';\n\nconst OuterWrap = styled.div`\n border: 1px solid #e5e5ea;\n border-radius: 5px;\n width: 805px;\n margin: 40px auto;\n padding-bottom: 40px;\n position: relative;\n`;\nconst Header = styled.div`\n font-size: 20px;\n font-weight: 700;\n padding: 32px;\n border-bottom: 1px solid #e5e5ea;\n`;\nconst Section = styled.div`\n padding: 32px;\n border-bottom: 1px solid #e5e5ea;\n`;\nconst SectionHeader = styled.div`\n font-size: 16px;\n font-weight: 700;\n width: 136px;\n margin-right: 16px;\n`;\nconst customStyles = {\n container: (provided: any, state: any) => ({\n ...provided,\n marginTop: 8,\n width: 280,\n }),\n control: (provided: any, state: any) => ({\n ...provided,\n border: '1px solid #f5f5f5',\n height: 48,\n }),\n};\nconst SuccessPopup = styled.span`\n background-color: #333;\n color: #fff;\n border-radius: 4px;\n padding: 8px;\n position: absolute;\n right: 24px;\n bottom: 0px;\n`;\ninterface Props {\n clientId: number;\n}\ninterface Props {\n clientId: number;\n}\nconst ProfilePage = (props: Props) => {\n const [states, setStates] = useState([]);\n const [client, setClient] = useState();\n const [loading, setLoading] = useState(false);\n const [success, setSuccess] = useState(false);\n\n const getStates = async () => {\n const { data } = await axios.get('/api/ClientProperty/GetStates');\n const mappedData = data.map(s => ({ value: s.id, label: s.name }));\n setStates(mappedData);\n };\n const getClient = async () => {\n const { data } = await axios.get(`/api/ClientProfile/GetClientInformation/${props.clientId}`);\n setClient({\n ...data,\n phone: checkIfInputContainsLettersOrNull(data.phone)? data.phone : new AsYouType('US').input(data.phone),\n stateId: states.find(s => {\n return s.value === data?.stateId;\n }),\n });\n };\n const changeClientInfo = (label: keyof Partial, value: any) => {\n const newClientInfo = produce(client, draft => {\n (draft[label] as any) = value;\n });\n setClient(newClientInfo);\n };\n const onSave = async (client: Client) => {\n setLoading(true);\n await axios.post('/api/ClientProfile/UpdateClientInformation', {\n ...client,\n extension: parseInt(client?.extension?.toString()),\n stateId: client?.stateId.value,\n });\n setSuccess(true);\n setTimeout(() => {\n setSuccess(false);\n }, 2000);\n setLoading(false);\n };\n\n useEffect(() => {\n getClient();\n }, [props.clientId, JSON.stringify(states)]);\n\n useEffect(() => {\n getStates();\n }, []);\n\n return (\n \n
{client?.name}
\n
\n
\n Address\n
\n
\n
Street
\n changeClientInfo('address', e.target.value)}\n styles={{ input: { paddingLeft: 16 } }}\n />\n
Suite #
\n changeClientInfo('addressLine2', e.target.value)}\n styles={{ input: { paddingLeft: 16 } }}\n />\n
\n
\n
City
\n changeClientInfo('city', e.target.value)}\n styles={{ input: { paddingLeft: 16 } }}\n />\n
\n
\n
\n
State
\n {\n changeClientInfo('stateId', e);\n }}\n styles={customStyles}\n placeholder={''}\n components={{\n IndicatorSeparator: null,\n }}\n />\n
\n
\n
Zip
\n changeClientInfo('zip', e.target.value)}\n styles={{ marginLeft: 8, input: { paddingLeft: 16 } }}\n />\n
\n
\n
\n
\n
\n
\n
\n Phone\n
\n
Phone
\n changeClientInfo('phone', val)}\n styles={{ marginLeft: 8, input: { paddingLeft: 16 } }}\n />\n
\n
\n
Extension
\n changeClientInfo('extension', e.target.value)}\n styles={{ marginLeft: 8, input: { paddingLeft: 16 } }}\n />\n
\n
\n
\n
\n
\n Email\n changeClientInfo('email', e.target.value)}\n styles={{ marginLeft: 8, input: { paddingLeft: 16 } }}\n />\n
\n
\n
\n
getClient()}>\n
\n
onSave(client)} style={{ marginLeft: 8 }}>\n \n
\n
\n
\n );\n};\n\nexport default ProfilePage;\n","import React, { useContext, useEffect, useState } from 'react';\nimport styled from '@emotion/styled';\nimport { Link, useHistory } from 'react-router-dom';\nimport { Checkbox, Icon, Loader, Modal } from 'semantic-ui-react';\nimport TextField from '../../OrderEntry/ui/TextField';\nimport Select from 'react-select';\nimport { ClientUser, ClientUserSubmitionError, DropdownOption } from '../types';\nimport axios from 'axios';\nimport { UserContext, useUserContext } from '../../../context/UserContext';\nimport produce from 'immer';\n\nconst NewUserModalContent = styled.div`\n display: flex;\n flex-direction: column;\n`;\nconst TopPart = styled.div`\n padding: 26px 20px 20px 20px;\n border: 1px solid #e5e5ea;\n`;\nconst Close = styled.button`\n display: flex;\n justify-content: flex-end;\n background-color: #fff;\n border: none;\n cursor: pointer;\n`;\nconst ActualContent = styled.div`\n padding: 30px 24px;\n`;\nconst NewUser = styled.div`\n font-weight: bold;\n font-size: 20px;\n color: #4d4e4d;\n`;\n\nconst Information = styled.div`\n width: 320.67px;\n height: 48px;\n font-family: Lato;\n font-style: normal;\n font-weight: normal;\n margin-top: 24.25px;\n font-size: 16px;\n line-height: 24px;\n color: #4d4e4d;\n`;\n\nconst ButtonContainer = styled.div`\n display: flex;\n gap: 9px;\n margin-top: 45px;\n justify-content: flex-end;\n`;\n\nconst CancelButton = styled.button`\n background: #ffffff;\n border: 1px solid #e5e5ea;\n box-sizing: border-box;\n border-radius: 5px;\n color: #444444;\n font-family: Lato;\n font-style: normal;\n font-weight: bold;\n font-size: 14px;\n line-height: 21px;\n text-align: center;\n width: 174px;\n height: 48px;\n cursor: pointer;\n`;\nconst AddButton = styled.button`\n background: #444;\n border: 1px solid #444;\n box-sizing: border-box;\n border-radius: 5px;\n font-family: Lato;\n font-style: normal;\n font-weight: bold;\n font-size: 14px;\n line-height: 21px;\n text-align: center;\n color: #ffffff;\n width: 144px;\n height: 46px;\n cursor: pointer;\n`;\nconst customStyles = {\n container: (provided: any, state: any) => ({\n ...provided,\n width: 448,\n marginTop: 8,\n }),\n control: (provided: any, state: any) => ({\n ...provided,\n border: '1px solid #f5f5f5',\n height: 48,\n }),\n};\nconst multiSelectStyles = {\n valueContainer: (provided: any) => ({\n ...provided,\n maxHeight: '200px',\n overflow: 'auto',\n minHeight: 45,\n outline: '1px solid #f4f0ed',\n borderColor: '#f4f0ed',\n border:'1px solid #fff'\n }),\n indicatorsContainer: (provided: any, state: any) => ({\n ...provided,\n outline: '1px solid #f4f0ed',\n borderColor: '#f4f0ed',\n border:'1px solid #fff'\n }),\n multiValue: (provided: any, state: any) => ({\n ...provided,\n borderRadius: '15px',\n border: '1px solid #f5f5f5',\n }),\n};\nconst ErrorText = styled.div`\n font-size: 13px;\n color: #c50e29;\n`;\nconst Overlay = styled.div`\n background-color: rgba(249, 248, 248, 0.5);\n bottom: 0;\n height: 100%;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n width: 100%;\n z-index: 10000;\n border-radius:4px;\n`;\ninterface Props {\n afterSaveUser: () => void;\n open: boolean;\n onClose: any;\n}\n\nconst NewUserModal = (props: Props) => {\n const [loading, setLoading] = useState(false);\n // const [notificationTypes, setNotificationTypes] = useState([]);\n const [roles, setRoles] = useState([]);\n const [errors, setErrors] = useState(null);\n const [newUser, setNewUser] = useState({\n contactNotificationTypes: [],\n createLogin: false,\n firstName: '',\n lastName: '',\n email: '',\n roleOption: { value: 0, label: '' },\n editedNotificationTypes: true,\n });\n\n const { user } = useUserContext();\n\n // const getClientNotificationTypes = async () => {\n // const { data } = await axios.get('/api/ClientProfile/GetClientNotificationTypes');\n // const mappedData = data.map(d => ({ value: d.id, label: d.notificationType }));\n // setNotificationTypes(mappedData);\n // };\n const getRolesForClient = async () => {\n const { data } = await axios.get('/api/ClientProfile/GetRolesForClient');\n const mappedData = data.map(d => ({ value: d.id, label: d.name }));\n setRoles(mappedData);\n };\n const validateForm = () => {\n const errors: ClientUserSubmitionError = {};\n if (!newUser.firstName) {\n errors.firstName = 'First Name Required';\n }\n if (!newUser.lastName) {\n errors.lastName = 'Last Name Required';\n }\n if (!newUser.email) {\n errors.email = 'Email Required';\n }\n const userRole = newUser.roleOption?.value || 0;\n if (newUser.createLogin && userRole === 0) {\n errors.role = 'Role Required';\n }\n setErrors(errors);\n return Object.keys(errors).length === 0 ? null : errors;\n };\n const addNewUser = async () => {\n const err = validateForm();\n if (err) {\n return;\n }\n\n setLoading(true);\n await axios.post(`/api/ClientProfile/AddClientContact/${user.clientId}`, newUser);\n setLoading(false);\n props.onClose();\n props.afterSaveUser();\n };\n \n const changeUserInfo = (label: keyof Partial, value: any) => {\n const newUserTemp = produce(newUser, draft => {\n (draft[label] as any) = value;\n });\n setNewUser(newUserTemp);\n };\n useEffect(() => {\n // getClientNotificationTypes();\n getRolesForClient();\n }, []);\n return (\n \n \n \n
\n Add New Member\n \n \n \n
\n
Creating a user account gives you the ability to choose notification preferences for a specific email address.
\n
\n \n
\n
\n changeUserInfo('firstName', e.target.value)}\n styles={{ input: { paddingLeft: 8 }, marginRight: 8 }}\n />\n {errors?.firstName && {errors?.firstName}}\n
\n
\n changeUserInfo('lastName', e.target.value)}\n styles={{ input: { paddingLeft: 8 } }}\n />\n {errors?.lastName && {errors?.lastName}}\n
\n
\n
\n changeUserInfo('email', e.target.value)}\n styles={{ input: { paddingLeft: 8 }, marginTop: 24 }}\n />\n {errors?.email && {errors?.email}}\n
\n
\n \n
Notifications
\n changeUserInfo('contactNotificationTypes', e)}\n styles={multiSelectStyles}\n placeholder={''}\n components={{\n IndicatorSeparator: null,\n }}\n />\n
\n
\n changeUserInfo('createLogin', data.checked)} />\n
Create portal login for this user account
\n
\n {newUser.createLogin &&\n
\n
Role
\n changeUserInfo('roleOption', e)}\n styles={customStyles}\n placeholder={''}\n components={{\n IndicatorSeparator: null,\n }}\n />\n {errors?.role && {errors?.role}}\n
\n}\n \n Cancel\n \n {loading ? : 'Add'}\n \n \n
\n
\n
\n );\n};\n\nexport default NewUserModal;\n","import React, { useEffect, useState } from 'react';\nimport styled from '@emotion/styled';\nimport Button from '../../../components/Button';\nimport { Checkbox } from 'semantic-ui-react';\nimport { EditIcon } from '../../../components/icons';\nimport TextField from '../../OrderEntry/ui/TextField';\nimport Select from 'react-select';\nimport NewUserModal from './NewUserModal';\nimport axios from 'axios';\nimport { DropdownOption, ClientUser } from '../types';\nimport produce from 'immer';\n\nconst SaveStyles = styled.div`\n position: absolute;\n right: 55px;\n top: 35px;\n background-color: #444340;\n border-radius: 5px;\n padding: 8px 16px;\n color: #fff;\n cursor: pointer;\n`;\n\nconst customStyles = {\n container: (provided: any, state: any) => ({\n ...provided,\n width: 175,\n }),\n control: (provided: any, state: any) => ({\n ...provided,\n border: '1px solid #f5f5f5',\n height: 48,\n }),\n};\n\nconst multiSelectStyles = {\n valueContainer: (provided: any) => ({\n ...provided,\n maxHeight: '200px',\n overflow: 'auto',\n minHeight: 45,\n }),\n multiValue: (provided: any, state: any) => ({\n ...provided,\n borderRadius: '15px',\n backgroundColor: 'rgba(0, 0, 0, 0.08)',\n }),\n};\n\ninterface IProps {\n clientuser: ClientUser;\n roles: DropdownOption[];\n notificationTypes?: DropdownOption[];\n afterSavingCall: () => void;\n singleAdmin: boolean;\n}\n\nexport default function EditRow(props: IProps) {\n const [editUser, setEditUser] = useState(props.clientuser);\n const [updatingChanges, setUpdatingChanges] = useState(false);\n const [singleAdminAlert, setSingleAdminAlert] = useState(false);\n const changeUserInfo = (label: keyof Partial, value: any) => {\n const newUser = produce(editUser, draft => {\n (draft[label] as any) = value;\n if (label === 'contactNotificationTypes') {\n draft.editedNotificationTypes = true;\n } else if (props.singleAdmin && label === 'roleOption' && value.label === 'Member') {\n setSingleAdminAlert(true);\n } else {\n setSingleAdminAlert(false);\n }\n });\n setEditUser(newUser);\n };\n\n const onSaveChanges = async () => {\n if (singleAdminAlert) {\n return;\n }\n setUpdatingChanges(true);\n await axios.post('/api/ClientProfile/UpdateClientContacts/', editUser);\n setUpdatingChanges(false);\n props.afterSavingCall();\n };\n\n return (\n \n
\n changeUserInfo('firstName', e.target.value)}\n styles={{ input: { paddingLeft: 8 }, marginRight: 8 }}\n />\n changeUserInfo('lastName', e.target.value)}\n styles={{ input: { paddingLeft: 8 } }}\n />\n
\n\n changeUserInfo('email', e.target.value)}\n styles={{ input: { paddingLeft: 8 } }}\n />\n
\n {editUser.roleOption.value !== 0 ? (\n {\n changeUserInfo('roleOption', e);\n }}\n styles={customStyles}\n placeholder={''}\n components={{\n IndicatorSeparator: null,\n }}\n />\n ) : (\n
\n )}\n {singleAdminAlert && (\n
\n {' '}\n There must be at least one administrator on your account.\n
\n )}\n
\n
\n {/* changeUserInfo('contactNotificationTypes', e)}\n styles={multiSelectStyles}\n isMulti\n isClearable={false}\n placeholder={''}\n components={{\n IndicatorSeparator: null,\n }}\n /> */}\n
\n \n {updatingChanges ? 'Saved' : 'Save'}\n \n \n );\n}\n","/** @jsxRuntime classic */\n/** @jsx jsx */\n//@ts-nocheck\nimport { jsx } from '@emotion/react';\nimport colors from '../../OrderEntry/css/colors';\n\nconst tooTipWrap = {\n position: 'relative',\n // verticalAlign: 'top',\n // '&:hover': {\n // ' > div': {\n // opacity: 1,\n // transition: 'all 0s ease 1s',\n // },\n // }, \n};\n\nconst toolTip = {\n alignItems: 'center',\n backgroundColor: colors.black,\n borderRadius: '5px',\n color: colors.white,\n justifyContent: 'center',\n position: 'absolute',\n bottom: 30,\n //opacity: 0,\n width: 'auto', \n whiteSpace: 'nowrap',\n padding: 16,\n zIndex:500,\n ' span': {\n borderColor: '#33322F transparent transparent transparent',\n borderStyle: 'solid',\n borderWidth: '6px 6px 0 6px',\n height: 0,\n position: 'absolute',\n bottom: -6,\n width: 0,\n },\n};\n\nconst NotificationToolTip = ({\n notifications\n}) => {\n return (\n
\n
\n
Notifications:
\n {notifications.map((n) => {\n return (\n
{n?.label}
\n )\n })}\n \n
\n
\n );\n};\n\nexport default NotificationToolTip;\n","import React from 'react';\nimport { ClientUser } from '../types';\nimport styled from '@emotion/styled';\nimport { EditIcon } from '../../../components/icons';\nimport NotificationToolTip from './NotificationToolTip';\n\ninterface IProps {\n clientUser: ClientUser;\n onEditClick: () => void;\n}\n\nconst EditStyles = styled.div`\n position: absolute;\n right: 55px;\n top: 30px;\n cursor: pointer;\n`;\n\nexport default function InfoRow(props: IProps) {\n const [showTooltip, setShowTooltip] = React.useState(false);\n return (\n \n
\n {props.clientUser.firstName} {props.clientUser.lastName}\n
\n
{props.clientUser.email}
\n
{props.clientUser.roleOption.label}
\n {/* @ts-ignore */}\n
\n {/* this is for style underneath cursor: props.clientUser.contactNotificationTypes.length > 0 ? 'pointer' :'auto', */}\n setShowTooltip(true)}\n // onMouseLeave={() => setShowTooltip(false)}\n >\n {props.clientUser.contactNotificationTypes.length} notifications{' '}\n {showTooltip && props.clientUser.contactNotificationTypes.length > 0 && }\n
\n
\n \n \n \n
\n );\n}\n","import React, { useEffect, useState } from 'react';\nimport styled from '@emotion/styled';\nimport Button from '../../../components/Button';\nimport { Checkbox } from 'semantic-ui-react';\nimport NewUserModal from './NewUserModal';\nimport axios from 'axios';\nimport { DropdownOption, ClientUser } from '../types';\nimport EditRow from './EditRow';\nimport InfoRow from './InfoRow';\nimport ConfirmLeaveModal from '../../OrderEntry/ConfirmLeaveModal';\nimport { useUserContext } from '../../../context/UserContext';\n\nconst OuterWrapper = styled.div`\n border: 1px solid #e5e5ea;\n border-radius: 5px;\n margin: 40px auto 70px;\n max-width: 1305px;\n`;\n\nconst TopHeader = styled.div`\n border: 1px solid #e5e5ea;\n`;\nconst Header = styled.div`\n font-size: 20px;\n font-weight: 700;\n`;\nconst DetailedHeader = styled.div`\n display: grid;\n grid-template-columns: 2% 23% 22% 15% 25%;\n grid-column-gap: 1%;\n border: 1px solid #e5e5ea;\n padding: 30px 32px 28px 32px;\n color: #8e8e93;\n text-transform: uppercase;\n`;\nconst UserInfo = styled.div`\n display: grid;\n grid-template-columns: 2% 23% 22% 15% 25%;\n grid-column-gap: 1%;\n border: 1px solid #e5e5ea;\n padding: 30px 32px 28px 32px;\n position: relative;\n`;\n\ninterface Props {\n clientId: number;\n}\n\nconst UsersPage = (props: Props) => {\n const [users, setUsers] = useState([]);\n const [editMode, setEditMode] = useState(-1);\n const [openNewUserModal, setOpenNewUserModal] = useState(false);\n // const [notificationTypes, setNotificationTypes] = useState([]);\n const [roles, setRoles] = useState([]);\n const [deleteIndexes, setDeleteIndexes] = useState([]);\n const [noUsersSelected, setNoUsersSelected] = useState(false);\n const [confirmDeleteModal, setConfirmDeleteModal] = useState(false);\n const { user } = useUserContext();\n\n // const getClientNotificationTypes = async () => {\n // const { data } = await axios.get('/api/ClientProfile/GetClientNotificationTypes');\n // const mappedData = data.map(d => ({ value: d.id, label: d.notificationType }));\n // setNotificationTypes(mappedData);\n // };\n\n const getRolesForClient = async () => {\n const { data } = await axios.get('/api/ClientProfile/GetRolesForClient');\n const mappedData = data.map((d: any) => ({ value: d.id, label: d.name }));\n setRoles(mappedData);\n };\n\n const getClientContacts = async () => {\n const { data } = await axios.get(`/api/ClientProfile/getClientContacts/${props.clientId}`);\n data.sort((a, b) => (a.roleOption.value || 2000) - (b.roleOption.value || 2000))\n setUsers(data);\n };\n\n const afterSavingCall = async () => {\n setEditMode(-1);\n await getClientContacts();\n };\n\n const deleteContacts = async () => {\n handleDeleteClick();\n if (deleteIndexes.length === 0) {\n return;\n }\n await axios.post(\n '/api/ClientProfile/DeleteContact',\n users.filter((u, index) => deleteIndexes.includes(index))\n );\n setDeleteIndexes([]);\n afterSavingCall();\n setConfirmDeleteModal(false);\n };\n\n const deleteUserIndexes = (index: number, checked: boolean) => {\n setNoUsersSelected(false);\n if (checked) {\n const newIndexes = [...deleteIndexes, index];\n setDeleteIndexes(newIndexes);\n } else {\n const newIndexes = deleteIndexes.filter(i => i !== index);\n setDeleteIndexes(newIndexes);\n }\n };\n\n const handleDeleteClick = () => {\n if (deleteIndexes.length > 0) {\n setNoUsersSelected(false);\n } else {\n setNoUsersSelected(true);\n }\n setDeleteIndexes([]);\n };\n\n const onDelete = () => {\n if (deleteIndexes.length === 0) {\n setNoUsersSelected(true);\n return;\n }\n setConfirmDeleteModal(true);\n };\n\n useEffect(() => {\n // getClientNotificationTypes();\n getRolesForClient();\n }, []);\n\n useEffect(() => {\n if (props.clientId) {\n getClientContacts();\n }\n }, [props.clientId]);\n\n return (\n \n \n
\n
\n
Members
\n
\n
\n
setOpenNewUserModal(true)}>\n
\n
\n
\n
\n
\n
\n \n
\n
Name
\n
Email
\n
Role
\n
Send Email notification for
\n
\n { users.map((ua, index, arr) => {\n const singleAdmin =\n ua.roleOption.label === 'Administrator' &&\n arr.filter(\n (u, i) => i !== index && !deleteIndexes.includes(i) && u.roleOption.label === 'Administrator'\n ).length === 0;\n return (\n \n
\n deleteUserIndexes(index, checked)}\n disabled={ua.userId === user.id || singleAdmin}\n />\n
\n {editMode === index ? (\n \n ) : (\n setEditMode(index)} />\n )}\n
\n );\n })}\n {openNewUserModal && (\n setOpenNewUserModal(false)}\n afterSaveUser={afterSavingCall}\n open={openNewUserModal}\n />\n )}\n {confirmDeleteModal && (\n setConfirmDeleteModal(false)}\n onConfirmAction={deleteContacts}\n open={confirmDeleteModal}\n cancelButtonText=\"Cancel\"\n info=\"\"\n />\n )}\n
\n );\n};\n\nexport default UsersPage;\n","import React, { useEffect, useState } from 'react';\nimport styled from '@emotion/styled';\n\nconst TabSection = styled.div`\n border-bottom: 1px solid #e5e5ea;\n display: flex;\n`;\nconst Tab = styled.div<{ isSelected?: boolean}>`\n background-color: ${props => (props.isSelected ? '#444' : '#f7f7f9')};\n color: ${props => (props.isSelected ? '#fff' : '#444')};\n border-radius: 5px;\n padding: 14px 45px;\n cursor: pointer;\n transition: all .2s ease;\n`;\ninterface Props {\n indexSelected?: number;\n setIndexSelected?: any;\n}\nconst tabArray = [\n { value: 0, name: 'General' },\n { value: 1, name: 'Tax Search' },\n];\n\nconst CompanySettingsTabs = (props: Props) => {\n return (\n \n
\n {tabArray.map((ta, i) => {\n return (\n {\n props.setIndexSelected(i);\n }}\n >\n {ta.name}\n \n );\n })}\n
\n
\n );\n};\n\nexport default CompanySettingsTabs;\n","import React from 'react';\nimport styled from '@emotion/styled';\nimport { Radio } from 'semantic-ui-react';\nimport { settings } from 'cluster';\nimport { optionCSS } from 'react-select/src/components/Option';\n\ninterface IProps {\n option: SettingOption;\n selectedValue: string | number | boolean;\n setCompanySettings: any;\n settingName: string;\n label: string;\n index: number\n}\n\nexport default function Option(props: IProps) {\n return (\n
0 ? 16 : 0 }}>\n {\n props.setCompanySettings(props.settingName, props.option.id);\n }}\n />\n
\n );\n}","import React, { useEffect, useState } from 'react';\nimport styled from '@emotion/styled';\nimport { Radio } from 'semantic-ui-react';\nimport { settings } from 'cluster';\nimport Option from './Option';\n\nconst SectionWrap = styled.div`\n border-bottom: 1px solid #e5e5ea;\n display: flex;\n`;\nconst Header = styled.div`\n font-weight: 700;\n font-size: 16px;\n width: 357px;\n`;\n\ninterface IProps {\n clientSetting: NewClientSetting;\n setCompanySettings: any;\n children: React.ReactChildren | React.ReactChild;\n index: number\n}\n\nexport default function Setting(props: IProps) {\n return (\n \n
\n
{props.clientSetting.setting.statement}
\n
\n
\n {props.clientSetting.setting.settingOptions.map((option, index) => (\n \n ))}\n
\n {props.children}\n
\n
\n
\n );\n}","import React, { useEffect, useState } from 'react';\nimport styled from '@emotion/styled';\nimport { Icon, Loader, Modal } from 'semantic-ui-react';\nimport TextField from '../../OrderEntry/ui/TextField';\nimport axios from 'axios';\nimport { useUserContext } from '../../../context/UserContext';\nimport PasswordInput from '../../../components/PasswordInput';\nimport qs from 'qs';\n\nconst ChangePasswordContent = styled.div`\n display: flex;\n flex-direction: column;\n`;\nconst TopPart = styled.div`\n padding: 26px 20px 20px 20px;\n border: 1px solid #e5e5ea;\n`;\nconst Close = styled.button`\n display: flex;\n justify-content: flex-end;\n background-color: #fff;\n border: none;\n cursor: pointer;\n`;\nconst ActualContent = styled.div`\n padding: 8px 40px 40px 40px;\n`;\nconst Header = styled.div`\n font-weight: bold;\n font-size: 20px;\n color: #4d4e4d;\n`;\n\nconst ButtonContainer = styled.div`\n display: flex;\n gap: 9px;\n margin-top: 45px;\n justify-content: flex-end;\n`;\n\nconst CancelButton = styled.button`\n background: #ffffff;\n border: 1px solid #e5e5ea;\n box-sizing: border-box;\n border-radius: 5px;\n color: #444444;\n font-family: Lato;\n font-style: normal;\n font-weight: bold;\n font-size: 14px;\n line-height: 21px;\n text-align: center;\n width: 174px;\n height: 48px;\n cursor: pointer;\n`;\nconst AddButton = styled.button`\n background: #444;\n border: 1px solid #444;\n box-sizing: border-box;\n border-radius: 5px;\n font-family: Lato;\n font-style: normal;\n font-weight: bold;\n font-size: 14px;\n line-height: 21px;\n text-align: center;\n color: #ffffff;\n width: 144px;\n height: 46px;\n cursor: pointer;\n`;\ninterface Props {\n open: boolean;\n onClose: any;\n userId: number;\n confirmPasswordUrl: string;\n changePasswordUrl: string;\n needsClientId?: boolean;\n handleAfterChange?: () => void;\n}\n\nconst ChangePasswordModal = (props: Props) => {\n const { user } = useUserContext();\n const [loading, setLoading] = useState(false);\n const [confirmPassword, setConfirmPassword] = useState('');\n const [password, setPassword] = useState('');\n const [oldPassword, setOldPassword] = useState('');\n const [confirmPasswordError, setConfirmPasswordError] = useState(false);\n const [oldPasswordVerified, setOldPasswordVerified] = useState(true);\n const [successPopup, setSuccessPopup] = useState(false);\n\n let regex = /[^a-zA-Z0-9]/g;\n\n const handleOnBlur = () => {\n if (confirmPassword !== password) {\n setConfirmPasswordError(true);\n } else {\n setConfirmPasswordError(false);\n }\n };\n const handleOnPasswordBlur = async (e: any) => {\n const queryString = getQueryString(e.target.value);\n const { data } = await axios.get(`${props.confirmPasswordUrl}?${queryString}`);\n setOldPasswordVerified(data)\n };\n const onChangePassword = async () => {\n if (\n confirmPasswordError ||\n password === '' ||\n confirmPassword === '' ||\n !regex.test(password) ||\n password.length < 8 ||\n !oldPasswordVerified\n ) {\n return;\n }\n await axios.post(props.changePasswordUrl, {\n oldPassword,\n password,\n userId: props.userId,\n });\n setSuccessPopup(true);\n setTimeout(() => {\n setSuccessPopup(false);\n props.onClose();\n }, 2000);\n props.handleAfterChange && props.handleAfterChange();\n };\n const getQueryString = (password: string) => {\n const queryObject = {\n password,\n userId: props.needsClientId ? undefined : user.id,\n clientId: props.needsClientId ? user.clientId : undefined,\n };\n return qs.stringify(queryObject);\n };\nuseEffect(() => {\n\n},[oldPasswordVerified])\n return (\n \n \n \n
\n
Change Password
\n \n \n \n
\n
\n \n
\n
\n {/* {\n setOldPassword(e.target.value);\n }}\n onBlur={e => handleOnPasswordBlur(e)}\n styles={{\n input: { paddingLeft: 8, border: '1px solid #33322f', borderRadius: 1 },\n marginRight: 8,\n }}\n /> */}\n {\n setOldPassword(e);\n }} \n value={oldPassword || ''}\n onBlur={e => handleOnPasswordBlur(e)}\n isError={!oldPasswordVerified}\n isColor={!oldPasswordVerified}\n />\n
\n
\n setPassword(value)}\n value={password || ''}\n />\n
\n setConfirmPassword(value)}\n value={confirmPassword || ''}\n onBlur={handleOnBlur}\n isColor={confirmPasswordError}\n />\n
\n {successPopup ? (\n \n Password succesfully changed!\n \n ) : (\n \n Cancel\n \n {loading ? : 'Save'}\n \n \n )}\n
\n
\n
\n );\n};\n\nexport default ChangePasswordModal;\n","import React, { useEffect, useState } from 'react';\nimport styled from '@emotion/styled';\nimport { Radio } from 'semantic-ui-react';\nimport { EyeIcon, HiddenEyeIcon } from '../../../../components/icons';\nimport ChangePasswordModal from '../../AccountSettings/ChangePasswordModal';\nimport { useUserContext } from '../../../../context/UserContext';\n\nconst Input = styled.input`\n background: #f7f7f9;\n border: 1px solid #e5e5ea;\n border-radius: 5px;\n height: 48px;\n width: 487px;\n :focus {\n outline: none;\n }\n`;\ninterface IProps {\n companyFTPSetting: FtpSetting;\n changeFtpValue: (label: keyof FtpSetting, value: any) => void;\n handleAfterChange: () => void;\n allowFtpChange: boolean\n}\n\nexport default function FtpForm(props: IProps) {\n const [openPasswordModal, setOpenPasswordModal] = useState(false);\n const { user } = useUserContext();\n return (\n
\n
\n
Host
{' '}\n props.changeFtpValue('host', e.target.value)}\n value={props.companyFTPSetting?.host}\n placeholder=\"Enter the host name\"\n />\n
\n
\n
Username
{' '}\n props.changeFtpValue('username', e.target.value)}\n value={props.companyFTPSetting?.username}\n placeholder=\"Enter your username\"\n />\n
\n
\n
Password
{' '}\n props.allowFtpChange && props.changeFtpValue('password', e.target.value)}\n value={props.companyFTPSetting?.password}\n placeholder=\"Enter your password\"\n \n type={'password'}\n style={{\n background: '#f7f7f9',\n border: '1px solid #e5e5ea',\n borderRadius: 5,\n height: 48,\n width: 487,\n }}\n />\n\n
\n {(props.companyFTPSetting.password && !props.allowFtpChange) && setOpenPasswordModal(true)}\n >\n Change Password\n
}\n {openPasswordModal && (\n setOpenPasswordModal(false)}\n userId={user.id}\n changePasswordUrl={'/api/clientaccount/ChangeFTPPassword'}\n confirmPasswordUrl={'/api/clientaccount/MatchFTPPassword'}\n needsClientId\n handleAfterChange={props.handleAfterChange}\n />\n )}\n \n );\n}\n","import React, { useEffect, useState } from 'react';\nimport styled from '@emotion/styled';\nimport CompanySettingsTabs from './CompanySettingsTabs';\nimport Button from '../../../components/Button';\nimport axios from 'axios';\nimport produce from 'immer';\nimport Setting from './Components/Setting';\nimport FtpForm from './Components/FtpForm';\nimport { useUserContext } from '../../../context/UserContext';\n\nconst OuterWrapper = styled.div`\n border: 1px solid #e5e5ea;\n border-radius: 5px;\n margin: 40px auto 70px;\n max-width: 1305px;\n`;\nconst ButtonWrap = styled.div`\n border-bottom: 1px solid #e5e5ea;\n display: flex;\n justify-content: flex-end;\n`;\n\nconst defaultFtpValues: FtpSetting = {\n password: '',\n host: '',\n username: '',\n};\ninterface Props {\n clientId: number;\n}\nconst CompanySettingsPage = (props: Props) => {\n const [indexSelected, setIndexSelected] = useState(0);\n const [saved, setIsSaved] = useState(false);\n const [companySettings, setCompanySettings] = useState({\n clientId: null,\n ftpSetting: defaultFtpValues,\n newClientSettings: [],\n });\n const [allowFtpChange, setAllowFtpChange] = useState(false);\n const [saving, setSaving] = useState(false);\n const { user } = useUserContext();\n\n const changeFtpValue = (label: keyof FtpSetting, value: any) => {\n const newCompanySettings = produce(companySettings, draft => {\n (draft.ftpSetting[label] as any) = value;\n });\n setCompanySettings(newCompanySettings);\n };\n\n const getAdditionalContent = (\n settingName: string,\n ftpSetting: FtpSetting = defaultFtpValues,\n func: any,\n handleAfterChange: () => void\n ) => {\n const mapped = {\n ftp: (\n \n ),\n };\n\n return mapped[settingName];\n };\n\n const getClientSettings = async () => {\n const { data } = await axios.get(`/api/ClientProfile/GetClientSettings/${props.clientId}`);\n setAllowFtpChange(!data.ftpSetting?.password);\n setCompanySettings({\n ...data,\n ftpSetting: data.ftpSetting || { ...defaultFtpValues, clientId: data.clientId },\n });\n };\n\n const changeCompanySettings = (settingName: string, value: any) => {\n const settingIndex = companySettings.newClientSettings.findIndex(\n c => c.setting.settingName === settingName\n );\n const newCompanySettings = produce(companySettings, draft => {\n (draft.newClientSettings[settingIndex].selectedOptionId as any) = value;\n });\n setCompanySettings(newCompanySettings);\n };\n\n const saveChanges = async () => {\n setSaving(true);\n await axios.post(`/api/clientProfile/UpdateClientSettings/${props.clientId}`, companySettings);\n setSaving(false);\n setIsSaved(true);\n setTimeout(() => {\n setIsSaved(false);\n }, 2000);\n getClientSettings();\n };\n\n useEffect(() => {\n if (props.clientId) {\n getClientSettings();\n }\n }, [props.clientId]);\n\n return (\n \n \n {indexSelected === 0 && (\n
\n {companySettings.newClientSettings\n .filter(cs => cs.setting.searchTypeId === null)\n .map((k, index) => (\n \n {getAdditionalContent(\n k.setting.settingName,\n companySettings.ftpSetting,\n changeFtpValue,\n getClientSettings\n )}\n \n ))}\n
\n )}\n {indexSelected === 1 && (\n
\n {companySettings.newClientSettings\n .filter(cs => cs.setting.searchTypeId === 20)\n .map((k, index) => (\n \n {k.additionalContent}\n \n ))}\n
\n )}\n \n
\n
\n
\n
\n );\n};\n\nexport default CompanySettingsPage;\n","import React, { useEffect, useState } from 'react';\nimport styled from '@emotion/styled';\nimport TextField from '../../OrderEntry/ui/TextField';\nimport Select from 'react-select';\nimport { ClientUser} from '../types';\nimport axios from 'axios';\nimport produce from 'immer';\nimport Button from '../../../components/Button';\nimport { InfoIcon } from '../../../components/icons';\nimport ToolTip from '../../OrderEntry/ui/ToolTip';\nimport { useUserContext } from '../../../context/UserContext';\nimport ChangePasswordModal from './ChangePasswordModal';\n\nconst OuterWrap = styled.div`\n border: 1px solid #e5e5ea;\n border-radius: 5px;\n width: 805px;\n margin: 40px auto;\n padding-bottom: 40px;\n position: relative;\n`;\nconst Header = styled.div`\n font-size: 20px;\n font-weight: 700;\n padding: 32px;\n border-bottom: 1px solid #e5e5ea;\n`;\nconst Section = styled.div`\n padding: 32px;\n border-bottom: 1px solid #e5e5ea;\n`;\nconst SectionHeader = styled.div`\n font-size: 16px;\n font-weight: 700;\n width: 136px;\n margin-right: 16px;\n`;\nconst multiSelectStyles = {\n valueContainer: (provided: any) => ({\n ...provided,\n maxHeight: '200px',\n overflow: 'auto',\n minHeight: 45,\n width: 505,\n }),\n multiValue: (provided: any, state: any) => ({\n ...provided,\n borderRadius: '15px',\n border: '1px solid #f5f5f5',\n }),\n};\n\nconst AccountSettingsPage = () => {\n const { user } = useUserContext();\n // const [notificationTypes, setNotificationTypes] = useState([]);\n const [accountInfo, setAccountInfo] = useState();\n const [loading, setLoading] = useState(false);\n const [success, setSuccess] = useState(false);\n const [openPasswordModal, setOpenPasswordModal] = useState(false);\n const [passwordInputValue, setPasswordInputValue] = useState('');\n\n const getClientInfo = async () => {\n const { data } = await axios.get(`/api/ClientProfile/GetClientContact/${user.id}`);\n setAccountInfo(data);\n getPassWordLength(data.passwordLength || 8);\n };\n const changeAccountInfo = (label: keyof Partial, value: any) => {\n const newAccountInfo = produce(accountInfo, draft => {\n (draft[label] as any) = value;\n if (label === 'contactNotificationTypes') {\n draft.editedNotificationTypes = true;\n }\n });\n setAccountInfo(newAccountInfo);\n };\n const onSave = async () => {\n await axios.post('/api/ClientProfile/UpdateClientContacts/', accountInfo);\n await getClientInfo();\n setSuccess(true);\n setTimeout(() => {\n setSuccess(false);\n }, 2000);\n };\n // const getClientNotificationTypes = async () => {\n // const { data } = await axios.get('/api/ClientProfile/GetClientNotificationTypes');\n // const mappedData = data.map((d: any) => ({ value: d.id, label: d.notificationType }));\n // setNotificationTypes(mappedData);\n // };\n const getPassWordLength = (length: number) =>{\n let str = \"\";\n for(let i = 0; i< length; i++ ){\n str += ' ';\n }\n setPasswordInputValue(str)\n }\n\n\n useEffect(() => {\n setLoading(true);\n getClientInfo();\n // getClientNotificationTypes();\n setLoading(false);\n }, [user?.id]);\n\n return (\n \n
My Profile
\n
\n
\n Name\n changeAccountInfo('firstName', e.target.value)}\n styles={{ input: { paddingLeft: 16 }, marginRight: 16 }}\n />\n changeAccountInfo('lastName', e.target.value)}\n styles={{ input: { paddingLeft: 16 } }}\n />\n
\n
\n
\n
\n Email\n changeAccountInfo('email', e.target.value)}\n styles={{ input: { paddingLeft: 16 } }}\n />\n
\n
\n
\n
\n Password\n \n
\n setOpenPasswordModal(true)}\n >\n Change Password\n \n
\n {/* {accountInfo?.clientContactId > 0 && (\n
\n
\n \n Notifications\n \n \n \n \n changeAccountInfo('contactNotificationTypes', e)}\n styles={multiSelectStyles}\n isMulti\n isClearable={false}\n placeholder={''}\n components={{\n IndicatorSeparator: null,\n }}\n />\n
\n
\n )} */}\n
\n
getClientInfo()}>\n
\n
\n \n
\n
\n {openPasswordModal && (\n setOpenPasswordModal(false)}\n userId={user.id}\n changePasswordUrl={'/api/clientaccount/ChangePassword'}\n confirmPasswordUrl={'/api/clientaccount/MatchUserPassword'}\n handleAfterChange={getClientInfo}\n />\n )}\n
\n );\n};\n\nexport default AccountSettingsPage;\n","import React, { useEffect, useState } from 'react';\nimport { useParams } from 'react-router';\nimport styled from '@emotion/styled';\nimport TopBar from '../Home/TopBar';\nimport { useUserContext } from '../../context/UserContext';\nimport { useSearchParams } from '../../context/SearchParamsContext';\nimport { useHistory } from 'react-router-dom';\nimport qs from 'qs';\nimport ProfilePage from './Profile/ProfilePage';\nimport UsersPage from './ClientUsers/UsersPage';\nimport CompanySettingsPage from './CompanySettings/CompanySettingsPage';\nimport axios from 'axios';\nimport AccountSettingsPage from './AccountSettings/AccountSettingsPage';\nimport { DropdownOption } from './types';\nimport Select from 'react-select';\n\nconst Tabs = styled.div`\n display: flex;\n justify-content: space-between;\n /* max-width: 1650px; */\n margin-left: 80px;\n margin-top: 40px;\n color: #8e8e93;\n cursor: pointer;\n width: 100%;\n`;\nconst customStyles = {\n container: (provided: any, state: any) => ({\n ...provided,\n width: 280,\n }),\n control: (provided: any, state: any) => ({\n ...provided,\n border: '1px solid #f5f5f5',\n height: 30,\n }),\n};\nconst Section = styled.div<{ border?: boolean }>`\n border-bottom: ${props => (props.border ? '4px solid #333' : '#fff')};\n padding: 0 32px 16px 16px;\n`;\n\nconst tabArray = [\n { value: 0, name: 'Company Info', route: 'info' },\n { value: 1, name: 'Company Settings', route: 'companysettings', accessLevel: 'Administrator' },\n { value: 2, name: 'Members', route: 'members', accessLevel: 'Administrator' },\n { value: 3, name: 'My Profile', route: 'myProfile' },\n];\n\ninterface Props {}\n\nconst Settings = (props: Props) => {\n const { user } = useUserContext();\n const [showleaveModal, setShowLeaveModal] = useState(false);\n const [indexToSelect, setIndexToSelect] = useState(0);\n const [clientJvs, setClientJvs] = useState([]);\n const [selectedClient, setSelectedClient] = useState();\n\n const { tab } = useParams<{ tab: string }>();\n const searchParams = useSearchParams();\n const history = useHistory();\n\n useEffect(() => {\n if (tab) {\n const index = tabArray.findIndex(\n t => t.route === tab && (user.permission === t.accessLevel || !t.accessLevel)\n );\n setIndexToSelect(index > -1 ? index : 0);\n }\n }, [tab]);\n\n useEffect(() => {\n if (user.clientId)\n axios.get(`/api/clientaccount/getClientAndJvs/${user.clientId}`).then(({ data }) => {\n const mappedData = data.map(jv => ({ value: jv.id, label: jv.name }));\n setClientJvs(mappedData);\n setSelectedClient(mappedData.find(d => d.value === user.clientId));\n });\n }, [user?.clientId]);\n\n useEffect(() => {}, [selectedClient]);\n const clientName = user.clientName;\n const headerSearch = () => {\n const queryString = qs.stringify({\n open: searchParams.isTopSearchOpen ? 1 : 0,\n query: searchParams.topSearchText,\n });\n document.title = '';\n history.push(`/home?${queryString}`);\n };\n\n const closeDetailsSearch = () => {\n searchParams.setTopSearchText('');\n searchParams.setIsTopSearchOpen(false);\n };\n\n return (\n
\n \n
\n
Settings
\n \n
\n {tabArray.map((ta, index) => {\n if(ta.accessLevel && ta.accessLevel !== user.permission){\n return null\n }\n return (\n {\n //setIndexToSelect(index);\n history.replace(`/settings/${ta.route}`);\n }}\n >\n {ta.name}\n \n );\n })}\n
\n
\n {clientJvs.length > 1 && indexToSelect < 3 && (\n <>\n
Company
\n setSelectedClient(client)}\n styles={customStyles}\n components={{\n IndicatorSeparator: null,\n }}\n />\n \n )}\n
\n
\n
\n {indexToSelect === 0 && }\n {indexToSelect === 1 && }\n {indexToSelect === 2 && }\n {indexToSelect === 3 && }\n
\n );\n};\n\nexport default Settings;\n","import Settings from \"./Settings\";\n\nexport default Settings;\n","import React, { useState } from 'react';\nimport styled from '@emotion/styled';\nimport { MinusIcon, SmallPlusIcon } from '../../components/icons';\nimport { IndividualSearch, InvoiceInfo } from './types';\n\nconst Wrapper = styled.div`\n border: 1px solid #e5e5ea;\n border-radius: 5px;\n padding: 24px;\n`;\n\nconst Info = styled.div`\n display: grid;\n grid-template-columns: 60% 10% 10% 10% 10%;\n grid-column-gap: 1%;\n padding: 16px 24px;\n border-top: 1px solid #e5e5ea;\n`;\nconst SeeMore = styled.div`\n \n color: #8e8e93;\n`;\nconst SeeMoreInner = styled.div`\n background-color: #fcfcfd;\n border-top: 1px solid #e5e5ea;\n color: #8e8e93;\n padding: 8px 80px;\n position: relative;\n`;\ninterface Props {\n invoiceDetails: IndividualSearch;\n}\nconst InvoiceDetails = (props: Props) => {\n const [collapseOpen, setCollapseOpen] = useState(false);\n\n return ( \n <> \n \n
{props.invoiceDetails?.feeType}
\n
{props.invoiceDetails?.quantity}
\n
${props.invoiceDetails?.price}
\n
{`${props.invoiceDetails?.townFee ? '$'+ props.invoiceDetails?.townFee : '-'}`}
\n
${props.invoiceDetails?.price + props.invoiceDetails?.townFee}
\n
\n {props.invoiceDetails.feeType === 'Municipal Searches:Municipal Package' && (\n setCollapseOpen(!collapseOpen)} style={{ cursor: 'pointer', borderTop: collapseOpen ? '1px solid #fcfcfd' : '1px solid #e5e5ea', backgroundColor: !collapseOpen ? '#fcfcfd' : '#fff'}}>\n
\n {!collapseOpen && (\n <>\n \n See More\n \n )}\n
\n {collapseOpen && (\n \n \n {props.invoiceDetails.searches.map(s => {\n return (\n <>\n
{s.searchType}
\n \n );\n })}\n
\n )}\n
\n )}\n \n );\n};\n\nexport default InvoiceDetails;\n","import React, { useEffect, useState } from 'react';\nimport styled from '@emotion/styled';\nimport TopBar from '../Home/TopBar';\nimport { useUserContext } from '../../context/UserContext';\nimport { useSearchParams } from '../../context/SearchParamsContext';\nimport { Link, useHistory, useParams } from 'react-router-dom';\nimport qs from 'qs';\nimport Button from '../../components/Button';\nimport { FiDownload } from 'react-icons/fi';\nimport { AlertIcon } from '../../components/icons';\nimport InvoiceDetails from './InvoiceDetails';\nimport axios from 'axios';\nimport { IndividualSearch, InvoiceInfo, OrderBillingDoc, Property } from './types';\nimport { convertToFileDownload } from '../../components/utilities/fileUtilities';\nimport { Loader } from 'semantic-ui-react';\n\nconst Wrapper = styled.div`\n padding: 80px 200px;\n`;\nconst WarningWrapper = styled.div`\n background-color: #fffcf5;\n border: 1px solid #f9f4ea;\n border-radius: 5px;\n display: flex;\n align-items: center;\n color: #968d7a;\n height: 72px;\n padding-left: 26px;\n margin-top: 16px;\n margin-bottom: 32px;\n`;\nconst Header = styled.div`\n background-color: #f7f7f9;\n color: #8e8e93;\n display: grid;\n grid-template-columns: 60% 10% 10% 10% 10%;\n grid-column-gap: 1%;\n padding: 8px 24px;\n`;\nconst Total = styled.div`\n display: grid;\n grid-template-columns: 71% 10% 10% 10%;\n grid-column-gap: 1%;\n padding: 16px 24px;\n border-top: 1px solid #e5e5ea;\n`;\nconst InnerWrapper = styled.div`\n border: 1px solid #e5e5ea;\n border-radius: 5px;\n padding: 8px 24px 24px 24px;\n`;\nconst InvoicePage = () => {\n const [invoiceDetails, setInvoiceDetails] = useState([]);\n const [generating, setGenerating] = useState(false);\n const { user } = useUserContext();\n const searchParams = useSearchParams();\n const { orderId, titleNumber } = useParams<{ orderId: string; titleNumber: string }>();\n const history = useHistory();\n const headerSearch = () => {\n const queryString = qs.stringify({\n open: searchParams.isTopSearchOpen ? 1 : 0,\n query: searchParams.topSearchText,\n });\n document.title = '';\n history.push(`/home?${queryString}`);\n };\n\n const closeDetailsSearch = () => {\n searchParams.setTopSearchText('');\n searchParams.setIsTopSearchOpen(false);\n };\n\n const createIndividualSearchFromInvoiceInfo = (invoiceInfo: InvoiceInfo) => {\n return {\n feeType: invoiceInfo.feeType,\n price: invoiceInfo.price,\n quantity: invoiceInfo.quantity,\n rate: invoiceInfo.rate,\n townFee: invoiceInfo.townFee,\n searches: invoiceInfo.searches,\n };\n };\n\n const formatInvoiceData = (apiInvoiceData: InvoiceInfo[]) => {\n const formattedData = apiInvoiceData.reduce((pre, cur) => {\n if (pre[cur.propertyId]) {\n pre[cur.propertyId].displaySearches.push(createIndividualSearchFromInvoiceInfo(cur));\n } else {\n pre[cur.propertyId] = { ...cur, displaySearches: [createIndividualSearchFromInvoiceInfo(cur)] };\n }\n return pre;\n }, {} as { [key: string]: InvoiceInfo });\n return Object.values(formattedData);\n };\n\n const getInvoiceDetails = async () => {\n const queryString = qs.stringify({ orderId });\n const { data } = await axios.get(`/api/clientorder/GetOrderBilling?${queryString}`);\n setInvoiceDetails(formatInvoiceData(data));\n };\n\n const generateBillingDoc = async () => {\n setGenerating(true);\n const { data } = await axios.post(`/api/clientorder/createBillingDoc/${orderId}`);\n convertToFileDownload(data.fileBase64, data.fileName);\n setGenerating(false);\n };\n\n const getTotalPrice = (data: IndividualSearch[], column: keyof IndividualSearch) => {\n return data.reduce((a, b)=> a + +b[column], 0)\n }\n useEffect(() => {\n getInvoiceDetails();\n }, []);\n return (\n <>\n \n \n
\n
\n Billing Statement - {titleNumber}\n
\n {\n generateBillingDoc();\n e.stopPropagation();\n }}\n buttonText=\"Download\"\n loadingStatus={generating}\n icon={generating ?
: }\n />\n
\n \n \n \n This statement may not be final and does not replace our regular invoice\n \n \n \n {invoiceDetails.map(id => {\n const totalTownFee = getTotalPrice(id.displaySearches, 'townFee');\n const subtotal = getTotalPrice(id.displaySearches, 'price');\n return (\n <>\n
{id.address}
\n
\n
\n
Details
\n
Qty
\n
Price
\n
Fee
\n
Total
\n
\n {id.displaySearches.map((search, i) => {\n return ;\n })}\n \n
Subtotal
\n
${subtotal}
\n
${totalTownFee}
\n
${subtotal + totalTownFee}
\n
\n
\n \n );\n })}\n
\n \n \n );\n};\n\nexport default InvoicePage;\n","/** @jsxRuntime classic */\n/** @jsx jsx */\n//@ts-nocheck\nimport { jsx } from '@emotion/react';\nimport camelcase from 'lodash.camelcase';\nimport React, { Component } from 'react';\nimport colors from '../../OrderEntry/css/colors';\n\nimport ButtonSpinner from '../../OrderEntry/ui/ButtonSpinner';\nimport highlight from '../../../components/Highlight';\nimport { SearchGlassIcon } from '../../OrderEntry/ui/icons';\n\nconst fieldWrap = {\n alignItems: 'center',\n border: '1px solid #e5e5ea',\n borderRadius: 5,\n color: colors.grey400,\n display: 'flex',\n height: 40,\n justifyContent: 'space-between',\n padding: '0 16px',\n width: '100%',\n '&:hover': {\n ' span': { color: colors.black },\n ' svg': { color: colors.black },\n },\n ' :focus-within': {\n border: `1px solid ${colors.blue}`,\n outline: 'none',\n color: colors.grey200,\n ' svg': { color: colors.blue },\n },\n ' input': {\n caretColor: colors.blue,\n width: '100%',\n height: '100%',\n },\n};\n\nconst filterWrap = {\n backgroundColor: colors.white,\n left: 0,\n overflow: 'hidden',\n position: 'absolute',\n // top: 77,\n width: '100%',\n zIndex: '151',\n height: 0,\n transition: 'all 200ms ease-in-out',\n boxShadow: '2px 2px 6px rgba(0, 0, 0, 0.15)'\n};\n\nconst openFilter = {\n height: 280,\n};\n\nconst innerDropDown = {\n border: `1px solid ${colors.grey400}`,\n borderRadius: 5,\n // marginTop: 8,\n maxHeight: 264,\n overflowY: 'scroll',\n padding: 16,\n};\n\nconst tableRowWrap = {\n height: 80,\n display: 'flex',\n paddingLeft: 16,\n position: 'relative',\n '&:before': {\n position: 'absolute',\n top: 0,\n right: 0,\n borderRadius: 5,\n left: 0,\n width: '100%',\n content: '\"\"',\n borderTop: `1px solid ${colors.grey300}`,\n },\n ':first-of-type': { '&:before': { borderTop: 'none' } },\n '&:hover': {\n borderRadius: 5,\n backgroundColor: colors.grey600,\n cursor: 'pointer',\n '&:before': { border: `1px solid ${colors.grey300}`, bottom: 0 },\n ' + div': { '&:before': { border: 'none' } },\n },\n};\n\nconst cellWrap = {\n display: 'inline-flex',\n justifyContent: 'center',\n flexDirection: 'column',\n width: 134,\n ' span': { color: colors.grey500 },\n};\n\nexport default class DropdownTable extends Component {\n state = {\n searchValue: '',\n };\n\n matchTextSearch = value => {\n const { searchValue } = this.state;\n return value?.toLowerCase().includes(searchValue?.toLowerCase())\n ? { color: colors.orange200 }\n : '';\n };\n\n handleItemClick = (e, i) => {\n const { onClick, onItemClick } = this.props;\n onClick(e);\n onItemClick(i);\n this.setState({ searchValue: '' });\n };\n\n getRequiredStar = showRequired => {\n if (showRequired) {\n return *;\n }\n return '';\n };\n\n render() {\n const {\n isDropdown,\n itemList,\n label,\n width,\n styles,\n onTextChange,\n onClick,\n onItemClick,\n loadingStatus,\n showRequired,\n onBlur\n } = this.props;\n const fieldWidth = { width: width || 250 };\n return (\n
\n {label && (\n
\n {label} {this.getRequiredStar(showRequired)}\n
\n )}\n
\n \n {\n this.setState({searchValue: e.target.value});\n onTextChange(e);\n }}\n onBlur={(e) => onBlur && onBlur(e)}\n />\n {loadingStatus && (\n \n \n \n )}\n
\n {this.props.municipalityError && (\n
\n Select municipality before saving the unvalidated property\n
\n )}\n {isDropdown &&
\n
\n {itemList.map(i => (\n
\n this.handleItemClick(e, i)}\n >\n
\n State\n \n
\n
\n County\n \n
\n
\n {i.municipalityType}\n \n
\n
\n {i.subMunicipality && (\n \n {i.subMunicipalityType}\n \n \n )}\n {i.hamletName && (\n \n Hamlet\n \n \n )}\n
\n {i.swisCode && (\n
\n Swis Code\n \n
\n )}\n
\n
\n ))}\n
\n
}\n
\n );\n }\n}\n","//@ts-nocheck\nimport React from 'react';\nimport colors from '../../OrderEntry/css/colors';\n\nconst cityBarWrap = {\n backgroundColor: colors.grey600,\n borderRadius: 5,\n display: 'flex',\n marginTop: 20,\n padding: '0 16px',\n position: 'relative',\n minWidth: 552.85,\n justifyContent: 'flex-start',\n height: 48,\n};\n\nconst cellWrap = {\n display: 'inline-flex',\n justifyContent: 'center',\n flexDirection: 'column',\n fontFamily: 'IBM Plex Sans',\n gap: 3,\n minWidth: 116,\n ' span': { color: colors.grey300 },\n};\n\nexport default function SelectedCityBar({ city, icon }) {\n const { county, municipality, municipalityType, subMunicipality, subMunicipalityType, swisCode, stateCode, hamletName } = city;\n return (\n
\n
{icon}
\n
\n State\n {stateCode}\n
\n
\n County\n {county}\n
\n
\n {municipalityType}\n {municipality}\n
\n {subMunicipalityType && (\n
\n {subMunicipalityType}\n {subMunicipality}\n
\n )}\n {hamletName && (\n
\n Hamlet\n {hamletName}\n
\n )}\n {swisCode && (\n
\n Swis Code\n {swisCode}\n
\n )}\n
\n );\n}\n","import React, { useCallback, useEffect, useState } from 'react';\nimport styled from '@emotion/styled';\nimport DropdownTable from './DropdownTable';\nimport debounce from 'lodash.debounce';\nimport produce from 'immer';\nimport axios from 'axios';\nimport qs from 'qs';\nimport SelectedCityBar from './SelectedCityBar';\nimport { PropertyForm, SelectedCity } from '../types';\nimport { XIcon } from '../../../components/icons';\n\ninterface Props {\n property?: PropertyForm;\n changePropertyInfo: (label: keyof Partial, value: any) => void;\n setPropertyInfo?: (p: any) => void;\n state: any;\n}\nconst Municipality = (props: Props) => {\n const [isDropdown, setIsDropdown] = useState(false);\n const [cityOptions, setCityOptions] = useState([]);\n const [cityLoaderStatus, setCityLoaderStatus] = useState(false);\n const [selectedItem, setSelectedItem] = useState(false);\n const baseSelectedCity: SelectedCity = {\n county: '',\n municipality: '',\n municipalityId: null,\n municipalityType: '',\n stateCode: '',\n stateName: '',\n subMunicipality: '',\n subMunicipalityId: null,\n subMunicipalityType: '',\n swisCode: '',\n rpadSwisCode: '',\n countyId: null,\n id: null,\n municipalityTypeId: null,\n subMunicipalityTypeId: null,\n hamletId: null,\n hamletName: '',\n };\n const handleSelectedCity = (item: SelectedCity) => {\n const property: PropertyForm = {\n id: props.property.id,\n address: props.property.address,\n section: props.property.section,\n block: props.property.block,\n lot: props.property.lot,\n owners: props.property.owners,\n qualifier: props.property.qualifier,\n unit:props.property.unit,\n selectedCity: item,\n };\n props.setPropertyInfo(property);\n setIsDropdown(false);\n setSelectedItem(true)\n };\n\n const getCityOptions = useCallback(\n debounce(async (value, state) => {\n setCityLoaderStatus(true);\n const params = qs.stringify({\n searchValue: value,\n locationTypeId: state.value > 0 ? state.value : null\n })\n const { data } = await axios.get(`/api/clientproperty/GetCityOptions?${params}`);\n setCityOptions(data.filter((d, i) => i < 100));\n setIsDropdown(data.length ? true : false);\n setCityLoaderStatus(false);\n }, 600),\n []\n );\n const deleteMuni = () => {\n props.changePropertyInfo('selectedCity', baseSelectedCity);\n };\n useEffect(() => {\n window.addEventListener('click', () => {\n setIsDropdown(false);\n });\n return () => {\n window.removeEventListener('click', () => {\n setIsDropdown(false);\n });\n };\n }, []);\n\n return (\n <>\n
\n
Municipality
\n
\n {(props.property?.selectedCity?.municipalityId || false) &&\n props.property?.selectedCity?.municipalityId ? (\n } />\n ) : (\n
\n {\n getCityOptions(e.target.value, props.state);\n e.stopPropagation();\n }}\n onClick={() => {}}\n onItemClick={e => {\n handleSelectedCity(e);\n }}\n // onBlur={e => {\n // if (!selectedItem) {\n // props.changePropertyInfo('undeterminedLocality', e.target.value);\n // }\n // }}\n loadingStatus={cityLoaderStatus}\n styles={{ svg: { display: 'none' } }}\n />\n
\n )}\n
\n
\n \n );\n};\n\nexport default Municipality;\n","import * as React from 'react';\nimport styled from '@emotion/styled';\nimport produce from 'immer';\nimport Highlight from '../../../components/Highlight';\nimport { PropertyMatch, SelectedCity} from '../types';\n\nconst OuterWrapper = styled.div`\n padding: 4px 8px;\n background-color: #fff;\n z-index: 500;\n`;\nconst Row = styled.div`\n display: flex;\n //grid-template-columns: 25% 10% 26% 18% 35%;\n //grid-column-gap: 1%;\n gap: 8px;\n z-index: 500;\n padding: 8px 16px;\n cursor: pointer;\n :hover {\n background: #f7f7f9;\n border-radius: 4px;\n }\n`;\ninterface Props {\n matches: Array;\n handleOnSave?: (match: any[]) => void;\n searchText: string;\n propertyIndex?: number;\n handleClick?: (m: any, s: SelectedCity) => void;\n property: any;\n}\n\nfunction AddressResults(props: Props) {\n return (\n
\n {props.matches?.map(m => {\n return (\n \n {\n props.handleClick(m, props.property.selectedCity);\n }}\n >\n
{Highlight(m.address, props.searchText)}
\n
{m.aptNo}
\n
\n {m.muniTypes.map((mt, index) => {\n const trimmed = mt?.name.trim()\n return {`${index > 0 ? ', ' : ''}${trimmed}`};\n })}\n
\n
\n {m.property.section}{' '}\n {m.property.block} {m.property.lot} {m.property.qualifier && m.property.qualifier}\n
\n
\n {m.owners.map((owner, index) => {\n return
{owner}
;\n })}\n
\n \n
\n );\n })}\n
\n );\n}\n\nexport default AddressResults;\n","import React, { useEffect, useState } from 'react';\nimport InfiniteScroll from 'react-infinite-scroll-component';\nimport styled from '@emotion/styled';\nimport { PropertyForm, PropertyMatch, Result, SelectedCity } from '../types';\nimport { Loader } from 'semantic-ui-react';\nimport AddressResults from './AddressResults';\n\nconst Input = styled.input`\n border: 1px solid #e5e5ea;\n border-radius: 5px;\n height: 40px;\n :focus {\n outline: none;\n }\n`;\n\ninterface Props {\n findMatches: any;\n typeAheadMatches: any;\n callRpadValidation: any;\n property: PropertyForm;\n setProperty: React.Dispatch>;\n setTypeAheadMatches: React.Dispatch>;\n isLoading: boolean;\n changePropertyInfo: any;\n setAddressResultClicked: React.Dispatch>;\n state: { value: number; label: string }\n}\nexport default function AddressFieldTypeAhead(props: Props) {\n const [resultCount, setResultCount] = useState(15);\n const [searchTerm, setSearchTerm] = useState('');\n useEffect(() => {\n window.addEventListener('click', () => {\n props.setTypeAheadMatches([])\n });\n return () => {\n window.removeEventListener('click', () => {\n props.setTypeAheadMatches([])\n });\n };\n }, []);\n return (\n
\n
\n \n {\n props.changePropertyInfo('address', e.target.value);\n props.findMatches(e, props.property, 15, props.setTypeAheadMatches);\n setSearchTerm(e.target.value);\n }}\n value={props.property.address || ''}\n />\n \n \n \n
\n {props.typeAheadMatches?.results?.length > 0 && (\n \n {\n const newResultCount = resultCount + 15;\n props.callRpadValidation(searchTerm, props.property, newResultCount, props.setTypeAheadMatches, false, props.state);\n setResultCount(newResultCount);\n }}\n hasMore={props.typeAheadMatches.results.length !== props.typeAheadMatches.totalCount}\n loader={
Loading...
}\n scrollThreshold={0.2}\n scrollableTarget=\"infiniteDiv\"\n >\n {\n const property: PropertyForm = {\n id: r.id,\n rpadId:r.rpadId,\n address: r.address,\n unit: r.aptNo,\n section: r.property.section,\n block: r.property.block,\n lot: r.property.lot,\n owners: r.owners,\n qualifier: r.property.qualifier,\n selectedCity: s.municipalityId\n ? s\n : {\n county: r.muniTypes[0]?.name,\n countyId: r.muniTypes[0]?.id,\n municipality: r.muniTypes[1]?.name,\n municipalityId: r.muniTypes[1]?.id,\n municipalityType: r.muniTypes[1]?.type,\n subMunicipality: r.muniTypes[2]?.name,\n subMunicipalityType: r.muniTypes[2]?.type,\n subMunicipalityId: r.muniTypes[2]?.id,\n swisCode: r.muniTypes[2]?.swisCode || r.muniTypes[1]?.swisCode,\n stateCode: r.muniTypes[0]?.stateCode,\n stateName: r.muniTypes[0]?.state,\n },\n };\n props.setProperty(property);\n props.setAddressResultClicked(true)\n props.setTypeAheadMatches([])\n }}\n property={props.property}\n \n />\n \n
\n )}\n \n );\n}\n","import React, { useEffect } from 'react';\nimport styled from '@emotion/styled';\nimport { PropertyForm, PropertyMatch } from '../types';\nimport { Loader } from 'semantic-ui-react';\nimport AddressFieldTypeAhead from './AddressFieldTypeAhead';\n\nconst Input = styled.input`\n border: 1px solid #e5e5ea;\n border-radius: 5px;\n height: 40px;\n :focus {\n outline: none;\n }\n`;\n\ninterface Props {\n changePropertyInfo: (label: keyof Partial, value: any) => void;\n index?: number;\n property: PropertyForm;\n findMatches?: (e: any) => void;\n isLoading: boolean;\n callRpadValidation: any;\n setProperty: React.Dispatch>;\n setTypeAheadMatches: React.Dispatch>;\n typeAheadMatches: any;\n setAddressResultClicked: React.Dispatch>;\n state: any;\n}\n\nconst PropertySection = (props: Props) => {\n useEffect(() => {}, [props.property]);\n\n return (\n
\n
\n \n
\n \n props.changePropertyInfo('unit', e.target.value)}\n value={props.property.unit || ''}\n />\n
\n
\n\n
\n {props.state.label !== 'NJ' &&
\n \n props.changePropertyInfo('section', e.target.value)}\n value={props.property.section || ''}\n />\n
}\n
\n \n props.changePropertyInfo('block', e.target.value)}\n value={props.property.block || ''}\n />\n
\n
\n \n props.changePropertyInfo('lot', e.target.value)}\n value={props.property.lot || ''}\n />\n
\n {props.state.label === 'NJ' &&
\n \n props.changePropertyInfo('qualifier', e.target.value)}\n value={props.property.qualifier || ''}\n />\n
}\n
\n
\n \n props.changePropertyInfo('owners', e.target.value)}\n value={props.property.owners || ''}\n />\n
\n
\n );\n};\n\nexport default PropertySection;\n","import React from 'react';\nimport styled from '@emotion/styled';\nimport { PropertyMatch, Result } from '../types';\n\nconst Details = styled.div`\n display: grid;\n grid-template-columns: 18% 16% 10% 8% 8% 8% 25%;\n grid-column-gap: 1%;\n border-bottom: 1px solid #e5e5ea;\n border-right: 1px solid #e5e5ea;\n border-left: 1px solid #e5e5ea;\n padding: 20px 16px;\n margin: 0 16px;\n cursor: pointer;\n :hover {\n background-color: #e5e5ea;\n }\n`;\ninterface Props {\n propertyResult: Result;\n isNj:boolean;\n onPropertyClick: () => void;\n}\n\nconst PropertyResults = (props: Props) => {\n return (\n
\n
\n
{props.propertyResult.address}
\n
\n {props.propertyResult.muniTypes.map((mt, index) => {\n const trimmed = mt?.name.trim();\n return {`${index > 0 ? ', ' : ''}${trimmed}`};\n })}\n
\n
{props.propertyResult.muniTypes[2]?.swisCode || props.propertyResult.muniTypes[1]?.swisCode || props.propertyResult.swis}
\n {!props.isNj &&
{props.propertyResult.property.section}
}\n
{props.propertyResult.property.block}
\n
{props.propertyResult.property.lot}
\n {props.isNj &&
{props.propertyResult.property.qualifier}
}\n
{props.propertyResult.owners}
\n
\n
\n );\n};\n\nexport default PropertyResults;\n","import React, { useCallback, useEffect, useState } from 'react';\nimport styled from '@emotion/styled';\nimport Select from 'react-select';\nimport axios from 'axios';\nimport { PropertyForm, PropertyMatch, Result } from '../types';\nimport Municipality from './Municipality';\nimport PropertySection from './PropertySection';\nimport produce from 'immer';\nimport Button from '../../../components/Button';\nimport qs from 'qs';\nimport PropertyResults from '../PropertyResults';\nimport debounce from 'lodash.debounce';\nimport { Loader } from 'semantic-ui-react';\nimport { useHistory, useLocation } from 'react-router-dom';\n\nconst customStyles = {\n container: (provided: any, state: any) => ({\n ...provided,\n marginTop: 8,\n width: 630,\n }),\n control: (provided: any, state: any) => ({\n ...provided,\n border: '1px solid #e5e5ea',\n height: 40,\n }),\n};\nconst Header = styled.div`\n display: grid;\n grid-template-columns: 18% 16% 10% 8% 8% 8% 25%;\n grid-column-gap: 1%;\n color: #acacb1;\n font-weight: bold;\n border: 1px solid #e5e5ea;\n border-radius: 6px 6px 0px 0px;\n padding: 16px;\n margin: 16px 16px 0px 16px;\n background-color: #f9f9fa;\n`;\nconst AddressInfo = () => {\n const createProperty = () => {\n const property: PropertyForm = {\n id: '',\n address: '',\n unit: '',\n section: '',\n block: '',\n lot: '',\n owners: null,\n qualifier: '',\n selectedCity: {\n county: '',\n municipality: '',\n municipalityId: null,\n municipalityType: '',\n stateCode: '',\n stateName: '',\n subMunicipality: '',\n subMunicipalityId: null,\n subMunicipalityType: '',\n swisCode: '',\n rpadSwisCode: '',\n countyId: null,\n id: null,\n municipalityTypeId: null,\n subMunicipalityTypeId: null,\n hamletId: null,\n hamletName: '',\n },\n };\n\n return property;\n };\n const [property, setProperty] = useState(createProperty());\n const [matches, setMatches] = React.useState();\n const [state, setState] = useState({ value: null, label: '' });\n const [isLoading, setIsLoading] = useState(false);\n const [searchText, setSearchText] = useState('');\n const [typeAheadMatches, setTypeAheadMatches] = useState([]);\n const [resultsLoading, setResultsLoading] = useState(false);\n const [addressResultClicked, setAddressResultClicked] = useState(false);\n const history = useHistory();\n const location = useLocation();\n const isNj = state.value == 3;\n const locationList = [\n { value: 1, label: 'NY State' },\n { value: 2, label: 'NYC' },\n { value: 3, label: 'NJ' },\n ];\n const changePropertyInfo = (label: keyof Partial, value: any) => {\n const newProperty = produce(property, draft => {\n (draft[label] as keyof PropertyForm) = value;\n });\n if (addressResultClicked) {\n setAddressResultClicked(false);\n }\n setProperty(newProperty);\n };\n const boroMapper = {\n Manhattan: '1',\n Bronx: '2',\n Brooklyn: '3',\n Queens: '4',\n 'Staten Island': '5',\n };\n const getNumberOfBorough = boroughName => {\n return boroMapper[boroughName];\n };\n const findMatches = useCallback(\n debounce(\n async (\n e: any,\n property: PropertyForm,\n pageSize: number,\n setFunction: React.Dispatch>\n ) => {\n setIsLoading(true);\n e.preventDefault();\n setSearchText(e.target.value);\n await callRpadValidation(e.target.value, property, pageSize, setFunction, false, state);\n setIsLoading(false);\n },\n 600\n ),\n [state]\n );\n\n const callRpadValidation = async (\n value: string,\n property: PropertyForm,\n returnCount: number = 30,\n setFunction: any = setMatches,\n isPropertyResults: boolean,\n state: { value: number; label: string }\n ) => {\n isPropertyResults && setResultsLoading(true);\n const queryOptions = {\n address: value || property.address,\n section: property.section,\n block: property.block || undefined,\n lot: property.lot || undefined,\n qualifier: property.qualifier,\n owner: property.owners,\n swiss: property.selectedCity?.swisCode || undefined,\n borough: getNumberOfBorough(property.selectedCity?.municipality),\n returnCount,\n };\n const stringifiedParams = qs.stringify(queryOptions);\n const baseUrl = `/api/clientproperty/validateRpad/${\n !state?.value ? 'default' : state.value == 3 ? 'NJ' : state.value == 2 ? 'NYC' : 'NYS'\n }`;\n const { data } = await axios.get(`${baseUrl}?${stringifiedParams}`);\n setFunction(data);\n isPropertyResults && setResultsLoading(false);\n };\n\n const onClear = () => {\n setState({ value: 0, label: '' });\n setAddressResultClicked(false);\n setMatches(null);\n setProperty({\n id: '',\n address: '',\n unit: '',\n section: '',\n block: '',\n lot: '',\n owners: null,\n qualifier: '',\n selectedCity: {\n county: '',\n municipality: '',\n municipalityId: null,\n municipalityType: '',\n stateCode: '',\n stateName: '',\n subMunicipality: '',\n subMunicipalityId: null,\n subMunicipalityType: '',\n swisCode: '',\n rpadSwisCode: '',\n countyId: null,\n id: null,\n municipalityTypeId: null,\n subMunicipalityTypeId: null,\n hamletId: null,\n hamletName: '',\n },\n });\n history.replace('/address-lookup');\n };\n\n const onSearch = () => {\n const params = qs.stringify({ ...property, state });\n history.replace(`/address-lookup?${params}`);\n };\n\n useEffect(() => {\n const property: any = qs.parse(location.search.slice(1));\n if (Object.keys(property).length > 0) {\n callRpadValidation('', property, 30, setMatches, true, property.state);\n setProperty({ ...property, state: undefined });\n setState(property.state || { value: null, label: '' });\n } else {\n setState({ value: 0, label: '' });\n setAddressResultClicked(false);\n setMatches(null);\n setProperty({\n id: '',\n address: '',\n unit: '',\n section: '',\n block: '',\n lot: '',\n owners: null,\n qualifier: '',\n selectedCity: {\n county: '',\n municipality: '',\n municipalityId: null,\n municipalityType: '',\n stateCode: '',\n stateName: '',\n subMunicipality: '',\n subMunicipalityId: null,\n subMunicipalityType: '',\n swisCode: '',\n rpadSwisCode: '',\n countyId: null,\n id: null,\n municipalityTypeId: null,\n subMunicipalityTypeId: null,\n hamletId: null,\n hamletName: '',\n },\n });\n }\n }, [location.search]);\n\n return (\n <>\n
\n
Location
\n ({\n label: l.label,\n value: l.value,\n }))}\n onChange={e => {\n setState(e);\n }}\n styles={customStyles}\n components={{\n IndicatorSeparator: null,\n }}\n />\n {state.label && (\n <>\n \n \n
\n \n {\n addressResultClicked\n ? history.push(`/property-info/${property.rpadId}/${state.label}`)\n : onSearch();\n }}\n />\n
\n \n )}\n
\n {matches && (\n
\n
\n
Street Address
\n
Municipality
\n
Muni Code
\n {!isNj &&
Section
}\n
Block
\n
Lot
\n {isNj &&
Qualifier
}\n
Owner Name
\n
\n
\n )}\n {resultsLoading && (\n \n \n \n )}\n {matches &&\n matches?.results.map((r, i) => {\n return (\n {\n history.push(`/property-info/${r.rpadId}/${state.label}`);\n }}\n />\n );\n })}\n \n );\n};\n\nexport default AddressInfo;\n","import React from 'react';\nimport styled from '@emotion/styled';\nimport TopBar from '../Home/TopBar';\nimport qs from 'qs';\nimport { useSearchParams } from '../../context/SearchParamsContext';\nimport { useHistory } from 'react-router-dom';\nimport { useUserContext } from '../../context/UserContext';\nimport AddressInfo from './AddressInfo';\nimport AddressResults from './PropertyResults';\n\nconst AddressLookup = () => {\n const { user } = useUserContext();\n const searchParams = useSearchParams();\n const history = useHistory();\n const headerSearch = () => { \n const queryString = qs.stringify({\n open: searchParams.isTopSearchOpen ? 1 : 0,\n query: searchParams.topSearchText,\n });\n document.title = '';\n history.push(`/home?${queryString}`);\n };\n\n const closeDetailsSearch = () => {\n searchParams.setTopSearchText('');\n searchParams.setIsTopSearchOpen(false);\n };\n return (\n <>\n \n
\n \n Property Lookup\n
\n \n \n \n );\n};\n\nexport default AddressLookup;\n","import React from 'react';\nimport styled from '@emotion/styled';\nimport { ArrowIcon, PrintIcon } from '../../../components/icons';\nimport Button from '../../../components/Button';\nimport { FiDownload } from 'react-icons/fi';\nimport { PlusIcon } from '../../OrderEntry/ui/icons';\nimport { Result } from '../types';\nimport { useHistory } from 'react-router-dom';\n\nconst OrderButton = styled.button`\nbackground-color: #1E8EDF;\npadding: 11px 16px;\nborder-radius: 6px;\ncolor:#fff;\nborder:none;\ncursor: pointer;\n`;\ninterface Props {\n property: Result;\n}\nconst TopBarActions = (props: Props) => {\n const history = useHistory();\n return (\n
\n
\n
{props.property?.address}
\n
\n
\n {\n e.stopPropagation();\n window.print();\n }}\n buttonType=\"ButtonSecondaryMedium\"\n buttonText=\"Print\"\n icon={}\n width={'87px'}\n />\n {/* {\n e.stopPropagation();\n }}\n buttonType=\"ButtonSecondaryMedium\"\n buttonText=\"Download as PDF\"\n icon={}\n width={'168px'}\n /> */}\n
\n {\n history.push(`/new-order/${props.property.rpadId}/${props.property?.muniTypes[0]?.stateCode}`);\n e.stopPropagation();\n }}>Convert to Order\n
\n
\n
\n );\n};\n\nexport default TopBarActions;\n","import React, { Fragment, useState } from 'react';\nimport { Icon } from 'semantic-ui-react';\nimport { CopyIcon } from './icons';\n\ninterface Props {\n style: any;\n textToCopy: string;\n afterCopyText?: string;\n}\nconst CopyComponent = (props: Props) => {\n const [copied, setCopied] = useState(false);\n const handleCopiedClick = () => {\n setCopied(true);\n setTimeout(() => {\n setCopied(false);\n }, 1000);\n };\n const onCopyClick = (text: string) => {\n navigator.clipboard.writeText(text.trim());\n handleCopiedClick();\n };\n\n return (\n
\n {!copied && (\n {\n e.stopPropagation();\n onCopyClick(props.textToCopy);\n }}\n />\n )}\n {copied && (\n
\n {props.afterCopyText || 'Copied!'}\n
\n )}\n
\n );\n};\n\nexport default CopyComponent;\n","import React from 'react';\nimport styled from '@emotion/styled';\nimport { Result } from '../types';\nimport { CopyIcon } from '../../../components/icons';\nimport CopyComponent from '../../../components/CopyComponent';\n\nconst OuterBox = styled.div`\n box-shadow: 0px 12px 24px -4px rgba(145, 158, 171, 0.12);\n border-radius: 6px;\n width: 440px;\n margin-top: 8px;\n`;\nconst InnerBox = styled.div`\n padding: 8px 16px;\n`;\nconst HeaderInfo = styled.div`\n font-weight: bold;\n margin-top: 30px;\n background: #f7f7f9;\n border-radius: 6px 6px 0px 0px;\n padding: 24px 16px;\n font-size: 18px;\n border-bottom: 1px solid #e5e5ea;\n`;\ninterface Props {\n property: Result;\n}\nconst PropertyInformation = (props: Props) => {\n return (\n <>\n \n Property Information\n \n
Street Address
\n
{props.property?.address}
\n
\n \n
Municipality
\n
{props.property?.muniTypes[1].name}
\n
\n \n
County
\n
{props.property?.muniTypes[0].name}
\n
\n \n
\n
\n
State
\n
{props.property?.muniTypes[0].stateCode}
\n
\n {props.property.zipCode && (\n
\n
ZIP Code
\n
{props.property.zipCode}
\n
\n )}\n
\n
\n \n
\n {props.property?.muniTypes[0].stateCode !== 'NJ' &&
Section
}{' '}\n
Block
Lot
{' '}\n {props.property?.muniTypes[0].stateCode === 'NJ' &&
Qualifier
}\n
\n
\n {props.property?.muniTypes[0].stateCode !== 'NJ' && (\n
{props.property?.property.section}
\n )}\n
{props.property?.property.block}
\n
{props.property?.property.lot}
\n {props.property?.muniTypes[0].stateCode === 'NJ' && (\n
{props.property.property?.qualifier}
\n )}\n \n
\n
\n {props.property?.property.propertyClass && (\n \n
Building Class
\n
{props.property.buildingDescription || props.property?.property.propertyClass}
\n
\n )}\n
\n \n );\n};\n\nexport default PropertyInformation;\n","import React from 'react';\nimport styled from '@emotion/styled';\nimport { Result } from '../types';\nimport { NumericFormat } from 'react-number-format';\n\nconst OuterBox = styled.div`\n box-shadow: 0px 12px 24px -4px rgba(145, 158, 171, 0.12);\n border-radius: 6px;\n width: 440px;\n margin-top: 8px;\n`;\nconst InnerBox = styled.div`\n padding: 8px 16px;\n`;\nconst HeaderInfo = styled.div`\n font-weight: bold;\n margin-top: 30px;\n background: #f7f7f9;\n border-radius: 6px 6px 0px 0px;\n padding: 24px 16px;\n font-size: 18px;\n border-bottom: 1px solid #E5E5EA;\n`;\ninterface Props{\n property: Result;\n }\nconst AssessmentInformation = (props:Props) => {\n return (\n <>\n \n Assessment Data\n \n
Land Value
\n \n
\n {props.property?.improvement && \n
Improvement
\n \n
}\n \n
Total
\n \n
\n \n
\n \n );\n};\n\nexport default AssessmentInformation;\n","import React from 'react';\nimport styled from '@emotion/styled';\nimport { Result } from '../types';\n\nconst OuterBox = styled.div`\n box-shadow: 0px 12px 24px -4px rgba(145, 158, 171, 0.12);\n border-radius: 6px;\n width: 440px;\n margin-top: 8px;\n`;\nconst InnerBox = styled.div`\n padding: 8px 16px;\n`;\nconst HeaderInfo = styled.div`\n font-weight: bold;\n margin-top: 30px;\n background: #f7f7f9;\n border-radius: 6px 6px 0px 0px;\n padding: 24px 16px;\n font-size: 18px;\n border-bottom: 1px solid #E5E5EA;\n`;\ninterface Props{\n property: Result;\n}\nconst OwnershipInformation = (props:Props) => {\n return (\n \n Ownership Information\n \n
Owner Name
\n
{props.property?.owners}
\n
\n {props.property?.mailingAddress && \n
Mailing Address
\n
{props.property?.mailingAddress}
\n
}\n
\n );\n};\n\nexport default OwnershipInformation;\n","import React from 'react';\nimport styled from '@emotion/styled';\nimport GoogleMaps from '../../../../src/components/GoogleMaps.png';\nimport { Result } from '../types';\nconst OuterWrap = styled.div`\n width: 600px;\n height: 400px;\n margin-top: 30px;\n margin-bottom:30px;\n margin-left: 35px;\n`;\nconst HeaderInfo = styled.div`\n font-weight: bold;\n margin-top: 8px;\n background: #f7f7f9;\n border-radius: 6px 6px 0px 0px;\n padding: 24px 16px;\n font-size: 18px;\n border-bottom: 1px solid #e5e5ea;\n`;\ninterface Props {\n property: Result;\n}\nconst StreetViewMap = (props: Props) => {\n return (\n \n \n Google Maps Street View\n \n \"\"\n \n \n \n \n );\n};\n\nexport default StreetViewMap;\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAbCAYAAACN1PRVAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAANPSURBVHgB3ZZbbAxRGMe/c2ZmL7PLtq5x1xKJ0iCoRkOEB7GEkhBEI8GLSxPxICKprLjEAy9Wgkb1RaO6UZHQrSZ9qAcq8SARWtVWoxfsRpluu93LzHzOlDLdzrazfSDxfzlnvvN9/9+5bhbgfxUxm7jI0z2bWvCgCmoOQUxjIYkSUp3lctwvPyq2m/EYFZZ5qdslyvIVIGQ/++R1lZjhtPXZOc4GiDcpihfLC0nXmGHLPMHpMg+PkMCyhCF1msMaThd4558QfYVU3eI7LHYm86PJBnDdOt7bdqbCpfRkJ45NtAq9aQLvSOAvJSo88HiQpgwLTrUWLOz/kHe19UJ0ejQQG4yLHO2bYhNEYrwrKxsm9+xLGUaBHNPaOZEuR+n70yQ7/C7CE/g0d5zdQ4HbjggntTnpa5DrlUOzzh1L5ml4Zt/3bs5UFKWJdbnBWIxyTbfmFeQXnd/dMBjb6Y1mUyrXIZB0BoqHJ5fEFFuLAyifUb3pRtvwBRhIRVylBzEpzlUtZXqQJl+h9TW7PNe1fn96ZWgANJCt5Br58mBIU8frP+0bmkN8djBolMouRUdkYqUkO19O+L0CAmmmYaoKAfJrzbaVnbJlcUArzjLK7Z/kWxAbVz/kZrKdCRjlGm6jRbY/ZY0izP8qWXI//gwiHMEXrp36vAL/3h0x57MDALJ+0krcZq0z8k36qKUTqx+K2966iaDqjEg/m7cfCW3skJ2Zp3rX50uq1Ta0EmuqN5dsNPI0PjMmMf/NVcLj1gQjOwPuCCmCfDa0JiZhIgjYi6beZJ5J35mwVqplzd3EeByp7A2viHxGp5g4xm5mRY57RhWkCtPEof04IdCkj92LZPU9j890Dksm0E5BKfQQjwpjgZG8LwHKkSMMOGBQE834Vh7JchmkskWph/zu0uBIfiPCBoA5Ui17CufqYzN6SyNL7IY5hBb53bdrRvMaFaZJyOvxeMPLG0KqxTYMBFAP0H7ZjI8pmKYeEPcQhNaEcKcqY4Hf7Y+a8TAN87uLW9jZndfHEKDoybaSZrMepmGaZk6ld1jTqPXZ9jWM75PKUqlPCVa8ojhOCJZofUS85tvli6VSnxJME0GrtjqV/bI/hr+hTVWHctmBmf4b+E/0A39MKclhiMKAAAAAAElFTkSuQmCC\"","import React, { useEffect, useState } from 'react';\nimport styled from '@emotion/styled';\nimport TopBarActions from './TopBarActions';\nimport TopBar from '../../Home/TopBar';\nimport { useUserContext } from '../../../context/UserContext';\nimport { useSearchParams } from '../../../context/SearchParamsContext';\nimport { useHistory, useParams } from 'react-router-dom';\nimport qs from 'qs';\nimport PropertyInformation from './PropertyInformation';\nimport AssessmentInformation from './AssessmentInformation';\nimport { NjPropertyLookup, Property, PropertyMatch, Result } from '../types';\nimport axios from 'axios';\nimport OwnershipInformation from './OwnershipInformation';\nimport StreetViewMap from './StreetViewMap';\nimport TaxMap from './TaxMap';\nimport { Loader } from 'semantic-ui-react';\nimport { trimEnd } from '../../../components/utilities/functions';\n\nconst PropertyInfo = () => {\n const { user } = useUserContext();\n const searchParams = useSearchParams();\n const history = useHistory();\n const [property, setProperty] = useState();\n const { propertyId, location } = useParams<{ propertyId: string; location: string }>();\n const headerSearch = () => {\n const queryString = qs.stringify({\n open: searchParams.isTopSearchOpen ? 1 : 0,\n query: searchParams.topSearchText,\n });\n document.title = '';\n history.push(`/home?${queryString}`);\n };\n\n const closeDetailsSearch = () => {\n searchParams.setTopSearchText('');\n searchParams.setIsTopSearchOpen(false);\n };\n\n const getPropertyInfo = async () => {\n const queryOptions = {\n rpadId: propertyId,\n };\n const stringifiedParams = qs.stringify(queryOptions);\n const baseUrl = `/api/clientproperty/validateRpad/${location}`;\n const { data } = await axios.get(`${baseUrl}?${stringifiedParams}`);\n const property = data.results[0];\n axios.post(`/api/clientProperty/UploadPropertyData`, {\n clientId: user.clientId,\n address: property.address,\n section: property.property.section,\n block: property.property.block,\n lot: property.property.lot,\n qualifier: property.property.qualifier,\n municipalityId: property.muniTypes[1].id,\n subMunicipalityId: property.muniTypes[2]?.id,\n propertyResultJson: JSON.stringify(property),\n });\n if (data.totalCount > 1) {\n //handle this\n } else {\n const description = await getBuildingClassByCode(property.property.propertyClass);\n if (property.muniTypes[0].stateCode === 'NJ') {\n const data = await getPropertyLookupInfoNj(property);\n property.zipCode = data?.result?.countyData?.P_Zip;\n }\n setProperty({ ...property, buildingDescription: description });\n }\n };\n const getBuildingClassByCode = async (buildingCode: string) => {\n if (!buildingCode) {\n return null;\n }\n const route = `/api/clientproperty/GetBuildingTypeByCode?buildingType=${buildingCode}`;\n const { data } = await axios.get(route);\n return data;\n };\n const getPropertyLookupInfoNj = async (property: Result) => {\n const swisCode = property.muniTypes[1].swisCode;\n const block = trimEnd(property.property.block, '.');\n const lot = trimEnd(property.property.lot, '.');\n const qualifier = property.property.qualifier ? `_${property.property.qualifier}` : '';\n const { data } = await axios.get(\n `https://njpropertyrecords.com/api/property/${swisCode}_${block}_${lot}${qualifier}?apiKey=988bb1e33286f80887ae3042689cc2f6`\n );\n return data;\n };\n useEffect(() => {\n getPropertyInfo();\n }, []);\n if (!property) {\n return ;\n }\n\n return (\n
\n \n
\n \n
\n
\n \n \n \n
\n
\n \n \n
\n
\n
\n
\n );\n};\n\nexport default PropertyInfo;\n","import React, { useEffect, useState } from 'react';\nimport { Redirect, Route, Switch } from 'react-router-dom';\nimport { QueryParamProvider } from 'use-query-params';\nimport Layout from './components/Layout';\nimport { UserContextComponent } from './context/UserContext';\nimport { SearchParamsContextComponent } from './context/SearchParamsContext';\nimport CreateResetPassword from './pages/Authentication/CreateResetPassword';\nimport ForgotPassword from './pages/Authentication/ForgotPassword';\nimport LogIn from './pages/Authentication/LogIn';\nimport 'semantic-ui-css/semantic.min.css';\nimport Home from './pages/Home';\nimport OrderDetails from './pages/OrderDetails';\nimport OrderEntryPage from './pages/OrderEntry';\nimport SuccessPage from './pages/OrderEntry/SuccessPage';\nimport NotFound from './pages/NotFound';\nimport GlobalError from './pages/ErrorPage';\nimport { OrderEntryProvider } from './pages/OrderEntry/OrderEntryContext';\nimport LogRocket from 'logrocket';\nimport axios from 'axios';\nimport './index.css';\nimport Settings from './pages/Settings';\nimport InvoicePage from './pages/InvoicePage/InvoicePage';\nimport AddressLookup from './pages/AddressLookup';\nimport PropertyInfo from './pages/AddressLookup/PropertyInfo';\nimport { AddPropertyProvider } from './pages/OrderDetails/AddProperty/AddPropertyContext';\n\nLogRocket.init('ifcujv/hudpro', {\n rootHostname: 'internal.hudsonsearch.com',\n});\n\nconst App = () => {\n const [globalError, setGlobalError] = useState(false);\n\n useEffect(() => {\n axios.interceptors.response.use(null, function (error) {\n if (error.message.toLowerCase() === 'request failed with status code 500') {\n setGlobalError(true);\n }\n return { data: [] };\n });\n }, []);\n return (\n \n \n \n \n \n {globalError && }\n \n \n (\n \n )}\n />\n (\n \n )}\n />\n \n (\n \n \n \n )} />\n \n (\n \n \n \n )}\n />\n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default App;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { BrowserRouter } from 'react-router-dom';\nimport App from './App';\n\nReactDOM.render(\n \n \n ,\n document.getElementById('root')\n);\n"],"sourceRoot":""}