{"version":3,"sources":["pages/index.js","pages/page1/index.js","pages/fix/start/index.js","pages/fix/Building-codes/index.js","pages/fix/Surface/index.js","pages/fix/surfaceResult/index.js","pages/fix/tasks/index.js","pages/fix/Evaluation/index.js","pages/fix/side-materials/index.js","pages/Renovate/start/index.js","pages/Renovate/Building-codes/index.js","pages/Renovate/Desings/index.js","pages/Renovate/Surface/index.js","pages/Renovate/surfaceResult/index.js","pages/Renovate/tasks/index.js","pages/Renovate/Evaluation/index.js","pages/Renovate/side-materials/index.js","pages/fix/final/index.js","pages/printPage/print.js","home/home.js","profile/index.js","pages/confirmEmail/index.js","pages/fix/SideMaterialTable/index.js","App.js","serviceWorkerRegistration.js","reportWebVitals.js","index.js"],"names":["SelectLoginMethod","props","useState","isLogin","setIsLogin","cookies","Cookies","useEffect","String","get","history","push","window","location","href","style","color","textAlign","paddingTop","type","src","Page1","optionsForStart","setoptionsForStart","OptionsProjectType","setOptionsProjectType","selectedForStart","setSelectedForStart","ProjectType","setProjectType","title","setTitle","firstSelectBar","setFirstSelectBar","SecondSelectBar","setSecondSelectBar","TitleStyle","setTitleStyle","axios","method","url","params","then","Response","dropdown1","data","Fisrt","map","e","index","id","ID","Title","dropdown2","TypeOfProject","catch","error","console","log","showButton","setshowButton","requiredStyle","border","boxShadow","clickOnInput","target","className","label","value","extraInfo","placeholder","onChange","handleFirst","onClick","required","Number","Status","Token","set","path","position","autoClose","hideProgressBar","newestOnTop","closeOnClick","rtl","pauseOnFocusLoss","draggable","pauseOnHover","StartFixProject","stateOption","setStateOption","states","state","setState","city","setCity","cityOption","setCityOption","StateStatus","setStateStatus","CityStatus","setCityStatus","citis","handleSelectState","handleSelectCity","to","BuildingCodes","InputValue","setInputValue","listItem","setListItem","listIndex0","setListIndex0","amountStyle","setAmountStyle","list","Links","link","Link","result","replace","changeValue","Surface","setSpaceInTBL","Member","setMember","memberInTBL","setMemberInTBL","Quantity","setQuantity","memberOption","setMemberOption","memberList","ListSpace","Result","dataTable","Table","Materials","space","Space","member","Memebr","quantity","Count","price","unit","UnitMemberMemebr","setDataTable","setUnit","MemberInTBLStatus","setMemberInTBLStatus","QuantityStyle","setQuantityStyle","AddToTable","IDProject","token","table","Unit","clearValue","document","getElementsByClassName","Array","from","forEach","i","clearValue2","event","handleSelectMember","Error","toast","POSITION","BOTTOM_LEFT","icon","faTrashAlt","handleDelete","length","SurfaceResult","setResult","DataTable","underTable","setUnderTable","count","unshift","resultObject","CustomerPrice","ProductChoosen","rowSpan","name","code","resultProductChoosen","Price","UnderTable","rowProducts","handleSelectMaterial","resultCustomerPrice","InputResult","handleChangePrice","Provider","cityString","CustomerPriceString","ProductChoosenString","Tasks","setList","Lists","CheckList","setCheckList","getElementById","checked","myList","indexOf","splice","handleCheckList","selectedId","selectedTitle","Evaluation","text","setText","handleAdd","SideMaterials","listCheckbox","setListCheckbox","Selected","changeStatus","checkBox","post","generalparam","IDCity","Amount","Desings","alert","spaceOption","setSpaceOption","spaceInTBL","spaceList","handleSelectSpace","IDMember","delete","IDSide","List","Final","Sidematerial","setSidematerial","taskOwner","setTaskOwner","TaskSystem","setTaskSystem","Surfaces","setSurfaces","setAmount","setAmountPrice","City","Resaon","setResaon","TypeProject","setTypeProject","setgeneralparam","SumPriceSidematerial","setSumPriceSidematerial","SumPricSurface","setSumPricSurface","Explain","SumPrice","setSumPrice","AmountPrice","SideMaterial","Brand","Priceowner","Print","ref","React","createRef","background","jsPDF","html","querySelector","callback","pdf","save","Home","setData","changeData","status","tableData","ListOfEstimates","keyField","ProductID","ProductName","columns","dataField","sort","headerStyle","width","formatter","events","column","columnIndex","row","rowIndex","version","xmlns","x","y","viewBox","height","fill","d","points","reload","SearchBar","Search","search","searchProps","baseProps","noDataIndication","pagination","paginationFactory","wrapperClasses","onTableChange","Profile","Address","StateName","setStateName","CityName","setCityName","editProfile","setEditProfile","setCityLabel","changedName","setChangedName","changedAddress","setChangedAddress","changedPassword","setChangedPassword","Email","IDState","Name","password","setPassword","setStatus","changeButton","typeof","ChangePassword","handleChangePasswordInMainView","handlechangeName","disabled","handlechangeAddess","ConfirmEmail","sendRequest","setSendRequest","split","SidematerialTable","BranChosenSelected","item","BranChosen","undefined","BrandChoosen","requiredStatus","resultBrandChoosen","payload","reduce","acc","concat","selectedCustomerPrice","selectedBrandChoosen","createPayload","Boolean","nextPageAllow","progress","theme","App","exact","component","page1","startFixProject","BuildingCodesFix","SurfaceFix","SurfaceResultFix","TasksFix","EvaluationFix","SideMaterialsFix","startRenovateProject","BuildingCodesRenovate","DesingsRenovate","SurfaceRenovate","SurfaceResultRenovate","TasksRenovate","EvaluationRenovate","SideMaterialsRenovate","isLocalhost","hostname","match","registerValidSW","swUrl","config","navigator","serviceWorker","register","registration","onupdatefound","installingWorker","installing","onstatechange","controller","onUpdate","onSuccess","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","StrictMode","URL","process","origin","addEventListener","fetch","headers","response","contentType","ready","unregister","checkValidServiceWorker","serviceWorkerRegistration"],"mappings":"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","file":"static/js/main.c9ff5780.chunk.js","sourcesContent":["import React from 'react';\r\nimport { useState } from 'react';\r\nimport { useEffect } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport Cookies from 'universal-cookie';\r\n// import './style.css'\r\n\r\nfunction SelectLoginMethod(props) {\r\n const [isLogin, setIsLogin] = useState(false);\r\n const cookies = new Cookies();\r\n useEffect(() => {\r\n if (String(cookies.get('Token'))) {\r\n setIsLogin(true);\r\n }\r\n if (!isLogin) {\r\n window.location.href = \"https://ratebuild.com/userarea/OpenLogInSender\";\r\n }\r\n else {\r\n props.history.push('/page1');\r\n }\r\n\r\n }, [])\r\n return (\r\n <>\r\n {!isLogin &&\r\n

You should login first , redirecting to login page ....

\r\n }\r\n \r\n \r\n )\r\n}\r\n\r\nexport default SelectLoginMethod;","import React, { useEffect, useState } from 'react';\r\n\r\nimport { Link } from 'react-router-dom';\r\nimport axios from 'axios';\r\nimport Cookies from 'universal-cookie';\r\nimport FinderSelect from 'react-finderselect'\r\nimport 'react-finderselect/dist/index.css'\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\n\r\nfunction Page1(props) {\r\n const cookies = new Cookies();\r\n const [optionsForStart, setoptionsForStart] = useState([])\r\n const [OptionsProjectType, setOptionsProjectType] = useState([])\r\n const [selectedForStart, setSelectedForStart] = useState(null)\r\n const [ProjectType, setProjectType] = useState(null)\r\n const [title, setTitle] = useState('')\r\n const [firstSelectBar, setFirstSelectBar] = useState(true)\r\n const [SecondSelectBar, setSecondSelectBar] = useState(true)\r\n const [TitleStyle, setTitleStyle] = useState(null)\r\n\r\n useEffect(() => {\r\n axios({\r\n method: 'get',\r\n url: `https://ratebuild.com/api/Estimate/GetFirstPagePreLoadAPI`,\r\n params: {\r\n 'Token': String(cookies.get('Token')),\r\n }\r\n })\r\n\r\n .then((Response) => {\r\n const dropdown1 = Response.data.Fisrt.map((e, index) => {\r\n return ({\r\n id: e.ID,\r\n title: e.Title\r\n })\r\n })\r\n setoptionsForStart(dropdown1)\r\n const dropdown2 = Response.data.TypeOfProject.map((e, index) => {\r\n return ({\r\n id: e.ID,\r\n title: e.Title\r\n })\r\n })\r\n setOptionsProjectType(dropdown2)\r\n })\r\n .catch((error) => {\r\n console.log(error)\r\n })\r\n }, [])\r\n\r\n const [showButton, setshowButton] = useState(false)\r\n\r\n const handleFirst = (e) => {\r\n if (e.value == 3) {\r\n setshowButton(true)\r\n } else {\r\n setshowButton(false)\r\n }\r\n setSelectedForStart(e.value)\r\n }\r\n\r\n const requiredStyle = {\r\n border: '1px solid #ffffff00',\r\n boxShadow: '0px 0px 7px 2px #ffffff00'\r\n }\r\n\r\n const handleNext = () => {\r\n\r\n if (title) {\r\n setTitleStyle(null)\r\n } else {\r\n setTitleStyle(requiredStyle)\r\n }\r\n if (selectedForStart) {\r\n setFirstSelectBar(true)\r\n } else {\r\n setFirstSelectBar(false)\r\n }\r\n if (ProjectType) {\r\n setSecondSelectBar(true)\r\n } else {\r\n setSecondSelectBar(false)\r\n }\r\n\r\n\r\n\r\n if (ProjectType && selectedForStart && title) {\r\n // axios.post('https://ratebuild.com/api/Estimate/FirstPageResultAPI', {\r\n // Title:String(title),\r\n // Token: cookie,\r\n // IDTypeOfProject: Number(ProjectType),\r\n // IDFirst: Number(selectedForStart)\r\n // })\r\n axios({\r\n method: 'get',\r\n url: `https://ratebuild.com/api/Estimate/GetFirstPageResultAPI`,\r\n params: {\r\n 'Title': String(title),\r\n 'Token': String(cookies.get('Token')),\r\n 'IDTypeOfProject': Number(ProjectType),\r\n 'IDFirst': Number(selectedForStart),\r\n }\r\n })\r\n .then((Response) => {\r\n if (Response.data.Status === 200) {\r\n if (Response.data.Token) {\r\n cookies.set('IDProject', Response.data.Token, { path: '/' });\r\n props.history.push('/fix/start-fix-project')\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error)\r\n })\r\n } else {\r\n // toast.error(\"Please fill in all the items\", {\r\n // position: toast.POSITION.BOTTOM_LEFT\r\n // });\r\n }\r\n\r\n }\r\n const clickOnInput = (e) => {\r\n if (e.target.id === 'title') {\r\n setTitleStyle(null)\r\n }\r\n if (e.target.id === 'firstSelectBar') {\r\n setFirstSelectBar(true)\r\n }\r\n if (e.target.id === 'secondSelectBar') {\r\n setSecondSelectBar(true)\r\n }\r\n }\r\n\r\n\r\n const handleLinkButton = () => {\r\n window.location.href = `https://ratebuild.com/UserArea/OpenLogin?token=${String(cookies.get('Token'))}`\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n

Thank you for signing up, please read the instruction on top of every page for the best possible result!

\r\n

Please select one of the following on how you want to do your project

\r\n

(If you are not familiar with some complicated tasks, we recommend you choose to hire professionals, although we try our best to walk you through it)

\r\n\r\n
\r\n

What do you want to do?

\r\n
\r\n handleFirst(e)}\r\n onClick={e => clickOnInput(e)}\r\n />\r\n {!firstSelectBar ?\r\n selectedForStart ?\r\n null\r\n :\r\n

Required!!

\r\n :\r\n null\r\n }\r\n
\r\n
\r\n
\r\n\r\n {(showButton) ?\r\n
\r\n {/* */}\r\n \r\n {/* */}\r\n
\r\n :\r\n <>\r\n
\r\n

Type of your project

\r\n
\r\n
\r\n setProjectType(e.value)}\r\n onClick={e => clickOnInput(e)}\r\n />\r\n {!SecondSelectBar ?\r\n ProjectType ?\r\n null\r\n :\r\n

Required!!

\r\n :\r\n null\r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Project's name

\r\n
\r\n
\r\n setTitle(e.target.value)}\r\n placeholder='Estimation'\r\n type='text'\r\n required\r\n style={TitleStyle}\r\n onClick={e => clickOnInput(e)}\r\n />\r\n {TitleStyle ?\r\n

Required!!

\r\n :\r\n null\r\n }\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n }\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n )\r\n}\r\n\r\nexport default Page1;","import React, { useEffect, useState } from 'react';\r\n// import '../../style.css'\r\nimport { Link } from 'react-router-dom';\r\nimport axios from 'axios';\r\nimport Cookies from 'universal-cookie';\r\nimport FinderSelect from 'react-finderselect'\r\nimport 'react-finderselect/dist/index.css'\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\n\r\nfunction StartFixProject(props) {\r\n const cookies = new Cookies();\r\n const [stateOption, setStateOption] = useState([])\r\n useEffect(() => {\r\n axios.get('https://ratebuild.com/api/Estimate/GetStateAPI')\r\n .then((Response) => {\r\n const states = Response.data.map((e, index) => {\r\n return ({\r\n value: e.ID,\r\n label: e.Title\r\n })\r\n })\r\n setStateOption(states)\r\n })\r\n .catch((error) => {\r\n console.log(error)\r\n })\r\n }, [])\r\n\r\n const [state, setState] = useState()\r\n const [city, setCity] = useState();\r\n const [cityOption, setCityOption] = useState([])\r\n const [StateStatus, setStateStatus] = useState(true)\r\n const [CityStatus, setCityStatus] = useState(true)\r\n\r\n const handleSelectState = (e) => {\r\n setState(e.value)\r\n axios.get(`https://ratebuild.com/api/Estimate/GetCityAPI/${e.value}`, {\r\n id: state\r\n })\r\n .then((Response) => {\r\n const citis = Response.data.map((e, index) => {\r\n return ({\r\n value: e.ID,\r\n label: e.Title\r\n })\r\n })\r\n setCityOption(citis)\r\n })\r\n .catch((error) => {\r\n console.log(error)\r\n })\r\n }\r\n\r\n const handleSelectCity = (e) => {\r\n setCity(e)\r\n }\r\n\r\n const handleNext = () => {\r\n if (state) {\r\n setStateStatus(true)\r\n } else {\r\n setStateStatus(false)\r\n }\r\n if (city) {\r\n setCityStatus(true)\r\n } else {\r\n setCityStatus(false)\r\n }\r\n\r\n if (state && city) {\r\n axios({\r\n method: 'get',\r\n url: `https://ratebuild.com/api/Estimate/GetStartFixResultAPI`,\r\n params: {\r\n 'IDProject': Number(cookies.get('IDProject')),\r\n 'Token': String(cookies.get('Token')),\r\n 'IDCity': Number(city),\r\n }\r\n })\r\n .then((Response) => {\r\n if (Response.data.Status === 200) {\r\n props.history.push('/fix/Building-codes')\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error)\r\n })\r\n }\r\n }\r\n\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n

