{"version":3,"sources":["components/BarTabs.js","components/AppBar.js","components/BoxInput.js","components/Header.js","tables/DataTable.js","components/RealEstateObjects.js","dialogs/AddRealEstateObject.js","components/EditRealEstateObject.js","components/LoadingDialog.js","pages/RealEstateObjectsPage.js","dialogs/Info.js","dialogs/StandardImageList.js","components/EditClient.js","components/ClientsHeader.js","dialogs/AddClient.js","tables/ClientsDataTable.js","components/Clients.js","pages/ClientsPage.js","components/EditArchive.js","tables/ArchivesTable.js","components/HeaderArchives.js","pages/ArchivesPage.js","dialogs/BeforeDeleteObject.js","dialogs/BeforeDeleteArchive.js","dialogs/BeforeReturnArchive.js","AppRealtor.js","AppClient.js","dialogs/ViewImage.js","pages/ViewObjectPage.js","App.js","reportWebVitals.js","index.js","logo1_ai copy436_alpha.png"],"names":["StyledTabs","withStyles","theme","indicator","display","justifyContent","backgroundColor","& > div","maxWidth","width","props","react","Tabs","Object","assign","TabIndicatorProps","children","StyledTab","root","textTransform","color","fontWeight","typography","fontWeightLight","fontSize","pxToRem","marginRight","spacing","unit","&:hover","&$selected","&:focus","selected","Tab","disableRipple","ColorTabs","_ref","listObjects","listClients","listArchives","admin","_React$useState","React","_React$useState2","slicedToArray","value","setValue","Box","sx","onChange","event","newValue","index","label","onClick","ResponsiveAppBar","AppBar","position","backdropFilter","Stack","direction","alignItems","src","Logo1","style","maxHeight","paddingLeft","Button","variant","height","right","top","window","open","Typography","createTheme","body1","BoxInput","inputWidth","items","type","ThemeProvider","component","Autocomplete","& .MuiOutlinedInput-root .MuiAutocomplete-input","padding","& .MuiOutlinedInput-root","id","freeSolo","options","map","option","onInputChange","e","console","log","onKeyPress","key","preventDefault","renderInput","params","TextField","defaultProps","Header","onAddItem","queryObjects","regionSearchTerms","streetSearchTerms","_useState","useState","_useState2","street","setStreet","_useState3","_useState4","rooms","setRooms","_useState5","_useState6","regions","setRegions","_useState7","_useState8","heating","setHeating","_useState9","_useState10","fromCost","setCostFrom","_useState11","_useState12","toCost","setCostTo","filterProps","region","react_default","a","createElement","className","overflowX","minWidth","border","borderColor","p","alignContent","concat","fontStyle","DataTable","handleOpenInfo","handleOpenPhotos","handleDeleteItem","handleEditItem","onPageChanged","loadNextObjects","openViewPage","visible","setVisible","_React$useState3","_React$useState4","shareDetails","document","querySelector","url","title","text","date","Date","ukUA","handleSharing","_ref2","asyncToGenerator","regenerator_default","mark","_callee","wrap","_context","prev","next","navigator","share","then","isMobile","t0","stop","_x","apply","this","arguments","getDate","time","setTime","getUTCMonth","getUTCDate","getFullYear","columns","field","headerName","renderCell","cellValues","row","dateFrom","dateEdit","formattedValue","IconButton","stopPropagation","VisibilityOff","substring","length","Visibility","push","getActions","GridActionsCellItem","icon","Info","PhotoCamera","Edit","Delete","Share","_callee2","_context2","info","_callee3","_context3","innerHeight","flexGrow","textAlign","DataGrid",".MuiDataGrid-cellContent","overflowWrap","disableSelectionOnClick","disableColumnFilter","hideFooterSelectedRowCount","getRowHeight","rows","pageSize","rowsPerPageOptions","showCellRightBorder","showColumnRightBorder","onPageChange","pageNumber","details","RealEstateObjects","onDeleteItem","Fragment","AddRealEstateObject","onCloseDialog","Input","styled","inputFile","useRef","inputFiles","setInputFiles","personName","setPersonName","phoneNumber","setPhoneNumber","setDateFrom","cost","setCost","_useState13","_useState14","currency","setCurrency","_useState15","_useState16","_useState17","_useState18","setRegion","_useState19","_useState20","floor","setFloor","_useState21","_useState22","state","setState","_useState23","_useState24","_useState25","_useState26","setInfo","_useState27","_useState28","furniture","setFurniture","_useState29","_useState30","technology","setTechnology","_useState31","_useState32","displayDateFrom","setDisplayDateFrom","Dialog","fullWidth","noValidate","autoComplete","m","target","LocalizationProvider","dateAdapter","AdapterDateFns","DatePicker","placeholder","inputProps","objectSpread","error","helperText","multiline","marginTop","marginLeft","FormControlLabel","control","Checkbox","checked","currentTarget","marginBottom","multiple","accept","ref","selectedFiles","files","i","toConsumableArray","handleFileInput","paddingBottom","endIcon","Collections","current","click","file","name","fileVar","filter","Close","Math","random","getTime","onSave","EditRealEstateObject","onEditItem","item","onDeletePhotos","displayDateEdit","useEffect","defaultValue","inputValue","defaultChecked","LoadingDialog","PaperProps","CircularProgress","RealEstateObjectsPage","addItem","showLoading","showAddRealEstateObject","realEstateItems","deleteItem","onCloseEditDialog","tableUIItems","isEditItem","components_Header","components_LoadingDialog","dialogs_AddRealEstateObject","components_EditRealEstateObject","components_RealEstateObjects","left","transform","bgcolor","overflowY","BuildingInfo","infoText","openInfo","handleCloseInfo","Modal","onClose","aria-labelledby","aria-describedby","mt","StandardImageList","openPhotos","handleClosePhotos","photos","onDeletePhoto","Dialog_Dialog","ImageList","cols","rowHeight","ImageListItem","fetch","method","headers","response","arrayBuffer","buffer","URL","createObjectURL","Blob","link","href","setAttribute","body","appendChild","catch","err","download","FileDownloadOutlined","deletePhoto","srcSet","loading","crossOrigin","EditClient","aboutClient","setAboutClient","deadline","setDeadline","urgency","setUrgency","setDisplayDateEdit","ClientsHeader","queryClients","costFrom","costTo","AddClient","ClientsDataTable","loadNextClients","Clients","ClientsPage","showAddClient","clientItems","components_ClientsHeader","dialogs_AddClient","components_EditClient","components_Clients","EditArchive","dateTerm","displayDateTerm","setDisplayDateTerm","dateDeleted","ArchivesTable","openArchiveInfo","returnItem","ArrowBack","& .green-row","& .green-row:hover","& .simple-row","getEstimatedRowHeight","getRowClassName","handleRowColor","HeaderArchives","ArchivesPage","release","loadNextArchives","editArchiveItem","components_HeaderArchives","components_EditArchive","BeforeDeleteObject","openDialog","deleteObject","handleCloseDialog","flexWrap","paddingTop","BeforeDeleteArchive","minHeight","BeforeReturnArchive","Buffer","require","palette","background","ddbClient","s3Client","idToken","lastQueryPropertiesObjects","lastQueryPropertiesClients","lastQueryPropertiesArchives","lastEvaluatedKeyObjects","lastEvaluatedKeyClients","lastEvaluatedKeyArchives","PRODUCTION","location","includes","TABLE_NAME_OBJECTS","TABLE_NAME_CLIENTS","TABLE_NAME_ARCHIVES","TABLE_NAME_DELETED_ARCHIVE","REGION","IDENTITY_POOL_ID","SCAN_LIMIT","S3_PHOTOS_BUCKET","signIn","credentials","fromCognitoIdentityPool","client","CognitoIdentityClient","identityPoolId","logins","cognito-idp.eu-central-1.amazonaws.com/eu-central-1_O4YAKLH4N","DynamoDBClient","S3Client","clientRegionSearchTerms","timeout","delay","Promise","res","setTimeout","AppRealtor","displayAdminTools","setDisplayAdminTools","activeItemId","setActiveItemId","openDeleteDialog","setOpenDeleteDialog","openReturnDialog","setOpenReturnDialog","openDeleteArchiveDialog","setOpenDeleteArchiveDialog","setShowLoading","setShowAddRealEstateObject","setRealEstateItems","showAddClients","setShowAddClients","setClientItems","archiveItems","setArchiveItems","setOpenInfo","setInfoText","setOpenPhotos","setPhotos","setIsEditItem","_useState33","_useState34","setEditItemId","_useState35","_useState36","currentPage","setCurrentPage","_useState37","dateTo","_useState38","editItem","setEditItem","_useState39","_useState40","editClientItem","setEditClientItem","_useState41","_useState42","setEditArchiveItem","photo","send","DeleteObjectCommand","Key","Bucket","alert","photosId","albumPhotosKey","data","bucketUrl","encodeURIComponent","ListObjectsCommand","Prefix","sent","Contents","abrupt","split","pop","_x2","url_string","replace","searchParams","get","checkAdmin","_ref4","_callee4","_context4","DeleteItemCommand","TableName","S","_ref5","_callee5","loadNext","lastEvaluatedKey","prevItems","_args5","_context5","undefined","QueryCommand","IndexName","KeyConditionExpression","ExpressionAttributeNames","#global","ExpressionAttributeValues",":global","N","Limit","ExclusiveStartKey","ScanIndexForward","LastEvaluatedKey","Items","forEach","element","array","BOOL","indexOf","filterObjects","_ref6","_callee6","_context6","Array","toLowerCase","_x4","_ref7","_callee7","filterExpression","expressionAttributeNames","expressionAttributeValues","_args7","_context7","FilterExpression","_ref8","_callee8","_args8","_context8","_ref9","_callee9","keyConditionExpression","startingValue","indexName","_context9","#index",":index","_x5","_x6","_x7","_x8","_x9","_x10","_x11","_ref10","_callee10","_args10","_context10","queryArchives","_ref11","_callee11","_args11","_context11","_ref12","_callee12","_context12","_ref13","_callee13","_context13","_ref14","_callee14","_context14","addObjectItem","_ref15","_callee15","tasks","_context15","PutItemCommand","Item","global","estateItem","PutObjectCommand","Body","all","_x12","_x13","addClientItem","_ref16","_callee16","_context16","rooms_region","clientItem","_x14","addArchiveItem","_ref17","_callee17","_context17","archiveItem","_x15","onEditArchiveItem","_ref18","_callee18","_context18","_x16","_x17","addDeletedArchiveItem","_ref19","_callee19","_context19","_x18","_ref20","_callee20","_context20","removeFromArchive","_x19","_ref21","_callee21","_context21","_x20","deleteArchive","_ref22","_callee22","albumKey","photosData","objects","_context22","object","DeleteObjectsCommand","Objects","Quiet","_x21","_ref23","_callee23","_context23","realEstateItem","_x22","_x23","deleteClientItem","_ref24","_callee24","_context24","_x24","ac","AbortController","abort","_ref25","_callee25","rowValues","_context25","_x25","dialogs_Info","components_AppBar","dialogs_BeforeDeleteObject","dialogs_BeforeDeleteArchive","dialogs_BeforeReturnArchive","pages_RealEstateObjectsPage","infoId","pages_ClientsPage","pages_ArchivesPage","ViewImage","viewPageValues","openModal","photoIndex","handleCloseModal","getIndex","Photos","findIndex","obj","ViewObjectPage","setOpenModal","setPhotoIndex","scroll","scrollOffset","scrollLeft","linkC","setLinkC","match","b","c","dialogs_ViewImage","Container","borderRadius","divider","Divider","orientation","flexItem","scrollBehavior","cursor","pointerEvents","ChevronLeft","ChevronRight","LocationOnOutlined","Link","fontFamily","hrefLang","AppClient","setViewPageValues","useParams","getPhotos","loadObjectInfo","GetItemCommand","object_id","pages_ViewObjectPage","react_router","App","overflow","StyledEngineProvider","injectFirst","react_router_dom","path","src_AppRealtor","src_AppClient","reportWebVitals","onPerfEntry","Function","__webpack_require__","bind","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","src_App","getElementById","module","exports"],"mappings":"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","file":"static/js/main.b25591f1.chunk.js","sourcesContent":["import * as React from \"react\";\r\nimport Tabs from \"@mui/material/Tabs\";\r\nimport Tab from \"@mui/material/Tab\";\r\nimport Box from \"@mui/material/Box\";\r\nimport { MuiThemeProvider, createTheme } from \"@material-ui/core/styles\";\r\nimport PropTypes from \"prop-types\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nconst styles = (theme) => ({\r\n root: {\r\n backgroundColor: \"#2e1534\",\r\n },\r\n typography: {\r\n padding: theme.spacing.unit * 3,\r\n },\r\n});\r\n\r\nconst StyledTabs = withStyles((theme) => ({\r\n indicator: {\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n backgroundColor: \"transparent\",\r\n \"& > div\": {\r\n maxWidth: 40,\r\n width: \"100%\",\r\n backgroundColor: \"#0390fc\",\r\n },\r\n },\r\n}))((props) => }} />);\r\n\r\nconst StyledTab = withStyles((theme) => ({\r\n root: {\r\n textTransform: \"initial\",\r\n color: \"#000000\",\r\n fontWeight: theme.typography.fontWeightLight,\r\n fontSize: theme.typography.pxToRem(15),\r\n marginRight: theme.spacing.unit * 1,\r\n \"&:hover\": {\r\n color: \"#0390fc\",\r\n },\r\n \"&$selected\": {\r\n color: \"#0390fc\",\r\n },\r\n \"&:focus\": {\r\n color: \"#0390fc\",\r\n },\r\n },\r\n selected: {},\r\n}))((props) => );\r\n\r\nexport default function ColorTabs({\r\n listObjects,\r\n listClients,\r\n listArchives,\r\n admin,\r\n}) {\r\n const [value, setValue] = React.useState(\"one\");\r\n\r\n const handleChange = (event, newValue) => {\r\n setValue(newValue);\r\n };\r\n\r\n return (\r\n \r\n \r\n {\r\n listObjects(null);\r\n }}\r\n />\r\n {\r\n listClients(null);\r\n }}\r\n />\r\n {admin && (\r\n {\r\n listArchives(null);\r\n }}\r\n />\r\n )}\r\n \r\n \r\n );\r\n}\r\n","import * as React from \"react\";\r\nimport AppBar from \"@mui/material/AppBar\";\r\nimport Container from \"@mui/material/Container\";\r\nimport BarTabs from \"./BarTabs\";\r\nimport Box from \"@mui/material/Box\";\r\nimport { Keyboard } from \"@mui/icons-material\";\r\nimport { Stack, Typography } from \"@mui/material\";\r\nimport Logo1 from \"../logo1_ai copy436_alpha.png\";\r\nimport { Link, Navigate } from \"react-router-dom\";\r\nimport { Button } from \"@mui/material\";\r\n\r\nconst ResponsiveAppBar = ({\r\n listObjects,\r\n listClients,\r\n listArchives,\r\n admin,\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 window.open(\"https://leocity.estate\", \"_self\")}\r\n >\r\n \r\n Вийти з системи\r\n \r\n \r\n \r\n );\r\n};\r\nexport default ResponsiveAppBar;\r\n","import * as React from \"react\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Stack from \"@mui/material/Stack\";\r\nimport Autocomplete from \"@mui/material/Autocomplete\";\r\nimport { Box, createTheme, ThemeProvider } from \"@mui/material\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Keyboard } from \"@mui/icons-material\";\r\n\r\nconst theme = createTheme({\r\n typography: {\r\n body1: {\r\n fontSize: 12,\r\n },\r\n },\r\n});\r\n\r\nexport default function BoxInput({ inputWidth, items, type, onChange }) {\r\n const [inputValue, setInputValue] = React.useState(\"\");\r\n return (\r\n \r\n \r\n option)}\r\n onInputChange={(e, newValue) => {\r\n onChange(newValue);\r\n console.log(newValue);\r\n }}\r\n onKeyPress={(e) => {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n renderInput={(params) => }\r\n />\r\n \r\n \r\n );\r\n}\r\n\r\nBoxInput.defaultProps = {\r\n inputWidth: \"150px\",\r\n};\r\n","import { useState } from \"react\";\nimport React from \"react\";\nimport {\n Box,\n Button,\n Typography,\n Autocomplete,\n TextField,\n} from \"@mui/material\";\nimport BoxInput from \"./BoxInput\";\nimport { createTheme, ThemeProvider, Stack } from \"@mui/material\";\n\nconst theme = createTheme({\n spacing: 4,\n});\n\nconst Header = ({\n onAddItem,\n queryObjects,\n regionSearchTerms,\n streetSearchTerms,\n admin,\n}) => {\n const getTypes = () => {\n console.log(\n `street type: ${typeof street} ${street}\\nrooms type: ${typeof rooms} ${rooms}\\nregions type: ${typeof regions} ${regions}\\ncostFrom type: ${typeof fromCost} ${fromCost}\\ncostTo type: ${typeof toCost} ${toCost}`\n );\n };\n\n const [street, setStreet] = useState(\"\");\n const [rooms, setRooms] = useState(-1);\n const [regions, setRegions] = useState(\"\");\n const [heating, setHeating] = useState(\"\");\n const [fromCost, setCostFrom] = useState(-1);\n const [toCost, setCostTo] = useState(-1);\n var filterProps = {\n street: \"\",\n rooms: -1,\n region: \"\",\n heating: \"\",\n fromCost: -1,\n toCost: -1,\n };\n\n return (\n \n \n \n \n {admin && (\n \n \n Додати обєкт\n \n \n )}\n \n \n \n \n Назва вулиці\n \n {\n setStreet(newValue);\n filterProps.street = newValue;\n }}\n items={streetSearchTerms}\n />\n \n К-сть кімнат\n \n {\n setRooms(newValue);\n filterProps.rooms = newValue;\n console.log(\"changed\");\n }}\n />\n \n Район\n \n {\n setRegions(newValue);\n filterProps.regions = newValue;\n }}\n />\n \n Опалення\n \n {\n setHeating(newValue);\n filterProps.heating = newValue;\n }}\n />{\" \"}\n \n Від\n \n {\n setCostFrom(newValue);\n filterProps.fromCost = newValue;\n }}\n />\n \n До\n \n {\n setCostTo(newValue);\n filterProps.toCost = newValue;\n }}\n />\n \n {\n getTypes();\n queryObjects({\n street: street,\n rooms: rooms,\n region: regions,\n heating: heating,\n fromCost: fromCost,\n toCost: toCost,\n });\n }}\n >\n \n Знайти\n \n \n \n \n \n \n \n \n );\n};\n\nexport default Header;\n","import * as React from \"react\";\r\nimport { DataGrid, ukUA } from \"@mui/x-data-grid\";\r\nimport { GridActionsCellItem } from \"@mui/x-data-grid\";\r\nimport {\r\n Info,\r\n PhotoCamera,\r\n Delete,\r\n Edit,\r\n Details,\r\n Visibility,\r\n VisibilityOff,\r\n Share,\r\n} from \"@mui/icons-material\";\r\nimport { Container, Stack, Typography } from \"@mui/material\";\r\nimport { ThemeProvider, createTheme } from \"@mui/material/styles\";\r\nimport { IconButton } from \"@mui/material\";\r\nimport \"../styles.css\";\r\nimport { isMobile } from \"react-device-detect\";\r\nimport { CopyToClipboard } from \"react-copy-to-clipboard\";\r\n\r\nexport default function DataTable({\r\n items,\r\n handleOpenInfo,\r\n handleOpenPhotos,\r\n handleDeleteItem,\r\n handleEditItem,\r\n onPageChanged,\r\n loadNextObjects,\r\n admin,\r\n openViewPage,\r\n}) {\r\n const MAX_ROW_LENGTH = 50;\r\n const [visible, setVisible] = React.useState(\"\"); //holds row id's\r\n const [dialogVisible, setDialogVisible] = React.useState(false);\r\n const ref = React.useRef(null);\r\n const canonical = document.querySelector(\"link[rel=canonical]\");\r\n var shareDetails = { url: \"\", title: \"Оренда квартири\", text: \"\" };\r\n var date = new Date();\r\n\r\n const theme = createTheme(ukUA);\r\n\r\n const handleSharing = async (params) => {\r\n if (navigator.share) {\r\n try {\r\n await navigator.share(shareDetails).then(() => {\r\n if (!isMobile) openViewPage(params);\r\n console.log(\"Shared\");\r\n });\r\n } catch (error) {\r\n console.log(`Oops! I couldn't share to the world because: ${error}`);\r\n openViewPage(params);\r\n }\r\n } else {\r\n // fallback code\r\n console.log(\r\n \"Web share is currently not supported on this browser. Please provide a callback\"\r\n );\r\n openViewPage(params);\r\n }\r\n };\r\n\r\n const scroll = (scrollOffset) => {\r\n ref.current.scrollLeft += scrollOffset;\r\n console.log(`scroll: ${scrollOffset}`);\r\n };\r\n\r\n const handleCloseShare = () => {\r\n setDialogVisible(false);\r\n };\r\n\r\n const onScroll = () => {\r\n //console.log(ref);\r\n };\r\n\r\n const getDate = (time) => {\r\n date.setTime(time);\r\n return `${date.getUTCMonth() + 1}/${date.getUTCDate() +\r\n 1}/${date.getFullYear()}`;\r\n };\r\n\r\n var columns = [\r\n {\r\n field: \"dateFrom\",\r\n headerName: \"Додано\",\r\n width: 90,\r\n renderCell: (cellValues) => {\r\n return <>{getDate(cellValues.row.dateFrom)};\r\n },\r\n },\r\n {\r\n field: \"dateEdit\",\r\n headerName: \"Редаговано\",\r\n width: 90,\r\n renderCell: (cellValues) => {\r\n return <>{getDate(cellValues.row.dateEdit)};\r\n },\r\n },\r\n { field: \"rooms\", headerName: \"Кімнат\", width: 70, type: \"number\" },\r\n {\r\n field: \"cost\",\r\n headerName: \"Ціна\",\r\n width: 90,\r\n type: \"number\",\r\n },\r\n { field: \"currency\", headerName: \"Валюта\", width: 70 },\r\n {\r\n field: \"street\",\r\n headerName: \"Вулиця\",\r\n width: 110,\r\n },\r\n { field: \"region\", headerName: \"Район\", width: 110 },\r\n {\r\n field: \"floor\",\r\n headerName: \"Поверх\",\r\n width: 70,\r\n type: \"number\",\r\n },\r\n { field: \"state\", headerName: \"Стан\", width: 90 },\r\n { field: \"heating\", headerName: \"Опалення\", width: 110 },\r\n {\r\n field: \"furniture\",\r\n headerName: \"Меблі\",\r\n width: 70,\r\n type: \"boolean\",\r\n },\r\n {\r\n field: \"technology\",\r\n headerName: \"Техніка\",\r\n width: 70,\r\n type: \"boolean\",\r\n },\r\n { field: \"personName\", headerName: \"Ім'я\", width: 100 },\r\n {\r\n field: \"phoneNumber\",\r\n headerName: \"Номер\",\r\n width: 130,\r\n renderCell: (cellValues) => {\r\n return (\r\n \r\n {visible === cellValues.row.id ? (\r\n <>\r\n {cellValues.formattedValue}\r\n {\r\n event.stopPropagation();\r\n setVisible(\"\");\r\n }}\r\n >\r\n \r\n \r\n \r\n ) : (\r\n <>\r\n {`******${cellValues.formattedValue.substring(\r\n cellValues.formattedValue.length - 3,\r\n cellValues.formattedValue.length\r\n )}`}\r\n {\r\n event.stopPropagation();\r\n setVisible(cellValues.row.id);\r\n }}\r\n >\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n },\r\n },\r\n ];\r\n\r\n if (admin) {\r\n columns.push({\r\n field: \"info\",\r\n type: \"actions\",\r\n width: 200,\r\n getActions: (params) => [\r\n }\r\n onClick={() => handleOpenInfo(params.id)}\r\n label=\"Info\"\r\n />,\r\n }\r\n label=\"Photos\"\r\n onClick={() => handleOpenPhotos(params.id)}\r\n />,\r\n }\r\n label=\"Edit\"\r\n onClick={() => handleEditItem(params.id)}\r\n />,\r\n }\r\n label=\"Delete\"\r\n onClick={() => handleDeleteItem(params.id)}\r\n />,\r\n }\r\n label=\"Share\"\r\n onClick={async () => {\r\n if (!isMobile) {\r\n openViewPage(params);\r\n } else {\r\n shareDetails.url = `View/${params.id}`;\r\n shareDetails.text = `${params.row.info}`;\r\n await handleSharing(params);\r\n }\r\n }}\r\n />,\r\n ],\r\n });\r\n } else {\r\n columns.push({\r\n field: \"info\",\r\n type: \"actions\",\r\n width: 200,\r\n getActions: (params) => [\r\n }\r\n onClick={() => handleOpenInfo(params.id)}\r\n label=\"Info\"\r\n />,\r\n }\r\n label=\"Photos\"\r\n onClick={() => handleOpenPhotos(params.id)}\r\n />,\r\n }\r\n label=\"Share\"\r\n onClick={async () => {\r\n if (!isMobile) {\r\n openViewPage(params);\r\n } else {\r\n shareDetails.url = `View/${params.id}`;\r\n shareDetails.text = `${params.row.info}`;\r\n await handleSharing(params);\r\n }\r\n }}\r\n />,\r\n ],\r\n });\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \"auto\"}\r\n //getEstimatedRowHeight={() => 100}\r\n rows={items}\r\n columns={columns}\r\n pageSize={MAX_ROW_LENGTH}\r\n rowsPerPageOptions={[MAX_ROW_LENGTH]}\r\n showCellRightBorder\r\n showColumnRightBorder\r\n onPageChange={(pageNumber, details) => {\r\n onPageChanged(pageNumber, details.rows);\r\n if (items.length <= MAX_ROW_LENGTH * (pageNumber + 1)) {\r\n console.log(\"last page reached\");\r\n loadNextObjects();\r\n }\r\n }}\r\n />\r\n \r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\nimport DataTable from \"../tables/DataTable\";\nimport RealEstateItem from \"./RealEstateItem\";\n\nconst RealEstateObjects = ({\n items,\n onDeleteItem,\n handleOpenInfo,\n handleOpenPhotos,\n handleEditItem,\n handleDeleteItem,\n onPageChanged,\n loadNextObjects,\n admin,\n openViewPage,\n}) => {\n return (\n <>\n \n \n );\n};\n\nexport default RealEstateObjects;\n","import { Dialog } from \"@material-ui/core\";\nimport React from \"react\";\nimport { useState, useRef, useEffect } from \"react\";\nimport TextField from \"@mui/material/TextField\";\nimport Box from \"@mui/material/Box\";\nimport { Button, Autocomplete, IconButton } from \"@mui/material\";\nimport Checkbox from \"@mui/material/Checkbox\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport { Typography, Alert } from \"@mui/material\";\nimport { AdapterDateFns } from \"@mui/x-date-pickers/AdapterDateFns\";\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\nimport { Collections, AddRounded, Close } from \"@mui/icons-material\";\nimport BasicAlerts from \"./MyAlert\";\nimport Stack from \"@mui/material/Stack\";\nimport Paper from \"@mui/material/Paper\";\nimport { styled } from \"@mui/material/styles\";\n\nconst AddRealEstateObject = ({\n onAddItem,\n onCloseDialog,\n regionSearchTerms,\n streetSearchTerms,\n}) => {\n const Input = styled(\"input\")({\n display: \"none\",\n });\n\n const handleFileInput = (e) => {\n var selectedFiles = [];\n\n if (!e.target.files || e.target.files.length === 0) {\n return;\n } else {\n for (var i = 0; i < e.target.files.length; i++) {\n selectedFiles.push(e.target.files[i]);\n }\n setInputFiles([...inputFiles, ...selectedFiles]);\n }\n };\n\n const removeFile = (fileVar) => {\n setInputFiles(inputFiles.filter((file) => file != fileVar));\n };\n\n const inputFile = useRef(null);\n const [inputFiles, setInputFiles] = useState([]);\n const [personName, setPersonName] = useState(\"\");\n const [phoneNumber, setPhoneNumber] = useState(\"\");\n const [dateFrom, setDateFrom] = useState(\n `${new Date().getUTCMonth() +\n 1}/${new Date().getUTCDate()}/${new Date().getFullYear()}`\n );\n const [rooms, setRooms] = useState(1);\n const [cost, setCost] = useState(6600);\n const [currency, setCurrency] = useState(\"\");\n const [street, setStreet] = useState(\"\");\n const [region, setRegion] = useState(\"\");\n const [floor, setFloor] = useState(1);\n const [state, setState] = useState(\"\");\n const [heating, setHeating] = useState(\"\");\n const [info, setInfo] = useState(\"\");\n const [furniture, setFurniture] = useState(false);\n const [technology, setTechnology] = useState(false);\n const [displayDateFrom, setDisplayDateFrom] = useState(new Date());\n\n // const [preview, setPreview] = useState();\n\n //create a preview as a side effect, whenever selected file is changed\n // useEffect(() => {\n // if (!inputFiles) {\n // return;\n // }\n\n // console.log(`inputFiles: ${inputFiles}`);\n\n // inputFiles.map((file) => {\n // console.log(URL.createObjectURL(file));\n // setImageSamples([...imageSamples, URL.createObjectURL(file)]);\n // });\n\n // // free memory when ever this component is unmounted\n // return;\n // }, [inputFiles]);\n\n const onSave = (e) => {\n e.preventDefault();\n onAddItem(\n {\n id: `${Math.floor(Math.random() * 1000000) +\n 1}-${new Date().getTime()}`,\n personName: personName,\n phoneNumber: phoneNumber,\n dateFrom: new Date(dateFrom).getTime(),\n rooms: rooms,\n cost: cost,\n currency: currency,\n street: street,\n region: region,\n floor: floor,\n state: state,\n heating: heating,\n info: info,\n furniture: furniture,\n technology: technology,\n dateEdit: new Date(\n `${new Date().getUTCMonth() +\n 1}/${new Date().getUTCDate()}/${new Date().getFullYear()}`\n ).getTime(),\n },\n inputFiles\n );\n };\n\n return (\n \n \n {\n if (e.key === \"Enter\") e.preventDefault();\n }}\n onChange={(e) => setPersonName(e.target.value)}\n fullWidth={true}\n />\n \n \n {\n if (e.key === \"Enter\") e.preventDefault();\n }}\n onChange={(e) => setPhoneNumber(e.target.value)}\n fullWidth={true}\n />\n \n \n \n {\n setDisplayDateFrom(newValue);\n if (newValue === null) setDateFrom(\"\");\n else\n setDateFrom(\n `${newValue.getUTCMonth() + 1}/${newValue.getUTCDate() +\n 1}/${newValue.getFullYear()}`\n );\n }}\n placeholder=\"день/місяць/рік\"\n renderInput={(params) => (\n {\n if (e.key === \"Enter\") e.preventDefault();\n }}\n fullWidth={true}\n variant=\"filled\"\n label=\"Дата заповнення\"\n />\n )}\n />\n \n \n {/* \n \n {\n setDisplayDateTo(newValue);\n if (newValue === null) setDateTo(\"\");\n else\n setDateTo(\n `${newValue.getUTCMonth() + 1}/${\n newValue.getUTCDate() + 1\n }/${newValue.getFullYear()}`\n );\n }}\n placeholder=\"день/місяць/рік\"\n renderInput={(params) => (\n {\n if (e.key === \"Enter\") e.preventDefault();\n }}\n fullWidth={true}\n variant=\"filled\"\n label=\"Дата кінцевого терміну здачі\"\n />\n )}\n />\n \n */}\n \n {\n if (e.key === \"Enter\") e.preventDefault();\n }}\n onChange={(e) => {\n setRooms(e.target.value);\n }}\n fullWidth={true}\n error={rooms === \"\"}\n helperText={rooms === \"\" ? \"Важливе поле\" : \" \"}\n />\n \n \n {\n if (e.key === \"Enter\") e.preventDefault();\n }}\n onChange={(e) => setCost(e.target.value)}\n fullWidth={true}\n error={cost === \"\"}\n helperText={cost === \"\" ? \"Важливе поле\" : \" \"}\n />\n \n \n {\n setCurrency(newValue);\n }}\n onKeyPress={(e) => {\n if (e.key === \"Enter\") e.preventDefault();\n }}\n fullWidth={true}\n renderInput={(params) => (\n \n )}\n />\n \n \n option)}\n onInputChange={(e, newValue) => {\n setStreet(newValue);\n }}\n onKeyPress={(e) => {\n if (e.key === \"Enter\") e.preventDefault();\n }}\n fullWidth={true}\n renderInput={(params) => (\n \n )}\n />\n \n \n option)}\n onInputChange={(e, newValue) => {\n setRegion(newValue);\n }}\n onKeyPress={(e) => {\n if (e.key === \"Enter\") e.preventDefault();\n }}\n fullWidth={true}\n renderInput={(params) => (\n \n )}\n />\n \n \n {\n if (e.key === \"Enter\") e.preventDefault();\n }}\n onChange={(e) => setFloor(e.target.value)}\n fullWidth={true}\n error={floor === \"\"}\n helperText={floor === \"\" ? \"Важливе поле\" : \" \"}\n />\n \n \n {\n setState(newValue);\n }}\n onKeyPress={(e) => {\n if (e.key === \"Enter\") e.preventDefault();\n }}\n fullWidth={true}\n renderInput={(params) => (\n \n )}\n />\n \n \n {\n setHeating(newValue);\n }}\n onKeyPress={(e) => {\n if (e.key === \"Enter\") e.preventDefault();\n }}\n fullWidth={true}\n renderInput={(params) => (\n \n )}\n />\n \n \n setInfo(e.target.value)}\n fullWidth={true}\n multiline\n />\n \n {}\n \n }\n label=\"Меблі\"\n onChange={(e) => setFurniture(e.currentTarget.checked)}\n />\n \n \n }\n label=\"Технологія\"\n onChange={(e) => setTechnology(e.currentTarget.checked)}\n />\n \n \n Додати фото:\n \n {\n handleFileInput(e);\n }}\n />\n \n }\n style={{ backgroundColor: \"#039dfc\", maxHeight: 35 }}\n //color=\"primary\"\n onClick={(e) => inputFile.current && inputFile.current.click()}\n >\n \n Додати\n \n \n \n {inputFiles.map((file) => (\n \n \n {file.name}\n \n {\n removeFile(file);\n }}\n >\n \n \n \n ))}\n \n \n \n \n {\n if (\n street !== \"\" &&\n rooms !== \"\" &&\n region !== \"\" &&\n heating !== \"\" &&\n floor !== \"\" &&\n cost !== \"\"\n ) {\n onSave(e);\n } else {\n // ;\n }\n }}\n sx={{ width: 100, marginLeft: 2 }}\n >\n \n Додати\n \n \n \n \n );\n};\n\nexport default AddRealEstateObject;\n","import { Dialog } from \"@material-ui/core\";\r\nimport React from \"react\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Box from \"@mui/material/Box\";\r\nimport { Button, Autocomplete, IconButton } from \"@mui/material\";\r\nimport Checkbox from \"@mui/material/Checkbox\";\r\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\r\nimport { Typography, Alert } from \"@mui/material\";\r\nimport { AdapterDateFns } from \"@mui/x-date-pickers/AdapterDateFns\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport BasicAlerts from \"../dialogs/MyAlert\";\r\nimport { styled } from \"@mui/material/styles\";\r\nimport Stack from \"@mui/material/Stack\";\r\nimport { Collections, Close } from \"@mui/icons-material\";\r\n\r\nconst EditRealEstateObject = ({\r\n onEditItem,\r\n onCloseDialog,\r\n regionSearchTerms,\r\n streetSearchTerms,\r\n item,\r\n onDeletePhotos,\r\n}) => {\r\n const Input = styled(\"input\")({\r\n display: \"none\",\r\n });\r\n const handleFileInput = (e) => {\r\n var selectedFiles = [];\r\n\r\n if (!e.target.files || e.target.files.length === 0) {\r\n return;\r\n } else {\r\n //console.log(e.target.files);\r\n //selectedFiles = e.target.files;\r\n for (var i = 0; i < e.target.files.length; i++) {\r\n selectedFiles.push(e.target.files[i]);\r\n }\r\n\r\n setInputFiles([...inputFiles, ...selectedFiles]);\r\n }\r\n };\r\n\r\n const removeFile = (fileVar) => {\r\n setInputFiles(inputFiles.filter((file) => file != fileVar));\r\n };\r\n\r\n const inputFile = useRef(null);\r\n //var inputFiles = [];\r\n const [inputFiles, setInputFiles] = useState([]);\r\n const [personName, setPersonName] = useState(item.personName);\r\n const [phoneNumber, setPhoneNumber] = useState(item.phoneNumber);\r\n //const [dateFrom, setDateFrom] = useState(new Date().setTime(item.dateFrom));\r\n // const [dateEdit, setDateEdit] = useState(\r\n // `${new Date().getUTCMonth() +\r\n // 1}/${new Date().getUTCDate()}/${new Date().getFullYear()}`\r\n // );\r\n const [rooms, setRooms] = useState(item.rooms);\r\n const [cost, setCost] = useState(item.cost);\r\n const [currency, setCurrency] = useState(item.currency);\r\n const [street, setStreet] = useState(item.street);\r\n const [region, setRegion] = useState(item.region);\r\n const [floor, setFloor] = useState(item.floor);\r\n const [state, setState] = useState(item.state);\r\n const [heating, setHeating] = useState(item.heating);\r\n const [info, setInfo] = useState(item.info);\r\n const [furniture, setFurniture] = useState(item.furniture);\r\n const [technology, setTechnology] = useState(item.technology);\r\n const [displayDateEdit, setDisplayDateEdit] = useState(new Date());\r\n const [displayDateFrom, setDisplayDateFrom] = useState(\r\n new Date(new Date().setTime(item.dateFrom))\r\n );\r\n console.log(\r\n `${personName}\\n${phoneNumber}\\n${displayDateFrom}\\n${displayDateEdit}\\n${rooms}\\n${cost}\\n${currency}\\n${street}\\n${region}\\n${floor}\\n${state}\\n${heating}`\r\n );\r\n\r\n console.log(inputFiles);\r\n\r\n const onSave = (e) => {\r\n e.preventDefault();\r\n\r\n item = {\r\n id: item.id,\r\n personName: personName,\r\n phoneNumber: phoneNumber,\r\n rooms: rooms,\r\n dateFrom: displayDateFrom.getTime(),\r\n // dateEdit: displayDateEdit.getTime(),\r\n dateEdit: new Date(\r\n `${new Date().getUTCMonth() +\r\n 1}/${new Date().getUTCDate()}/${new Date().getFullYear()}`\r\n ).getTime(),\r\n cost: cost,\r\n currency: currency,\r\n street: street,\r\n region: region,\r\n floor: floor,\r\n state: state,\r\n heating: heating,\r\n info: info, //element.photos.L\r\n furniture: furniture,\r\n technology: technology,\r\n };\r\n onEditItem(item, inputFiles);\r\n onCloseDialog();\r\n };\r\n\r\n useEffect(() => {}, []);\r\n\r\n return (\r\n \r\n \r\n {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n onChange={(e) => setPersonName(e.target.value)}\r\n fullWidth={true}\r\n />\r\n \r\n \r\n {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n onChange={(e) => setPhoneNumber(e.target.value)}\r\n fullWidth={true}\r\n />\r\n \r\n \r\n \r\n {\r\n setDisplayDateFrom(newValue);\r\n // if (newValue === null) setDateFrom(\"\");\r\n // else\r\n // setDateFrom(\r\n // `${newValue.getUTCMonth() + 1}/${newValue.getUTCDate() +\r\n // 1}/${newValue.getFullYear()}`\r\n // );\r\n }}\r\n placeholder=\"день/місяць/рік\"\r\n renderInput={(params) => (\r\n {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n fullWidth={true}\r\n variant=\"filled\"\r\n label=\"Дата заповнення\"\r\n />\r\n )}\r\n />\r\n \r\n \r\n {/* \r\n \r\n {\r\n setDisplayDateEdit(newValue);\r\n // if (newValue === null) setDateEdit(\"\");\r\n // else\r\n // setDateEdit(\r\n // `${newValue.getUTCMonth() +\r\n // 1}/${newValue.getUTCDate()}/${newValue.getFullYear()}`\r\n // );\r\n }}\r\n placeholder=\"день/місяць/рік\"\r\n renderInput={(params) => (\r\n {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n fullWidth={true}\r\n variant=\"filled\"\r\n label=\"Дата редагування\"\r\n />\r\n )}\r\n />\r\n \r\n */}\r\n \r\n {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n onChange={(e) => {\r\n setRooms(e.target.value);\r\n }}\r\n fullWidth={true}\r\n error={rooms === \"\"}\r\n helperText={rooms === \"\" ? \"Важливе поле\" : \" \"}\r\n />\r\n \r\n \r\n {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n onChange={(e) => setCost(e.target.value)}\r\n fullWidth={true}\r\n error={cost === \"\"}\r\n helperText={cost === \"\" ? \"Важливе поле\" : \" \"}\r\n />\r\n \r\n \r\n {\r\n setCurrency(newValue);\r\n }}\r\n onKeyPress={(e) => {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n fullWidth={true}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n option)}\r\n onInputChange={(e, newValue) => {\r\n setStreet(newValue);\r\n }}\r\n onKeyPress={(e) => {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n fullWidth={true}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n option)}\r\n onInputChange={(e, newValue) => {\r\n setRegion(newValue);\r\n }}\r\n onKeyPress={(e) => {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n fullWidth={true}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n onChange={(e) => setFloor(e.target.value)}\r\n fullWidth={true}\r\n error={floor === \"\"}\r\n helperText={floor === \"\" ? \"Важливе поле\" : \" \"}\r\n />\r\n \r\n \r\n {\r\n setState(newValue);\r\n }}\r\n onKeyPress={(e) => {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n fullWidth={true}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n {\r\n setHeating(newValue);\r\n }}\r\n onKeyPress={(e) => {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n fullWidth={true}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n setInfo(e.target.value)}\r\n fullWidth={true}\r\n multiline\r\n />\r\n \r\n \r\n }\r\n label=\"Меблі\"\r\n onChange={(e) => setFurniture(e.currentTarget.checked)}\r\n />\r\n \r\n \r\n \r\n }\r\n label=\"Технологія\"\r\n onChange={(e) => setTechnology(e.currentTarget.checked)}\r\n />\r\n \r\n \r\n Додати фото:\r\n \r\n {\r\n handleFileInput(e);\r\n }}\r\n />\r\n \r\n }\r\n style={{ backgroundColor: \"#039dfc\", maxHeight: 35 }}\r\n onClick={(e) => inputFile.current && inputFile.current.click()}\r\n >\r\n \r\n Додати\r\n \r\n \r\n \r\n {inputFiles != null ? (\r\n inputFiles.map((file) => (\r\n \r\n \r\n {file.name}\r\n \r\n {\r\n removeFile(file);\r\n }}\r\n >\r\n \r\n \r\n \r\n ))\r\n ) : (\r\n <>\r\n )}\r\n \r\n \r\n \r\n \r\n {\r\n if (\r\n street !== \"\" &&\r\n rooms !== \"\" &&\r\n region !== \"\" &&\r\n heating !== \"\" &&\r\n floor !== \"\" &&\r\n cost !== \"\"\r\n ) {\r\n onSave(e);\r\n } else {\r\n // ;\r\n }\r\n }}\r\n sx={{ width: 100, marginLeft: 2 }}\r\n >\r\n \r\n Змінити\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default EditRealEstateObject;\r\n","import React from \"react\";\nimport { CircularProgress, Dialog } from \"@material-ui/core\";\n\nconst LoadingDialog = () => {\n return (\n \n \n \n );\n};\n\nexport default LoadingDialog;\n","import React from \"react\";\r\nimport Header from \"../components/Header\";\r\nimport RealEstateObjects from \"../components/RealEstateObjects\";\r\nimport AddRealEstateObject from \"../dialogs/AddRealEstateObject\";\r\nimport EditRealEstateObject from \"../components/EditRealEstateObject\";\r\nimport LoadingDialog from \"../components/LoadingDialog\";\r\nimport { Navigate } from \"react-router\";\r\n\r\nconst RealEstateObjectsPage = ({\r\n addItem,\r\n onAddItem,\r\n showLoading,\r\n showAddRealEstateObject,\r\n realEstateItems,\r\n deleteItem,\r\n onCloseDialog,\r\n onCloseEditDialog,\r\n tableUIItems,\r\n handleOpenInfo,\r\n handleOpenPhotos,\r\n handleEditItem,\r\n handleDeleteItem,\r\n queryObjects,\r\n regionSearchTerms,\r\n streetSearchTerms,\r\n isEditItem,\r\n item,\r\n onPageChanged,\r\n loadNextObjects,\r\n admin,\r\n onDeletePhotos,\r\n openViewPage,\r\n}) => {\r\n return (\r\n
\r\n \r\n {showLoading && }\r\n {showAddRealEstateObject && (\r\n \r\n )}\r\n {isEditItem && (\r\n \r\n )}\r\n {realEstateItems.length > 0 ? (\r\n \r\n ) : (\r\n \r\n Наразі немає обєктів\r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default RealEstateObjectsPage;\r\n","import React from \"react\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Typography from \"@mui/material/Typography\";\r\n\r\nconst style = {\r\n position: \"absolute\",\r\n top: \"50%\",\r\n left: \"50%\",\r\n transform: \"translate(-50%, -50%)\",\r\n width: 500,\r\n bgcolor: \"#FFFFFF\",\r\n p: 4,\r\n overflowY: \"scroll\",\r\n height: 500,\r\n};\r\n\r\nconst BuildingInfo = ({ infoText, openInfo, handleCloseInfo }) => {\r\n return (\r\n {\r\n console.log(\"clicked close\");\r\n handleCloseInfo();\r\n }}\r\n aria-labelledby=\"modal-modal-title\"\r\n aria-describedby=\"modal-modal-description\"\r\n >\r\n \r\n \r\n \r\n Додаткова інформація\r\n \r\n \r\n \r\n \r\n {infoText}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default BuildingInfo;\r\n\r\nBuildingInfo.defaultProps = {\r\n infoText: \"Немає додаткових даних\",\r\n};\r\n","import * as React from \"react\";\r\nimport ImageList from \"@mui/material/ImageList\";\r\nimport ImageListItem from \"@mui/material/ImageListItem\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport { Box, Button, Dialog, IconButton, Stack } from \"@mui/material\";\r\nimport { FileDownloadOutlined, Close, Delete } from \"@mui/icons-material\";\r\nimport { height, width } from \"@mui/system\";\r\nimport { rgbToHex } from \"@material-ui/core\";\r\n\r\nexport default function StandardImageList({\r\n openPhotos,\r\n handleClosePhotos,\r\n photos,\r\n onDeletePhoto,\r\n admin,\r\n}) {\r\n const deletePhoto = (item) => {\r\n onDeletePhoto(item);\r\n };\r\n\r\n const download = (item) => {\r\n fetch(item.url, {\r\n method: \"GET\",\r\n headers: {},\r\n })\r\n .then((response) => {\r\n response.arrayBuffer().then(function (buffer) {\r\n const url = window.URL.createObjectURL(new Blob([buffer]));\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n link.setAttribute(\"download\", `${item.name}`); //or any other extension\r\n document.body.appendChild(link);\r\n link.click();\r\n });\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n };\r\n\r\n const style = {\r\n position: \"absolute\",\r\n top: \"15%\",\r\n left: \"30%\",\r\n height: \"fit-screen\",\r\n width: \"fit-screen\",\r\n };\r\n\r\n return (\r\n
\r\n {/* {console.log(photos)} */}\r\n {\r\n handleClosePhotos();\r\n }}\r\n aria-labelledby=\"modal-modal-title\"\r\n aria-describedby=\"modal-modal-description\"\r\n >\r\n \r\n \r\n {photos.length > 0 ? (\r\n photos.map((item) => (\r\n \r\n \r\n \r\n {\r\n download(item);\r\n }}\r\n >\r\n \r\n \r\n {admin && (\r\n {\r\n deletePhoto(item);\r\n }}\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n ))\r\n ) : (\r\n <>\r\n )}\r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n","import { Dialog } from \"@material-ui/core\";\r\nimport React from \"react\";\r\nimport { useState } from \"react\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Box from \"@mui/material/Box\";\r\nimport { Autocomplete, Button } from \"@mui/material\";\r\nimport Checkbox from \"@mui/material/Checkbox\";\r\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\r\nimport { Typography } from \"@mui/material\";\r\nimport { AdapterDateFns } from \"@mui/x-date-pickers/AdapterDateFns\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\n\r\nconst EditClient = ({ onEditItem, onCloseDialog, regionSearchTerms, item }) => {\r\n const [dateFrom, setDateFrom] = useState(item.dateFrom);\r\n const [rooms, setRooms] = useState(item.rooms);\r\n const [cost, setCost] = useState(item.cost);\r\n const [currency, setCurrency] = useState(item.currency);\r\n const [region, setRegion] = useState(item.region);\r\n const [aboutClient, setAboutClient] = useState(item.aboutClient);\r\n const [deadline, setDeadline] = useState(item.deadline);\r\n const [urgency, setUrgency] = useState(item.urgency);\r\n const [personName, setPersonName] = useState(item.personName);\r\n const [phoneNumber, setPhoneNumber] = useState(item.phoneNumber);\r\n const [info, setInfo] = useState(item.info);\r\n const [displayDateEdit, setDisplayDateEdit] = useState(new Date());\r\n const [displayDateFrom, setDisplayDateFrom] = useState(null);\r\n\r\n const onSave = (e) => {\r\n e.preventDefault();\r\n item = {\r\n id: item.id,\r\n dateFrom: dateFrom,\r\n dateEdit: new Date(\r\n `${displayDateEdit.getUTCMonth() +\r\n 1}/${displayDateEdit.getUTCDate()}/${displayDateEdit.getFullYear()}`\r\n ).getTime(),\r\n rooms: rooms,\r\n cost: cost,\r\n currency: currency,\r\n region: region,\r\n aboutClient: aboutClient,\r\n deadline: deadline,\r\n urgency: urgency,\r\n personName: personName,\r\n phoneNumber: phoneNumber,\r\n info: info,\r\n };\r\n onEditItem(item);\r\n onCloseDialog();\r\n };\r\n\r\n return (\r\n \r\n \r\n {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n onChange={(e) => setPersonName(e.target.value)}\r\n fullWidth={true}\r\n />\r\n \r\n \r\n {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n onChange={(e) => setPhoneNumber(e.target.value)}\r\n fullWidth={true}\r\n />\r\n \r\n \r\n \r\n {\r\n setDisplayDateFrom(newValue);\r\n if (newValue === null) setDateFrom(\"\");\r\n else\r\n setDateFrom(\r\n `${newValue.getUTCMonth() + 1}/${newValue.getUTCDate() +\r\n 1}/${newValue.getFullYear()}`\r\n );\r\n }}\r\n placeholder=\"день/місяць/рік\"\r\n renderInput={(params) => (\r\n {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n fullWidth={true}\r\n variant=\"filled\"\r\n label=\"Дата заповнення\"\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setDisplayDateEdit(newValue);\r\n // if (newValue === null) setDateEdit(\"\");\r\n // else\r\n // setDateEdit(\r\n // `${newValue.getUTCMonth() +\r\n // 1}/${newValue.getUTCDate()}/${newValue.getFullYear()}`\r\n // );\r\n }}\r\n placeholder=\"день/місяць/рік\"\r\n renderInput={(params) => (\r\n {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n fullWidth={true}\r\n variant=\"filled\"\r\n label=\"Дата редагування\"\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n onChange={(e) => setRooms(e.target.value)}\r\n fullWidth={true}\r\n error={rooms === \"\"}\r\n helperText={rooms === \"\" ? \"Важливе поле\" : \" \"}\r\n />\r\n \r\n \r\n {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n onChange={(e) => setCost(e.target.value)}\r\n fullWidth={true}\r\n error={cost === \"\"}\r\n helperText={cost === \"\" ? \"Важливе поле\" : \" \"}\r\n />\r\n \r\n \r\n {\r\n setCurrency(newValue);\r\n }}\r\n onKeyPress={(e) => {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n fullWidth={true}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n option)}\r\n onInputChange={(e, newValue) => {\r\n setRegion(newValue);\r\n }}\r\n onKeyPress={(e) => {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n fullWidth={true}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n onChange={(e) => setAboutClient(e.target.value)}\r\n fullWidth={true}\r\n />\r\n \r\n \r\n {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n onChange={(e) => setDeadline(e.target.value)}\r\n fullWidth={true}\r\n error={deadline === \"\"}\r\n helperText={deadline === \"\" ? \"Важливе поле\" : \" \"}\r\n />\r\n \r\n \r\n {\r\n setUrgency(newValue);\r\n }}\r\n onKeyPress={(e) => {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n fullWidth={true}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n onChange={(e) => setInfo(e.target.value)}\r\n fullWidth={true}\r\n multiline\r\n />\r\n \r\n \r\n \r\n {\r\n if (region !== \"\" && deadline !== \"\" && rooms !== \"\" && cost !== \"\")\r\n onSave(e);\r\n }}\r\n sx={{ width: 100, marginLeft: 2 }}\r\n >\r\n \r\n Змінити\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default EditClient;\r\n","import React from \"react\";\r\nimport { Box, Button, Typography, TextField, Container } from \"@mui/material\";\r\nimport BoxInput from \"./BoxInput\";\r\nimport { createTheme, ThemeProvider, Stack } from \"@mui/material\";\r\nimport { useState } from \"react\";\r\n\r\nconst theme = createTheme({\r\n spacing: 4,\r\n});\r\n\r\nconst ClientsHeader = ({\r\n onAddItem,\r\n queryClients,\r\n regionSearchTerms,\r\n admin,\r\n}) => {\r\n const [rooms, setRooms] = useState(\"\");\r\n const [regions, setRegions] = useState(\"\");\r\n const [costFrom, setCostFrom] = useState(\"\");\r\n const [costTo, setCostTo] = useState(\"\");\r\n\r\n const getTypes = () => {\r\n console.log(\r\n `rooms type: ${typeof rooms} ${rooms}\\nregions type: ${typeof regions} ${regions}\\ncostFrom type: ${typeof costFrom} ${costFrom}\\ncostTo type: ${typeof costTo} ${costTo}`\r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {admin && (\r\n \r\n \r\n Додати клієнта\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n К-сть кімнат\r\n \r\n {\r\n setRooms(newValue);\r\n }}\r\n />\r\n \r\n Район\r\n \r\n {\r\n setRegions(newValue);\r\n }}\r\n />{\" \"}\r\n \r\n Від\r\n \r\n {\r\n setCostFrom(newValue);\r\n }}\r\n />\r\n \r\n До\r\n \r\n {\r\n setCostTo(newValue);\r\n }}\r\n />\r\n \r\n {\r\n getTypes();\r\n queryClients(false, null, rooms, regions, costFrom, costTo);\r\n }}\r\n >\r\n \r\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 ClientsHeader;\r\n","import React from \"react\";\r\nimport { Dialog } from \"@material-ui/core\";\r\nimport { useState, useRef } from \"react\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Box from \"@mui/material/Box\";\r\nimport { Autocomplete, Button } from \"@mui/material\";\r\nimport Checkbox from \"@mui/material/Checkbox\";\r\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\r\nimport { Typography } from \"@mui/material\";\r\nimport { AdapterDateFns } from \"@mui/x-date-pickers/AdapterDateFns\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport { Collections, AddRounded } from \"@mui/icons-material\";\r\n\r\nconst AddClient = ({ onAddItem, onCloseDialog, regionSearchTerms }) => {\r\n const [dateFrom, setDateFrom] = useState(\"\");\r\n const [rooms, setRooms] = useState(1);\r\n const [cost, setCost] = useState(6600);\r\n const [currency, setCurrency] = useState(\"\");\r\n const [region, setRegion] = useState(\"\");\r\n const [aboutClient, setAboutClient] = useState(\"\");\r\n const [deadline, setDeadline] = useState(1);\r\n const [urgency, setUrgency] = useState(\"\");\r\n const [personName, setPersonName] = useState(\"\");\r\n const [phoneNumber, setPhoneNumber] = useState(\"\");\r\n const [info, setInfo] = useState(\"\");\r\n const [displayDateFrom, setDisplayDateFrom] = useState(null);\r\n\r\n const onSave = (e) => {\r\n e.preventDefault();\r\n\r\n onAddItem({\r\n id: `${Math.floor(Math.random() * 1000000) + 1}-${new Date().getTime()}`,\r\n dateFrom,\r\n dateEdit: new Date(\r\n `${new Date().getUTCMonth() +\r\n 1}/${new Date().getUTCDate()}/${new Date().getFullYear()}`\r\n ).getTime(),\r\n rooms,\r\n cost,\r\n currency,\r\n region,\r\n aboutClient,\r\n deadline,\r\n urgency,\r\n personName,\r\n phoneNumber,\r\n info,\r\n });\r\n };\r\n\r\n return (\r\n \r\n \r\n {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n onChange={(e) => setPersonName(e.target.value)}\r\n fullWidth={true}\r\n />\r\n \r\n \r\n {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n onChange={(e) => setPhoneNumber(e.target.value)}\r\n fullWidth={true}\r\n />\r\n \r\n \r\n \r\n {\r\n setDisplayDateFrom(newValue);\r\n if (newValue === null) setDateFrom(\"\");\r\n else\r\n setDateFrom(\r\n `${newValue.getUTCMonth() + 1}/${newValue.getUTCDate() +\r\n 1}/${newValue.getFullYear()}`\r\n );\r\n }}\r\n placeholder=\"день/місяць/рік\"\r\n renderInput={(params) => (\r\n {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n fullWidth={true}\r\n variant=\"filled\"\r\n label=\"Дата заповнення\"\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n onChange={(e) => setRooms(e.target.value)}\r\n fullWidth={true}\r\n error={rooms === \"\"}\r\n helperText={rooms === \"\" ? \"Важливе поле\" : \" \"}\r\n />\r\n \r\n \r\n {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n onChange={(e) => setCost(e.target.value)}\r\n fullWidth={true}\r\n error={cost === \"\"}\r\n helperText={cost === \"\" ? \"Важливе поле\" : \" \"}\r\n />\r\n \r\n \r\n {\r\n setCurrency(newValue);\r\n }}\r\n onKeyPress={(e) => {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n fullWidth={true}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n option)}\r\n onInputChange={(e, newValue) => {\r\n setRegion(newValue);\r\n }}\r\n onKeyPress={(e) => {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n fullWidth={true}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n onChange={(e) => setAboutClient(e.target.value)}\r\n fullWidth={true}\r\n />\r\n \r\n \r\n {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n onChange={(e) => setDeadline(e.target.value)}\r\n fullWidth={true}\r\n error={deadline === \"\"}\r\n helperText={deadline === \"\" ? \"Важливе поле\" : \" \"}\r\n />\r\n \r\n \r\n {\r\n setUrgency(newValue);\r\n }}\r\n onKeyPress={(e) => {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n fullWidth={true}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n onChange={(e) => setInfo(e.target.value)}\r\n fullWidth={true}\r\n multiline\r\n />\r\n \r\n \r\n \r\n {\r\n if (region !== \"\" && deadline !== \"\" && rooms !== \"\" && cost !== \"\")\r\n onSave(e);\r\n }}\r\n sx={{ width: 100, marginLeft: 2 }}\r\n >\r\n \r\n Додати\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default AddClient;\r\n","import * as React from \"react\";\r\nimport { DataGrid, ukUA } from \"@mui/x-data-grid\";\r\nimport { GridActionsCellItem } from \"@mui/x-data-grid\";\r\nimport {\r\n Info,\r\n Delete,\r\n Edit,\r\n Visibility,\r\n VisibilityOff,\r\n} from \"@mui/icons-material\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport BuildingInfo from \"../dialogs/Info\";\r\nimport { IconButton, Stack } from \"@mui/material\";\r\nimport { ThemeProvider, createTheme } from \"@mui/material/styles\";\r\nimport \"../styles.css\";\r\n\r\nexport default function ClientsDataTable({\r\n items,\r\n handleOpenInfo,\r\n handleDeleteItem,\r\n handleEditItem,\r\n loadNextClients,\r\n admin,\r\n}) {\r\n const MAX_ROW_LENGTH = 50;\r\n const [loadedRows, setLoadedRows] = React.useState([]);\r\n const [visible, setVisible] = React.useState(\"\"); //holds row id's\r\n var pageRowsCount = 0;\r\n var date = new Date();\r\n\r\n const theme = createTheme(ukUA);\r\n\r\n const getDate = (time) => {\r\n date.setTime(time);\r\n return `${date.getUTCMonth() + 1}/${date.getUTCDate() +\r\n 1}/${date.getFullYear()}`;\r\n };\r\n\r\n var columns = [\r\n { field: \"dateFrom\", headerName: \"Додано\", width: 90 },\r\n {\r\n field: \"dateEdit\",\r\n headerName: \"Редаговано\",\r\n width: 90,\r\n renderCell: (cellValues) => {\r\n return <>{getDate(cellValues.row.dateEdit)};\r\n },\r\n },\r\n {\r\n field: \"rooms\",\r\n headerName: \"Кімнат\",\r\n width: 90,\r\n type: \"number\",\r\n },\r\n {\r\n field: \"cost\",\r\n headerName: \"Ціна(грн)\",\r\n width: 130,\r\n type: \"number\",\r\n },\r\n { field: \"currency\", headerName: \"Валюта\", width: 130 },\r\n { field: \"region\", headerName: \"Район\", width: 130 },\r\n {\r\n field: \"aboutClient\",\r\n headerName: \"Про клієнта\",\r\n width: 130,\r\n },\r\n {\r\n field: \"deadline\",\r\n headerName: \"Термін\",\r\n width: 130,\r\n type: \"number\",\r\n },\r\n {\r\n field: \"urgency\",\r\n headerName: \"Терміновість\",\r\n width: 130,\r\n },\r\n { field: \"personName\", headerName: \"Ім'я\", width: 130 },\r\n {\r\n field: \"phoneNumber\",\r\n headerName: \"Номер\",\r\n width: 130,\r\n renderCell: (cellValues) => {\r\n return (\r\n \r\n {visible === cellValues.row.id ? (\r\n <>\r\n {cellValues.formattedValue}\r\n {\r\n event.stopPropagation();\r\n setVisible(\"\");\r\n }}\r\n >\r\n \r\n \r\n \r\n ) : (\r\n <>\r\n {`******${cellValues.formattedValue.substring(\r\n cellValues.formattedValue.length - 3,\r\n cellValues.formattedValue.length\r\n )}`}\r\n {\r\n event.stopPropagation();\r\n setVisible(cellValues.row.id);\r\n }}\r\n >\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n },\r\n },\r\n ];\r\n\r\n if (admin) {\r\n columns.push({\r\n field: \"info\",\r\n type: \"actions\",\r\n width: 200,\r\n getActions: (params) => [\r\n }\r\n onClick={() => handleOpenInfo(params.id)}\r\n label=\"Info\"\r\n />,\r\n }\r\n label=\"Edit\"\r\n onClick={() => handleEditItem(params.id)}\r\n />,\r\n }\r\n label=\"Delete\"\r\n onClick={() => handleDeleteItem(params.id)}\r\n />,\r\n ],\r\n });\r\n } else {\r\n columns.push({\r\n field: \"info\",\r\n type: \"actions\",\r\n width: 200,\r\n getActions: (params) => [\r\n }\r\n onClick={() => handleOpenInfo(params.id)}\r\n label=\"Info\"\r\n />,\r\n ],\r\n });\r\n }\r\n\r\n return (\r\n \r\n \r\n \"auto\"}\r\n rows={items}\r\n columns={columns}\r\n pageSize={MAX_ROW_LENGTH}\r\n rowsPerPageOptions={[MAX_ROW_LENGTH]}\r\n showCellRightBorder\r\n showColumnRightBorder\r\n onPageChange={(pageNumber, details) => {\r\n if (items.length <= MAX_ROW_LENGTH * (pageNumber + 1)) {\r\n console.log(\"last page reached\");\r\n loadNextClients();\r\n }\r\n pageRowsCount = items.length - MAX_ROW_LENGTH * pageNumber;\r\n }}\r\n />\r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport ClientsDataTable from \"../tables/ClientsDataTable\";\r\nimport RealEstateItem from \"./RealEstateItem\";\r\n\r\nconst Clients = ({\r\n items,\r\n handleOpenInfo,\r\n handleEditItem,\r\n handleDeleteItem,\r\n loadNextClients,\r\n admin,\r\n}) => {\r\n return (\r\n <>\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Clients;\r\n","import React from \"react\";\r\nimport EditClient from \"../components/EditClient\";\r\nimport ClientsHeader from \"../components/ClientsHeader\";\r\nimport RealEstateObjects from \"../components/RealEstateObjects\";\r\nimport AddClient from \"../dialogs/AddClient\";\r\nimport LoadingDialog from \"../components/LoadingDialog\";\r\nimport Clients from \"../components/Clients\";\r\n\r\nconst ClientsPage = ({\r\n addItem,\r\n onAddItem,\r\n showLoading,\r\n showAddClient,\r\n clientItems,\r\n deleteItem,\r\n onCloseDialog,\r\n handleOpenInfo,\r\n handleEditItem,\r\n handleDeleteItem,\r\n queryClients,\r\n regionSearchTerms,\r\n isEditItem,\r\n onCloseEditDialog,\r\n item,\r\n loadNextClients,\r\n admin,\r\n}) => {\r\n return (\r\n
\r\n \r\n {showLoading && }\r\n {showAddClient && (\r\n \r\n )}\r\n {isEditItem && (\r\n \r\n )}\r\n {clientItems.length > 0 ? (\r\n \r\n ) : (\r\n \r\n Наразі немає клієнтів\r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default ClientsPage;\r\n","import { Dialog } from \"@material-ui/core\";\r\nimport React from \"react\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Box from \"@mui/material/Box\";\r\nimport { Button, Autocomplete, IconButton } from \"@mui/material\";\r\nimport Checkbox from \"@mui/material/Checkbox\";\r\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\r\nimport { Typography, Alert } from \"@mui/material\";\r\nimport { AdapterDateFns } from \"@mui/x-date-pickers/AdapterDateFns\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport BasicAlerts from \"../dialogs/MyAlert\";\r\nimport { styled } from \"@mui/material/styles\";\r\nimport Stack from \"@mui/material/Stack\";\r\nimport { Collections, Close } from \"@mui/icons-material\";\r\n\r\nconst EditArchive = ({\r\n onEditItem,\r\n onCloseDialog,\r\n regionSearchTerms,\r\n streetSearchTerms,\r\n item,\r\n}) => {\r\n const Input = styled(\"input\")({\r\n display: \"none\",\r\n });\r\n const handleFileInput = (e) => {\r\n var selectedFiles = [];\r\n\r\n if (!e.target.files || e.target.files.length === 0) {\r\n return;\r\n } else {\r\n //console.log(e.target.files);\r\n //selectedFiles = e.target.files;\r\n for (var i = 0; i < e.target.files.length; i++) {\r\n selectedFiles.push(e.target.files[i]);\r\n }\r\n\r\n setInputFiles([...inputFiles, ...selectedFiles]);\r\n }\r\n };\r\n\r\n const removeFile = (fileVar) => {\r\n setInputFiles(inputFiles.filter((file) => file != fileVar));\r\n };\r\n\r\n const inputFile = useRef(null);\r\n //var inputFiles = [];\r\n const [inputFiles, setInputFiles] = useState([]);\r\n const [personName, setPersonName] = useState(item.personName);\r\n const [phoneNumber, setPhoneNumber] = useState(item.phoneNumber);\r\n const [rooms, setRooms] = useState(item.rooms);\r\n const [cost, setCost] = useState(item.cost);\r\n const [currency, setCurrency] = useState(item.currency);\r\n const [street, setStreet] = useState(item.street);\r\n const [region, setRegion] = useState(item.region);\r\n const [floor, setFloor] = useState(item.floor);\r\n const [state, setState] = useState(item.state);\r\n const [heating, setHeating] = useState(item.heating);\r\n const [info, setInfo] = useState(item.info);\r\n const [furniture, setFurniture] = useState(item.furniture);\r\n const [technology, setTechnology] = useState(item.technology);\r\n const [displayDateTerm, setDisplayDateTerm] = useState(\r\n new Date(new Date().setTime(item.dateTerm))\r\n );\r\n console.log(\r\n `${personName}\\n${phoneNumber}\\n${displayDateTerm}\\n${rooms}\\n${cost}\\n${currency}\\n${street}\\n${region}\\n${floor}\\n${state}\\n${heating}`\r\n );\r\n\r\n console.log(item);\r\n\r\n const onSave = (e) => {\r\n e.preventDefault();\r\n\r\n item = {\r\n id: item.id,\r\n personName: personName,\r\n phoneNumber: phoneNumber,\r\n rooms: rooms,\r\n dateTerm: displayDateTerm.getTime(),\r\n dateFrom: item.dateFrom,\r\n dateDeleted: item.dateDeleted,\r\n cost: cost,\r\n currency: currency,\r\n street: street,\r\n region: region,\r\n floor: floor,\r\n state: state,\r\n heating: heating,\r\n info: info,\r\n furniture: furniture,\r\n technology: technology,\r\n };\r\n onEditItem(item, inputFiles);\r\n onCloseDialog();\r\n };\r\n\r\n return (\r\n \r\n \r\n {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n onChange={(e) => setPersonName(e.target.value)}\r\n fullWidth={true}\r\n />\r\n \r\n \r\n \r\n {\r\n setDisplayDateTerm(newValue);\r\n }}\r\n placeholder=\"день/місяць/рік\"\r\n renderInput={(params) => (\r\n {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n fullWidth={true}\r\n variant=\"filled\"\r\n label=\"Термін\"\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n onChange={(e) => setPhoneNumber(e.target.value)}\r\n fullWidth={true}\r\n />\r\n \r\n \r\n {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n onChange={(e) => {\r\n setRooms(e.target.value);\r\n }}\r\n fullWidth={true}\r\n error={rooms === \"\"}\r\n helperText={rooms === \"\" ? \"Важливе поле\" : \" \"}\r\n />\r\n \r\n \r\n {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n onChange={(e) => setCost(e.target.value)}\r\n fullWidth={true}\r\n error={cost === \"\"}\r\n helperText={cost === \"\" ? \"Важливе поле\" : \" \"}\r\n />\r\n \r\n \r\n {\r\n setCurrency(newValue);\r\n }}\r\n onKeyPress={(e) => {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n fullWidth={true}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n option)}\r\n onInputChange={(e, newValue) => {\r\n setStreet(newValue);\r\n }}\r\n onKeyPress={(e) => {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n fullWidth={true}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n option)}\r\n onInputChange={(e, newValue) => {\r\n setRegion(newValue);\r\n }}\r\n onKeyPress={(e) => {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n fullWidth={true}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n onChange={(e) => setFloor(e.target.value)}\r\n fullWidth={true}\r\n error={floor === \"\"}\r\n helperText={floor === \"\" ? \"Важливе поле\" : \" \"}\r\n />\r\n \r\n \r\n {\r\n setState(newValue);\r\n }}\r\n onKeyPress={(e) => {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n fullWidth={true}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n {\r\n setHeating(newValue);\r\n }}\r\n onKeyPress={(e) => {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n fullWidth={true}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n setInfo(e.target.value)}\r\n fullWidth={true}\r\n multiline\r\n />\r\n \r\n \r\n }\r\n label=\"Меблі\"\r\n onChange={(e) => setFurniture(e.currentTarget.checked)}\r\n />\r\n \r\n \r\n \r\n }\r\n label=\"Технологія\"\r\n onChange={(e) => setTechnology(e.currentTarget.checked)}\r\n />\r\n \r\n \r\n Додати фото:\r\n \r\n {\r\n handleFileInput(e);\r\n }}\r\n />\r\n \r\n }\r\n style={{ backgroundColor: \"#039dfc\", maxHeight: 35 }}\r\n onClick={(e) => inputFile.current && inputFile.current.click()}\r\n >\r\n \r\n Додати\r\n \r\n \r\n \r\n {inputFiles != null ? (\r\n inputFiles.map((file) => (\r\n \r\n \r\n {file.name}\r\n \r\n {\r\n removeFile(file);\r\n }}\r\n >\r\n \r\n \r\n \r\n ))\r\n ) : (\r\n <>\r\n )}\r\n \r\n \r\n \r\n \r\n {\r\n if (\r\n street !== \"\" &&\r\n rooms !== \"\" &&\r\n region !== \"\" &&\r\n heating !== \"\" &&\r\n floor !== \"\" &&\r\n cost !== \"\"\r\n ) {\r\n onSave(e);\r\n } else {\r\n // ;\r\n }\r\n }}\r\n sx={{ width: 100, marginLeft: 2 }}\r\n >\r\n \r\n Змінити\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default EditArchive;\r\n","import * as React from \"react\";\r\nimport { DataGrid, ukUA } from \"@mui/x-data-grid\";\r\nimport { useEffect } from \"react\";\r\nimport { GridActionsCellItem } from \"@mui/x-data-grid\";\r\nimport {\r\n Info,\r\n PhotoCamera,\r\n Delete,\r\n Edit,\r\n Details,\r\n Visibility,\r\n VisibilityOff,\r\n ArrowBack,\r\n Share,\r\n} from \"@mui/icons-material\";\r\nimport { Container, Stack, Typography } from \"@mui/material\";\r\nimport { ThemeProvider, createTheme } from \"@mui/material\";\r\nimport { IconButton } from \"@mui/material\";\r\nimport \"../styles.css\";\r\nimport { style } from \"@mui/system\";\r\nimport { isMobile } from \"react-device-detect\";\r\n\r\nfunction stringToDate(_date, _format, _delimiter) {\r\n try {\r\n var formatLowerCase = _format.toLowerCase();\r\n var formatItems = formatLowerCase.split(_delimiter);\r\n var dateItems = _date.split(_delimiter);\r\n var monthIndex = formatItems.indexOf(\"mm\");\r\n var dayIndex = formatItems.indexOf(\"dd\");\r\n var yearIndex = formatItems.indexOf(\"yyyy\");\r\n var month = parseInt(dateItems[monthIndex]);\r\n month -= 1;\r\n var formatedDate = new Date(\r\n dateItems[yearIndex],\r\n month,\r\n dateItems[dayIndex]\r\n );\r\n } catch (err) {\r\n console.log(err);\r\n return;\r\n }\r\n return formatedDate;\r\n}\r\n\r\nexport default function ArchivesTable({\r\n items,\r\n openArchiveInfo,\r\n handleOpenPhotos,\r\n deleteItem,\r\n loadNextObjects,\r\n returnItem,\r\n openViewPage,\r\n handleEditItem,\r\n}) {\r\n const MAX_ROW_LENGTH = 50;\r\n const [loadedRows, setLoadedRows] = React.useState([]);\r\n const [visible, setVisible] = React.useState(\"\"); //holds row id's\r\n var greenRow = false;\r\n const canonical = document.querySelector(\"link[rel=canonical]\");\r\n var shareDetails = { url: \"\", title: \"Оренда квартири\", text: \"\" };\r\n\r\n const theme = createTheme(ukUA);\r\n\r\n const handleSharing = async (params) => {\r\n if (navigator.share) {\r\n try {\r\n await navigator.share(shareDetails).then(() => {\r\n if (!isMobile) openViewPage(params);\r\n console.log(\"Shared\");\r\n });\r\n } catch (error) {\r\n console.log(`Oops! I couldn't share to the world because: ${error}`);\r\n openViewPage(params);\r\n }\r\n } else {\r\n // fallback code\r\n console.log(\r\n \"Web share is currently not supported on this browser. Please provide a callback\"\r\n );\r\n openViewPage(params);\r\n }\r\n };\r\n\r\n const getDate = (time) => {\r\n var date = new Date();\r\n date.setTime(time);\r\n return `${date.getUTCMonth() + 1}/${date.getUTCDate() +\r\n 1}/${date.getFullYear()}`;\r\n };\r\n\r\n var columns = [\r\n {\r\n field: \"dateFrom\",\r\n headerName: \"Додано\",\r\n width: 90,\r\n renderCell: (cellValues) => {\r\n return <>{getDate(cellValues.row.dateFrom)};\r\n },\r\n },\r\n {\r\n field: \"dateDeleted\",\r\n headerName: \"Видалення\",\r\n width: 90,\r\n renderCell: (cellValues) => {\r\n return <>{getDate(cellValues.row.dateDeleted)};\r\n },\r\n },\r\n {\r\n field: \"dateTerm\",\r\n headerName: \"Термін\",\r\n width: 90,\r\n renderCell: (cellValues) => {\r\n return <>{getDate(cellValues.row.dateTerm)};\r\n },\r\n },\r\n {\r\n field: \"rooms\",\r\n headerName: \"Кімнат\",\r\n width: 60,\r\n type: \"number\",\r\n },\r\n {\r\n field: \"cost\",\r\n headerName: \"Ціна\",\r\n width: 70,\r\n type: \"number\",\r\n },\r\n { field: \"currency\", headerName: \"Валюта\", width: 70 },\r\n { field: \"street\", headerName: \"Вулиця\", width: 110 },\r\n { field: \"region\", headerName: \"Район\", width: 100 },\r\n {\r\n field: \"floor\",\r\n headerName: \"Поверх\",\r\n width: 70,\r\n type: \"number\",\r\n },\r\n { field: \"state\", headerName: \"Стан\", width: 70 },\r\n { field: \"heating\", headerName: \"Опалення\", width: 110 },\r\n {\r\n field: \"furniture\",\r\n headerName: \"Меблі\",\r\n width: 70,\r\n type: \"boolean\",\r\n },\r\n {\r\n field: \"technology\",\r\n headerName: \"Техніка\",\r\n width: 70,\r\n type: \"boolean\",\r\n },\r\n { field: \"personName\", headerName: \"Ім'я\", width: 100 },\r\n {\r\n field: \"phoneNumber\",\r\n headerName: \"Номер\",\r\n width: 120,\r\n renderCell: (cellValues) => {\r\n return (\r\n \r\n {visible === cellValues.row.id ? (\r\n <>\r\n {cellValues.formattedValue}\r\n {\r\n event.stopPropagation();\r\n setVisible(\"\"); //remove row id from array\r\n }}\r\n >\r\n \r\n \r\n \r\n ) : (\r\n <>\r\n {`******${cellValues.formattedValue.substring(\r\n cellValues.formattedValue.length - 3,\r\n cellValues.formattedValue.length\r\n )}`}\r\n {\r\n event.stopPropagation();\r\n setVisible(cellValues.row.id); //add row id to array of visible numbers\r\n }}\r\n >\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n },\r\n },\r\n {\r\n field: \"info\",\r\n type: \"actions\",\r\n width: 220,\r\n getActions: (params) => [\r\n }\r\n label=\"Return\"\r\n onClick={() => returnItem(params.id)}\r\n />,\r\n }\r\n onClick={() => {\r\n openArchiveInfo(params.id);\r\n }}\r\n label=\"Info\"\r\n />,\r\n }\r\n label=\"Photos\"\r\n onClick={() => handleOpenPhotos(params.id)}\r\n />,\r\n }\r\n label=\"Edit\"\r\n onClick={() => handleEditItem(params.id)}\r\n />,\r\n }\r\n label=\"Delete\"\r\n onClick={() => deleteItem(params.id)}\r\n />,\r\n }\r\n label=\"Share\"\r\n onClick={async () => {\r\n if (!isMobile) {\r\n openViewPage(params);\r\n } else {\r\n shareDetails.url = `View/${params.id}`;\r\n shareDetails.text = `${params.row.info}`;\r\n await handleSharing(params);\r\n }\r\n }}\r\n />,\r\n ],\r\n },\r\n ];\r\n\r\n const handleRowColor = (params) => {\r\n try {\r\n var style =\r\n new Date().getTime() >= params.row.dateTerm\r\n ? \"green-row\"\r\n : \"simple-row\";\r\n return style;\r\n } catch (err) {\r\n return;\r\n }\r\n };\r\n console.log(window.innerHeight);\r\n return (\r\n \r\n \r\n \r\n \"auto\"}\r\n getEstimatedRowHeight={() => 25}\r\n rows={items}\r\n columns={columns}\r\n pageSize={MAX_ROW_LENGTH}\r\n rowsPerPageOptions={[MAX_ROW_LENGTH]}\r\n showCellRightBorder\r\n showColumnRightBorder\r\n getRowClassName={(params) => handleRowColor(params)}\r\n onPageChange={(pageNumber, details) => {\r\n if (items.length <= MAX_ROW_LENGTH * (pageNumber + 1)) {\r\n console.log(\"last page reached\");\r\n loadNextObjects();\r\n }\r\n }}\r\n />\r\n \r\n \r\n \r\n );\r\n}\r\n","import { useState } from \"react\";\nimport React from \"react\";\nimport {\n Box,\n Button,\n Typography,\n Autocomplete,\n TextField,\n} from \"@mui/material\";\nimport BoxInput from \"./BoxInput\";\nimport { createTheme, ThemeProvider, Stack } from \"@mui/material\";\n\nconst theme = createTheme({\n spacing: 4,\n});\n\nconst HeaderArchives = ({\n queryObjects,\n regionSearchTerms,\n streetSearchTerms,\n}) => {\n const getTypes = () => {\n console.log(\n `street type: ${typeof street} ${street}\\nrooms type: ${typeof rooms} ${rooms}\\nregions type: ${typeof regions} ${regions}\\ncostFrom type: ${typeof fromCost} ${fromCost}\\ncostTo type: ${typeof toCost} ${toCost}`\n );\n };\n\n const [street, setStreet] = useState(\"\");\n const [rooms, setRooms] = useState(\"\");\n const [regions, setRegions] = useState(\"\");\n const [heating, setHeating] = useState(\"\");\n const [fromCost, setCostFrom] = useState(\"\");\n const [toCost, setCostTo] = useState(\"\");\n\n return (\n \n \n \n \n \n \n Назва вулиці\n \n {\n setStreet(newValue);\n }}\n items={streetSearchTerms}\n />\n \n К-сть кімнат\n \n {\n setRooms(newValue);\n console.log(\"changed\");\n }}\n />\n \n Район\n \n {\n setRegions(newValue);\n }}\n />\n \n Опалення\n \n {\n setHeating(newValue);\n }}\n />{\" \"}\n \n Від\n \n {\n setCostFrom(newValue);\n }}\n />\n \n До\n \n {\n setCostTo(newValue);\n }}\n />\n \n {\n getTypes();\n queryObjects(\n false,\n null,\n street,\n rooms,\n regions,\n heating,\n fromCost,\n toCost\n );\n }}\n >\n \n Знайти\n \n \n \n \n \n \n \n \n );\n};\n\nexport default HeaderArchives;\n","import React from \"react\";\r\nimport EditArchive from \"../components/EditArchive\";\r\nimport ArchivesTable from \"../tables/ArchivesTable\";\r\nimport LoadingDialog from \"../components/LoadingDialog\";\r\nimport HeaderArchives from \"../components/HeaderArchives\";\r\n\r\nconst ArchivesPage = ({\r\n release,\r\n items,\r\n deleteItem,\r\n openArchiveInfo,\r\n handleOpenPhotos,\r\n returnItem,\r\n loadNextArchives,\r\n openViewPage,\r\n isEditItem,\r\n editArchiveItem,\r\n onCloseEditDialog,\r\n regionSearchTerms,\r\n streetSearchTerms,\r\n onEditItem,\r\n showLoading,\r\n handleEditItem,\r\n queryObjects,\r\n}) => {\r\n return (\r\n
\r\n \r\n {showLoading && }\r\n {items.length > 0 ? (\r\n \r\n ) : (\r\n \r\n Немає архівів\r\n
\r\n )}\r\n {isEditItem && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default ArchivesPage;\r\n","import React from \"react\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Typography from \"@mui/material/Typography\";\r\nimport { Button, Container, Stack, TextField } from \"@mui/material\";\r\nimport { useState } from \"react\";\r\nimport { AdapterDateFns } from \"@mui/x-date-pickers/AdapterDateFns\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\n\r\nconst BeforeDeleteObject = ({\r\n openDialog,\r\n id,\r\n deleteObject,\r\n handleCloseDialog,\r\n}) => {\r\n const [displayDateFrom, setDisplayDateFrom] = useState(new Date());\r\n const [dateFrom, setDateFrom] = useState(\r\n `${new Date().getUTCMonth() +\r\n 1}/${new Date().getUTCDate()}/${new Date().getFullYear()}`\r\n );\r\n const handleDeleteItem = () => {\r\n handleCloseDialog();\r\n deleteObject(id, { displayDateFrom, dateFrom });\r\n };\r\n\r\n return (\r\n {\r\n handleCloseDialog();\r\n }}\r\n aria-labelledby=\"modal-modal-title\"\r\n aria-describedby=\"modal-modal-description\"\r\n >\r\n \r\n \r\n \r\n Додати обєкт в архів?\r\n \r\n \r\n \r\n \r\n {\r\n setDisplayDateFrom(newValue);\r\n if (newValue === null) setDateFrom(\"\");\r\n else\r\n setDateFrom(\r\n `${newValue.getUTCMonth() +\r\n 1}/${newValue.getUTCDate()}/${newValue.getFullYear()}`\r\n );\r\n }}\r\n placeholder=\"день/місяць/рік\"\r\n renderInput={(params) => (\r\n {\r\n if (e.key === \"Enter\") e.preventDefault();\r\n }}\r\n fullWidth={true}\r\n variant=\"filled\"\r\n label=\"Термін архіву\"\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\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 BeforeDeleteObject;\r\n\r\nBeforeDeleteObject.defaultProps = {\r\n infoText: \"Немає додаткових даних\",\r\n};\r\n","import React from \"react\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Typography from \"@mui/material/Typography\";\r\nimport { Button, Container, Stack, TextField } from \"@mui/material\";\r\nimport { useState } from \"react\";\r\nimport { AdapterDateFns } from \"@mui/x-date-pickers/AdapterDateFns\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\n\r\nconst BeforeDeleteArchive = ({\r\n openDialog,\r\n id,\r\n deleteObject,\r\n handleCloseDialog,\r\n}) => {\r\n const handleDeleteItem = () => {\r\n handleCloseDialog();\r\n deleteObject(id);\r\n };\r\n\r\n return (\r\n {\r\n handleCloseDialog();\r\n }}\r\n aria-labelledby=\"modal-modal-title\"\r\n aria-describedby=\"modal-modal-description\"\r\n >\r\n \r\n \r\n \r\n Видалити з архіву?\r\n \r\n \r\n \r\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 BeforeDeleteArchive;\r\n\r\nBeforeDeleteArchive.defaultProps = {\r\n infoText: \"Немає додаткових даних\",\r\n};\r\n","import React from \"react\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Typography from \"@mui/material/Typography\";\r\nimport { Button, Container, Stack, TextField } from \"@mui/material\";\r\nimport { useState } from \"react\";\r\nimport { AdapterDateFns } from \"@mui/x-date-pickers/AdapterDateFns\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\n\r\nconst BeforeReturnArchive = ({\r\n openDialog,\r\n id,\r\n returnItem,\r\n handleCloseDialog,\r\n}) => {\r\n const handleReturnItem = () => {\r\n handleCloseDialog();\r\n returnItem(id);\r\n };\r\n\r\n return (\r\n {\r\n handleCloseDialog();\r\n }}\r\n aria-labelledby=\"modal-modal-title\"\r\n aria-describedby=\"modal-modal-description\"\r\n >\r\n \r\n \r\n \r\n Вернути об'єкт?\r\n \r\n \r\n \r\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 BeforeReturnArchive;\r\n\r\nBeforeReturnArchive.defaultProps = {\r\n infoText: \"Немає додаткових даних\",\r\n};\r\n","import React from \"react\";\r\nimport { CognitoIdentityClient } from \"@aws-sdk/client-cognito-identity\";\r\nimport {\r\n DeleteItemCommand,\r\n DynamoDBClient,\r\n PutItemCommand,\r\n UpdateItemCommand,\r\n QueryCommand,\r\n ScanCommand,\r\n} from \"@aws-sdk/client-dynamodb\";\r\nimport {\r\n PutObjectCommand,\r\n DeleteObjectCommand,\r\n DeleteObjectsCommand,\r\n ListObjectsCommand,\r\n} from \"@aws-sdk/client-s3\";\r\nimport { fromCognitoIdentityPool } from \"@aws-sdk/credential-provider-cognito-identity\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { HashRouter, Link, Navigate } from \"react-router-dom\";\r\nimport ResponsiveAppBar from \"./components/AppBar\";\r\nimport { BrowserRouter, Routes, Route } from \"react-router-dom\";\r\nimport RealEstateObjectsPage from \"./pages/RealEstateObjectsPage\";\r\nimport { StyledEngineProvider, ThemeProvider } from \"@mui/material/styles\";\r\nimport BuildingInfo from \"./dialogs/Info\";\r\nimport StandardImageList from \"./dialogs/StandardImageList\";\r\nimport ClientsPage from \"./pages/ClientsPage\";\r\nimport BasicDatePicker from \"./components/DatePicker\";\r\nimport { MuiThemeProvider, createTheme, Hidden } from \"@material-ui/core\";\r\nimport \"./index.css\";\r\nimport { S3Client } from \"@aws-sdk/client-s3\";\r\nimport ArchivesPage from \"./pages/ArchivesPage\";\r\nimport BeforeDeleteObject from \"./dialogs/BeforeDeleteObject\";\r\nimport BeforeDeleteArchive from \"./dialogs/BeforeDeleteArchive\";\r\nimport BeforeReturnArchive from \"./dialogs/BeforeReturnArchive\";\r\nimport App from \"./App\";\r\n\r\nwindow.Buffer = window.Buffer || require(\"buffer\").Buffer;\r\n\r\nconst themeBackground = createTheme({\r\n palette: {\r\n background: {\r\n color: \"#e4f0e2\",\r\n },\r\n },\r\n});\r\n\r\n// const USER_POOL_ID = \"eu-central-1_O4YAKLH4N\";\r\n// const USER_POOL_PROVIDER = \"cognito-idp.\" + REGION + \".amazonaws.com/\" + USER_POOL_ID;\r\nconst PRODUCTION = !window.location.href.includes(\"localhost\");\r\n\r\nconst TABLE_NAME_OBJECTS = \"objects_v3\";\r\nconst TABLE_NAME_CLIENTS = \"clients_v2\";\r\nconst TABLE_NAME_ARCHIVES = \"archives_v2\";\r\nconst TABLE_NAME_DELETED_ARCHIVE = \"deleted_archives\";\r\nconst REGION = \"eu-central-1\";\r\nconst IDENTITY_POOL_ID = \"eu-central-1:713c28fd-d5fa-4e35-a9de-b89640b12b65\";\r\nconst OBJECTS_PROJECTION =\r\n \"id, cost, currency, dateFrom, dateTo, floor, furniture, heating, info, personName, phoneNumber, region, rooms, state, street, technology\";\r\nconst CLIENTS_PROJECTION =\r\n \"id, cost, aboutClient, currency, dateFrom, deadline, info, personName, phoneNumber, region, rooms, urgency\";\r\nconst SCAN_LIMIT = 100;\r\nconst S3_PHOTOS_BUCKET = \"realtor-photos\";\r\n\r\nvar ddbClient;\r\nvar s3Client;\r\nvar idToken;\r\nvar admin = null;\r\nvar openedWindow;\r\n\r\nfunction signIn(idToken) {\r\n if (!window.location.href.includes(\"View\")) {\r\n if (ddbClient != null) {\r\n return;\r\n }\r\n console.log(\"token: \" + idToken);\r\n\r\n var credentials = PRODUCTION\r\n ? fromCognitoIdentityPool({\r\n client: new CognitoIdentityClient({ region: REGION }),\r\n identityPoolId: IDENTITY_POOL_ID,\r\n logins: {\r\n \"cognito-idp.eu-central-1.amazonaws.com/eu-central-1_O4YAKLH4N\": idToken,\r\n },\r\n })\r\n : fromCognitoIdentityPool({\r\n client: new CognitoIdentityClient({ region: REGION }),\r\n identityPoolId: IDENTITY_POOL_ID,\r\n });\r\n\r\n ddbClient = new DynamoDBClient({\r\n region: REGION,\r\n credentials: credentials,\r\n });\r\n\r\n s3Client = new S3Client({\r\n region: REGION,\r\n credentials: credentials,\r\n });\r\n } else {\r\n }\r\n}\r\n\r\n// const putItem = async () => {\r\n// try {\r\n// const data = await ddbClient.send(new PutItemCommand({\r\n// TableName: TABLE_NAME,\r\n// Item:{\r\n// \"id\": {S: \"test123\"}\r\n// }\r\n// }));\r\n// console.error(\"success\");\r\n// return data;\r\n// } catch (err) {\r\n// console.error(err);\r\n// }\r\n// };\r\n\r\nvar lastQueryPropertiesObjects,\r\n lastQueryPropertiesClients,\r\n lastQueryPropertiesArchives;\r\nvar lastEvaluatedKeyObjects, lastEvaluatedKeyClients, lastEvaluatedKeyArchives;\r\n\r\nvar clientRegionSearchTerms = [];\r\nvar regionSearchTerms = [];\r\nvar streetSearchTerms = [];\r\n\r\nfunction timeout(delay) {\r\n return new Promise((res) => setTimeout(res, delay));\r\n}\r\n\r\nfunction AppRealtor() {\r\n const [displayAdminTools, setDisplayAdminTools] = useState(false);\r\n const [activeItemId, setActiveItemId] = useState(\"\");\r\n const [openDeleteDialog, setOpenDeleteDialog] = useState(false);\r\n const [openReturnDialog, setOpenReturnDialog] = useState(false);\r\n const [openDeleteArchiveDialog, setOpenDeleteArchiveDialog] = useState(false);\r\n const [showLoading, setShowLoading] = useState(false);\r\n const [showAddRealEstateObject, setShowAddRealEstateObject] = useState(false);\r\n const [realEstateItems, setRealEstateItems] = useState([]);\r\n const [showAddClients, setShowAddClients] = useState(false);\r\n const [clientItems, setClientItems] = useState([]);\r\n const [archiveItems, setArchiveItems] = useState([]);\r\n const [openInfo, setOpenInfo] = useState(false);\r\n const [infoText, setInfoText] = useState(\"\");\r\n const [openPhotos, setOpenPhotos] = useState(false);\r\n const [photos, setPhotos] = useState([]);\r\n const [isEditItem, setIsEditItem] = useState(false);\r\n const [editItemId, setEditItemId] = useState(\"\");\r\n const [currentPage, setCurrentPage] = useState(\"Objects\");\r\n const [editItem, setEditItem] = useState({\r\n id: \"\",\r\n personName: \"\",\r\n phoneNumber: \"\",\r\n rooms: \"\",\r\n dateFrom: \"\",\r\n dateTo: \"\",\r\n cost: \"\",\r\n currency: \"\",\r\n street: \"\",\r\n region: \"\",\r\n floor: \"\",\r\n state: \"\",\r\n heating: \"\",\r\n info: \"\",\r\n furniture: false,\r\n technology: false,\r\n });\r\n const [editClientItem, setEditClientItem] = useState({\r\n id: \"\",\r\n dateFrom: \"\",\r\n rooms: \"\",\r\n cost: \"\",\r\n currency: \"\",\r\n region: \"\",\r\n aboutClient: \"\",\r\n deadline: \"\",\r\n urgency: \"\",\r\n personName: \"\",\r\n phoneNumber: \"\",\r\n info: \"\",\r\n });\r\n const [editArchiveItem, setEditArchiveItem] = useState(null);\r\n\r\n const handleOpenInfo = (infoId) => {\r\n realEstateItems.map((item) => {\r\n if (item.id === infoId) setInfoText(item.info);\r\n });\r\n setOpenInfo(true);\r\n };\r\n const handleOpenClientInfo = (infoId) => {\r\n clientItems.map((item) => {\r\n if (item.id === infoId) setInfoText(item.info);\r\n });\r\n setOpenInfo(true);\r\n };\r\n\r\n const openArchiveInfo = (infoId) => {\r\n archiveItems.map((item) => {\r\n if (item.id === infoId) setInfoText(item.info);\r\n });\r\n setOpenInfo(true);\r\n };\r\n\r\n const onDeletePhoto = async (photo) => {\r\n console.log(`Delete: ${photo.key}`);\r\n // setShowLoading(true);\r\n try {\r\n await s3Client.send(\r\n new DeleteObjectCommand({\r\n Key: photo.key,\r\n Bucket: S3_PHOTOS_BUCKET,\r\n })\r\n );\r\n console.log(\"delete success\");\r\n setPhotos(photos.filter((item) => item.key !== photo.key));\r\n } catch (err) {\r\n alert(err);\r\n console.error(err);\r\n }\r\n // setShowLoading(false);\r\n };\r\n\r\n const handleOpenPhotos = async (photosId) => {\r\n //...\r\n //after loaded photos\r\n const albumPhotosKey = encodeURIComponent(photosId) + \"/\";\r\n try {\r\n var photos = [];\r\n\r\n const data = await s3Client.send(\r\n new ListObjectsCommand({\r\n Prefix: albumPhotosKey,\r\n Bucket: S3_PHOTOS_BUCKET,\r\n })\r\n );\r\n\r\n if (data.Contents == null || data.Contents.length < 1) {\r\n alert(\"Немає фото.\");\r\n return;\r\n }\r\n const href = \"https://s3.\" + REGION + \".amazonaws.com/\";\r\n const bucketUrl = href + S3_PHOTOS_BUCKET + \"/\";\r\n\r\n data.Contents.map((photo) => {\r\n //console.log(bucketUrl + encodeURIComponent(photo.Key));\r\n photos.push({\r\n url: bucketUrl + encodeURIComponent(photo.Key),\r\n name: photo.Key.split(\"/\").pop(),\r\n id: photosId,\r\n key: photo.Key,\r\n });\r\n });\r\n\r\n setPhotos(photos);\r\n setOpenPhotos(true);\r\n } catch (err) {\r\n alert(err);\r\n console.error(err);\r\n }\r\n };\r\n\r\n const getPhotos = async (photosId) => {\r\n //...\r\n //after loaded photos\r\n const albumPhotosKey = encodeURIComponent(photosId) + \"/\";\r\n try {\r\n var photos = [];\r\n\r\n const data = await s3Client.send(\r\n new ListObjectsCommand({\r\n Prefix: albumPhotosKey,\r\n Bucket: S3_PHOTOS_BUCKET,\r\n })\r\n );\r\n\r\n const href = \"https://s3.\" + REGION + \".amazonaws.com/\";\r\n const bucketUrl = href + S3_PHOTOS_BUCKET + \"/\";\r\n\r\n data.Contents.map((photo) => {\r\n //console.log(bucketUrl + encodeURIComponent(photo.Key));\r\n photos.push({\r\n url: bucketUrl + encodeURIComponent(photo.Key),\r\n name: photo.Key.split(\"/\").pop(),\r\n id: photosId,\r\n key: photo.Key,\r\n });\r\n });\r\n\r\n return photos;\r\n } catch (err) {\r\n alert(err);\r\n console.error(err);\r\n }\r\n };\r\n\r\n const handleEditItem = (id) => {\r\n setIsEditItem(true);\r\n setEditItemId(id);\r\n realEstateItems.map((item) => {\r\n if (item.id === id) setEditItem(item);\r\n });\r\n };\r\n const handleEditClientItem = (id) => {\r\n setIsEditItem(true);\r\n setEditItemId(id);\r\n clientItems.map((item) => {\r\n if (item.id === id) setEditClientItem(item);\r\n });\r\n };\r\n const handleEditArchiveItem = (id) => {\r\n setIsEditItem(true);\r\n setEditItemId(id);\r\n archiveItems.map((item) => {\r\n if (item.id === id) setEditArchiveItem(item);\r\n });\r\n };\r\n\r\n const onTablePageChange = (pageNumber, details) => {\r\n console.log(`page: ${pageNumber}`);\r\n };\r\n\r\n if (ddbClient == null) {\r\n if (PRODUCTION) {\r\n console.log(\"token null: \", idToken == null);\r\n if (idToken == null) {\r\n var url_string = window.location.href.replace(\"#\", \"?\");\r\n var url = new URL(url_string);\r\n idToken = url.searchParams.get(\"id_token\");\r\n }\r\n\r\n if (idToken != null) {\r\n signIn(idToken);\r\n } else {\r\n if (window.location.href.includes(\"View\")) {\r\n } else {\r\n var url =\r\n \"https://auth.leocity.estate/login?client_id=806nes7b338tt5cue0ivet5mg&response_type=token&scope=email+openid+profile&redirect_uri=https://leocity.estate/\";\r\n console.error(\"token is null! redirect to: \", url);\r\n window.open(\r\n \"https://auth.leocity.estate/login?client_id=806nes7b338tt5cue0ivet5mg&response_type=token&scope=email+openid+profile&redirect_uri=https://leocity.estate/\",\r\n \"_self\"\r\n );\r\n }\r\n }\r\n } else {\r\n signIn(null);\r\n }\r\n }\r\n\r\n //check if admin\r\n const checkAdmin = async () => {\r\n if (ddbClient == null) return;\r\n\r\n if (window.location.href.includes(\"View\")) {\r\n admin = false;\r\n return;\r\n }\r\n\r\n if (!PRODUCTION) {\r\n admin = true;\r\n listObjects();\r\n return;\r\n }\r\n\r\n try {\r\n await ddbClient.send(\r\n new DeleteItemCommand({\r\n TableName: TABLE_NAME_OBJECTS,\r\n Key: {\r\n id: { S: \"admin\" },\r\n },\r\n })\r\n );\r\n console.log(\"admin === true\");\r\n admin = true;\r\n listObjects();\r\n } catch (err) {\r\n console.log(err);\r\n if (err.name === \"AccessDeniedException\") {\r\n console.log(\"admin === false\");\r\n admin = false;\r\n listObjects();\r\n } else {\r\n console.log(\"unknown exception: \", err);\r\n window.open(\r\n \"https://auth.leocity.estate/login?client_id=806nes7b338tt5cue0ivet5mg&response_type=token&scope=email+openid+profile&redirect_uri=http://localhost:3000/\",\r\n \"_self\"\r\n );\r\n }\r\n }\r\n };\r\n\r\n //old list objects\r\n // const listObjects = async (lastEvaluatedKey) => {\r\n // if (ddbClient == null) {\r\n // //alert(\"db client == null\");\r\n // return;\r\n // }\r\n\r\n // var loadNext = lastEvaluatedKey != null;\r\n\r\n // if (loadNext && lastEvaluatedKey.lastEvaluatedKey == null) return;\r\n\r\n // if (loadNext) console.log(\"load next: \", lastEvaluatedKey);\r\n // else console.log(\"list objects\");\r\n\r\n // setShowLoading(true);\r\n\r\n // try {\r\n // const data = await ddbClient.send(\r\n // new ScanCommand({\r\n // TableName: TABLE_NAME_OBJECTS,\r\n // Limit: SCAN_LIMIT,\r\n // ExclusiveStartKey: loadNext\r\n // ? lastEvaluatedKey.lastEvaluatedKey\r\n // : null,\r\n // // ExclusiveStartKey: { lastEvaluatedKey },\r\n // // lastEvaluatedKey != null\r\n // // ? { id: { S: \"595186Sun, 12 Jun 2022 10:22:27 GMT\" } }\r\n // // : lastEvaluatedKey,\r\n // // ProjectionExpression: OBJECTS_PROJECTION,\r\n // })\r\n // );\r\n\r\n // lastQueryPropertiesObjects = null;\r\n // lastEvaluatedKeyObjects = data.LastEvaluatedKey;\r\n\r\n // console.log(\"lastEvaluatedKey: \", lastEvaluatedKeyObjects);\r\n\r\n // var items = [];\r\n // data.Items.forEach(function (element, index, array) {\r\n // items.push({\r\n // id: element.id.S,\r\n // personName: element.personName.S,\r\n // phoneNumber: element.phoneNumber.S,\r\n // rooms: element.rooms.N,\r\n // dateFrom: element.dateFrom.S,\r\n // dateEdit: element.dateEdit === undefined ? \"\" : element.dateEdit.S,\r\n // cost: element.cost.N,\r\n // currency: element.currency.S,\r\n // street: element.street.S,\r\n // region: element.region.S,\r\n // floor: element.floor.N,\r\n // state: element.state.S,\r\n // heating: element.heating.S,\r\n // info: element.info.S,\r\n // furniture: element.furniture.BOOL,\r\n // technology: element.technology.BOOL,\r\n // });\r\n // });\r\n\r\n // if (loadNext) setRealEstateItems([...realEstateItems, ...items]);\r\n // else setRealEstateItems(items);\r\n\r\n // items.map((item) => {\r\n // if (streetSearchTerms.indexOf(item.street) === -1)\r\n // streetSearchTerms.push(item.street);\r\n // if (regionSearchTerms.indexOf(item.region) === -1)\r\n // regionSearchTerms.push(item.region);\r\n // });\r\n // } catch (err) {\r\n // alert(err);\r\n // console.error(err);\r\n // }\r\n // setShowLoading(false);\r\n // };\r\n\r\n //new list objects\r\n const listObjects = async (loadNext = false, lastEvaluatedKey, prevItems) => {\r\n if (ddbClient == null) {\r\n //alert(\"db client == null\");\r\n return;\r\n }\r\n ///test\r\n // setShowLoading(true);\r\n // console.log(\"scanning...\");\r\n // const data = await ddbClient.send(\r\n // new QueryCommand({\r\n // TableName: \"objects_v2\",\r\n // IndexName: \"global-dateEdit-index\",\r\n // KeyConditionExpression: \"#global = :global\",\r\n // ExpressionAttributeNames: {\r\n // \"#global\": \"global\",\r\n // },\r\n // ExpressionAttributeValues: {\r\n // \":global\": { N: \"0\" },\r\n // },\r\n // Limit: 1000,\r\n // ExclusiveStartKey: loadNext ? lastEvaluatedKey : null,\r\n // ScanIndexForward: false,\r\n // })\r\n // );\r\n // console.log(\"scanned: \", data.Items);\r\n // console.log(\"adding...\");\r\n // var tasks = [];\r\n // data.Items.forEach(function(element, index, array) {\r\n // // console.log(new Date(element.dateFrom.S).getTime());\r\n // tasks.push(\r\n // ddbClient.send(\r\n // new PutItemCommand({\r\n // TableName: TABLE_NAME_OBJECTS,\r\n // Item: {\r\n // id: element.id,\r\n // global: { N: \"0\" },\r\n // personName: element.personName,\r\n // phoneNumber: element.phoneNumber,\r\n // dateFrom: { N: `${new Date(element.dateFrom.S).getTime()}` },\r\n // dateEdit: { N: `${new Date(element.dateEdit.S).getTime()}` },\r\n // rooms: element.rooms,\r\n // cost: element.cost,\r\n // currency: element.currency,\r\n // street: element.street,\r\n // region: element.region,\r\n // floor: element.floor,\r\n // state: element.state,\r\n // heating: element.heating,\r\n // info: element.info,\r\n // furniture: element.furniture,\r\n // technology: element.technology,\r\n // },\r\n // })\r\n // )\r\n // );\r\n // });\r\n\r\n // await Promise.all(tasks);\r\n // console.log(\"added\");\r\n\r\n // console.log(\"scanning...\");\r\n // const data2 = await ddbClient.send(\r\n // new QueryCommand({\r\n // TableName: \"archives\",\r\n // IndexName: \"global-dateTerm-index\",\r\n // KeyConditionExpression: \"#global = :global\",\r\n // ExpressionAttributeNames: {\r\n // \"#global\": \"global\",\r\n // },\r\n // ExpressionAttributeValues: {\r\n // \":global\": { N: \"0\" },\r\n // },\r\n // Limit: 1000,\r\n // ExclusiveStartKey: loadNext ? lastEvaluatedKey : null,\r\n // })\r\n // );\r\n // console.log(\"scanned: \", data2.Items);\r\n // console.log(\"adding...\");\r\n // var tasks = [];\r\n // data2.Items.forEach(function(element, index, array) {\r\n // tasks.push(\r\n // ddbClient.send(\r\n // new PutItemCommand({\r\n // TableName: TABLE_NAME_ARCHIVES,\r\n // Item: {\r\n // id: element.id,\r\n // global: { N: \"0\" },\r\n // personName: element.personName,\r\n // phoneNumber: element.phoneNumber,\r\n // dateFrom: { N: `${new Date(element.dateFrom.S).getTime()}` },\r\n // dateDeleted: {\r\n // N: `${new Date(element.dateDeleted.S).getTime()}`,\r\n // },\r\n // dateTerm: element.dateTerm,\r\n // dateEdit: {\r\n // N:\r\n // element.dateEdit === undefined\r\n // ? \"0\"\r\n // : `${new Date(element.dateEdit.S).getTime()}`,\r\n // },\r\n // rooms: element.rooms,\r\n // cost: element.cost,\r\n // currency: element.currency,\r\n // street: element.street,\r\n // region: element.region,\r\n // floor: element.floor,\r\n // state: element.state,\r\n // heating: element.heating,\r\n // info: element.info,\r\n // furniture: element.furniture,\r\n // technology: element.technology,\r\n // },\r\n // })\r\n // )\r\n // );\r\n // });\r\n\r\n // await Promise.all(tasks);\r\n // console.log(\"added\");\r\n // setShowLoading(false);\r\n // return;\r\n ///\r\n if (loadNext && lastEvaluatedKey == null) return;\r\n\r\n if (loadNext) console.log(\"load next: \", lastEvaluatedKey);\r\n else console.log(\"list objects\");\r\n\r\n console.log(\"prev: \", prevItems);\r\n\r\n setShowLoading(true);\r\n\r\n try {\r\n const data = await ddbClient.send(\r\n new QueryCommand({\r\n TableName: TABLE_NAME_OBJECTS,\r\n IndexName: \"global-dateEdit-index\",\r\n KeyConditionExpression: \"#global = :global\",\r\n ExpressionAttributeNames: {\r\n \"#global\": \"global\",\r\n },\r\n ExpressionAttributeValues: {\r\n \":global\": { N: \"0\" },\r\n },\r\n Limit: SCAN_LIMIT,\r\n ExclusiveStartKey: loadNext ? lastEvaluatedKey : null,\r\n ScanIndexForward: false,\r\n })\r\n );\r\n\r\n lastQueryPropertiesObjects = null;\r\n lastEvaluatedKeyObjects = data.LastEvaluatedKey;\r\n\r\n console.log(\"lastEvaluatedKey: \", data.LastEvaluatedKey);\r\n\r\n var items = [];\r\n // var dateFrom = new Date(),\r\n // dateEdit = new Date();\r\n if (prevItems != null) items = [...prevItems];\r\n data.Items.forEach(function(element, index, array) {\r\n // var dateFrom = new Date();\r\n // var dateEdit = new Date();\r\n // dateFrom.setTime(element.dateFrom.N);\r\n // dateFrom = `${dateFrom.getUTCMonth() + 1}/${dateFrom.getUTCDate() +\r\n // 1}/${dateFrom.getFullYear()}`;\r\n\r\n // dateEdit.setTime(element.dateEdit.N);\r\n // dateEdit = `${dateEdit.getUTCMonth() + 1}/${dateEdit.getUTCDate() +\r\n // 1}/${dateEdit.getFullYear()}`;\r\n items.push({\r\n id: element.id.S,\r\n personName: element.personName.S,\r\n phoneNumber: element.phoneNumber.S,\r\n rooms: element.rooms.N,\r\n dateFrom: element.dateFrom.N,\r\n dateEdit: element.dateEdit.N === undefined ? \"0\" : element.dateEdit.N,\r\n cost: element.cost.N,\r\n currency: element.currency.S,\r\n street: element.street.S,\r\n region: element.region.S,\r\n floor: element.floor.N,\r\n state: element.state.S,\r\n heating: element.heating.S,\r\n info: element.info.S,\r\n furniture: element.furniture.BOOL,\r\n technology: element.technology.BOOL,\r\n });\r\n });\r\n setRealEstateItems(items);\r\n items.map((item) => {\r\n if (streetSearchTerms.indexOf(item.street) === -1)\r\n streetSearchTerms.push(item.street);\r\n if (regionSearchTerms.indexOf(item.region) === -1)\r\n regionSearchTerms.push(item.region);\r\n });\r\n } catch (err) {\r\n alert(err);\r\n console.error(err);\r\n }\r\n setCurrentPage(\"Objects\");\r\n setShowLoading(false);\r\n };\r\n\r\n const filterObjects = async (filterProps) => {\r\n if (ddbClient == null) {\r\n //alert(\"db client == null\");\r\n return;\r\n }\r\n /*test\r\n setShowLoading(true);\r\n console.log(\"scanning...\");\r\n const data = await ddbClient.send(\r\n new QueryCommand({\r\n TableName: \"objects_v2\",\r\n IndexName: \"global-dateEdit-index\",\r\n KeyConditionExpression: \"#global = :global\",\r\n ExpressionAttributeNames: {\r\n \"#global\": \"global\",\r\n },\r\n ExpressionAttributeValues: {\r\n \":global\": { N: \"0\" },\r\n },\r\n Limit: 1000,\r\n ExclusiveStartKey: loadNext ? lastEvaluatedKey : null,\r\n ScanIndexForward: false,\r\n })\r\n );\r\n console.log(\"scanned: \", data.Items);\r\n console.log(\"adding...\");\r\n var tasks = [];\r\n data.Items.forEach(function(element, index, array) {\r\n // console.log(new Date(element.dateFrom.S).getTime());\r\n tasks.push(\r\n ddbClient.send(\r\n new PutItemCommand({\r\n TableName: TABLE_NAME_OBJECTS,\r\n Item: {\r\n id: element.id,\r\n global: { N: \"0\" },\r\n personName: element.personName,\r\n phoneNumber: element.phoneNumber,\r\n dateFrom: { N: `${new Date(element.dateFrom.S).getTime()}` },\r\n dateEdit: { N: `${new Date(element.dateEdit.S).getTime()}` },\r\n rooms: element.rooms,\r\n cost: element.cost,\r\n currency: element.currency,\r\n street: element.street,\r\n region: element.region,\r\n floor: element.floor,\r\n state: element.state,\r\n heating: element.heating,\r\n info: element.info,\r\n furniture: element.furniture,\r\n technology: element.technology,\r\n },\r\n })\r\n )\r\n );\r\n });\r\n\r\n await Promise.all(tasks);\r\n console.log(\"added\");\r\n\r\n console.log(\"scanning...\");\r\n const data2 = await ddbClient.send(\r\n new QueryCommand({\r\n TableName: \"archives\",\r\n IndexName: \"global-dateTerm-index\",\r\n KeyConditionExpression: \"#global = :global\",\r\n ExpressionAttributeNames: {\r\n \"#global\": \"global\",\r\n },\r\n ExpressionAttributeValues: {\r\n \":global\": { N: \"0\" },\r\n },\r\n Limit: 1000,\r\n ExclusiveStartKey: loadNext ? lastEvaluatedKey : null,\r\n })\r\n );\r\n console.log(\"scanned: \", data2.Items);\r\n console.log(\"adding...\");\r\n var tasks = [];\r\n data2.Items.forEach(function(element, index, array) {\r\n tasks.push(\r\n ddbClient.send(\r\n new PutItemCommand({\r\n TableName: TABLE_NAME_ARCHIVES,\r\n Item: {\r\n id: element.id,\r\n global: { N: \"0\" },\r\n personName: element.personName,\r\n phoneNumber: element.phoneNumber,\r\n dateFrom: { N: `${new Date(element.dateFrom.S).getTime()}` },\r\n dateDeleted: {\r\n N: `${new Date(element.dateDeleted.S).getTime()}`,\r\n },\r\n dateTerm: element.dateTerm,\r\n dateEdit: {\r\n N:\r\n element.dateEdit === undefined\r\n ? \"0\"\r\n : `${new Date(element.dateEdit.S).getTime()}`,\r\n },\r\n rooms: element.rooms,\r\n cost: element.cost,\r\n currency: element.currency,\r\n street: element.street,\r\n region: element.region,\r\n floor: element.floor,\r\n state: element.state,\r\n heating: element.heating,\r\n info: element.info,\r\n furniture: element.furniture,\r\n technology: element.technology,\r\n },\r\n })\r\n )\r\n );\r\n });\r\n\r\n await Promise.all(tasks);\r\n console.log(\"added\");\r\n setShowLoading(false);\r\n return;\r\n */\r\n //if (loadNext && lastEvaluatedKey == null) return;\r\n\r\n //if (loadNext) console.log(\"load next: \", lastEvaluatedKey);\r\n //else console.log(\"list objects\");\r\n\r\n //console.log(\"prev: \", prevItems);\r\n\r\n setShowLoading(true);\r\n\r\n try {\r\n const data = await ddbClient.send(\r\n new QueryCommand({\r\n TableName: TABLE_NAME_OBJECTS,\r\n IndexName: \"global-dateEdit-index\",\r\n KeyConditionExpression: \"#global = :global\",\r\n ExpressionAttributeNames: {\r\n \"#global\": \"global\",\r\n },\r\n ExpressionAttributeValues: {\r\n \":global\": { N: \"0\" },\r\n },\r\n Limit: 10000,\r\n ExclusiveStartKey: null,\r\n ScanIndexForward: false,\r\n })\r\n );\r\n\r\n //console.log(\"lastEvaluatedKey: \", data.LastEvaluatedKey);\r\n\r\n let items = new Array();\r\n // var dateFrom = new Date(),\r\n // dateEdit = new Date();\r\n data.Items.forEach(function(element, index, array) {\r\n // var dateFrom = new Date();\r\n // var dateEdit = new Date();\r\n // dateFrom.setTime(element.dateFrom.N);\r\n // dateFrom = `${dateFrom.getUTCMonth() + 1}/${dateFrom.getUTCDate() +\r\n // 1}/${dateFrom.getFullYear()}`;\r\n\r\n // dateEdit.setTime(element.dateEdit.N);\r\n // dateEdit = `${dateEdit.getUTCMonth() + 1}/${dateEdit.getUTCDate() +\r\n // 1}/${dateEdit.getFullYear()}`;\r\n // console.log(filterProps.fromCost);\r\n // console.log(filterProps.toCost == -1);\r\n if (\r\n (element.street.S.toLowerCase().includes(\r\n filterProps.street.toLowerCase()\r\n ) ||\r\n filterProps.street.length == 0) &&\r\n (filterProps.rooms == -1 || filterProps.rooms == element.rooms.N) &&\r\n (filterProps.region.length == 0 ||\r\n element.region.S.toLowerCase().includes(\r\n filterProps.region.toLowerCase()\r\n )) &&\r\n (filterProps.heating.length == 0 ||\r\n element.heating.S.toLowerCase().includes(\r\n filterProps.heating.toLowerCase()\r\n )) &&\r\n (filterProps.fromCost == -1 ||\r\n element.cost.N >= filterProps.fromCost) &&\r\n (filterProps.toCost == -1 || element.cost.N <= filterProps.toCost)\r\n ) {\r\n items.push({\r\n id: element.id.S,\r\n personName: element.personName.S,\r\n phoneNumber: element.phoneNumber.S,\r\n rooms: element.rooms.N,\r\n dateFrom: element.dateFrom.N,\r\n dateEdit:\r\n element.dateEdit.N === undefined ? \"0\" : element.dateEdit.N,\r\n cost: element.cost.N,\r\n currency: element.currency.S,\r\n street: element.street.S,\r\n region: element.region.S,\r\n floor: element.floor.N,\r\n state: element.state.S,\r\n heating: element.heating.S,\r\n info: element.info.S,\r\n furniture: element.furniture.BOOL,\r\n technology: element.technology.BOOL,\r\n });\r\n }\r\n });\r\n setRealEstateItems(items);\r\n } catch (err) {\r\n alert(err);\r\n console.error(err);\r\n }\r\n setCurrentPage(\"Objects\");\r\n setShowLoading(false);\r\n };\r\n\r\n //query objects\r\n const queryObjects = async (\r\n loadNext = false,\r\n lastEvaluatedKey,\r\n street,\r\n rooms,\r\n region,\r\n heating,\r\n fromCost,\r\n toCost,\r\n prevItems\r\n ) => {\r\n setShowLoading(true);\r\n console.log(`loadNext: ${loadNext}`);\r\n try {\r\n if (loadNext && lastEvaluatedKey == null) {\r\n setShowLoading(false);\r\n return;\r\n }\r\n\r\n // if (!loadNext) {\r\n // if (\r\n // street.length === 0 &&\r\n // rooms.length === 0 &&\r\n // region.length === 0 &&\r\n // heating.length === 0 &&\r\n // fromCost.length === 0 &&\r\n // toCost.length === 0\r\n // ) {\r\n // listObjects();\r\n // return;\r\n // }\r\n // var keyConditionExpression = \"#index = :index\";\r\n // var expressionAttributeNames = { \"#index\": \"global\" };\r\n // var expressionAttributeValues = { \":index\": { N: \"0\" } };\r\n // var startingValue = \"\";\r\n // var indexName = \"global\";\r\n\r\n // if (street.length !== 0) {\r\n // indexName = \"street\";\r\n // expressionAttributeValues[\":index\"] = { S: `${street}` };\r\n // startingValue = `${street}`;\r\n // }\r\n\r\n // if (rooms.length !== 0) {\r\n // if (indexName === \"global\") {\r\n // indexName = \"rooms\";\r\n // expressionAttributeValues[\":index\"] = { N: `${rooms}` };\r\n // startingValue = `${rooms}`;\r\n // } else {\r\n // indexName += \"_rooms\";\r\n // startingValue = `${startingValue}_${rooms}`;\r\n // expressionAttributeValues[\":index\"] = {\r\n // S: startingValue,\r\n // };\r\n // }\r\n // }\r\n\r\n // if (region.length !== 0) {\r\n // if (indexName === \"global\") {\r\n // indexName = \"region\";\r\n // expressionAttributeValues[\":index\"] = { S: `${region}` };\r\n // startingValue = `${region}`;\r\n // } else {\r\n // indexName += \"_region\";\r\n // startingValue = `${startingValue}_${region}`;\r\n // expressionAttributeValues[\":index\"] = {\r\n // S: startingValue,\r\n // };\r\n // }\r\n // }\r\n\r\n // if (heating.length !== 0) {\r\n // if (indexName === \"global\") {\r\n // indexName = \"heating\";\r\n // expressionAttributeValues[\":index\"] = { S: `${heating}` };\r\n // startingValue = `${heating}`;\r\n // } else {\r\n // indexName += \"_heating\";\r\n // startingValue = `${startingValue}_${heating}`;\r\n // expressionAttributeValues[\":index\"] = {\r\n // S: startingValue,\r\n // };\r\n // }\r\n // }\r\n\r\n // if (indexName !== \"global\") {\r\n // expressionAttributeNames[\"#index\"] = indexName;\r\n // }\r\n\r\n // if (fromCost.length !== 0 || toCost.length !== 0) {\r\n // expressionAttributeNames[\"#cost\"] = \"cost\";\r\n // }\r\n\r\n // if (fromCost.length !== 0 && toCost.length !== 0) {\r\n // keyConditionExpression += \" AND #cost BETWEEN :fromCost AND :toCost\";\r\n // expressionAttributeValues[\":fromCost\"] = { N: fromCost };\r\n // expressionAttributeValues[\":toCost\"] = { N: toCost };\r\n // } else {\r\n // if (fromCost.length !== 0) {\r\n // keyConditionExpression += \" AND #cost >= :fromCost\";\r\n // expressionAttributeValues[\":fromCost\"] = { N: fromCost };\r\n // }\r\n\r\n // if (toCost.length !== 0) {\r\n // keyConditionExpression += \" AND #cost <= :toCost\";\r\n // expressionAttributeValues[\":toCost\"] = { N: toCost };\r\n // }\r\n // }\r\n\r\n // indexName += \"-cost-index\";\r\n\r\n // console.log(\r\n // `query: ${expressionAttributeNames[\"#index\"]} = ${expressionAttributeValues[\":index\"].S}`\r\n // );\r\n // } else {\r\n // console.log(\"query next: \", lastEvaluatedKey);\r\n // indexName = lastQueryPropertiesObjects.IndexName;\r\n // keyConditionExpression =\r\n // lastQueryPropertiesObjects.KeyConditionExpression;\r\n // expressionAttributeValues =\r\n // lastQueryPropertiesObjects.ExpressionAttributeValues;\r\n // expressionAttributeNames =\r\n // lastQueryPropertiesObjects.ExpressionAttributeNames;\r\n // }\r\n\r\n // var data = await ddbClient.send(\r\n // new QueryCommand({\r\n // TableName: TABLE_NAME_OBJECTS,\r\n // IndexName: indexName,\r\n // KeyConditionExpression: keyConditionExpression,\r\n // ExpressionAttributeValues: expressionAttributeValues,\r\n // ExpressionAttributeNames: expressionAttributeNames,\r\n // Limit: SCAN_LIMIT,\r\n // ExclusiveStartKey: loadNext\r\n // ? lastEvaluatedKey.lastEvaluatedKey\r\n // : null,\r\n // // ProjectionExpression: OBJECTS_PROJECTION,\r\n // })\r\n // );\r\n\r\n // lastQueryPropertiesObjects = {\r\n // IndexName: indexName,\r\n // KeyConditionExpression: keyConditionExpression,\r\n // ExpressionAttributeValues: expressionAttributeValues,\r\n // ExpressionAttributeNames: expressionAttributeNames,\r\n // };\r\n // lastEvaluatedKeyObjects = data.LastEvaluatedKey;\r\n\r\n if (!loadNext) {\r\n if (\r\n street.length === 0 &&\r\n rooms.length === 0 &&\r\n region.length === 0 &&\r\n heating.length === 0 &&\r\n fromCost.length === 0 &&\r\n toCost.length === 0\r\n ) {\r\n listObjects();\r\n return;\r\n }\r\n var filterExpression = \"\";\r\n var expressionAttributeNames = {\r\n \"#global\": \"global\",\r\n };\r\n var expressionAttributeValues = {\r\n \":global\": { N: \"0\" },\r\n };\r\n\r\n if (street.length !== 0) {\r\n filterExpression = \"contains(#street, :street)\";\r\n expressionAttributeNames[\"#street\"] = \"street\";\r\n expressionAttributeValues[\":street\"] = {\r\n S: `${street}`,\r\n };\r\n }\r\n\r\n if (rooms.length !== 0) {\r\n expressionAttributeNames[\"#rooms\"] = \"rooms\";\r\n expressionAttributeValues[\":rooms\"] = {\r\n N: `${rooms}`,\r\n };\r\n if (filterExpression.length < 1) {\r\n filterExpression = \"#rooms = :rooms\";\r\n } else {\r\n filterExpression += \" AND #rooms = :rooms\";\r\n }\r\n }\r\n\r\n if (region.length !== 0) {\r\n expressionAttributeNames[\"#region\"] = \"region\";\r\n expressionAttributeValues[\":region\"] = {\r\n S: region,\r\n };\r\n if (filterExpression.length < 1) {\r\n filterExpression = \"contains(#region, :region)\";\r\n } else {\r\n filterExpression += \" AND contains(#region, :region)\";\r\n }\r\n }\r\n\r\n if (heating.length !== 0) {\r\n expressionAttributeNames[\"#heating\"] = \"heating\";\r\n expressionAttributeValues[\":heating\"] = {\r\n S: heating,\r\n };\r\n if (filterExpression.length < 1) {\r\n filterExpression = \"contains(#heating, :heating)\";\r\n } else {\r\n filterExpression += \" AND contains(#heating, :heating)\";\r\n }\r\n }\r\n\r\n if (fromCost.length !== 0 || toCost.length !== 0) {\r\n expressionAttributeNames[\"#cost\"] = \"cost\";\r\n }\r\n\r\n if (fromCost.length !== 0 && toCost.length !== 0) {\r\n if (filterExpression.length < 1) {\r\n filterExpression += \"#cost BETWEEN :fromCost AND :toCost\";\r\n } else {\r\n filterExpression += \" AND #cost BETWEEN :fromCost AND :toCost\";\r\n }\r\n expressionAttributeValues[\":fromCost\"] = {\r\n N: fromCost,\r\n };\r\n expressionAttributeValues[\":toCost\"] = {\r\n N: toCost,\r\n };\r\n } else {\r\n if (fromCost.length !== 0) {\r\n if (filterExpression.length < 1) {\r\n filterExpression += \"#cost >= :fromCost\";\r\n } else {\r\n filterExpression += \" AND #cost >= :fromCost\";\r\n }\r\n expressionAttributeValues[\":fromCost\"] = {\r\n N: fromCost,\r\n };\r\n }\r\n\r\n if (toCost.length !== 0) {\r\n if (filterExpression.length < 1) {\r\n filterExpression += \"#cost <= :toCost\";\r\n } else {\r\n filterExpression += \" AND #cost <= :toCost\";\r\n }\r\n expressionAttributeValues[\":toCost\"] = {\r\n N: toCost,\r\n };\r\n }\r\n }\r\n\r\n console.log(`query filter: ${filterExpression}`);\r\n } else {\r\n console.log(\"query next: \", lastEvaluatedKey);\r\n console.log(\r\n `query filter: ${lastQueryPropertiesObjects.FilterExpression}`\r\n );\r\n filterExpression = lastQueryPropertiesObjects.FilterExpression;\r\n expressionAttributeValues =\r\n lastQueryPropertiesObjects.ExpressionAttributeValues;\r\n expressionAttributeNames =\r\n lastQueryPropertiesObjects.ExpressionAttributeNames;\r\n }\r\n\r\n var data = await ddbClient.send(\r\n new QueryCommand({\r\n TableName: TABLE_NAME_OBJECTS,\r\n IndexName: \"global-dateEdit-index\",\r\n KeyConditionExpression: \"#global = :global\",\r\n FilterExpression: filterExpression,\r\n ExpressionAttributeNames: expressionAttributeNames,\r\n ExpressionAttributeValues: expressionAttributeValues,\r\n Limit: SCAN_LIMIT,\r\n ExclusiveStartKey: loadNext ? lastEvaluatedKey : null,\r\n // ProjectionExpression: OBJECTS_PROJECTION,\r\n })\r\n );\r\n\r\n lastQueryPropertiesObjects = {\r\n FilterExpression: filterExpression,\r\n ExpressionAttributeValues: expressionAttributeValues,\r\n ExpressionAttributeNames: expressionAttributeNames,\r\n };\r\n lastEvaluatedKeyObjects = data.LastEvaluatedKey;\r\n\r\n console.log(\"lastKey: \", data.LastEvaluatedKey);\r\n\r\n var items = [];\r\n if (prevItems != null) items = [...prevItems];\r\n data.Items.forEach(function(element, index, array) {\r\n items.push({\r\n id: element.id.S,\r\n personName: element.personName.S,\r\n phoneNumber: element.phoneNumber.S,\r\n rooms: element.rooms.N,\r\n dateFrom: element.dateFrom.N,\r\n dateEdit: element.dateEdit.N,\r\n // dateTo: element.dateTo.S,\r\n cost: element.cost.N,\r\n currency: element.currency.S,\r\n street: element.street.S,\r\n region: element.region.S,\r\n floor: element.floor.N,\r\n state: element.state.S,\r\n heating: element.heating.S,\r\n info: element.info.S,\r\n photos: \"\", //element.photos.L\r\n furniture: element.furniture.BOOL,\r\n technology: element.technology.BOOL,\r\n });\r\n });\r\n\r\n if (items.length < 100 && lastEvaluatedKeyObjects != null) {\r\n await timeout(200);\r\n console.log(\"Waiting 200ms\");\r\n queryObjects(\r\n true,\r\n lastEvaluatedKeyObjects,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n items\r\n );\r\n return;\r\n }\r\n\r\n console.log(items);\r\n\r\n setRealEstateItems(items);\r\n } catch (err) {\r\n alert(err);\r\n console.error(err);\r\n }\r\n setShowLoading(false);\r\n };\r\n\r\n //list clients\r\n const listClients = async (loadNext = false, lastEvaluatedKey, prevItems) => {\r\n if (ddbClient == null) {\r\n // alert(\"db client == null\");\r\n return;\r\n }\r\n\r\n if (loadNext && lastEvaluatedKey == null) return;\r\n\r\n if (loadNext) console.log(\"load next: \", lastEvaluatedKey);\r\n else console.log(\"list clients\");\r\n\r\n setShowLoading(true);\r\n\r\n try {\r\n const data = await ddbClient.send(\r\n new QueryCommand({\r\n TableName: TABLE_NAME_CLIENTS,\r\n Limit: SCAN_LIMIT,\r\n ExclusiveStartKey: loadNext ? lastEvaluatedKey : null,\r\n IndexName: \"global-dateEdit-index\",\r\n KeyConditionExpression: \"#global = :global\",\r\n ExpressionAttributeNames: {\r\n \"#global\": \"global\",\r\n },\r\n ExpressionAttributeValues: {\r\n \":global\": { N: \"0\" },\r\n },\r\n ScanIndexForward: false,\r\n // ProjectionExpression: CLIENTS_PROJECTION,\r\n })\r\n );\r\n\r\n lastQueryPropertiesClients = null;\r\n lastEvaluatedKeyClients = data.LastEvaluatedKey;\r\n\r\n var items = [];\r\n if (prevItems != null) items = [...prevItems];\r\n data.Items.forEach(function(element, index, array) {\r\n items.push({\r\n id: element.id.S,\r\n dateFrom: element.dateFrom.S,\r\n dateEdit:\r\n element.dateEdit === undefined\r\n ? new Date(element.dateFrom.S).getTime()\r\n : element.dateEdit.N,\r\n rooms: element.rooms.N,\r\n cost: element.cost.N,\r\n currency: element.currency.S,\r\n region: element.region.S,\r\n aboutClient: element.aboutClient.S,\r\n deadline: element.deadline.N,\r\n urgency: element.urgency.S,\r\n personName: element.personName.S,\r\n phoneNumber: element.phoneNumber.S,\r\n info: element.info.S,\r\n });\r\n });\r\n setClientItems(items);\r\n\r\n items.map((item) => {\r\n if (clientRegionSearchTerms.indexOf(item.region) === -1) {\r\n clientRegionSearchTerms.push(item.region);\r\n }\r\n });\r\n } catch (err) {\r\n alert(err);\r\n console.error(err);\r\n }\r\n setCurrentPage(\"Clients\");\r\n setShowLoading(false);\r\n };\r\n\r\n //query clients\r\n const queryClients = async (\r\n loadNext,\r\n lastEvaluatedKey,\r\n rooms,\r\n region,\r\n fromCost,\r\n toCost,\r\n prevItems\r\n ) => {\r\n console.log(`${rooms} ${region} ${fromCost} ${toCost}`);\r\n setShowLoading(true);\r\n\r\n try {\r\n if (loadNext && lastEvaluatedKey == null) {\r\n setShowLoading(false);\r\n return;\r\n }\r\n\r\n if (!loadNext) {\r\n if (\r\n rooms.length === 0 &&\r\n region.length === 0 &&\r\n fromCost.length === 0 &&\r\n toCost.length === 0\r\n ) {\r\n listClients();\r\n return;\r\n }\r\n var keyConditionExpression = \"#index = :index\";\r\n var expressionAttributeNames = {\r\n \"#index\": \"global\",\r\n };\r\n var expressionAttributeValues = {\r\n \":index\": { N: \"0\" },\r\n };\r\n var startingValue = \"\";\r\n var indexName = \"global\";\r\n\r\n if (rooms.length !== 0) {\r\n indexName = \"rooms\";\r\n expressionAttributeValues[\":index\"] = {\r\n N: `${rooms}`,\r\n };\r\n startingValue = `${rooms}`;\r\n }\r\n\r\n if (region.length !== 0) {\r\n if (indexName === \"global\") {\r\n indexName = \"region\";\r\n expressionAttributeValues[\":index\"] = {\r\n S: `${region}`,\r\n };\r\n startingValue = `${region}`;\r\n } else {\r\n indexName += \"_region\";\r\n startingValue = `${startingValue}_${region}`;\r\n expressionAttributeValues[\":index\"] = {\r\n S: startingValue,\r\n };\r\n }\r\n }\r\n\r\n if (indexName !== \"global\") {\r\n expressionAttributeNames[\"#index\"] = indexName;\r\n }\r\n\r\n if (fromCost.length !== 0 || toCost.length !== 0) {\r\n expressionAttributeNames[\"#cost\"] = \"cost\";\r\n }\r\n\r\n if (fromCost.length !== 0 && toCost.length !== 0) {\r\n keyConditionExpression += \" AND #cost BETWEEN :fromCost AND :toCost\";\r\n expressionAttributeValues[\":fromCost\"] = {\r\n N: fromCost,\r\n };\r\n expressionAttributeValues[\":toCost\"] = {\r\n N: toCost,\r\n };\r\n } else {\r\n if (fromCost.length !== 0) {\r\n keyConditionExpression += \" AND #cost >= :fromCost\";\r\n expressionAttributeValues[\":fromCost\"] = {\r\n N: fromCost,\r\n };\r\n }\r\n\r\n if (toCost.length !== 0) {\r\n keyConditionExpression += \" AND #cost <= :toCost\";\r\n expressionAttributeValues[\":toCost\"] = {\r\n N: toCost,\r\n };\r\n }\r\n }\r\n\r\n indexName += \"-cost-index\";\r\n\r\n console.log(toCost);\r\n } else {\r\n console.log(\"query next: \", lastEvaluatedKey);\r\n indexName = lastQueryPropertiesClients.IndexName;\r\n keyConditionExpression =\r\n lastQueryPropertiesClients.KeyConditionExpression;\r\n expressionAttributeValues =\r\n lastQueryPropertiesClients.ExpressionAttributeValues;\r\n expressionAttributeNames =\r\n lastQueryPropertiesClients.ExpressionAttributeNames;\r\n }\r\n\r\n var data = await ddbClient.send(\r\n new QueryCommand({\r\n TableName: TABLE_NAME_CLIENTS,\r\n IndexName: indexName,\r\n KeyConditionExpression: keyConditionExpression,\r\n ExpressionAttributeValues: expressionAttributeValues,\r\n ExpressionAttributeNames: expressionAttributeNames,\r\n Limit: SCAN_LIMIT,\r\n ExclusiveStartKey: loadNext ? lastEvaluatedKey : null,\r\n // ProjectionExpression: CLIENTS_PROJECTION,\r\n })\r\n );\r\n\r\n lastQueryPropertiesClients = {\r\n IndexName: indexName,\r\n KeyConditionExpression: keyConditionExpression,\r\n ExpressionAttributeValues: expressionAttributeValues,\r\n ExpressionAttributeNames: expressionAttributeNames,\r\n };\r\n lastEvaluatedKeyClients = data.LastEvaluatedKey;\r\n\r\n var items = [];\r\n if (prevItems != null) items = [...prevItems];\r\n data.Items.forEach(function(element, index, array) {\r\n items.push({\r\n id: element.id.S,\r\n dateFrom: element.dateFrom.S,\r\n dateEdit: element.dateEdit.N,\r\n rooms: element.rooms.N,\r\n cost: element.cost.N,\r\n currency: element.currency.S,\r\n region: element.region.S,\r\n aboutClient: element.aboutClient.S,\r\n deadline: element.deadline.N,\r\n urgency: element.urgency.S,\r\n personName: element.personName.S,\r\n phoneNumber: element.phoneNumber.S,\r\n info: element.info.S,\r\n });\r\n });\r\n setClientItems(items);\r\n } catch (err) {\r\n alert(err);\r\n console.error(err);\r\n }\r\n setShowLoading(false);\r\n };\r\n\r\n //list archives\r\n const listArchives = async (\r\n loadNext = false,\r\n lastEvaluatedKey,\r\n prevItems\r\n ) => {\r\n if (ddbClient == null) {\r\n // alert(\"db client == null\");\r\n return;\r\n }\r\n\r\n if (loadNext && lastEvaluatedKey == null) {\r\n console.log(`loadNext: ${loadNext}`);\r\n console.log(lastEvaluatedKey);\r\n console.log(prevItems);\r\n return;\r\n }\r\n\r\n if (loadNext) console.log(\"load next: \", lastEvaluatedKey);\r\n else console.log(\"list archives\");\r\n\r\n setShowLoading(true);\r\n\r\n try {\r\n const data = await ddbClient.send(\r\n new QueryCommand({\r\n TableName: TABLE_NAME_ARCHIVES,\r\n IndexName: \"global-dateTerm-index\",\r\n KeyConditionExpression: \"#global = :global\",\r\n ExpressionAttributeNames: {\r\n \"#global\": \"global\",\r\n },\r\n ExpressionAttributeValues: {\r\n \":global\": { N: \"0\" },\r\n },\r\n Limit: SCAN_LIMIT,\r\n ExclusiveStartKey: loadNext ? lastEvaluatedKey : null,\r\n })\r\n );\r\n\r\n lastQueryPropertiesArchives = null;\r\n lastEvaluatedKeyArchives = data.LastEvaluatedKey;\r\n\r\n console.log(\"lastEvaluatedKey: \", data.LastEvaluatedKey);\r\n\r\n var items = [];\r\n if (prevItems != null) items = [...prevItems];\r\n data.Items.forEach(function(element, index, array) {\r\n // var date = new Date();\r\n // date.setTime(element.dateTerm.N);\r\n // date = `${date.getUTCMonth() + 1}/${date.getUTCDate() +\r\n // 1}/${date.getFullYear()}`;\r\n items.push({\r\n id: element.id.S,\r\n personName: element.personName.S,\r\n phoneNumber: element.phoneNumber.S,\r\n rooms: element.rooms.N,\r\n dateFrom: element.dateFrom.N,\r\n dateDeleted: element.dateDeleted.N,\r\n dateTerm: element.dateTerm.N,\r\n dateEdit: element.dateEdit != undefined ? element.dateEdit.N : \"\",\r\n cost: element.cost.N,\r\n currency: element.currency.S,\r\n street: element.street.S,\r\n region: element.region.S,\r\n floor: element.floor.N,\r\n state: element.state.S,\r\n heating: element.heating.S,\r\n info: element.info.S,\r\n furniture: element.furniture.BOOL,\r\n technology: element.technology.BOOL,\r\n });\r\n });\r\n\r\n if (items.length < 100 && lastEvaluatedKeyArchives != null) {\r\n listArchives(true, lastEvaluatedKeyArchives, items);\r\n return;\r\n }\r\n\r\n setArchiveItems(items);\r\n\r\n items.map((item) => {\r\n if (streetSearchTerms.indexOf(item.street) === -1)\r\n streetSearchTerms.push(item.street);\r\n if (regionSearchTerms.indexOf(item.region) === -1)\r\n regionSearchTerms.push(item.region);\r\n });\r\n } catch (err) {\r\n alert(err);\r\n console.error(err);\r\n }\r\n setCurrentPage(\"Archives\");\r\n setShowLoading(false);\r\n };\r\n\r\n //query archives\r\n const queryArchives = async (\r\n loadNext = false,\r\n lastEvaluatedKeyArchives,\r\n street,\r\n rooms,\r\n region,\r\n heating,\r\n fromCost,\r\n toCost,\r\n prevItems\r\n ) => {\r\n setShowLoading(true);\r\n console.log(`loadNext: ${loadNext}`);\r\n try {\r\n if (loadNext && lastEvaluatedKeyArchives == null) {\r\n setShowLoading(false);\r\n return;\r\n }\r\n\r\n if (!loadNext) {\r\n if (\r\n street === null ||\r\n rooms === null ||\r\n region === null ||\r\n heating === null ||\r\n fromCost === null ||\r\n toCost === null\r\n ) {\r\n console.log(\"some of the items are null!\");\r\n return;\r\n }\r\n if (\r\n street.length === 0 &&\r\n rooms.length === 0 &&\r\n region.length === 0 &&\r\n heating.length === 0 &&\r\n fromCost.length === 0 &&\r\n toCost.length === 0\r\n ) {\r\n listArchives();\r\n return;\r\n }\r\n var filterExpression = \"\";\r\n var expressionAttributeNames = {\r\n \"#global\": \"global\",\r\n };\r\n var expressionAttributeValues = {\r\n \":global\": { N: \"0\" },\r\n };\r\n\r\n if (street.length !== 0) {\r\n filterExpression = \"contains(#street, :street)\";\r\n expressionAttributeNames[\"#street\"] = \"street\";\r\n expressionAttributeValues[\":street\"] = {\r\n S: `${street}`,\r\n };\r\n }\r\n\r\n if (rooms.length !== 0) {\r\n expressionAttributeNames[\"#rooms\"] = \"rooms\";\r\n expressionAttributeValues[\":rooms\"] = {\r\n N: `${rooms}`,\r\n };\r\n if (filterExpression.length < 1) {\r\n filterExpression = \"#rooms = :rooms\";\r\n } else {\r\n filterExpression += \" AND #rooms = :rooms\";\r\n }\r\n }\r\n\r\n if (region.length !== 0) {\r\n expressionAttributeNames[\"#region\"] = \"region\";\r\n expressionAttributeValues[\":region\"] = {\r\n S: region,\r\n };\r\n if (filterExpression.length < 1) {\r\n filterExpression = \"contains(#region, :region)\";\r\n } else {\r\n filterExpression += \" AND contains(#region, :region)\";\r\n }\r\n }\r\n\r\n if (heating.length !== 0) {\r\n expressionAttributeNames[\"#heating\"] = \"heating\";\r\n expressionAttributeValues[\":heating\"] = {\r\n S: heating,\r\n };\r\n if (filterExpression.length < 1) {\r\n filterExpression = \"contains(#heating, :heating)\";\r\n } else {\r\n filterExpression += \" AND contains(#heating, :heating)\";\r\n }\r\n }\r\n\r\n if (fromCost.length !== 0 || toCost.length !== 0) {\r\n expressionAttributeNames[\"#cost\"] = \"cost\";\r\n }\r\n\r\n if (fromCost.length !== 0 && toCost.length !== 0) {\r\n if (filterExpression.length < 1) {\r\n filterExpression += \"#cost BETWEEN :fromCost AND :toCost\";\r\n } else {\r\n filterExpression += \" AND #cost BETWEEN :fromCost AND :toCost\";\r\n }\r\n expressionAttributeValues[\":fromCost\"] = {\r\n N: fromCost,\r\n };\r\n expressionAttributeValues[\":toCost\"] = {\r\n N: toCost,\r\n };\r\n } else {\r\n if (fromCost.length !== 0) {\r\n if (filterExpression.length < 1) {\r\n filterExpression += \"#cost >= :fromCost\";\r\n } else {\r\n filterExpression += \" AND #cost >= :fromCost\";\r\n }\r\n expressionAttributeValues[\":fromCost\"] = {\r\n N: fromCost,\r\n };\r\n }\r\n\r\n if (toCost.length !== 0) {\r\n if (filterExpression.length < 1) {\r\n filterExpression += \"#cost <= :toCost\";\r\n } else {\r\n filterExpression += \" AND #cost <= :toCost\";\r\n }\r\n expressionAttributeValues[\":toCost\"] = {\r\n N: toCost,\r\n };\r\n }\r\n }\r\n\r\n console.log(`query filter: ${filterExpression}`);\r\n } else {\r\n console.log(\"query next: \", lastEvaluatedKeyArchives);\r\n console.log(\r\n `query filter: ${lastQueryPropertiesArchives.FilterExpression}`\r\n );\r\n filterExpression = lastQueryPropertiesArchives.FilterExpression;\r\n expressionAttributeValues =\r\n lastQueryPropertiesArchives.ExpressionAttributeValues;\r\n expressionAttributeNames =\r\n lastQueryPropertiesArchives.ExpressionAttributeNames;\r\n }\r\n\r\n var data = await ddbClient.send(\r\n new QueryCommand({\r\n TableName: TABLE_NAME_ARCHIVES,\r\n IndexName: \"global-dateTerm-index\",\r\n KeyConditionExpression: \"#global = :global\",\r\n FilterExpression: filterExpression,\r\n ExpressionAttributeNames: expressionAttributeNames,\r\n ExpressionAttributeValues: expressionAttributeValues,\r\n Limit: SCAN_LIMIT,\r\n ExclusiveStartKey: loadNext ? lastEvaluatedKeyArchives : null,\r\n // ProjectionExpression: OBJECTS_PROJECTION,\r\n })\r\n );\r\n\r\n lastQueryPropertiesArchives = {\r\n FilterExpression: filterExpression,\r\n ExpressionAttributeValues: expressionAttributeValues,\r\n ExpressionAttributeNames: expressionAttributeNames,\r\n };\r\n lastEvaluatedKeyArchives = data.LastEvaluatedKey;\r\n\r\n console.log(\"lastKey: \", data.LastEvaluatedKey);\r\n\r\n var items = [];\r\n if (prevItems != null) items = [...prevItems];\r\n data.Items.forEach(function(element, index, array) {\r\n // var date = new Date();\r\n // date.setTime(element.dateTerm.N);\r\n // date = `${date.getUTCMonth() + 1}/${date.getUTCDate() +\r\n // 1}/${date.getFullYear()}`;\r\n items.push({\r\n id: element.id.S,\r\n personName: element.personName.S,\r\n phoneNumber: element.phoneNumber.S,\r\n rooms: element.rooms.N,\r\n dateFrom: element.dateFrom.N,\r\n dateDeleted: element.dateDeleted.N,\r\n dateTerm: element.dateTerm.N,\r\n dateEdit: element.dateEdit != undefined ? element.dateEdit.N : \"0\",\r\n cost: element.cost.N,\r\n currency: element.currency.S,\r\n street: element.street.S,\r\n region: element.region.S,\r\n floor: element.floor.N,\r\n state: element.state.S,\r\n heating: element.heating.S,\r\n info: element.info.S,\r\n furniture: element.furniture.BOOL,\r\n technology: element.technology.BOOL,\r\n });\r\n });\r\n\r\n if (items.length < 100 && lastEvaluatedKeyArchives != null) {\r\n await timeout(200);\r\n console.log(\"Waiting 200ms\");\r\n queryArchives(\r\n true,\r\n lastEvaluatedKeyArchives,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n items\r\n );\r\n return;\r\n }\r\n\r\n console.log(items);\r\n\r\n setArchiveItems(items);\r\n } catch (err) {\r\n alert(err);\r\n console.error(err);\r\n // await timeout(1000); //wait for 1 sec\r\n // console.log(\"Trying again\");\r\n // queryArchives(\r\n // loadNext,\r\n // lastEvaluatedKeyArchives,\r\n // street,\r\n // rooms,\r\n // region,\r\n // heating,\r\n // fromCost,\r\n // toCost,\r\n // items\r\n // );\r\n }\r\n setShowLoading(false);\r\n };\r\n\r\n const loadNextObjects = async () => {\r\n if (lastQueryPropertiesObjects == null) {\r\n listObjects(true, lastEvaluatedKeyObjects, realEstateItems);\r\n } else {\r\n console.log(\"query OBJECTS\");\r\n queryObjects(\r\n true,\r\n lastEvaluatedKeyObjects,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n realEstateItems\r\n );\r\n }\r\n };\r\n\r\n const loadNextClients = async () => {\r\n if (lastQueryPropertiesClients == null) {\r\n listClients(true, lastEvaluatedKeyClients, clientItems);\r\n } else {\r\n queryClients(\r\n true,\r\n lastEvaluatedKeyClients,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n clientItems\r\n );\r\n }\r\n };\r\n\r\n const loadNextArchives = async () => {\r\n if (lastQueryPropertiesArchives == null) {\r\n listArchives(true, lastEvaluatedKeyArchives, archiveItems);\r\n } else {\r\n console.log(\"query ARCHIVES\");\r\n queryArchives(\r\n true,\r\n lastEvaluatedKeyArchives,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n archiveItems\r\n );\r\n }\r\n };\r\n\r\n //add real estate object\r\n const addObjectItem = async (item, inputFiles) => {\r\n if (ddbClient == null) {\r\n // alert(\"db client == null\");\r\n return;\r\n }\r\n\r\n setShowLoading(true);\r\n setShowAddRealEstateObject(false);\r\n\r\n try {\r\n console.log(item);\r\n\r\n await ddbClient.send(\r\n new PutItemCommand({\r\n TableName: TABLE_NAME_OBJECTS,\r\n Item: {\r\n id: { S: `${item.id}` },\r\n global: { N: \"0\" },\r\n personName: { S: item.personName },\r\n phoneNumber: { S: item.phoneNumber },\r\n dateFrom: { N: `${item.dateFrom}` },\r\n dateEdit: { N: `${item.dateEdit}` },\r\n rooms: { N: `${item.rooms}` },\r\n cost: { N: `${item.cost}` },\r\n currency: { S: item.currency },\r\n street: {\r\n S: item.street,\r\n },\r\n region: { S: item.region },\r\n floor: { N: `${item.floor}` },\r\n state: { S: item.state },\r\n heating: {\r\n S: item.heating,\r\n },\r\n info: { S: item.info },\r\n furniture: { BOOL: item.furniture },\r\n technology: { BOOL: item.technology },\r\n },\r\n })\r\n );\r\n var items = realEstateItems.filter(\r\n (estateItem) => estateItem.id !== item.id\r\n );\r\n items.push(item);\r\n setRealEstateItems(items);\r\n console.log(\"add success\");\r\n\r\n if (inputFiles != null) {\r\n var albumPhotosKey = encodeURIComponent(item.id) + \"/\";\r\n\r\n var tasks = [];\r\n\r\n for (var i = 0; i < inputFiles.length; i++) {\r\n tasks.push(\r\n s3Client.send(\r\n new PutObjectCommand({\r\n Bucket: S3_PHOTOS_BUCKET,\r\n Key: albumPhotosKey + inputFiles[i].name,\r\n Body: inputFiles[i],\r\n })\r\n )\r\n );\r\n console.log(\"push task\");\r\n }\r\n\r\n await Promise.all(tasks);\r\n\r\n console.log(\"photo upload success\");\r\n }\r\n } catch (err) {\r\n alert(err);\r\n console.error(err);\r\n }\r\n setShowLoading(false);\r\n };\r\n\r\n //add client\r\n const addClientItem = async (item) => {\r\n if (ddbClient == null) {\r\n // alert(\"db client == null\");\r\n return;\r\n }\r\n\r\n setShowLoading(true);\r\n setShowAddClients(false);\r\n\r\n try {\r\n console.log(item.id);\r\n console.log(item.personName);\r\n\r\n await ddbClient.send(\r\n new PutItemCommand({\r\n TableName: TABLE_NAME_CLIENTS,\r\n Item: {\r\n id: { S: `${item.id}` },\r\n global: { N: \"0\" },\r\n dateFrom: { S: item.dateFrom },\r\n dateEdit: { N: `${item.dateEdit}` },\r\n rooms: { N: `${item.rooms}` },\r\n cost: { N: `${item.cost}` },\r\n currency: { S: item.currency },\r\n region: { S: item.region },\r\n aboutClient: { S: item.aboutClient },\r\n deadline: { N: `${item.deadline}` },\r\n urgency: { S: item.urgency },\r\n personName: { S: item.personName },\r\n phoneNumber: { S: item.phoneNumber },\r\n info: { S: item.info },\r\n rooms_region: {\r\n S: `${item.rooms}_${item.region}`,\r\n },\r\n },\r\n })\r\n );\r\n var items = clientItems.filter((clientItem) => clientItem.id !== item.id);\r\n items.push(item);\r\n setClientItems(items);\r\n\r\n // setClientItems([...clientItems, item]);\r\n console.log(\"add success\");\r\n } catch (err) {\r\n alert(err);\r\n console.error(err);\r\n }\r\n setShowLoading(false);\r\n };\r\n\r\n //add item to archive\r\n const addArchiveItem = async (item) => {\r\n if (ddbClient == null) {\r\n // alert(\"db client == null\");\r\n return;\r\n }\r\n\r\n setShowLoading(true);\r\n\r\n try {\r\n console.log(item);\r\n\r\n await ddbClient.send(\r\n new PutItemCommand({\r\n TableName: TABLE_NAME_ARCHIVES,\r\n Item: {\r\n id: { S: `${item.id}` },\r\n global: { N: \"0\" },\r\n personName: { S: item.personName },\r\n phoneNumber: { S: item.phoneNumber },\r\n dateFrom: { N: `${item.dateFrom}` },\r\n dateDeleted: { N: `${item.dateDeleted}` },\r\n dateTerm: { N: `${item.dateTerm}` },\r\n dateEdit: { N: `${item.dateEdit}` },\r\n rooms: { N: `${item.rooms}` },\r\n cost: { N: `${item.cost}` },\r\n currency: { S: item.currency },\r\n street: {\r\n S: item.street,\r\n },\r\n region: { S: item.region },\r\n floor: { N: `${item.floor}` },\r\n state: { S: item.state },\r\n heating: {\r\n S: item.heating,\r\n },\r\n info: { S: item.info },\r\n furniture: { BOOL: item.furniture },\r\n technology: { BOOL: item.technology },\r\n },\r\n })\r\n );\r\n var items = archiveItems.filter(\r\n (archiveItem) => archiveItem.id !== item.id\r\n );\r\n items.push(item);\r\n setArchiveItems(items);\r\n // setRealEstateItems([...realEstateItems, item]);\r\n console.log(\"add success\");\r\n } catch (err) {\r\n alert(err);\r\n console.error(err);\r\n }\r\n setShowLoading(false);\r\n };\r\n\r\n //add item to archive\r\n const onEditArchiveItem = async (item, inputFiles) => {\r\n if (ddbClient == null) {\r\n // alert(\"db client == null\");\r\n return;\r\n }\r\n\r\n setShowLoading(true);\r\n\r\n try {\r\n console.log(item);\r\n\r\n await ddbClient.send(\r\n new PutItemCommand({\r\n TableName: TABLE_NAME_ARCHIVES,\r\n Item: {\r\n id: { S: `${item.id}` },\r\n global: { N: \"0\" },\r\n personName: { S: item.personName },\r\n phoneNumber: { S: item.phoneNumber },\r\n dateFrom: { N: `${item.dateFrom}` },\r\n dateDeleted: { N: `${item.dateDeleted}` },\r\n dateTerm: { N: `${item.dateTerm}` },\r\n rooms: { N: `${item.rooms}` },\r\n cost: { N: `${item.cost}` },\r\n currency: { S: item.currency },\r\n street: {\r\n S: item.street,\r\n },\r\n region: { S: item.region },\r\n floor: { N: `${item.floor}` },\r\n state: { S: item.state },\r\n heating: {\r\n S: item.heating,\r\n },\r\n info: { S: item.info },\r\n furniture: { BOOL: item.furniture },\r\n technology: { BOOL: item.technology },\r\n },\r\n })\r\n );\r\n var items = archiveItems.filter(\r\n (archiveItem) => archiveItem.id !== item.id\r\n );\r\n items.push(item);\r\n setArchiveItems(items);\r\n console.log(\"add success\");\r\n\r\n if (inputFiles != null) {\r\n var albumPhotosKey = encodeURIComponent(item.id) + \"/\";\r\n\r\n var tasks = [];\r\n\r\n for (var i = 0; i < inputFiles.length; i++) {\r\n tasks.push(\r\n s3Client.send(\r\n new PutObjectCommand({\r\n Bucket: S3_PHOTOS_BUCKET,\r\n Key: albumPhotosKey + inputFiles[i].name,\r\n Body: inputFiles[i],\r\n })\r\n )\r\n );\r\n console.log(\"push task\");\r\n }\r\n\r\n await Promise.all(tasks);\r\n\r\n console.log(\"photo upload success\");\r\n }\r\n } catch (err) {\r\n alert(err);\r\n console.error(err);\r\n }\r\n setShowLoading(false);\r\n };\r\n\r\n //add item to archive\r\n const addDeletedArchiveItem = async (item) => {\r\n if (ddbClient == null) {\r\n // alert(\"db client == null\");\r\n return;\r\n }\r\n\r\n setShowLoading(true);\r\n\r\n try {\r\n console.log(item);\r\n\r\n await ddbClient.send(\r\n new PutItemCommand({\r\n TableName: TABLE_NAME_DELETED_ARCHIVE,\r\n Item: {\r\n id: { S: `${item.id}` },\r\n global: { N: \"0\" },\r\n personName: { S: item.personName },\r\n phoneNumber: { S: item.phoneNumber },\r\n dateFrom: { N: `${item.dateFrom}` },\r\n dateDeleted: { N: `${item.dateDeleted}` },\r\n dateTerm: { N: `${item.dateTerm}` },\r\n dateEdit: { N: `${item.dateEdit}` },\r\n rooms: { N: `${item.rooms}` },\r\n cost: { N: `${item.cost}` },\r\n currency: { S: item.currency },\r\n street: {\r\n S: item.street,\r\n },\r\n region: { S: item.region },\r\n floor: { N: `${item.floor}` },\r\n state: { S: item.state },\r\n heating: {\r\n S: item.heating,\r\n },\r\n info: { S: item.info },\r\n furniture: { BOOL: item.furniture },\r\n technology: { BOOL: item.technology },\r\n },\r\n })\r\n );\r\n // setRealEstateItems([...realEstateItems, item]);\r\n console.log(\"add success\");\r\n } catch (err) {\r\n alert(err);\r\n console.error(err);\r\n }\r\n setShowLoading(false);\r\n };\r\n\r\n const beforeDeleteObject = (id) => {\r\n setActiveItemId(id);\r\n setOpenDeleteDialog(true);\r\n return;\r\n };\r\n\r\n const beforeReturnObject = (id) => {\r\n setActiveItemId(id);\r\n setOpenReturnDialog(true);\r\n return;\r\n };\r\n\r\n const beforeDeleteArchive = (id) => {\r\n setActiveItemId(id);\r\n setOpenDeleteArchiveDialog(true);\r\n return;\r\n };\r\n\r\n const returnItem = async (id) => {\r\n //console.log(item);\r\n archiveItems\r\n .filter((item) => item.id === id)\r\n .map((item) => {\r\n item.dateEdit = new Date(\r\n `${new Date().getUTCMonth() +\r\n 1}/${new Date().getUTCDate()}/${new Date().getFullYear()}`\r\n ).getTime();\r\n addObjectItem(item, null);\r\n });\r\n removeFromArchive(id);\r\n };\r\n\r\n const removeFromArchive = async (id) => {\r\n if (ddbClient == null) {\r\n // alert(\"db client == null\");\r\n return;\r\n }\r\n\r\n setShowLoading(true);\r\n\r\n try {\r\n await ddbClient.send(\r\n new DeleteItemCommand({\r\n TableName: TABLE_NAME_ARCHIVES,\r\n Key: {\r\n id: { S: id },\r\n },\r\n })\r\n );\r\n setArchiveItems(\r\n archiveItems.filter((archiveItem) => archiveItem.id !== id)\r\n );\r\n console.log(\"delete success\");\r\n } catch (err) {\r\n alert(err);\r\n console.error(err);\r\n }\r\n setShowLoading(false);\r\n };\r\n\r\n const deleteArchive = async (id) => {\r\n if (ddbClient == null) {\r\n // alert(\"db client == null\");\r\n return;\r\n }\r\n\r\n setShowLoading(true);\r\n\r\n archiveItems.map((item) => {\r\n if (item.id === id) addDeletedArchiveItem(item);\r\n });\r\n\r\n try {\r\n await ddbClient.send(\r\n new DeleteItemCommand({\r\n TableName: TABLE_NAME_ARCHIVES,\r\n Key: {\r\n id: { S: id },\r\n },\r\n })\r\n );\r\n setArchiveItems(\r\n archiveItems.filter((archiveItem) => archiveItem.id !== id)\r\n );\r\n console.log(\"delete success\");\r\n\r\n const albumKey = encodeURIComponent(id) + \"/\";\r\n\r\n const photosData = await s3Client.send(\r\n new ListObjectsCommand({\r\n Bucket: S3_PHOTOS_BUCKET,\r\n Prefix: albumKey,\r\n })\r\n );\r\n\r\n if (photosData.Contents != null) {\r\n const objects = photosData.Contents.map(function(object) {\r\n return { Key: object.Key };\r\n });\r\n\r\n await s3Client.send(\r\n new DeleteObjectsCommand({\r\n Bucket: S3_PHOTOS_BUCKET,\r\n Delete: { Objects: objects },\r\n Quiet: true,\r\n })\r\n );\r\n\r\n console.log(\"photos deleted\");\r\n }\r\n } catch (err) {\r\n alert(err);\r\n console.error(err);\r\n }\r\n setShowLoading(false);\r\n };\r\n\r\n //delete real estate object\r\n const deleteItem = async (id, date) => {\r\n if (ddbClient == null) {\r\n // alert(\"db client == null\");\r\n return;\r\n }\r\n\r\n setShowLoading(true);\r\n\r\n realEstateItems\r\n .filter((item) => item.id === id)\r\n .map((item) => {\r\n item.dateDeleted = new Date(\r\n `${new Date().getUTCMonth() +\r\n 1}/${new Date().getUTCDate()}/${new Date().getFullYear()}`\r\n ).getTime();\r\n item.dateTerm = new Date(\r\n `${date.displayDateFrom.getUTCMonth() +\r\n 1}/${date.displayDateFrom.getUTCDate()}/${date.displayDateFrom.getFullYear()}`\r\n ).getTime();\r\n item.dateTo = \"\";\r\n addArchiveItem(item);\r\n });\r\n\r\n try {\r\n await ddbClient.send(\r\n new DeleteItemCommand({\r\n TableName: TABLE_NAME_OBJECTS,\r\n Key: {\r\n id: { S: id },\r\n },\r\n })\r\n );\r\n setRealEstateItems(\r\n realEstateItems.filter((realEstateItem) => realEstateItem.id !== id)\r\n );\r\n console.log(\"delete success\");\r\n\r\n // const albumKey = encodeURIComponent(id) + \"/\";\r\n\r\n // const photosData = await s3Client.send(\r\n // new ListObjectsCommand({\r\n // Bucket: S3_PHOTOS_BUCKET,\r\n // Prefix: albumKey,\r\n // })\r\n // );\r\n\r\n // if (photosData.Contents != null) {\r\n // const objects = photosData.Contents.map(function (object) {\r\n // return { Key: object.Key };\r\n // });\r\n\r\n // await s3Client.send(\r\n // new DeleteObjectsCommand({\r\n // Bucket: S3_PHOTOS_BUCKET,\r\n // Delete: { Objects: objects },\r\n // Quiet: true,\r\n // })\r\n // );\r\n\r\n // console.log(\"photos deleted\");\r\n // }\r\n } catch (err) {\r\n alert(err);\r\n console.error(err);\r\n }\r\n setShowLoading(false);\r\n };\r\n\r\n //delete client object\r\n const deleteClientItem = async (id) => {\r\n if (ddbClient == null) {\r\n // alert(\"db client == null\");\r\n return;\r\n }\r\n\r\n setShowLoading(true);\r\n\r\n try {\r\n await ddbClient.send(\r\n new DeleteItemCommand({\r\n TableName: TABLE_NAME_CLIENTS,\r\n Key: {\r\n id: { S: id },\r\n },\r\n })\r\n );\r\n setClientItems(clientItems.filter((clientItem) => clientItem.id !== id));\r\n console.log(\"delete success\");\r\n } catch (err) {\r\n alert(err);\r\n console.error(err);\r\n }\r\n setShowLoading(false);\r\n };\r\n\r\n useEffect(() => {\r\n const ac = new AbortController();\r\n if (ddbClient == null) {\r\n return;\r\n }\r\n if (!displayAdminTools) setDisplayAdminTools(true);\r\n\r\n if (admin == null) {\r\n checkAdmin();\r\n }\r\n\r\n return () => ac.abort();\r\n }, []);\r\n\r\n const openViewPage = async (rowValues) => {\r\n window.open(`View/${rowValues.row.id}`);\r\n };\r\n\r\n // ddbClient == null ||\r\n // admin == null ||\r\n // (window.location.pathname !== \"/\" &&\r\n // window.location.pathname !== \"/Clients\" &&\r\n // window.location.pathname !== \"/Archives\") ? (\r\n //
\r\n // {console.log(`Other page: ${window.location.pathname}`)}\r\n // \r\n // \r\n // }>\r\n // \r\n // \r\n //
) : (\r\n return ddbClient == null || admin == null ? (\r\n
\r\n ) : (\r\n
\r\n setOpenInfo(false)}\r\n openInfo={openInfo}\r\n infoText={infoText}\r\n />\r\n setOpenPhotos(false)}\r\n openPhotos={openPhotos}\r\n photos={photos}\r\n onDeletePhoto={onDeletePhoto}\r\n admin={admin}\r\n />\r\n {displayAdminTools && (\r\n \r\n )}\r\n setOpenDeleteDialog(false)}\r\n />\r\n setOpenDeleteArchiveDialog(false)}\r\n />\r\n setOpenReturnDialog(false)}\r\n />\r\n {currentPage === \"Objects\" && (\r\n setShowAddRealEstateObject(true)}\r\n addItem={addObjectItem}\r\n showLoading={showLoading}\r\n showAddRealEstateObject={showAddRealEstateObject}\r\n onCloseDialog={() => setShowAddRealEstateObject(false)}\r\n onCloseEditDialog={() => setIsEditItem(false)}\r\n realEstateItems={realEstateItems}\r\n items={realEstateItems}\r\n deleteItem={deleteItem}\r\n handleOpenInfo={handleOpenInfo}\r\n handleOpenPhotos={handleOpenPhotos}\r\n handleEditItem={handleEditItem}\r\n handleDeleteItem={beforeDeleteObject}\r\n queryObjects={filterObjects}\r\n listObjects={listObjects}\r\n streetSearchTerms={streetSearchTerms}\r\n regionSearchTerms={regionSearchTerms}\r\n isEditItem={isEditItem}\r\n item={editItem}\r\n onPageChanged={onTablePageChange}\r\n loadNextObjects={loadNextObjects}\r\n admin={admin}\r\n openViewPage={openViewPage}\r\n />\r\n )}\r\n {currentPage === \"Clients\" && (\r\n setShowAddClients(true)}\r\n addItem={addClientItem}\r\n showLoading={showLoading}\r\n showAddClient={showAddClients}\r\n onCloseDialog={() => setShowAddClients(false)}\r\n onCloseEditDialog={() => setIsEditItem(false)}\r\n clientItems={clientItems}\r\n items={clientItems}\r\n deleteItem={deleteClientItem}\r\n handleOpenInfo={handleOpenClientInfo}\r\n handleEditItem={handleEditClientItem}\r\n handleDeleteItem={deleteClientItem}\r\n queryClients={queryClients}\r\n regionSearchTerms={clientRegionSearchTerms}\r\n isEditItem={isEditItem}\r\n item={editClientItem}\r\n loadNextClients={loadNextClients}\r\n admin={admin}\r\n />\r\n )}\r\n {currentPage === \"Archives\" && (\r\n setIsEditItem(false)}\r\n queryObjects={queryArchives}\r\n />\r\n )}\r\n
\r\n );\r\n}\r\n\r\nexport default AppRealtor;\r\n","import ViewObjectPage from \"./pages/ViewObjectPage\";\r\nimport React from \"react\";\r\nimport { useState, useEffect } from \"react\";\r\nimport { CognitoIdentityClient } from \"@aws-sdk/client-cognito-identity\";\r\nimport { DynamoDBClient, GetItemCommand } from \"@aws-sdk/client-dynamodb\";\r\nimport { ListObjectsCommand } from \"@aws-sdk/client-s3\";\r\nimport { S3Client } from \"@aws-sdk/client-s3\";\r\nimport { fromCognitoIdentityPool } from \"@aws-sdk/credential-provider-cognito-identity\";\r\nimport LoadingDialog from \"./components/LoadingDialog\";\r\nimport { Outlet, useParams } from \"react-router-dom\";\r\nimport App from \"./App\";\r\n\r\nconst TABLE_NAME_OBJECTS = \"objects_v3\";\r\nconst TABLE_NAME_CLIENTS = \"clients_v2\";\r\nconst TABLE_NAME_ARCHIVES = \"archives_v2\";\r\nconst REGION = \"eu-central-1\";\r\nconst IDENTITY_POOL_ID = \"eu-central-1:713c28fd-d5fa-4e35-a9de-b89640b12b65\";\r\nconst OBJECTS_PROJECTION =\r\n \"id, cost, currency, dateFrom, dateTo, floor, furniture, heating, info, personName, phoneNumber, region, rooms, state, street, technology\";\r\nconst CLIENTS_PROJECTION =\r\n \"id, cost, aboutClient, currency, dateFrom, deadline, info, personName, phoneNumber, region, rooms, urgency\";\r\nconst SCAN_LIMIT = 100;\r\nconst S3_PHOTOS_BUCKET = \"realtor-photos\";\r\n\r\nvar ddbClient;\r\nvar s3Client;\r\n\r\nvar credentials = fromCognitoIdentityPool({\r\n client: new CognitoIdentityClient({ region: REGION }),\r\n identityPoolId: IDENTITY_POOL_ID,\r\n});\r\n\r\nddbClient = new DynamoDBClient({\r\n region: REGION,\r\n credentials: credentials,\r\n});\r\n\r\ns3Client = new S3Client({\r\n region: REGION,\r\n credentials: credentials,\r\n});\r\n\r\nfunction AppClient() {\r\n const [viewPageValues, setViewPageValues] = useState({});\r\n const [showLoading, setShowLoading] = useState(false);\r\n const params = useParams();\r\n\r\n const getPhotos = async (photosId) => {\r\n //...\r\n //after loaded photos\r\n const albumPhotosKey = encodeURIComponent(photosId) + \"/\";\r\n try {\r\n var photos = [];\r\n\r\n const data = await s3Client.send(\r\n new ListObjectsCommand({\r\n Prefix: albumPhotosKey,\r\n Bucket: S3_PHOTOS_BUCKET,\r\n })\r\n );\r\n\r\n const href = \"https://s3.\" + REGION + \".amazonaws.com/\";\r\n const bucketUrl = href + S3_PHOTOS_BUCKET + \"/\";\r\n\r\n if (data.Contents === undefined) return;\r\n\r\n data.Contents.map((photo) => {\r\n //console.log(bucketUrl + encodeURIComponent(photo.Key));\r\n photos.push({\r\n url: bucketUrl + encodeURIComponent(photo.Key),\r\n name: photo.Key.split(\"/\").pop(),\r\n id: photosId,\r\n key: photo.Key,\r\n });\r\n });\r\n\r\n //console.log(photos);\r\n return photos;\r\n } catch (err) {\r\n alert(err);\r\n console.error(err);\r\n }\r\n };\r\n\r\n const loadObjectInfo = async () => {\r\n setShowLoading(true);\r\n if (ddbClient != null) {\r\n try {\r\n const windowLocation = window.location.href\r\n .split(\"/\")\r\n .pop()\r\n .split(\"?\")\r\n .pop();\r\n console.log(\r\n window.location.href\r\n .split(\"/\")\r\n .pop()\r\n .split(\"?\")\r\n .pop()\r\n );\r\n var data = await ddbClient.send(\r\n new GetItemCommand({\r\n TableName: TABLE_NAME_OBJECTS,\r\n Key: {\r\n id: {\r\n S: params.object_id,\r\n },\r\n },\r\n })\r\n );\r\n if (data.Item == undefined) {\r\n data = await ddbClient.send(\r\n new GetItemCommand({\r\n TableName: TABLE_NAME_ARCHIVES,\r\n Key: {\r\n id: {\r\n S: params.object_id,\r\n },\r\n },\r\n })\r\n );\r\n }\r\n const item = {\r\n cost: data.Item.cost.N,\r\n currency: data.Item.currency.S,\r\n info: data.Item.info.S,\r\n region: data.Item.region.S,\r\n rooms: data.Item.rooms.N,\r\n street: data.Item.street.S,\r\n floor: data.Item.floor.N,\r\n };\r\n const photos = await getPhotos(params.object_id);\r\n setViewPageValues({ ...item, Photos: photos });\r\n } catch (err) {\r\n alert(err);\r\n console.error(err);\r\n }\r\n } else {\r\n console.log(\"ddbClient == null!\");\r\n }\r\n setShowLoading(false);\r\n };\r\n\r\n useEffect(() => {\r\n loadObjectInfo();\r\n }, []);\r\n\r\n return (\r\n
\r\n {}\r\n {showLoading && }\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default AppClient;\r\n","import {\r\n Box,\r\n IconButton,\r\n Modal,\r\n Backdrop,\r\n Typography,\r\n Stack,\r\n} from \"@mui/material\";\r\nimport React from \"react\";\r\nimport { ChevronLeft, ChevronRight } from \"@mui/icons-material\";\r\n\r\nconst ViewImage = ({\r\n viewPageValues,\r\n openModal,\r\n photoIndex,\r\n handleCloseModal,\r\n}) => {\r\n const [currentEnabled, setCurrentEnabled] = React.useState([]);\r\n const changeIndex = (newIndex) => {\r\n photoIndex = newIndex;\r\n };\r\n function getIndex(item) {\r\n return viewPageValues.Photos.findIndex((obj) => obj === item);\r\n }\r\n if (viewPageValues.Photos != undefined) {\r\n viewPageValues.Photos.map((item) => {\r\n if (getIndex(item) === photoIndex) console.log(\"true \" + getIndex(item));\r\n });\r\n }\r\n return (\r\n
\r\n {/* \r\n {\"1/10\"}\r\n */}\r\n \r\n {\r\n handleCloseModal();\r\n }}\r\n >\r\n {viewPageValues.Photos != undefined && (\r\n \r\n )}\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default ViewImage;\r\n","import React from \"react\";\r\nimport {\r\n Container,\r\n Divider,\r\n Paper,\r\n Stack,\r\n Typography,\r\n Box,\r\n IconButton,\r\n} from \"@mui/material\";\r\nimport {\r\n ChevronRight,\r\n ChevronLeft,\r\n LocationOnOutlined,\r\n} from \"@mui/icons-material\";\r\nimport { useRef, useState } from \"react\";\r\nimport Link from \"@mui/material/Link\";\r\nimport ViewImage from \"../dialogs/ViewImage\";\r\nimport ReactLinkify from \"react-linkify\";\r\n\r\nconst ViewObjectPage = ({ viewPageValues }) => {\r\n const ref = useRef(null);\r\n const [openModal, setOpenModal] = useState(false);\r\n const [photoIndex, setPhotoIndex] = useState(0);\r\n\r\n const handleCloseModal = () => {\r\n if (openModal) setOpenModal(false);\r\n };\r\n\r\n const scroll = (scrollOffset) => {\r\n ref.current.scrollLeft += scrollOffset;\r\n console.log(`scroll: ${scrollOffset}`);\r\n };\r\n //\"this is my [Ютуб](https://www.google.com/)\"\r\n\r\n var text = viewPageValues.info != undefined ? viewPageValues.info : \"\";\r\n\r\n const [linkC, setLinkC] = useState(\"\");\r\n\r\n const regex = /(.+)\\[(.+)\\](.+)/;\r\n\r\n const anchor = text.replace(regex, (match, a, b, c) => {\r\n text = `${a} ${c}`;\r\n console.log(text);\r\n if (linkC === \"\") setLinkC(b);\r\n return `${text} ${b}`;\r\n });\r\n\r\n console.log(linkC);\r\n\r\n return (\r\n \r\n \r\n {/* {console.log(viewPageValues)} */}\r\n \r\n \r\n }\r\n paddingTop={2}\r\n >\r\n {`Оренда ${viewPageValues.rooms}-к квартири м.Львів, ${viewPageValues.region} район, вул. ${viewPageValues.street}`}\r\n \r\n \r\n \r\n {viewPageValues.Photos != undefined ? (\r\n viewPageValues.Photos.map((item) => (\r\n
\r\n {\r\n setPhotoIndex(viewPageValues.Photos.indexOf(item));\r\n setOpenModal(true);\r\n }}\r\n />\r\n
\r\n ))\r\n ) : (\r\n <>\r\n )}\r\n
\r\n \r\n {\r\n scroll(-300);\r\n }}\r\n >\r\n {viewPageValues.Photos != undefined && }\r\n \r\n {\r\n scroll(300);\r\n }}\r\n >\r\n {viewPageValues.Photos != undefined && }\r\n \r\n
\r\n \r\n \r\n \r\n \r\n Адрес:\r\n \r\n\r\n \r\n {`${viewPageValues.region} район`}\r\n \r\n \r\n \r\n Показати на карті\r\n \r\n \r\n \r\n \r\n Ціна:\r\n \r\n\r\n \r\n {`${viewPageValues.cost} ${viewPageValues.currency}`}\r\n \r\n \r\n \r\n \r\n Кімнат:\r\n \r\n\r\n \r\n {viewPageValues.rooms}\r\n \r\n \r\n \r\n \r\n Поверх:\r\n \r\n\r\n \r\n {`${viewPageValues.floor} поверх`}\r\n \r\n \r\n {/* \r\n {viewPageValues.info}\r\n */}\r\n \r\n {text}\r\n \r\n {linkC}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ViewObjectPage;\r\n","import React, { useState } from \"react\";\nimport { BrowserRouter, Routes, Route } from \"react-router-dom\";\nimport { StyledEngineProvider } from \"@mui/material\";\nimport AppRealtor from \"./AppRealtor\";\nimport AppClient from \"./AppClient\";\n\nconst PRODUCTION = !window.location.href.includes(\"localhost\");\n\nconst TABLE_NAME_OBJECTS = \"objects_v3\";\nconst TABLE_NAME_CLIENTS = \"clients_v2\";\nconst TABLE_NAME_ARCHIVES = \"archives_v2\";\nconst REGION = \"eu-central-1\";\nconst IDENTITY_POOL_ID = \"eu-central-1:713c28fd-d5fa-4e35-a9de-b89640b12b65\";\nconst OBJECTS_PROJECTION =\n \"id, cost, currency, dateFrom, dateTo, floor, furniture, heating, info, personName, phoneNumber, region, rooms, state, street, technology\";\nconst CLIENTS_PROJECTION =\n \"id, cost, aboutClient, currency, dateFrom, deadline, info, personName, phoneNumber, region, rooms, urgency\";\nconst SCAN_LIMIT = 100;\nconst S3_PHOTOS_BUCKET = \"realtor-photos\";\n\nfunction App() {\n return (\n \n \n \n \n } />\n } />\n } />\n \n }>\n }>\n \n Невідома сторінка}>\n \n {/* {window.location.href.includes(\"id_token\") && } */}\n \n \n \n );\n}\nexport default App;\n","const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport \"./index.css\";\nimport App from \"./App\";\nimport reportWebVitals from \"./reportWebVitals\";\n\nReactDOM.render(, document.getElementById(\"root\"));\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n","module.exports = __webpack_public_path__ + \"static/media/logo1_ai copy436_alpha.fe99bb2c.png\";"],"sourceRoot":""}