Please select which city your project is in

\r\n
\r\n
\r\n
\r\n handleSelectState(e)}\r\n />\r\n {!StateStatus\r\n ?\r\n state\r\n ?\r\n null\r\n :\r\n

Required!!

\r\n :\r\n null\r\n }\r\n
\r\n
\r\n
\r\n
\r\n handleSelectCity(e.value)}\r\n />\r\n {!CityStatus\r\n ?\r\n city\r\n ?\r\n null\r\n :\r\n

Required!!

\r\n :\r\n null\r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default StartFixProject;","import React, { useEffect, useState } from 'react';\r\n// import '../../style.css'\r\nimport { Link } from 'react-router-dom';\r\nimport axios from 'axios';\r\nimport Cookies from 'universal-cookie';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\n\r\nfunction BuildingCodes(props) {\r\n\r\n const cookies = new Cookies();\r\n const [InputValue, setInputValue] = useState()\r\n const [listItem, setListItem] = useState([])\r\n const [listIndex0, setListIndex0] = useState('')\r\n const [amountStyle, setAmountStyle] = useState(null)\r\n useEffect(() => {\r\n axios({\r\n method: 'get',\r\n url: `https://ratebuild.com/api/Estimate/GetBuildingcodesPreLoadAPI`,\r\n params: {\r\n 'IDProject': Number(cookies.get('IDProject')),\r\n 'Token': String(cookies.get('Token')),\r\n }\r\n })\r\n .then((Response) => {\r\n const list = Response.data.Links.map((e, index) => {\r\n return ({\r\n id: e.ID,\r\n title: e.Title,\r\n link: e.Link\r\n })\r\n })\r\n setListItem(list)\r\n setListIndex0(list[0].id)\r\n })\r\n .catch((error) => {\r\n console.log(error)\r\n })\r\n }, [])\r\n const requiredStyle = {\r\n border: '1px solid #ffffff00',\r\n boxShadow: '0px 0px 7px 2px #ffffff00'\r\n }\r\n\r\n const clickOnInput = (e) => {\r\n if (e.target.id === 'amount') {\r\n setAmountStyle(null)\r\n }\r\n }\r\n\r\n const handleNext = () => {\r\n\r\n axios({\r\n method: 'get',\r\n url: `https://ratebuild.com/api/Estimate/GetBuildingcodesResultAPI`,\r\n params: {\r\n 'IDProject': Number(cookies.get('IDProject')),\r\n 'Token': String(cookies.get('Token')),\r\n 'Amount': Number(InputValue || 0),\r\n }\r\n })\r\n .then((Response) => {\r\n if (Response.data.Status === 200) {\r\n props.history.push('/fix/surface')\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error)\r\n })\r\n }\r\n\r\n function changeValue(e) {\r\n const result = e.target.value.replace(/\\D/g, '');\r\n setInputValue(result)\r\n }\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n

Here you can find the building permits expenses based on the city you have chosen.

\r\n

Please click on the link below and enter the amount that applies to you based on the information on the municipal website.

\r\n {(listIndex0 === -1)\r\n ?\r\n null\r\n :\r\n listItem.map((e, index) => (\r\n\r\n

{index + 1}- {e.title}

\r\n ))\r\n }\r\n changeValue(e)}\r\n placeholder='Enter the amount that applies to you'\r\n value={InputValue}\r\n required\r\n onClick={(e) => clickOnInput(e)}\r\n style={amountStyle}\r\n />\r\n {amountStyle ?\r\n

Required!!

\r\n :\r\n null\r\n }\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n {/* */}\r\n \r\n {/* */}\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default BuildingCodes;","import React, { useEffect, useState } from 'react';\r\n// import '../../style.css'\r\nimport { Link } from 'react-router-dom';\r\nimport axios from 'axios';\r\nimport Cookies from 'universal-cookie';\r\nimport FinderSelect from 'react-finderselect'\r\nimport 'react-finderselect/dist/index.css'\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport { faTrashAlt } from '@fortawesome/free-solid-svg-icons'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\n\r\nfunction Surface(props) {\r\n\r\n const [spaceOption, setSpaceOption] = useState([])\r\n const [spaceInTBL, setSpaceInTBL] = useState('')\r\n const [Member, setMember] = useState('')\r\n const [memberInTBL, setMemberInTBL] = useState('')\r\n const [Quantity, setQuantity] = useState('')\r\n const [memberOption, setMemberOption] = useState([])\r\n const cookies = new Cookies();\r\n\r\n useEffect(() => {\r\n axios({\r\n method: 'get',\r\n url: `https://ratebuild.com/api/Estimate/GetSpaceAPI`,\r\n params: {\r\n 'iDProject': Number(cookies.get('IDProject')),\r\n 'token': String(cookies.get('Token'))\r\n }\r\n }).then(Response => {\r\n let memberList = Response.data.ListSpace.map((e, index) => {\r\n return ({\r\n value: e.ID,\r\n label: e.Title\r\n })\r\n })\r\n setMemberOption(memberList)\r\n }).catch(error => {\r\n console.log(error);\r\n });\r\n\r\n axios({\r\n method: 'get',\r\n url: `https://ratebuild.com/api/Estimate/GetSurfaceResultPreLoadAPI`,\r\n params: {\r\n 'IDProject': Number(cookies.get(\"IDProject\")),\r\n 'Token': String(cookies.get('Token')),\r\n }\r\n })\r\n .then((Response) => {\r\n if (Response.data.Result.Status === 200) {\r\n const dataTable = Response.data.Table.map((e, index) => {\r\n return ({\r\n Materials: e.Materials.map((e, index) => {\r\n return ({\r\n title: e.Title,\r\n id: e.ID\r\n })\r\n }),\r\n space: e.Space,\r\n member: e.Memebr,\r\n quantity: e.Count,\r\n id: e.ID,\r\n price: 0,\r\n unit: e.UnitMemberMemebr\r\n })\r\n })\r\n setDataTable(dataTable)\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error)\r\n })\r\n }, [])\r\n\r\n // const handleSelectSpace = (e) => {\r\n // setSpaceInTBL(e)\r\n // axios({\r\n // method: 'get',\r\n // url: `https://ratebuild.com/api/Estimate/GetMemberAPI/${e}`,\r\n // params: {\r\n // 'ID': Number(e),\r\n // 'token': String(cookies.get('Token'))\r\n // }\r\n // }).then(Response => {\r\n // let memberList = Response.data.Lists.map((e, index) => {\r\n // return ({\r\n // value: e.ID,\r\n // label: e.Title,\r\n // Unit: e.Unit\r\n // })\r\n // })\r\n // setMemberOption(memberList)\r\n // }).catch(error => {\r\n // console.log(error)\r\n // })\r\n // }\r\n const [unit, setUnit] = useState(null)\r\n const handleSelectMember = (e) => {\r\n setMember(e.value)\r\n setMemberInTBL(e.value)\r\n memberOption.map((event, index) => {\r\n if (e.value === memberOption[index].value) {\r\n setUnit(memberOption[index].Unit)\r\n }\r\n })\r\n }\r\n const [spaceInTBLStatus, setSpaceInTBLStatus] = useState(true)\r\n const [MemberInTBLStatus, setMemberInTBLStatus] = useState(true)\r\n const [QuantityStyle, setQuantityStyle] = useState(null)\r\n const requiredStyle = {\r\n border: '1px solid #ffffff00',\r\n boxShadow: '0px 0px 7px 2px #ffffff00'\r\n }\r\n\r\n const handleAdd = () => {\r\n if (memberInTBL) {\r\n setMemberInTBLStatus(true)\r\n } else {\r\n setMemberInTBLStatus(false)\r\n }\r\n\r\n if (Quantity) {\r\n setQuantityStyle(null)\r\n } else {\r\n setQuantityStyle(requiredStyle)\r\n }\r\n\r\n if (memberInTBL) {\r\n if (Quantity) {\r\n axios({\r\n method: 'get',\r\n url: `https://ratebuild.com/api/Estimate/GetAddmemberAPI`,\r\n params: {\r\n 'IDProject': Number(cookies.get('IDProject')),\r\n 'token': String(cookies.get('Token')),\r\n 'Amount': Number(Quantity),\r\n 'IDMember': Member,\r\n }\r\n })\r\n .then((Response) => {\r\n if (Response.data.Result.Error === \"Same Member\") {\r\n toast.error(\"The selected options are repeated\", {\r\n position: toast.POSITION.BOTTOM_LEFT\r\n });\r\n } else {\r\n AddToTable()\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error)\r\n })\r\n }\r\n }\r\n }\r\n\r\n const [dataTable, setDataTable] = useState([])\r\n\r\n const AddToTable = () => {\r\n if (memberInTBL) {\r\n if (Quantity) {\r\n const IDProject = Number(cookies.get('IDProject'))\r\n const token = String(cookies.get('Token'))\r\n axios.get(`https://ratebuild.com/api/Estimate/GetSurfaceTBLEAPI?IDProject=${IDProject}&Token=${token}`)\r\n .then((Response) => {\r\n const table = Response.data.Table.map((e, index) => {\r\n return ({\r\n space: e.Space,\r\n member: e.Memebr,\r\n quantity: e.Count,\r\n id: e.ID,\r\n unit: e.Unit\r\n })\r\n })\r\n setDataTable(table)\r\n })\r\n .catch((error) => {\r\n console.log(error)\r\n })\r\n setSpaceInTBL('')\r\n setMemberInTBL('')\r\n setQuantity('')\r\n\r\n let clearValue = document.getElementsByClassName(\"fsValueInput\")\r\n Array.from(clearValue).forEach((e, i) => {\r\n e.value = ''\r\n })\r\n\r\n let clearValue2 = document.getElementsByClassName(\"fsLabelInput\")\r\n Array.from(clearValue2).forEach((e, i) => {\r\n e.value = ''\r\n })\r\n }\r\n }\r\n }\r\n\r\n const handleDelete = (e, index) => {\r\n axios({\r\n method: 'get',\r\n url: `https://ratebuild.com/api/Estimate/GetDeactiveTableAPI/${e.id}`,\r\n params: {\r\n 'ID': e.id,\r\n 'IDProject': Number(cookies.get('IDProject')),\r\n 'Token': String(cookies.get('Token')),\r\n }\r\n })\r\n .then((Response) => {\r\n if (Response.data.Status === 200) {\r\n const IDProject = Number(cookies.get('IDProject'))\r\n const token = String(cookies.get('Token'))\r\n axios.get(`https://ratebuild.com/api/Estimate/GetSurfaceTBLEAPI?IDProject=${IDProject}&Token=${token}`)\r\n .then((Response) => {\r\n const table = Response.data.Table.map((e, index) => {\r\n return ({\r\n space: e.Space,\r\n member: e.Memebr,\r\n quantity: e.Count,\r\n id: e.ID,\r\n unit: e.Unit\r\n })\r\n })\r\n setDataTable(table)\r\n })\r\n .catch((error) => {\r\n console.log(error)\r\n })\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error)\r\n })\r\n }\r\n const clickOnInput = () => {\r\n setQuantityStyle(null)\r\n }\r\n\r\n const handleNext = () => {\r\n if (dataTable.length > 0) {\r\n props.history.push(\"/fix/surface-result\");\r\n } else {\r\n props.history.push(\"/fix/tasks\");\r\n }\r\n }\r\n\r\n function changeValue(e) {\r\n const result = e.target.value.replace(/\\D/g, '');\r\n setQuantity(result)\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n

In this step, You can start by choosing what you want to change in your home:

\r\n

1.\tSearch the members and spaces that you want to add, repair or renovate

\r\n

2.\tEnter the quantity you need

\r\n

3.\tPress Add Button

\r\n

\r\n Repeat the process.\r\n

\r\n
\r\n {/* \r\n handleSelectSpace(e.value)}\r\n />\r\n {!spaceInTBLStatus\r\n ?\r\n spaceInTBL\r\n ?\r\n null\r\n :\r\n

Required!!

\r\n :\r\n null\r\n } */}\r\n\r\n \r\n handleSelectMember(e)}\r\n />\r\n {!MemberInTBLStatus\r\n ?\r\n memberInTBL\r\n ?\r\n null\r\n :\r\n

Required!!

\r\n :\r\n null\r\n }\r\n\r\n \r\n
\r\n changeValue(e)}\r\n placeholder='Count you need'\r\n value={Quantity}\r\n style={QuantityStyle}\r\n onClick={clickOnInput}\r\n />\r\n {unit}\r\n
\r\n {QuantityStyle\r\n ?\r\n

Required!!

\r\n :\r\n null\r\n }\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {dataTable.map((e, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
SpaceMemberQuantityUnitDelete
{e.space}{e.member}{e.quantity}{e.unit} handleDelete(e, index)} />
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default Surface;","import React, { useEffect, useState } from \"react\";\r\n// import \"../../style.css\";\r\nimport { Link } from \"react-router-dom\";\r\nimport axios from \"axios\";\r\nimport Cookies from \"universal-cookie\";\r\nimport FinderSelect from \"react-finderselect\";\r\nimport \"react-finderselect/dist/index.css\";\r\n\r\nfunction SurfaceResult(props) {\r\n const [result, setResult] = useState([]);\r\n const cookies = new Cookies();\r\n const [DataTable, setDataTable] = useState([]);\r\n const [underTable, setUnderTable] = useState([]);\r\n useEffect(() => {\r\n axios({\r\n method: 'get',\r\n url: `https://ratebuild.com/api/Estimate/GetSurfaceResultPreLoadAPI`,\r\n params: {\r\n 'IDProject': Number(cookies.get(\"IDProject\")),\r\n 'Token': String(cookies.get('Token')),\r\n }\r\n })\r\n .then((Response) => {\r\n if (Response.data.Result.Status === 200) {\r\n const dataTable = Response.data.Table.map((e, index) => {\r\n return {\r\n Materials: e.Materials.map((e, index) => {\r\n return {\r\n title: e.Title,\r\n id: e.ID,\r\n };\r\n }),\r\n space: e.Space,\r\n member: e.Memebr,\r\n count: e.Count,\r\n id: e.ID,\r\n price: 0,\r\n unit: e.UnitMemberMemebr,\r\n };\r\n });\r\n const underTable = Response.data.Table.map((e, index) => {\r\n return [];\r\n });\r\n setUnderTable(underTable);\r\n\r\n dataTable.map((e, index) => {\r\n dataTable[index].Materials.unshift({ title: \"other\", id: null });\r\n });\r\n\r\n setDataTable(dataTable);\r\n const resultObject = Response.data.Table.map((e, index) => {\r\n return {\r\n ID: e.ID,\r\n CustomerPrice: null,\r\n ProductChoosen: null,\r\n };\r\n });\r\n setResult(resultObject);\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }, []);\r\n\r\n const handleSelectMaterial = (e, index) => {\r\n let resultProductChoosen = [...result];\r\n resultProductChoosen[index].ProductChoosen = e.value;\r\n setResult(resultProductChoosen);\r\n\r\n if (!e.value) {\r\n DataTable[Number(e.name)].price = 0;\r\n }\r\n if (e.value) {\r\n axios({\r\n method: 'get',\r\n url: `https://ratebuild.com/api/Estimate/getreturPriceSurfaceAPI/${e.value}`,\r\n params: {\r\n 'ID': e.value,\r\n }\r\n })\r\n\r\n .then((Response) => {\r\n if (Response.data.Result.Status === 200) {\r\n let table = [...DataTable];\r\n table[index].price = Response.data.Price;\r\n setDataTable(table);\r\n\r\n let UnderTable = [...underTable];\r\n UnderTable[index] = Response.data.rowProducts;\r\n setUnderTable(UnderTable);\r\n }\r\n });\r\n }\r\n };\r\n\r\n const handleChangePrice = (e, index) => {\r\n let resultCustomerPrice = [...result];\r\n const InputResult = e.target.value.replace(/\\D/g, '');\r\n resultCustomerPrice[index].CustomerPrice = InputResult;\r\n setResult(resultCustomerPrice);\r\n };\r\n\r\n const handleNext = () => {\r\n let cityString = \"\"\r\n result.map((e, index) => {\r\n if (cityString) {\r\n if (e.ID) {\r\n cityString += `,${e.ID}`\r\n } else {\r\n cityString += `,0`\r\n }\r\n } else if (!cityString) {\r\n if (e.ID) {\r\n cityString += `${e.ID}`\r\n } else {\r\n cityString += `0`\r\n }\r\n }\r\n })\r\n let CustomerPriceString = \"\"\r\n result.map((e, index) => {\r\n if (CustomerPriceString) {\r\n if (e.CustomerPrice) {\r\n CustomerPriceString += `,${e.CustomerPrice}`\r\n } else {\r\n CustomerPriceString += `,0`\r\n }\r\n } else if (!CustomerPriceString) {\r\n if (e.CustomerPrice) {\r\n CustomerPriceString += `${e.CustomerPrice}`\r\n } else {\r\n CustomerPriceString += `0`\r\n }\r\n }\r\n })\r\n\r\n let ProductChoosenString = \"\"\r\n result.map((e, index) => {\r\n if (ProductChoosenString) {\r\n if (e.ProductChoosen) {\r\n ProductChoosenString += `,${e.ProductChoosen}`\r\n } else {\r\n ProductChoosenString += `,0`\r\n }\r\n } else if (!ProductChoosenString) {\r\n if (e.ProductChoosen) {\r\n ProductChoosenString += `${e.ProductChoosen}`\r\n } else {\r\n ProductChoosenString += `0`\r\n }\r\n }\r\n })\r\n\r\n axios({\r\n method: 'get',\r\n url: `https://ratebuild.com/api/Estimate/GetSurfaceResultAPI/${cityString}`,\r\n params: {\r\n 'productChoosen': String(ProductChoosenString),\r\n 'customerPrice': String(CustomerPriceString),\r\n 'Id': String(cityString),\r\n \"IDProject\": Number(cookies.get(\"IDProject\")),\r\n \"Token\": String(cookies.get('Token')),\r\n }\r\n })\r\n .then((Response) => {\r\n if (Response.data.Status === 200) {\r\n props.history.push(\"/fix/tasks\");\r\n }\r\n });\r\n };\r\n return (\r\n <>\r\n
\r\n
\r\n

\r\n Please select the materials you want to use in your project, if you have already picked out your material, enter the price of you have per unit.\r\n

\r\n
\r\n {DataTable.map((e, index) => (\r\n
\r\n \r\n \r\n \r\n Space\r\n {e.space}\r\n \r\n \r\n \r\n \r\n Member\r\n {e.member}\r\n \r\n \r\n Quantity\r\n \r\n {e.count}\r\n {e.count ? ` (${e.unit})` : \"\"}\r\n \r\n \r\n \r\n Materials\r\n \r\n {\r\n return {\r\n name: e.title,\r\n code: e.id,\r\n };\r\n })}\r\n id={index}\r\n label=\"name\"\r\n value=\"code\"\r\n extraInfo=\"capital\"\r\n className=\"p-2\"\r\n placeholder=\"Select\"\r\n onChange={(e) => handleSelectMaterial(e, index)}\r\n />\r\n \r\n \r\n \r\n \r\n {e.price}\r\n {e.price && e.price != 0 ? \" $\" : null}\r\n \r\n \r\n \r\n Your price\r\n \r\n
\r\n handleChangePrice(e, index)}\r\n value={result[index]?.CustomerPrice}\r\n />\r\n $\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {underTable[index][0]?.Title ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {underTable[index].map((event, i) => (\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n
TitleProviderLink
{event.Title}{event.Provider}\r\n click here\r\n
\r\n ) : null}\r\n
\r\n
\r\n ))}\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n Back\r\n \r\n \r\n
\r\n
\r\n \r\n Next\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default SurfaceResult;\r\n","import React, { useEffect, useState } from 'react';\r\n// import '../../style.css'\r\nimport Select from 'react-select';\r\nimport { Link } from 'react-router-dom';\r\nimport axios from 'axios';\r\nimport Cookies from 'universal-cookie';\r\nimport { ToastContainer, toast } from 'react-toastify';\r\n\r\n\r\nfunction Tasks(props) {\r\n\r\n const cookies = new Cookies();\r\n const [list, setList] = useState([])\r\n\r\n useEffect(() => {\r\n axios({\r\n method: 'get',\r\n url: 'https://ratebuild.com/api/Estimate/GetTaksAPI',\r\n params: {\r\n IDProject: Number(cookies.get('IDProject')),\r\n Token: String(cookies.get('Token'))\r\n }\r\n })\r\n .then((Response) => {\r\n let list = Response.data.Lists.map((e, index) => {\r\n return ({\r\n id: e.ID,\r\n title: e.Title\r\n })\r\n })\r\n setList(list)\r\n })\r\n }, [])\r\n\r\n\r\n const [CheckList, setCheckList] = useState([])\r\n const handleCheckList = (e, index) => {\r\n let id = index\r\n let checkBox = document.getElementById(id);\r\n if (checkBox.checked == true) {\r\n let myList = [...CheckList];\r\n myList.push(e)\r\n setCheckList(myList)\r\n } else {\r\n let myList = [...CheckList];\r\n let index = myList.indexOf(e);\r\n if (index > -1) {\r\n myList.splice(index, 1);\r\n }\r\n setCheckList(myList)\r\n }\r\n }\r\n\r\n const handleNext = () => {\r\n let selectedId = \"\"\r\n if (CheckList[0]) {\r\n CheckList.map((e, index) => {\r\n if (selectedId) {\r\n if (e.id) {\r\n selectedId += `,${e.id}`\r\n } else {\r\n selectedId += `,0`\r\n }\r\n } else if (!selectedId) {\r\n if (e.id) {\r\n selectedId += `${e.id}`\r\n } else {\r\n selectedId += `0`\r\n }\r\n }\r\n })\r\n } else {\r\n toast.error(\"Select at least one option\", {\r\n position: toast.POSITION.BOTTOM_LEFT\r\n });\r\n }\r\n\r\n let selectedTitle = \"\"\r\n CheckList.map((e, index) => {\r\n if (selectedTitle) {\r\n if (e.title) {\r\n selectedTitle += `,${e.title}`\r\n } else {\r\n selectedTitle += `,0`\r\n }\r\n } else if (!selectedTitle) {\r\n if (e.title) {\r\n selectedTitle += `${e.title}`\r\n } else {\r\n selectedTitle += `0`\r\n }\r\n }\r\n })\r\n axios({\r\n method: 'get',\r\n url: `https://ratebuild.com/api/Estimate/GetTaksresultAPI/${selectedId}`,\r\n params: {\r\n 'IDProject': Number(cookies.get('IDProject')),\r\n 'Token': String(cookies.get('Token')),\r\n \"ID\": selectedId,\r\n \"Title\": selectedTitle,\r\n \"Unit\": 0,\r\n }\r\n })\r\n .then((Response) => {\r\n if (Response.data.Status === 200) {\r\n props.history.push('/fix/evaluation')\r\n }\r\n })\r\n }\r\n return (\r\n <>\r\n
\r\n
\r\n

Here are some common tasks that you might need to consider in most of the projects.\r\n Make your own checklist by choosing the ones that applies to your project\r\n

\r\n {list.map((e, index) => (\r\n
\r\n handleCheckList(e, index)}\r\n value={e.title} className='checkboxStyle d-inline align-baseline' />\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n {/* */}\r\n \r\n {/* */}\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n )\r\n}\r\n\r\nexport default Tasks;","import React, { useState } from 'react';\r\n// import '../../style.css'\r\nimport { Link } from 'react-router-dom';\r\nimport axios from 'axios';\r\nimport Cookies from 'universal-cookie';\r\nimport { faTrashAlt } from '@fortawesome/free-solid-svg-icons'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\n\r\n\r\n\r\nfunction Evaluation(){\r\n\r\n const cookies = new Cookies();\r\n const[list, setList] = useState([])\r\n const[text, setText] = useState()\r\n\r\n const handleAdd = () => {\r\n if(text){\r\n let myList = [...list];\r\n myList.push(text);\r\n setList(myList); \r\n }\r\n }\r\n\r\n const handleDelete = (e, index) => {\r\n let myList = [...list]\r\n myList.splice(index, 1)\r\n setList(myList)\r\n }\r\n\r\n const handleSendAded = () => {\r\n if(text){\r\n axios({\r\n method: 'get',\r\n url: `https://ratebuild.com/api/Estimate/GetevaluationresultAPI`,\r\n params: {\r\n 'IDProject': Number(cookies.get('IDProject')),\r\n 'Token': String(cookies.get('Token')),\r\n 'Title': text,\r\n }\r\n })\r\n setText(null)\r\n }\r\n document.getElementById('input').value = ''\r\n } \r\n return(\r\n <>\r\n
\r\n
\r\n

In this section you can add whatever tasks you think that must be done and you could not find on the checklist. Simply write your tasks and press add for as many tasks as you want.

\r\n setText(e.target.value)} placeholder = 'Enter your other tasks(text)' required/>\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n {list.map((e, index) => (\r\n
\r\n
\r\n {index + 1 + '- '}{e}\r\n
handleDelete (e, index)}/>
\r\n
\r\n
\r\n
\r\n
\r\n ))}\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n)\r\n}\r\n\r\nexport default Evaluation;","import React, { useEffect, useState } from \"react\";\r\n// import \"../../style.css\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { DropdownButton } from \"react-bootstrap\";\r\nimport DropdownItem from \"react-bootstrap/esm/DropdownItem\";\r\nimport axios from \"axios\";\r\nimport Cookies from \"universal-cookie\";\r\nimport FinderSelect from \"react-finderselect\";\r\nimport \"react-finderselect/dist/index.css\";\r\nimport { ToastContainer, toast } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\n\r\nfunction SideMaterials(props) {\r\n const [CheckList, setCheckList] = useState([]);\r\n const [DataTable, setDataTable] = useState([]);\r\n const cookies = new Cookies();\r\n const [listCheckbox, setListCheckbox] = useState([]);\r\n const [result, setResult] = useState([]);\r\n const [TitleList, setTitleList] = useState([]);\r\n const [requiredStatus, setRequiredStatus] = useState(false);\r\n const [toastify, SetToastufy] = useState(false);\r\n const [toastifyStatus, SetToastufyStatus] = useState(true);\r\n const [underTable, setUnderTable] = useState([]);\r\n useEffect(() => {\r\n const UnderTable = [0, 0, 0, 0, 0, 0].map((e, index) => {\r\n return [];\r\n });\r\n setUnderTable(UnderTable);\r\n axios({\r\n method: 'get',\r\n url: `https://ratebuild.com/api/Estimate/GetSideMaterialpreloadparamAPI`,\r\n params: {\r\n 'IDProject': Number(cookies.get(\"IDProject\")),\r\n 'Token': String(cookies.get('Token')),\r\n }\r\n })\r\n .then((Response) => {\r\n let listCheckbox = Response.data.Lists.map((e, index) => {\r\n return {\r\n id: e.ID,\r\n title: e.Title,\r\n checked: e.Selected,\r\n };\r\n });\r\n setListCheckbox(listCheckbox);\r\n });\r\n }, []);\r\n\r\n const handleCheckList = (event, index) => {\r\n let changeStatus = [...listCheckbox]\r\n changeStatus[index].checked = !changeStatus[index].checked;\r\n setListCheckbox(changeStatus)\r\n let id = index;\r\n let checkBox = document.getElementById(id);\r\n if (checkBox.checked === true) {\r\n axios({\r\n method: 'get',\r\n url: `https://ratebuild.com/api/Estimate/GetADDSidemateriaAPI`,\r\n params: {\r\n 'IDProject': Number(cookies.get(\"IDProject\")),\r\n 'Token': String(cookies.get('Token')),\r\n 'IDSide': event.id,\r\n }\r\n })\r\n .then((Response) => {\r\n })\r\n .catch((error) => { });\r\n }\r\n\r\n if (checkBox.checked === false) {\r\n axios({\r\n method: 'get',\r\n url: `https://ratebuild.com/api/Estimate/GetDeactiveSidematerialTableAPI/${event.id}`,\r\n params: {\r\n 'IDProject': Number(cookies.get(\"IDProject\")),\r\n 'Token': String(cookies.get('Token')),\r\n 'ID': event.id,\r\n }\r\n })\r\n .then((Response) => {\r\n })\r\n .catch((error) => { });\r\n }\r\n };\r\n function handleNext() {\r\n props.history.push(\"/fix/side-material-table\");\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n

\r\n In this section you can find the most common tools and materials\r\n that are required in renovation or fixing projects. Please choose\r\n the ones that applies to your project:\r\n

\r\n {listCheckbox.map((e, index) => (\r\n
\r\n handleCheckList(e, index)}\r\n value={e.title}\r\n className=\"checkboxStyle d-inline align-baseline\"\r\n checked={e.checked}\r\n />\r\n \r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n \r\n \r\n Back\r\n \r\n \r\n
\r\n
\r\n \r\n Next\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default SideMaterials;\r\n","import React, { useEffect, useState } from 'react';\r\n// import '../../style.css'\r\nimport { Link } from 'react-router-dom';\r\nimport axios from 'axios';\r\nimport Cookies from 'universal-cookie';\r\nimport FinderSelect from 'react-finderselect'\r\nimport 'react-finderselect/dist/index.css'\r\n\r\n\r\nfunction StartFixProject(props){\r\n const cookies = new Cookies();\r\n const[stateOption, setStateOption] = useState([])\r\n useEffect(() => {\r\n axios.get('https://ratebuild.com/api/Estimate/GetStateAPI')\r\n .then((Response) => {\r\n const states = Response.data.map((e, index) => {\r\n return({\r\n value: e.ID,\r\n label: e.Title\r\n })\r\n })\r\n setStateOption(states)\r\n })\r\n .catch((error) => {\r\n console.log(error)\r\n })\r\n },[])\r\n\r\n const[state, setState] = useState()\r\n const[city, setCity] = useState();\r\n const[cityOption, setCityOption] = useState([])\r\n\r\n const handleSelectState = (e) => {\r\n setState(e.value)\r\n axios.get(`https://ratebuild.com/api/Estimate/GetCityAPI/${e.value}`, {\r\n id: state\r\n })\r\n .then((Response) => {\r\n const citis = Response.data.map((e, index) => {\r\n return({\r\n value: e.ID,\r\n label: e.Title\r\n })\r\n })\r\n setCityOption(citis)\r\n })\r\n .catch((error) => {\r\n console.log(error)\r\n })\r\n }\r\n\r\n const handleSelectCity = (e) => {\r\n setCity(e)\r\n }\r\n\r\n const handleNext = () => {\r\n axios.post('https://ratebuild.com/api/Estimate/StartFixResultAPI', {\r\n generalparam: {\r\n Token: String(cookies.get('Token')),\r\n IDProject: Number(cookies.get('IDProject')),\r\n },\r\n IDCity: Number(city),\r\n })\r\n .then((Response) => {\r\n if(Response.data.Status === 200){\r\n props.history.push('/fix/Building-codes')\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error)\r\n })\r\n }\r\n\r\n\r\n return(\r\n <>\r\n
\r\n
\r\n
\r\n

in this section we try to help you with the most basics and we walk you throuhg some simple steps.

\r\n

There are 9 steps.

\r\n

To start choose your location:

\r\n
\r\n
\r\n
\r\n handleSelectState(e)} \r\n />\r\n
\r\n
\r\n
\r\n
\r\n handleSelectCity(e.value)} \r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default StartFixProject;","import React, { useEffect, useState } from 'react';\r\n// import '../../style.css'\r\nimport { Link } from 'react-router-dom';\r\nimport axios from 'axios';\r\nimport Cookies from 'universal-cookie';\r\n\r\n\r\nfunction BuildingCodes(props){\r\n\r\n const cookies = new Cookies();\r\n const[InputValue, setInputValue] = useState()\r\n const[listItem, setListItem] = useState([])\r\n useEffect(() => {\r\n axios.post('https://ratebuild.com/api/Estimate/BuildingcodesPreLoadAPI', {\r\n IDProject: Number(cookies.get('IDProject')) ,\r\n Token: String(cookies.get('Token'))\r\n })\r\n .then((Response) => {\r\n const list = Response.data.Links.map((e, index) => {\r\n return({\r\n id: e.ID,\r\n title: e.Title,\r\n link: e.Link\r\n })\r\n })\r\n setListItem(list)\r\n })\r\n .catch((error) => {\r\n console.log(error)\r\n })\r\n },[])\r\n\r\n const handleNext = () => {\r\n axios.post('https://ratebuild.com/api/Estimate/BuildingcodesResultAPI', {\r\n Amount: Number(InputValue),\r\n generalparam: {\r\n IDProject: Number(cookies.get('IDProject')),\r\n Token: String(cookies.get('Token'))\r\n }\r\n })\r\n .then((Response) => {\r\n if(Response.data.Status === 200){\r\n props.history.push('/fix/Desings')\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error)\r\n })\r\n }\r\n return(\r\n <>\r\n
\r\n
\r\n
\r\n {listItem.map((e, index) => (\r\n

{index + 1}- {e.title}

\r\n ))}\r\n setInputValue(e.target.value)} \r\n placeholder = 'enter the amount that applies to you' \r\n type = 'number' \r\n required \r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n {/* */}\r\n \r\n {/* */}\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n \r\n )\r\n}\r\n\r\nexport default BuildingCodes;","import React, { useState } from 'react';\r\n// import '../../style.css'\r\nimport { Link } from 'react-router-dom';\r\nimport axios from 'axios';\r\nimport Cookies from 'universal-cookie';\r\n\r\n\r\nfunction Desings(props){\r\n\r\n const[InputValue, setInputValue] = useState()\r\n const cookies = new Cookies();\r\n\r\n const handleNext = () => {\r\n if(InputValue){\r\n axios.post('https://ratebuild.com/api/Estimate/DesingsResultAPI', {\r\n Amount: Number(InputValue),\r\n generalparam: {\r\n IDProject: Number(cookies.get('IDProject')),\r\n Token: String(cookies.get('Token'))\r\n }\r\n })\r\n .then((Response) => {\r\n if(Response.data.Status === 200){\r\n props.history.push('/fix/Surface')\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error)\r\n })\r\n } else {\r\n alert('Please fill in all the items')\r\n }\r\n }\r\n\r\n return(\r\n <>\r\n
\r\n
\r\n
\r\n

One of the most important steps in getting the most accurate estimate for your project is to have your detailed designs of what you are trying to accomplish.

\r\n

We strongly recommend that if you do not have an idea hire a professional for this step. If you would like to hire someone please enter the amount you are willing to pay.

\r\n

If not, please enter zero in the amount!

\r\n setInputValue(e.target.value)} \r\n placeholder = 'enter your amount'\r\n type = 'number'\r\n required />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n \r\n )\r\n}\r\n\r\nexport default Desings;","import React, { useEffect, useState } from 'react';\r\n// import '../../style.css'\r\nimport { Link } from 'react-router-dom';\r\nimport axios from 'axios';\r\nimport Cookies from 'universal-cookie';\r\nimport FinderSelect from 'react-finderselect'\r\nimport 'react-finderselect/dist/index.css'\r\n\r\n\r\nfunction Surface() {\r\n\r\n const [spaceOption, setSpaceOption] = useState([])\r\n const [spaceInTBL, setSpaceInTBL] = useState('')\r\n const [Member, setMember] = useState('')\r\n const [memberInTBL, setMemberInTBL] = useState('')\r\n const [Quantity, setQuantity] = useState('')\r\n const [memberOption, setMemberOption] = useState([])\r\n const cookies = new Cookies();\r\n\r\n useEffect(() => {\r\n axios({\r\n method: 'get',\r\n url: `https://ratebuild.com/api/Estimate/GetSpaceAPI`,\r\n params: {\r\n 'iDProject': Number(cookies.get('IDProject')),\r\n 'token': String(cookies.get('Token'))\r\n }\r\n }).then(Response => {\r\n let spaceList = Response.data.ListSpace.map((e, index) => {\r\n return ({\r\n value: e.ID,\r\n label: e.Title\r\n })\r\n })\r\n setSpaceOption(spaceList)\r\n }).catch(error => {\r\n console.log(error);\r\n });\r\n }, [])\r\n\r\n const handleSelectSpace = (e) => {\r\n setSpaceInTBL(e)\r\n axios({\r\n method: 'get',\r\n url: `https://ratebuild.com/api/Estimate/GetMemberAPI/${e}`,\r\n params: {\r\n 'ID': Number(e),\r\n 'token': String(cookies.get('Token'))\r\n }\r\n }).then(Response => {\r\n let memberList = Response.data.Lists.map((e, index) => {\r\n return ({\r\n value: e.ID,\r\n label: e.Title,\r\n Unit: e.Unit\r\n })\r\n })\r\n setMemberOption(memberList)\r\n }).catch(error => {\r\n console.log(error)\r\n })\r\n }\r\n\r\n const handleSelectMember = (e) => {\r\n setMember(e)\r\n setMemberInTBL(e)\r\n }\r\n\r\n const handleAdd = () => {\r\n if (!spaceInTBL) {\r\n alert('please choose space')\r\n }\r\n if (!memberInTBL) {\r\n alert('please choose member')\r\n }\r\n if (!Quantity) {\r\n alert('please write quantity')\r\n }\r\n if (spaceInTBL) {\r\n if (memberInTBL) {\r\n if (Quantity) {\r\n axios.post('https://ratebuild.com/api/Estimate/AddmemberAPI', {\r\n generalparam: {\r\n IDProject: Number(cookies.get('IDProject')),\r\n Token: String(cookies.get('Token'))\r\n },\r\n Amount: Number(Quantity),\r\n IDMember: Member\r\n })\r\n .then((Response) => {\r\n AddToTable()\r\n })\r\n .catch((error) => {\r\n console.log(error)\r\n })\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n const [dataTable, setDataTable] = useState([])\r\n const AddToTable = () => {\r\n if (spaceInTBL) {\r\n if (memberInTBL) {\r\n if (Quantity) {\r\n const IDProject = Number(cookies.get('IDProject'))\r\n const token = String(cookies.get('Token'))\r\n axios.get(`https://ratebuild.com/api/Estimate/GetSurfaceTBLEAPI?IDProject=${IDProject}&Token=${token}`)\r\n .then((Response) => {\r\n const table = Response.data.Table.map((e, index) => {\r\n return ({\r\n space: e.Space,\r\n member: e.Memebr,\r\n quantity: e.Count,\r\n id: e.ID\r\n })\r\n })\r\n setDataTable(table)\r\n })\r\n .catch((error) => {\r\n console.log(error)\r\n })\r\n }\r\n }\r\n }\r\n }\r\n\r\n const handleDelete = (e, index) => {\r\n axios.delete('https://ratebuild.com/api/Estimate/DeleteTableAPI', {\r\n ID: e.id,\r\n generalparam: {\r\n IDProject: Number(cookies.get('IDProject')),\r\n Token: String(cookies.get('Token'))\r\n }\r\n }).then((Response) => {\r\n console.log(Response)\r\n })\r\n .catch((error) => {\r\n console.log(error)\r\n })\r\n }\r\n\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n \r\n handleSelectSpace(e.value)}\r\n />\r\n \r\n handleSelectMember(e.value)}\r\n />\r\n \r\n
\r\n setQuantity(e.target.value)} placeholder='Square meters' type='number' />\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {dataTable.map((e, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
spacememberquantitydelete
{e.space}{e.member}{e.quantity} handleDelete(e, index)} value='delete' className='buttons mt-4 col-12' />
\r\n
\r\n
\r\n

If no more next step

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default Surface;","import React, { useEffect, useState } from 'react';\r\n// import '../../style.css'\r\nimport { Link } from 'react-router-dom';\r\nimport axios from 'axios';\r\nimport Cookies from 'universal-cookie';\r\nimport FinderSelect from 'react-finderselect'\r\nimport 'react-finderselect/dist/index.css'\r\n\r\nfunction SurfaceResult(props){\r\n\r\n const[result, setResult] = useState([])\r\n const cookies = new Cookies();\r\n const[DataTable, setDataTable] = useState([])\r\n\r\n\r\n useEffect(() => {\r\n axios({\r\n method: 'post',\r\n url: 'https://ratebuild.com/api/Estimate/SurfaceResultPreLoadAPI',\r\n params: {\r\n 'IDProject':Number(cookies.get('IDProject')), \r\n 'Token': String (String(cookies.get('Token')))\r\n }\r\n })\r\n .then((Response) => {\r\n if(Response.data.Result.Status === 200){\r\n const dataTable = Response.data.Table.map((e, index) => {\r\n return({\r\n Materials: e.Materials.map((e, index) => {\r\n return({\r\n title: e.Title,\r\n id: e.ID\r\n })\r\n }),\r\n space: e.Space,\r\n member: e.Memebr,\r\n count: e.Count,\r\n id: e.ID,\r\n price: 0\r\n })\r\n })\r\n setDataTable(dataTable)\r\n const resultObject = Response.data.Table.map((e, index) => {\r\n return({\r\n id: e.ID,\r\n CustomerPrice: null,\r\n ProductChoosen: null\r\n })\r\n })\r\n setResult(resultObject)\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error)\r\n })\r\n },[])\r\n\r\n const handleSelectMaterial = (e, index) => {\r\n let resultProductChoosen = [...result]\r\n resultProductChoosen[index].ProductChoosen = e.value\r\n setResult(resultProductChoosen)\r\n console.log(result)\r\n\r\n if(!e.value){\r\n DataTable[Number(e.name)].price = 0\r\n }\r\n if(e.value){\r\n axios({\r\n method: 'post',\r\n url: 'https://ratebuild.com/api/Estimate/returPriceSurfaceAPI',\r\n params: {\r\n ID: e.value\r\n }\r\n })\r\n .then((Response) => {\r\n if(Response.data.Result.Status === 200){\r\n let table = [...DataTable]\r\n table[index].price = Response.data.Price\r\n setDataTable(table)\r\n }\r\n })\r\n }\r\n } \r\n\r\n const handleChangePrice = (e, index) => {\r\n let resultCustomerPrice = [...result]\r\n resultCustomerPrice[index].CustomerPrice = e.target.value\r\n setResult(resultCustomerPrice)\r\n }\r\n \r\n const handleNext = () => {\r\n axios.post('https://ratebuild.com/api/Estimate/SurfaceResultAPI', {\r\n Result: [...result],\r\n generalparam: {\r\n IDProject:Number(cookies.get('IDProject')), \r\n Token: String (String(cookies.get('Token')))\r\n }\r\n })\r\n .then((Response) => {\r\n if(Response.data.Status === 200){\r\n props.history.push('/fix/tasks')\r\n }\r\n })\r\n }\r\n return(\r\n <>\r\n
\r\n
\r\n
\r\n {DataTable.map((e, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
space{e.space}
member{e.member}
count you need{e.count}
Materials {\r\n return({\r\n name: e.title,\r\n code: e.id,\r\n })\r\n })} \r\n id = {index}\r\n label='name' \r\n value='code' \r\n extraInfo='capital' \r\n className='rounded-0' \r\n placeholder='Select'\r\n onChange={(e) => handleSelectMaterial(e, index)} \r\n />
{e.price}
\r\n your price\r\n \r\n handleChangePrice(e, index)}/>\r\n
\r\n ))}\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n {/* */}\r\n \r\n {/* */}\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default SurfaceResult;","import React, { useEffect, useState } from 'react';\r\n// import '../../style.css'\r\nimport Select from 'react-select';\r\nimport { Link } from 'react-router-dom';\r\nimport axios from 'axios';\r\nimport Cookies from 'universal-cookie';\r\n\r\n\r\nfunction Tasks(props){\r\n\r\n const cookies = new Cookies();\r\n const[list, setList] = useState([])\r\n\r\n useEffect(() => {\r\n axios({\r\n method: 'get',\r\n url: 'https://ratebuild.com/api/Estimate/GetTaksAPI',\r\n params: {\r\n IDProject: Number(cookies.get('IDProject')),\r\n Token: String (String(cookies.get('Token')))\r\n }\r\n })\r\n .then((Response) => {\r\n let list = Response.data.Lists.map((e, index) => {\r\n return({\r\n id: e.ID,\r\n title: e.Title\r\n })\r\n })\r\n setList(list)\r\n })\r\n },[])\r\n\r\n\r\n const[CheckList, setCheckList] = useState([])\r\n const handleCheckList = (e, index) => {\r\n let id = index\r\n let checkBox = document.getElementById(id);\r\n if (checkBox.checked === true){\r\n let myList = [...CheckList];\r\n myList.push(e)\r\n setCheckList(myList)\r\n } else {\r\n let myList = [...CheckList];\r\n let index = myList.indexOf(e);\r\n if (index > -1) {\r\n myList.splice(index, 1);\r\n }\r\n setCheckList(myList)\r\n }\r\n }\r\n\r\n const handleNext = () => {\r\n axios.post('https://ratebuild.com/api/Estimate/TaksresultAPI', {\r\n Lists: [...CheckList],\r\n generalparam: {\r\n IDProject: Number(cookies.get('IDProject')),\r\n Token: String (String(cookies.get('Token')))\r\n }\r\n }).then((Response) => {\r\n if(Response.data.Status === 200){\r\n props.history.push('/fix/evaluation')\r\n }\r\n })\r\n }\r\n return(\r\n <>\r\n
\r\n
\r\n

text

\r\n {list.map((e, index) => (\r\n
\r\n handleCheckList(e, index)} \r\n value = {e.title} className = 'checkboxStyle d-inline align-baseline'/>\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default Tasks;","import React, { useState } from 'react';\r\n// import '../../style.css'\r\nimport { Link } from 'react-router-dom';\r\nimport axios from 'axios';\r\nimport Cookies from 'universal-cookie';\r\n\r\n\r\nfunction Evaluation(){\r\n\r\n const cookies = new Cookies();\r\n const[list, setList] = useState([])\r\n const[text, setText] = useState()\r\n\r\n const handleAdd = () => {\r\n let myList = [...list];\r\n myList.push(text);\r\n setList(myList);\r\n }\r\n\r\n const handleDelete = (e, index) => {\r\n let myList = [...list]\r\n myList.splice(index, 1)\r\n setList(myList)\r\n }\r\n\r\n const handleSendAded = () => {\r\n axios.post('https://ratebuild.com/api/Estimate/evaluationresultAPI', {\r\n generalparam: {\r\n IDProject: Number(cookies.get('IDProject')),\r\n Token: String(cookies.get('Token'))\r\n },\r\n Title: text\r\n })\r\n document.getElementById('input').value = ''\r\n } \r\n return(\r\n <>\r\n
\r\n
\r\n

text

\r\n setText(e.target.value)} placeholder = 'Enter your other tasks(text)'/>\r\n {list.map((e, index) => (\r\n
\r\n {index + 1 + '- '}{e}\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n)\r\n}\r\n\r\nexport default Evaluation;","import React, { useEffect, useState } from 'react';\r\n// import '../../style.css'\r\nimport { Link } from 'react-router-dom';\r\nimport { DropdownButton } from 'react-bootstrap';\r\nimport DropdownItem from 'react-bootstrap/esm/DropdownItem';\r\nimport axios from 'axios';\r\nimport Cookies from 'universal-cookie';\r\nimport FinderSelect from 'react-finderselect'\r\nimport 'react-finderselect/dist/index.css'\r\n\r\n \r\n\r\n\r\nfunction SideMaterials(){\r\n\r\n const[CheckList, setCheckList] = useState([])\r\n const[DataTable, setDataTable] = useState([])\r\n const cookies = new Cookies();\r\n const[listCheckbox, setListCheckbox] = useState([])\r\n const[result, setResult] = useState([])\r\n\r\n\r\n useEffect(() => {\r\n axios({\r\n method: 'post',\r\n url: 'https://ratebuild.com/api/Estimate/SideMaterialpreloadparamAPI',\r\n params: {\r\n 'IDProject':Number(cookies.get('IDProject')), \r\n 'Token': String(cookies.get('Token'))\r\n }\r\n }).then((Response) => {\r\n let listCheckbox = Response.data.Lists.map((e, index) => {\r\n return({\r\n id: e.ID,\r\n title: e.Title\r\n })\r\n })\r\n setListCheckbox(listCheckbox)\r\n })\r\n },[])\r\n \r\n const handleCheckList = (e, index) => {\r\n let id = index\r\n let checkBox = document.getElementById(id);\r\n if (checkBox.checked === true){\r\n axios.post('https://ratebuild.com/api/Estimate/ADDSidemateriaAPI', {\r\n generalparam: {\r\n IDProject:Number(cookies.get('IDProject')), \r\n Token: String(cookies.get('Token'))\r\n },\r\n IDSide: e.id\r\n }).then((Response) => {\r\n if(Response.data.Status === 200){\r\n axios({\r\n method: 'get',\r\n url: 'https://ratebuild.com/api/Estimate/GetSidematerialTableAPI',\r\n params: {\r\n 'IDProject':Number(cookies.get('IDProject')), \r\n 'Token':String(cookies.get('Token'))\r\n }\r\n }).then((Response) => {\r\n const table = Response.data.Table.map((e, index) => {\r\n return({\r\n title: e.Title,\r\n Count: e.Count,\r\n List: e.List\r\n })\r\n })\r\n setDataTable(table)\r\n })\r\n }\r\n }).catch((error) => {\r\n\r\n })\r\n } else {\r\n let myList = [...CheckList];\r\n let index = myList.indexOf(e);\r\n if (index > -1) {\r\n myList.splice(index, 1);\r\n }\r\n setCheckList(myList)\r\n }\r\n }\r\n\r\n const handleSelectMaterial = (e, index) => {\r\n let resultProductChoosen = [...result]\r\n resultProductChoosen[index].ProductChoosen = e.value\r\n setResult(resultProductChoosen)\r\n\r\n if(!e.value){\r\n DataTable[Number(e.name)].price = 0\r\n }\r\n if(e.value){\r\n axios({\r\n method: 'post',\r\n url: 'https://ratebuild.com/api/Estimate/returPriceSurfaceAPI',\r\n params: {\r\n ID: e.value\r\n }\r\n })\r\n .then((Response) => {\r\n if(Response.data.Result.Status === 200){\r\n let table = [...DataTable]\r\n table[index].price = Response.data.Price\r\n setDataTable(table)\r\n }\r\n })\r\n }\r\n }\r\n\r\n const handleChangePrice = (e, index) => {\r\n let resultCustomerPrice = [...result]\r\n resultCustomerPrice[index].CustomerPrice = e.target.value\r\n setResult(resultCustomerPrice)\r\n }\r\n\r\n return(\r\n <>\r\n
\r\n
\r\n
\r\n {listCheckbox.map((e, index) => (\r\n
\r\n handleCheckList(e, index)} \r\n value = {e.title} className = 'checkboxStyle d-inline align-baseline'/>\r\n \r\n
\r\n ))}\r\n
\r\n {DataTable.map((e, index) => (\r\n
\r\n
\r\n
{e.title}
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
side material{e.title}
count you need{e.Count}
brand\r\n {\r\n return({\r\n name: e.title,\r\n code: e.id,\r\n })\r\n })} \r\n id = {index}\r\n label='name' \r\n value='code' \r\n extraInfo='capital' \r\n className='rounded-0' \r\n placeholder='Select'\r\n onChange={(e) => handleSelectMaterial(e, index)} \r\n />\r\n
price
\r\n your price\r\n \r\n handleChangePrice(e, index)}/>\r\n
\r\n
\r\n ))}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default SideMaterials;","import React, { useEffect, useState } from 'react'\r\nimport axios from 'axios';\r\nimport Cookies from 'universal-cookie';\r\nimport { Link } from 'react-router-dom';\r\n\r\nfunction Final(props) {\r\n\r\n const cookies = new Cookies();\r\n const [Sidematerial, setSidematerial] = useState([])\r\n const [taskOwner, setTaskOwner] = useState([])\r\n const [TaskSystem, setTaskSystem] = useState([])\r\n const [Surfaces, setSurfaces] = useState([])\r\n const [Amount, setAmount] = useState()\r\n const [AmountPrice, setAmountPrice] = useState()\r\n const [City, setCity] = useState()\r\n const [Resaon, setResaon] = useState()\r\n const [TypeProject, setTypeProject] = useState()\r\n const [generalparam, setgeneralparam] = useState()\r\n const [SumPriceSidematerial, setSumPriceSidematerial] = useState()\r\n const [SumPricSurface, setSumPricSurface] = useState()\r\n const [Explain, setExplain] = useState()\r\n const [SumPrice, setSumPrice] = useState()\r\n useEffect(() => {\r\n axios({\r\n method: 'get',\r\n url: `https://ratebuild.com/api/Estimate/GetFinalResultAPI`,\r\n params: {\r\n 'IDProject': Number(cookies.get('IDProject')),\r\n 'Token': String(cookies.get('Token'))\r\n }\r\n })\r\n .then((Response) => {\r\n setAmount(Response.data.Amount)\r\n setAmountPrice(Response.data.AmountPrice)\r\n setCity(Response.data.City)\r\n setResaon(Response.data.Resaon)\r\n setTypeProject(Response.data.TypeProject)\r\n setgeneralparam(Response.data.generalparam)\r\n const Sidematerial = Response.data.Sidematerial.map((e, index) => {\r\n return ({\r\n SideMaterial: e.SideMaterial,\r\n Brand: e.Brand,\r\n Count: e.Count,\r\n ID: e.ID,\r\n Price: e.Price,\r\n Priceowner: e.Priceowner,\r\n unit: e.Unit\r\n })\r\n })\r\n setSidematerial(Sidematerial)\r\n\r\n const taskOwner = Response.data.taskOwner.map((e, index) => {\r\n return ({\r\n Title: e.Title\r\n })\r\n })\r\n setTaskOwner(taskOwner)\r\n\r\n\r\n const TaskSystem = Response.data.TaskSystem.map((e, index) => {\r\n return ({\r\n Title: e.Title\r\n })\r\n })\r\n setTaskSystem(TaskSystem)\r\n const Surfaces = Response.data.Surfaces.map((e, index) => {\r\n return ({\r\n Space: e.Space,\r\n Memebr: e.Memebr,\r\n Count: e.Count,\r\n ID: e.ID,\r\n Price: e.Price,\r\n Priceowner: e.Priceowner,\r\n unit: e.Unit\r\n })\r\n })\r\n setSurfaces(Surfaces)\r\n setSumPriceSidematerial(Response.data.SumPriceSidematerial)\r\n setSumPricSurface(Response.data.SumPricSurface)\r\n setSumPrice(Response.data.SumPrice)\r\n })\r\n .catch((error) => {\r\n console.log(error)\r\n })\r\n }, [])\r\n\r\n function SurfacesMaterialBody() {\r\n return (\r\n <>\r\n
\r\n
Surfaces materials
\r\n
\r\n {Surfaces.map((e, index) => (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {e.Priceowner ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n :\r\n null\r\n }\r\n \r\n
Space{e.Space}
Quantity{e.Count}{(e.Count) ? ` (${e.unit})` : null}
\r\n Memebr\r\n \r\n {e.Memebr}\r\n
\r\n Average price\r\n \r\n {e.Price}{(e.Price && e.Price != 0) ? ' $' : null}\r\n
\r\n Your price\r\n \r\n {e.Priceowner} $\r\n
\r\n
\r\n ))}\r\n
Total price for main material: {SumPricSurface}$
\r\n\r\n
\r\n\r\n \r\n )\r\n }\r\n\r\n function SideMaterialBody() {\r\n return (\r\n <>\r\n
\r\n
Side materials
\r\n
\r\n\r\n {Sidematerial.map((e, index) => (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {e.Brand ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n :\r\n null}\r\n {e.Priceowner ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n :\r\n null\r\n }\r\n\r\n \r\n
Side material{e.SideMaterial}
Average price\r\n {e.Brand}\r\n
{e.Price}{(e.Price && e.Price != 0) ? ' $' : null}
\r\n Your price\r\n \r\n {e.Priceowner}\r\n {(e.Priceowner && e.Priceowner != 0) ? ' $' : null}\r\n
\r\n
\r\n\r\n
\r\n ))}\r\n
Total price for side materials: {SumPriceSidematerial}$
\r\n
\r\n \r\n )\r\n }\r\n\r\n function handleGoToPrintPage() {\r\n props.history.push('/fix/final/print')\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n

Overview

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
City{City}
Project type{TypeProject}
Method{Resaon}
\r\n Permit's amount\r\n \r\n {Amount}\r\n
\r\n
\r\n\r\n
\r\n {Surfaces[0] ? SurfacesMaterialBody() :
}\r\n\r\n {TaskSystem[0] ?\r\n <>\r\n
\r\n
Task list
\r\n
    \r\n {TaskSystem.map((e, index) => (\r\n
  • {e.Title}
  • \r\n ))}\r\n
\r\n
\r\n
\r\n \r\n :\r\n
\r\n }\r\n\r\n {taskOwner[0] ?\r\n <>\r\n
\r\n
Additional task list (by user)
\r\n
    \r\n {taskOwner.map((e, index) => (\r\n
  • {e.Title}
  • \r\n ))}\r\n
\r\n
\r\n
\r\n \r\n :\r\n
\r\n }\r\n\r\n {Sidematerial[0] ? SideMaterialBody() :
}\r\n\r\n
\r\n
Total price of your project: {SumPrice}$
\r\n {(Explain) ?
Explain: {Explain}
:
}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {/* */}\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default Final;","import React, { useEffect, useState } from 'react'\r\nimport axios from 'axios';\r\nimport Cookies from 'universal-cookie';\r\nimport { StyleSheet, Link } from \"@react-pdf/renderer\";\r\nimport jsPDF from 'jspdf'\r\n// import html2canvas from 'html2canvas';\r\n// import ReactToPdf from 'react-to-pdf'\r\n\r\nfunction Print(props) {\r\n\r\n const cookies = new Cookies();\r\n const [Sidematerial, setSidematerial] = useState([])\r\n const [taskOwner, setTaskOwner] = useState([])\r\n const [TaskSystem, setTaskSystem] = useState([])\r\n const [Surfaces, setSurfaces] = useState([])\r\n const [Amount, setAmount] = useState()\r\n const [AmountPrice, setAmountPrice] = useState()\r\n const [City, setCity] = useState()\r\n const [Resaon, setResaon] = useState()\r\n const [TypeProject, setTypeProject] = useState()\r\n const [generalparam, setgeneralparam] = useState()\r\n const [SumPriceSidematerial, setSumPriceSidematerial] = useState()\r\n const [SumPricSurface, setSumPricSurface] = useState()\r\n const [Explain, setExplain] = useState()\r\n const [SumPrice, setSumPrice] = useState()\r\n const ref = React.createRef();\r\n useEffect(() => {\r\n axios({\r\n method: 'get',\r\n url: `https://ratebuild.com/api/Estimate/GetFinalResultAPI`,\r\n params: {\r\n 'IDProject': Number(cookies.get('IDProject')),\r\n 'Token': String(cookies.get('Token'))\r\n }\r\n }).then((Response) => {\r\n setAmount(Response.data.Amount)\r\n setAmountPrice(Response.data.AmountPrice)\r\n setCity(Response.data.City)\r\n setResaon(Response.data.Resaon)\r\n setTypeProject(Response.data.TypeProject)\r\n setgeneralparam(Response.data.generalparam)\r\n const Sidematerial = Response.data.Sidematerial.map((e, index) => {\r\n return ({\r\n SideMaterial: e.SideMaterial,\r\n Brand: e.Brand,\r\n Count: e.Count,\r\n ID: e.ID,\r\n Price: e.Price,\r\n Priceowner: e.Priceowner,\r\n unit: e.Unit\r\n })\r\n })\r\n setSidematerial(Sidematerial)\r\n\r\n const taskOwner = Response.data.taskOwner.map((e, index) => {\r\n return ({\r\n Title: e.Title\r\n })\r\n })\r\n setTaskOwner(taskOwner)\r\n\r\n const TaskSystem = Response.data.TaskSystem.map((e, index) => {\r\n return ({\r\n Title: e.Title\r\n })\r\n })\r\n setTaskSystem(TaskSystem)\r\n const Surfaces = Response.data.Surfaces.map((e, index) => {\r\n return ({\r\n Space: e.Space,\r\n Memebr: e.Memebr,\r\n Count: e.Count,\r\n ID: e.ID,\r\n Price: e.Price,\r\n Priceowner: e.Priceowner,\r\n unit: e.Unit\r\n })\r\n })\r\n setSurfaces(Surfaces)\r\n setSumPriceSidematerial(Response.data.SumPriceSidematerial)\r\n setSumPricSurface(Response.data.SumPricSurface)\r\n setSumPrice(Response.data.SumPrice)\r\n })\r\n .catch((error) => {\r\n console.log(error)\r\n })\r\n }, [])\r\n\r\n\r\n\r\n function SurfacesMaterialBody() {\r\n return (\r\n <>\r\n
\r\n
Surfaces materials
\r\n
\r\n {Surfaces.map((e, index) => (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {e.Priceowner ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n :\r\n null\r\n }\r\n \r\n
Space{e.Space}
Quantity{e.Count}{(e.Count) ? ` (${e.unit})` : null}
\r\n Memebr\r\n \r\n {e.Memebr}\r\n
\r\n Average price\r\n \r\n {e.Price}{(e.Price && e.Price != 0) ? ' $' : null}\r\n
\r\n Your price\r\n \r\n {e.Priceowner} $\r\n
\r\n
\r\n ))}\r\n
Total price for main materials :{SumPricSurface}$
\r\n\r\n
\r\n\r\n \r\n )\r\n }\r\n\r\n function SideMaterialBody() {\r\n return (\r\n <>\r\n
\r\n
Side materials
\r\n
\r\n\r\n {Sidematerial.map((e, index) => (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {e.Priceowner ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n :\r\n null\r\n }\r\n\r\n \r\n
Side material{e.SideMaterial}
Quantity{e.Count}{(e.Count) && (e.unit) ? ` ${e.unit}` : ' (unit)'}
Average price\r\n {e.Brand}\r\n
{e.Price}{(e.Price && e.Price != 0) ? ' $' : null}
\r\n Your price\r\n \r\n {e.Priceowner}\r\n {(e.Priceowner && e.Priceowner != 0) ? ' $' : null}\r\n
\r\n
\r\n\r\n
\r\n ))}\r\n
Total price for side materials: {SumPriceSidematerial}$
\r\n
\r\n \r\n )\r\n }\r\n\r\n const printDocument = (e) => {\r\n let doc = new jsPDF(\"p\", \"pt\", \"a2\")\r\n doc.html(document.querySelector('#divToPrint'), {\r\n callback: function (pdf) {\r\n pdf.save('estimate.pdf');\r\n }\r\n })\r\n }\r\n\r\n \r\n function goHome(){\r\n props.history.push(\"/home\")\r\n } \r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
City{City}
Project type{TypeProject}
Method{Resaon}
\r\n Permit's amount\r\n \r\n {Amount}\r\n
\r\n
\r\n\r\n
\r\n {Surfaces[0] ? SurfacesMaterialBody() :
}\r\n\r\n {TaskSystem[0] ?\r\n <>\r\n
\r\n
Task list:
\r\n
    \r\n {TaskSystem.map((e, index) => (\r\n
  • {e.Title}
  • \r\n ))}\r\n
\r\n
\r\n
\r\n \r\n :\r\n
\r\n }\r\n\r\n {taskOwner[0] ?\r\n <>\r\n
\r\n
Additional task list (by user)
\r\n
    \r\n {taskOwner.map((e, index) => (\r\n
  • {e.Title}
  • \r\n ))}\r\n
\r\n
\r\n
\r\n \r\n :\r\n
\r\n }\r\n\r\n {Sidematerial[0] ? SideMaterialBody() :
}\r\n\r\n
\r\n
Total price of your project: {SumPrice}$
\r\n {(Explain) ?
Explain: {Explain}
:
}\r\n
\r\n
\r\n
\r\n {/* */}\r\n \r\n {/* */}\r\n {/* \r\n {({toPdf}) => ( */}\r\n \r\n {/* )}\r\n */}\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default Print;","import React, { useEffect, useState } from \"react\";\r\nimport \"react-bootstrap-table-next/dist/react-bootstrap-table2.min.css\";\r\nimport \"react-bootstrap-table2-toolkit/dist/react-bootstrap-table2-toolkit.min.css\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory from \"react-bootstrap-table2-paginator\";\r\nimport ToolkitProvider, { Search } from \"react-bootstrap-table2-toolkit\";\r\nimport axios from \"axios\";\r\nimport Cookies from \"universal-cookie\";\r\nimport { Link } from \"@react-pdf/renderer\";\r\n\r\nfunction Home(props) {\r\n const cookies = new Cookies();\r\n const [data, setData] = useState([]);\r\n useEffect(() => {\r\n axios({\r\n method: 'get',\r\n url: `https://ratebuild.com/api/Estimate/GetReturnPastEstimate`,\r\n params: {\r\n 'Token': String(cookies.get('Token')),\r\n }\r\n })\r\n .then((Response) => {\r\n if (Response.status === 200) {\r\n const tableData = Response.data.ListOfEstimates.map((e, index) => {\r\n return {\r\n keyField: index,\r\n ProductID: e.ID,\r\n ProductName: e.Title,\r\n };\r\n });\r\n setData(tableData);\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }, []);\r\n\r\n function changeData() { }\r\n const columns = [\r\n {\r\n dataField: \"ProductName\",\r\n text: \"Estimate name\",\r\n sort: true,\r\n // headerStyle: () => {\r\n // return { width: \"150px\" };\r\n // }\r\n },\r\n {\r\n ID: \"ProductID\",\r\n dataField: \"ProductID\",\r\n text: \"\",\r\n sort: true,\r\n headerStyle: () => {\r\n return { width: \"20%\" };\r\n },\r\n formatter: function () {\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n \r\n );\r\n },\r\n events: {\r\n onClick: (e, column, columnIndex, row, rowIndex) => {\r\n cookies.set(\"IDProject\", row.ProductID, { path: \"/\" });\r\n props.history.push(\"/fix/final\");\r\n },\r\n },\r\n },\r\n {\r\n ID: \"ProductID\",\r\n dataField: \"ProductID\",\r\n text: \"\",\r\n sort: true,\r\n headerStyle: () => {\r\n return { width: \"20%\" };\r\n },\r\n formatter: function () {\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n \r\n );\r\n },\r\n events: {\r\n onClick: (e, column, columnIndex, row, rowIndex) => {\r\n axios({\r\n method: 'get',\r\n url: `https://ratebuild.com/api/Estimate/GetReturnPastEstimate`,\r\n params: {\r\n 'IDProject': row.ProductID,\r\n 'Token': String(cookies.get('Token')),\r\n }\r\n })\r\n .then((Response) => {\r\n if (Response.data.Result.Status) {\r\n window.location.reload(false);\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n },\r\n },\r\n },\r\n ];\r\n const { SearchBar } = Search;\r\n\r\n const handleGoToProfile = () => {\r\n props.history.push(\"/profile\");\r\n };\r\n const handleMakeNewEstimate = () => {\r\n props.history.push(\"/page1\");\r\n };\r\n return (\r\n <>\r\n
\r\n
\r\n {/* */}\r\n \r\n Profile\r\n \r\n \r\n Estimate new project\r\n \r\n \r\n {(props) => (\r\n
\r\n
\r\n {/* Search */}\r\n \r\n
\r\n \r\n
\r\n )}\r\n
\r\n \r\n
\r\n \r\n );\r\n}\r\n\r\nexport default Home;\r\n","import React, { useEffect, useState } from 'react'\r\nimport axios from 'axios'\r\nimport Cookies from 'universal-cookie';\r\nimport FinderSelect from 'react-finderselect'\r\nimport { ToastContainer, toast } from 'react-toastify';\r\n\r\n\r\n\r\nfunction Profile(props) {\r\n const cookies = new Cookies();\r\n const [Address, setAddress] = useState(null)\r\n const [StateName, setStateName] = useState()\r\n const [CityName, setCityName] = useState()\r\n const [editProfile, setEditProfile] = useState(false)\r\n const [List, setList] = useState([])\r\n const [stateOption, setStateOption] = useState([])\r\n const [state, setState] = useState()\r\n const [city, setCity] = useState();\r\n const [cityOption, setCityOption] = useState([])\r\n const [cityLabel, setCityLabel] = useState()\r\n const [changedName, setChangedName] = useState()\r\n const [changedAddress, setChangedAddress] = useState()\r\n const [changedPassword, setChangedPassword] = useState()\r\n\r\n\r\n useEffect(() => {\r\n axios({\r\n method: 'get',\r\n url: `https://ratebuild.com/api/Estimate/getEditProfilePreload`,\r\n params: {\r\n 'Token': String(cookies.get('Token'))\r\n }\r\n })\r\n .then((Response) => {\r\n const list = {\r\n Address: Response.data.Address,\r\n Email: Response.data.Email,\r\n IDState: Response.data.IDState,\r\n IDCity: Response.data.IDCity,\r\n Name: Response.data.Name\r\n }\r\n setList(list)\r\n\r\n })\r\n .catch((error) => {\r\n console.log(error)\r\n })\r\n }, [])\r\n\r\n\r\n useEffect((e, index) => {\r\n axios({\r\n method: 'get',\r\n url: `https://ratebuild.com/api/Estimate/GetStateAPI`,\r\n })\r\n .then((Response) => {\r\n const states = Response.data.map((e, index) => {\r\n if (e.ID === List.IDState) {\r\n setStateName(e.Title)\r\n }\r\n })\r\n })\r\n .catch((error) => {\r\n console.log(error)\r\n })\r\n\r\n axios.get(`https://ratebuild.com/api/Estimate/GetCityAPI/${List.IDState}`)\r\n .then((Response) => {\r\n const citis = Response.data.map((e, index) => {\r\n if (e.ID === List.IDCity) {\r\n setCityName(e.Title)\r\n }\r\n })\r\n })\r\n .catch((error) => {\r\n console.log(error)\r\n })\r\n\r\n }, [List])\r\n\r\n const [passwordValue, setPasswordValue] = useState('22hhff434r53')\r\n const [password, setPassword] = useState('')\r\n const [status, setStatus] = useState(false)\r\n\r\n const handleClickOnChangeButton = () => {\r\n setStatus(true)\r\n }\r\n const handleChangePassword = (e) => {\r\n setPassword(e.target.value)\r\n }\r\n\r\n const handleClickOnEditProfile = () => {\r\n setEditProfile(true)\r\n setChangedName(List.Name)\r\n setChangedAddress(List.Address)\r\n\r\n axios.get('https://ratebuild.com/api/Estimate/GetStateAPI')\r\n .then((Response) => {\r\n const states = Response.data.map((e, index) => {\r\n return ({\r\n value: e.ID,\r\n label: e.Title\r\n })\r\n })\r\n setStateOption(states)\r\n })\r\n .catch((error) => {\r\n console.log(error)\r\n })\r\n }\r\n\r\n const handleSelectState = (e) => {\r\n setState(e.value)\r\n axios.get(`https://ratebuild.com/api/Estimate/GetCityAPI/${e.value}`)\r\n .then((Response) => {\r\n const citis = Response.data.map((e, index) => {\r\n return ({\r\n value: e.ID,\r\n label: e.Title\r\n })\r\n })\r\n setCityOption(citis)\r\n })\r\n .catch((error) => {\r\n console.log(error)\r\n })\r\n }\r\n\r\n const handleSelectCity = (e) => {\r\n setCity(e.value)\r\n setCityLabel(e)\r\n }\r\n\r\n const handlechangeName = (e) => {\r\n setChangedName(e)\r\n }\r\n\r\n const handlechangeAddess = (e) => {\r\n setChangedAddress(e)\r\n }\r\n const handleChageProfile = () => {\r\n if (changedName && city && password) {\r\n axios({\r\n method: 'get',\r\n url: `https://ratebuild.com/api/Estimate/GetEditProfileResult`,\r\n params: {\r\n \"FUllName\": changedName,\r\n \"token\": String(cookies.get('Token')),\r\n \"IDCity\": Number(city),\r\n \"Password\": password,\r\n \"Address\": Address\r\n }\r\n })\r\n .then((Response) => {\r\n if (Response.status === 200) {\r\n setEditProfile(false)\r\n axios({\r\n method: 'get',\r\n url: `https://ratebuild.com/api/Estimate/getEditProfilePreload`,\r\n params: {\r\n 'Token': String(cookies.get('Token'))\r\n }\r\n })\r\n .then((Response) => {\r\n const list = {\r\n Address: Response.data.Address,\r\n Email: Response.data.Email,\r\n IDState: Response.data.IDState,\r\n IDCity: Response.data.IDCity,\r\n Name: Response.data.Name\r\n }\r\n setList(list)\r\n })\r\n .catch((error) => {\r\n console.log(error)\r\n })\r\n }\r\n })\r\n } else {\r\n toast.error(\"Please fill in all the items\", {\r\n position: toast.POSITION.BOTTOM_LEFT\r\n });\r\n }\r\n }\r\n\r\n const handleChangePasswordInMainView = (e) => {\r\n setChangedPassword(e.target.value)\r\n }\r\n const handleClickOnApplyButton = () => {\r\n setStatus(false)\r\n axios({\r\n method: 'get',\r\n url: `https://ratebuild.com/api/Estimate/GetEditPasswordResult`,\r\n params: {\r\n 'Token': String(cookies.get('Token')),\r\n \"Password\": String(changedPassword)\r\n }\r\n })\r\n\r\n }\r\n\r\n\r\n const changeButton =
\r\n Change\r\n
\r\n\r\n const ChangePassword =
\r\n
\r\n handleChangePasswordInMainView(e)} />\r\n Apply\r\n
\r\n
\r\n\r\n\r\n return (\r\n <>\r\n
\r\n {(editProfile)\r\n ?\r\n
\r\n\r\n

\r\n

\r\n \r\n Full Name:  \r\n \r\n

\r\n handlechangeName(e.target.value)} />\r\n

\r\n\r\n

\r\n

\r\n \r\n Email:  \r\n \r\n

\r\n \r\n

\r\n

\r\n

\r\n \r\n Password:  \r\n \r\n

\r\n setPassword(e.target.value)} />\r\n

\r\n
\r\n

\r\n \r\n State:  \r\n \r\n

\r\n
\r\n { handleSelectState(e)}}\r\n />\r\n
\r\n
\r\n\r\n
\r\n

\r\n \r\n City:  \r\n \r\n

\r\n
\r\n handleSelectCity(e)}\r\n />\r\n
\r\n
\r\n\r\n {(List.Address)\r\n ?\r\n <>\r\n

\r\n

\r\n \r\n Address:  \r\n \r\n

\r\n

\r\n handlechangeAddess(e.target.value)} />\r\n \r\n :\r\n null\r\n }\r\n
\r\n \r\n
\r\n
\r\n\r\n :\r\n\r\n
\r\n

\r\n

\r\n \r\n Full Name:  \r\n \r\n

\r\n

\r\n {List.Name}\r\n

\r\n

\r\n\r\n

\r\n

\r\n \r\n Email:  \r\n \r\n

\r\n

\r\n {List.Email}\r\n

\r\n

\r\n

\r\n

\r\n \r\n Password:  \r\n \r\n

\r\n {(status) ? ChangePassword : changeButton}\r\n

\r\n

\r\n

\r\n \r\n State:  \r\n \r\n

\r\n

\r\n {StateName}\r\n

\r\n

\r\n\r\n

\r\n

\r\n \r\n City:  \r\n \r\n

\r\n

\r\n {CityName}\r\n

\r\n

\r\n {(List.Address)\r\n ?\r\n

\r\n

\r\n \r\n Address:  \r\n \r\n

\r\n

\r\n {List.Address}\r\n

\r\n

\r\n :\r\n null\r\n }\r\n
\r\n \r\n
\r\n
\r\n }\r\n \r\n
\r\n\r\n \r\n )\r\n}\r\n\r\nexport default Profile;","import React, { useEffect, useState } from 'react';\r\n\r\nimport axios from 'axios';\r\nimport Cookies from 'universal-cookie';\r\nimport 'react-finderselect/dist/index.css'\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\n\r\nfunction ConfirmEmail(props) {\r\n const cookies = new Cookies();\r\n const [sendRequest, setSendRequest] = useState(1)\r\n\r\n useEffect(() => {\r\n let token = String(cookies.get('Token'));\r\n if (props.history.location.search === '') {\r\n props.history.push(`/confirm-email?token=${token}`)\r\n }\r\n setSendRequest(2)\r\n }, [])\r\n\r\n useEffect(() => {\r\n axios({\r\n method: 'get',\r\n url: `https://ratebuild.com/api/Estimate/GetVerifyOpenLogin`,\r\n params: {\r\n \"token\": props.location.search.split('=')[1]\r\n }\r\n })\r\n .then((Response) => {\r\n if (Response.data.Result === 200) {\r\n cookies.set('Token', Response.data.Token, { path: '/' });\r\n props.history.push('/page1');\r\n }\r\n else {\r\n alert('Email not confirmed')\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error)\r\n })\r\n }, [sendRequest])\r\n\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n

Email verification...

\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default ConfirmEmail;","import React, { useEffect, useState } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport axios from 'axios';\r\nimport Cookies from 'universal-cookie';\r\nimport FinderSelect from 'react-finderselect'\r\nimport 'react-finderselect/dist/index.css'\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nfunction SidematerialTable(props) {\r\n const [DataTable, setDataTable] = useState([]);\r\n const cookies = new Cookies();\r\n // const [toastify, SetToastufy] = useState(false);\r\n // const [toastifyStatus, SetToastufyStatus] = useState(true);\r\n const [firstSelectMaterial, setFirstSelectMaterial] = useState(true);\r\n\r\n useEffect(() => {\r\n axios({\r\n method: 'get',\r\n url: `https://ratebuild.com/api/Estimate/GetSidematerialTableAPI`,\r\n params: {\r\n 'IDProject': Number(cookies.get(\"IDProject\")),\r\n 'Token': String(cookies.get('Token')),\r\n }\r\n })\r\n\r\n .then((Response) => {\r\n const table = Response.data.Table.map((e, index) => {\r\n let BranChosenSelected = \"Select\";\r\n BranChosenSelected = e.List.map((item, index) => {\r\n if (item.ID === e.BranChosen) {\r\n return String(item.Title)\r\n }\r\n })\r\n\r\n if (BranChosenSelected[0]) {\r\n BranChosenSelected = `Selested > ${BranChosenSelected[0]}`\r\n } else if (BranChosenSelected[0] === undefined) {\r\n BranChosenSelected = \"Select\"\r\n }\r\n\r\n return {\r\n title: e.Title,\r\n Count: e.Count,\r\n List: e.List,\r\n price: 0,\r\n ID: e.ID,\r\n CustomerPrice: 0,\r\n BrandChoosen: e.BranChosen,\r\n requiredStatus: false,\r\n BranChosenSelected: BranChosenSelected,\r\n };\r\n });\r\n\r\n table.map((e, i) => {\r\n table[i].List.push(\r\n {\r\n ID: 0,\r\n Title: \"none\",\r\n Unit: \"null\"\r\n }\r\n )\r\n })\r\n setDataTable(table);\r\n })\r\n }, [])\r\n\r\n const handleSelectMaterial = (e, index) => {\r\n let resultBrandChoosen = [...DataTable];\r\n\r\n if (e.value === 0) {\r\n resultBrandChoosen[index].BrandChoosen = 0;\r\n } else {\r\n resultBrandChoosen[index].BrandChoosen = Number(e.value);\r\n }\r\n\r\n resultBrandChoosen[index].requiredStatus = false;\r\n setDataTable(resultBrandChoosen);\r\n\r\n if (e.value) {\r\n let id = e.value;\r\n axios({\r\n method: \"get\",\r\n url: `https://ratebuild.com/api/Estimate/GetreturPriceSideMaterialAPI/${id}`,\r\n params: {\r\n ID: id,\r\n },\r\n })\r\n .then((Response) => {\r\n if (Response.data.Result.Status === 200) {\r\n let table = [...DataTable];\r\n table[index].price = Response.data.Price;\r\n setDataTable(table);\r\n }\r\n });\r\n }\r\n };\r\n\r\n\r\n const handleChangePrice = (e, index) => {\r\n let resultCustomerPrice = [...DataTable];\r\n const InputResult = e.target.value.replace(/\\D/g, '');\r\n resultCustomerPrice[index].CustomerPrice = InputResult;\r\n setDataTable(resultCustomerPrice);\r\n };\r\n\r\n const createPayload = (data) => {\r\n let selectedId = data.reduce((acc, item) => {\r\n return acc.concat(\",\", String(+(item.ID)))\r\n }, \"\")\r\n\r\n let selectedCustomerPrice = data.reduce((acc, item) => {\r\n return acc.concat(\",\", String(+(item.CustomerPrice)))\r\n }, \"\")\r\n\r\n let selectedBrandChoosen = \"\"\r\n\r\n data.map((e, index) => {\r\n if (e.BrandChoosen > 0) {\r\n selectedBrandChoosen += `,${e.BrandChoosen}`\r\n } else if (e.BrandChoosen === 0) {\r\n selectedBrandChoosen += `,null`\r\n }\r\n })\r\n return {\r\n selectedId,\r\n selectedCustomerPrice,\r\n selectedBrandChoosen\r\n }\r\n }\r\n\r\n\r\n const handleNext = () => {\r\n const payload = createPayload(DataTable);\r\n if (!Boolean(payload.selectedBrandChoosen) &&\r\n !Boolean(payload.selectedCustomerPrice) &&\r\n !Boolean(payload.selectedId)) {\r\n props.history.push(\"/fix/final\")\r\n }\r\n\r\n if (DataTable[0]) {\r\n let nextPageAllow = true;\r\n for (let i = 0; i < DataTable.length; i++) {\r\n if (DataTable[i].BrandChoosen === null) {\r\n nextPageAllow = false;\r\n let requiredStatus = [...DataTable];\r\n requiredStatus[i].requiredStatus = true;\r\n setDataTable(requiredStatus);\r\n }\r\n }\r\n if (nextPageAllow) {\r\n axios({\r\n method: 'get',\r\n url: `https://ratebuild.com/api/Estimate/GetSideMaterialResultAPI/${payload.selectedId}`,\r\n params: {\r\n 'IDProject': Number(cookies.get(\"IDProject\")),\r\n 'Token': String(cookies.get('Token')),\r\n 'ID': payload.selectedId,\r\n 'CustomerPrice': payload.selectedCustomerPrice,\r\n 'BrandChoosen': payload.selectedBrandChoosen,\r\n }\r\n })\r\n .then((Response) => {\r\n if (Response.data.Status === 200) {\r\n props.history.push(\"/fix/final\");\r\n }\r\n });\r\n } else {\r\n toast.error('Please fill in all the items!', {\r\n position: \"bottom-left\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n theme: \"light\",\r\n });\r\n }\r\n }\r\n };\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n

\r\n In this section you can find the most common tools and materials\r\n that are required in renovation or fixing projects. Please choose\r\n the ones that applies to your project:\r\n

\r\n
\r\n {DataTable.map((e, index) => (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Side material{e.title}
Quantity\r\n {e.Count}\r\n {e.Count && e.Count !== 0 ? \" (unit)\" : null}\r\n
Price Model\r\n {\r\n return {\r\n name: e.Title,\r\n code: e.ID,\r\n };\r\n })}\r\n key={index}\r\n id={index}\r\n label=\"name\"\r\n value=\"code\"\r\n extraInfo=\"capital\"\r\n className=\"p-2\"\r\n placeholder={e.BranChosenSelected}\r\n onChange={(e) => handleSelectMaterial(e, index)}\r\n />\r\n\r\n\r\n {DataTable[index].requiredStatus ?\r\n

\r\n Required!!\r\n

\r\n :\r\n null\r\n }\r\n
\r\n {e.price}\r\n {e.price && e.price !== 0 ? \" $\" : null}\r\n
Your price\r\n
\r\n handleChangePrice(e, index)}\r\n value={DataTable[index]?.CustomerPrice}\r\n />\r\n $\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n ))}\r\n
\r\n
\r\n \r\n \r\n Back\r\n \r\n \r\n
\r\n
\r\n \r\n Next\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n )\r\n}\r\n\r\nexport default SidematerialTable;","import React from 'react';\r\nimport './App.css';\r\nimport './pages/style.css'\r\nimport { BrowserRouter, HashRouter, Route } from 'react-router-dom';\r\nimport SelectLoginMethod from './pages/index'\r\nimport page1 from './pages/page1';\r\nimport startFixProject from './pages/fix/start'\r\nimport BuildingCodesFix from './pages/fix/Building-codes'\r\nimport SurfaceFix from './pages/fix/Surface';\r\nimport SurfaceResultFix from './pages/fix/surfaceResult';\r\nimport TasksFix from './pages/fix/tasks';\r\nimport EvaluationFix from './pages/fix/Evaluation';\r\nimport SideMaterialsFix from './pages/fix/side-materials/index'\r\nimport startRenovateProject from './pages/Renovate/start'\r\nimport BuildingCodesRenovate from './pages/Renovate/Building-codes'\r\nimport DesingsRenovate from './pages/Renovate/Desings';\r\nimport SurfaceRenovate from './pages/Renovate/Surface';\r\nimport SurfaceResultRenovate from './pages/Renovate/surfaceResult';\r\nimport TasksRenovate from './pages/Renovate/tasks';\r\nimport EvaluationRenovate from './pages/Renovate/Evaluation';\r\nimport SideMaterialsRenovate from './pages/Renovate/side-materials/index'\r\nimport Final from './pages/fix/final/index'\r\nimport Print from './pages/printPage/print';\r\nimport Home from './home/home';\r\nimport Profile from './profile';\r\nimport ConfirmEmail from './pages/confirmEmail/index';\r\nimport SidematerialTable from './pages/fix/SideMaterialTable/index';\r\n\r\nfunction App(props) {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n\r\n );\r\n}\r\n\r\nexport default App;\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://cra.link/PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.0/8 are considered localhost for IPv4.\r\n window.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)\r\n);\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://cra.link/PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then((registration) => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://cra.link/PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch((error) => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl, {\r\n headers: { 'Service-Worker': 'script' },\r\n })\r\n .then((response) => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then((registration) => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log('No internet connection found. App is running in offline mode.');\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready\r\n .then((registration) => {\r\n registration.unregister();\r\n })\r\n .catch((error) => {\r\n console.error(error.message);\r\n });\r\n }\r\n}\r\n","const reportWebVitals = (onPerfEntry) => {\r\n if (onPerfEntry && onPerfEntry instanceof Function) {\r\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\r\n getCLS(onPerfEntry);\r\n getFID(onPerfEntry);\r\n getFCP(onPerfEntry);\r\n getLCP(onPerfEntry);\r\n getTTFB(onPerfEntry);\r\n });\r\n }\r\n};\r\n\r\nexport default reportWebVitals;\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './index.css';\r\nimport App from './App';\r\nimport * as serviceWorkerRegistration from './serviceWorkerRegistration';\r\nimport reportWebVitals from './reportWebVitals';\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n document.getElementById('root')\r\n);\r\n\r\nserviceWorkerRegistration.register();\r\n\r\nreportWebVitals();\r\n"],"sourceRoot":""}