{"version":3,"file":"39f17b767674b9587dc6e54c9bd8be884b3f60c7-d6a631dc62fac2c70fc7.js","mappings":"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","sources":["webpack://mi-frontend/./node_modules/@mui/icons-material/ContactSupport.js","webpack://mi-frontend/./node_modules/@mui/icons-material/Dashboard.js","webpack://mi-frontend/./node_modules/@mui/icons-material/ManageAccounts.js","webpack://mi-frontend/./node_modules/@mui/icons-material/Settings.js","webpack://mi-frontend/./src/components/PropertyProfile/PropertyProfileDefaults.js","webpack://mi-frontend/./src/components/PropertyProfile/PropertyUsers.js","webpack://mi-frontend/./src/components/PropertyFilterGrid/PropertyFilter.js","webpack://mi-frontend/./src/components/PropertyPets/index.js","webpack://mi-frontend/./src/components/PropertyVehicles/VehicleProfile.js","webpack://mi-frontend/./src/components/PropertyVehicles/index.js","webpack://mi-frontend/./src/components/PropertyProfile/PropertyContact.js","webpack://mi-frontend/./src/components/LoginForm/LoginFormPopup.js","webpack://mi-frontend/./src/components/PropertyProfile/RequiredTasks.js","webpack://mi-frontend/./src/components/PropertyCalendar/index.js","webpack://mi-frontend/./src/components/PropertyProfile/SCPropertyDashboard.js","webpack://mi-frontend/./src/components/PropertyProfile/OtherPartnerField.js","webpack://mi-frontend/./src/components/PropertyProfile/index.js"],"sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M11.5 2C6.81 2 3 5.81 3 10.5S6.81 19 11.5 19h.5v3c4.86-2.34 8-7 8-11.5C20 5.81 16.19 2 11.5 2zm1 14.5h-2v-2h2v2zm0-3.5h-2c0-3.25 3-3 3-5 0-1.1-.9-2-2-2s-2 .9-2 2h-2c0-2.21 1.79-4 4-4s4 1.79 4 4c0 2.5-3 2.75-3 5z\"\n}), 'ContactSupport');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z\"\n}), 'Dashboard');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)([/*#__PURE__*/(0, _jsxRuntime.jsx)(\"circle\", {\n cx: \"10\",\n cy: \"8\",\n r: \"4\"\n}, \"0\"), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M10.67 13.02c-.22-.01-.44-.02-.67-.02-2.42 0-4.68.67-6.61 1.82-.88.52-1.39 1.5-1.39 2.53V20h9.26c-.79-1.13-1.26-2.51-1.26-4 0-1.07.25-2.07.67-2.98zM20.75 16c0-.22-.03-.42-.06-.63l1.14-1.01-1-1.73-1.45.49c-.32-.27-.68-.48-1.08-.63L18 11h-2l-.3 1.49c-.4.15-.76.36-1.08.63l-1.45-.49-1 1.73 1.14 1.01c-.03.21-.06.41-.06.63s.03.42.06.63l-1.14 1.01 1 1.73 1.45-.49c.32.27.68.48 1.08.63L16 21h2l.3-1.49c.4-.15.76-.36 1.08-.63l1.45.49 1-1.73-1.14-1.01c.03-.21.06-.41.06-.63zM17 18c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z\"\n}, \"1\")], 'ManageAccounts');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z\"\n}), 'Settings');\n\nexports.default = _default;","import React from 'react';\r\n\r\nimport { withPrefix } from 'gatsby-link';\r\n\r\nimport {\r\n Box,\r\n Button,\r\n Dialog,\r\n DialogActions,\r\n DialogContent,\r\n DialogTitle,\r\n IconButton,\r\n TextField\r\n} from '@mui/material';\r\nimport CloseIcon from '@mui/icons-material/Close';\r\n\r\nfunction PropertyProfileDefaults({ closeFunc, confirmFunc, method }) {\r\n return (\r\n \r\n \r\n {\r\n closeFunc();\r\n }}>\r\n \r\n \r\n \r\n {method === 'clear' ? (\r\n
Clear Form
\r\n ) : (\r\n
Restore Defaults
\r\n )}\r\n
\r\n \r\n

\r\n Are you sure you want to{' '}\r\n {method === 'clear'\r\n ? 'clear the current settings'\r\n : 'restore the default options'}{' '}\r\n for this property? This action cannot be undone.\r\n

\r\n
\r\n \r\n {\r\n confirmFunc();\r\n }}\r\n variant=\"outlined\">\r\n Continue\r\n \r\n\r\n {\r\n closeFunc();\r\n }}>\r\n Cancel\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default PropertyProfileDefaults;\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport moment from 'moment';\r\n\r\nimport { LinearProgress, Button, TextField } from '@mui/material';\r\nimport FormControl from '@mui/material/FormControl';\r\nimport Radio from '@mui/material/Radio';\r\nimport RadioGroup from '@mui/material/RadioGroup';\r\nimport FormControlLabel from '@mui/material/FormControlLabel';\r\nimport CheckIcon from '@mui/icons-material/Check';\r\n\r\nimport { validateEmail } from '../../api/userAuthApi';\r\n\r\nimport {\r\n listPropertyUser,\r\n savePropertyUser,\r\n deletePropertyUser\r\n} from '../../api/propertyProfileApi';\r\n\r\nimport * as webSocketActions from '../../redux/actions/webSocketActions';\r\nimport * as serviceAddressActions from '../../redux/actions/serviceAddressActions';\r\n\r\nimport DemoModePopup from '../Dashboard/DemoModePopup';\r\nimport UserIcon from '../UserIcon';\r\nimport GeneralPopup from '../GeneralPopup';\r\n\r\nconst colorList = ['#f8a52b', '#337eff', '#9e38bf', '#01c364'];\r\n\r\nfunction UserCard({\r\n user,\r\n setShowDemoModePopup,\r\n empty,\r\n setAddUser,\r\n setDeleteUser,\r\n authUser\r\n}) {\r\n return empty ? (\r\n
No {empty} have been added.
\r\n ) : (\r\n
\r\n \r\n {/* {user.UserID ? (\r\n \r\n ) : null} */}\r\n

\r\n {user.FirstName} {user.LastName}\r\n

\r\n

{user.Email}

\r\n \r\n Last login:{' '}\r\n {user.LastLogin ? moment(user.LastLogin).format('MM/DD/YYYY') : 'Never'}\r\n {user.UserID !== authUser.User.UserID ? (\r\n setDeleteUser({ ...user })}>\r\n Delete User\r\n \r\n ) : null}\r\n {!user.UserID && user.AgentID ? (\r\n setAddUser({ ...user, IsAccountOwner: false })}>\r\n Give Access\r\n \r\n ) : null}\r\n \r\n
\r\n );\r\n}\r\n\r\nfunction PropertyUsers({ siteConfig, authUser, profileKey }) {\r\n const [showDemoModePopup, setShowDemoModePopup] = useState(null);\r\n const [userList, setUserList] = useState(null);\r\n const [addUser, setAddUser] = useState(null);\r\n const [deleteUser, setDeleteUser] = useState(null);\r\n\r\n useEffect(() => {\r\n if (authUser) {\r\n if (checkIsDemo()) {\r\n setUserList({\r\n Admin: [\r\n {\r\n Email: 'demo@movingin.com',\r\n FirstName: 'Demo',\r\n LastName: 'Admin',\r\n LastLogin: moment(new Date()).format('MM/DD/YYYY'),\r\n ColorCode: '#ff3366'\r\n }\r\n ],\r\n Limited: [\r\n {\r\n Email: 'andrea@movingin.com',\r\n FirstName: 'Andrea',\r\n LastName: 'Blanchard',\r\n LastLogin: moment(new Date()).add(-2, 'day').format('MM/DD/YYYY'),\r\n ColorCode: colorList[0]\r\n },\r\n {\r\n Email: 'eve@movingin.com',\r\n FirstName: 'Eve',\r\n LastName: 'Rines',\r\n LastLogin: moment(new Date()).add(-5, 'day').format('MM/DD/YYYY'),\r\n ColorCode: colorList[1]\r\n },\r\n {\r\n Email: 'kim@movingin.com',\r\n FirstName: 'Kim',\r\n LastName: 'Marton',\r\n LastLogin: null,\r\n ColorCode: colorList[2]\r\n }\r\n ]\r\n });\r\n } else {\r\n loadUserList();\r\n }\r\n }\r\n }, [authUser]);\r\n\r\n function checkIsDemo() {\r\n return (\r\n !authUser || !authUser.User || authUser.User.Email === 'demo@movingin.com'\r\n );\r\n }\r\n\r\n function loadUserList() {\r\n listPropertyUser(profileKey).then((propertyUserList) => {\r\n setUserList({\r\n Admin: propertyUserList.filter((user) => user.UserLevelID >= 9),\r\n Limited: propertyUserList.filter(\r\n (user) => !user.UserLevelID || user.UserLevelID < 9\r\n )\r\n });\r\n });\r\n }\r\n\r\n return (\r\n
\r\n

User Access controls

\r\n\r\n {userList ? (\r\n //&& authUser.User.Email === 'demo@movingin.com'\r\n <>\r\n
\r\n

\r\n \r\n {' '}\r\n {\r\n if (checkIsDemo()) {\r\n setShowDemoModePopup('Add Account User');\r\n } else {\r\n setAddUser({ IsAccountOwner: true });\r\n }\r\n }}>\r\n + Add Account Owner\r\n {' '}\r\n Account Owner{' '}\r\n \r\n Account owners have full access to edit the Property Setup and add\r\n other users.\r\n

\r\n\r\n {userList.Admin.length ? (\r\n userList.Admin.map((user) => (\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 (checkIsDemo()) {\r\n setShowDemoModePopup('Add Account User');\r\n } else {\r\n setAddUser({ IsAccountOwner: false });\r\n }\r\n }}>\r\n + Add Account User\r\n \r\n Account User{' '}\r\n \r\n Account users have full view and upload capabilities but cannot\r\n edit the Property Setup or add other users.\r\n

\r\n\r\n {userList.Limited.length ? (\r\n userList.Limited.map((user) => (\r\n \r\n ))\r\n ) : (\r\n \r\n )}\r\n
\r\n \r\n ) : (\r\n \r\n // \r\n // To change these settings, please contact your {siteConfig.brand}{' '}\r\n // account manager at{' '}\r\n // \r\n // {siteConfig.phone}\r\n // {' '}\r\n // or email{' '}\r\n // \r\n // {siteConfig.email}\r\n // \r\n // .\r\n // \r\n )}\r\n\r\n {showDemoModePopup ? (\r\n setShowDemoModePopup(null)}\r\n siteConfig={siteConfig}\r\n useContactForm\r\n />\r\n ) : null}\r\n\r\n {addUser ? (\r\n \r\n
\r\n

\r\n Access Level:\r\n

\r\n\r\n \r\n {\r\n setAddUser({\r\n ...addUser,\r\n IsAccountOwner: newValue == 'true'\r\n });\r\n }}>\r\n }\r\n label={<>Account User}\r\n />\r\n }\r\n label={<>Account Owner}\r\n />\r\n \r\n \r\n
\r\n\r\n \r\n setAddUser({ ...addUser, Email: event.target.value })\r\n }\r\n />\r\n\r\n \r\n setAddUser({ ...addUser, FirstName: event.target.value })\r\n }\r\n />\r\n\r\n \r\n setAddUser({ ...addUser, LastName: event.target.value })\r\n }\r\n />\r\n\r\n
\r\n

\r\n User Icon:{' '}\r\n \r\n {colorList.map((color) => (\r\n

  • \r\n \r\n setAddUser({ ...addUser, ColorCode: color })\r\n }\r\n className={\r\n addUser.ColorCode === color ? 'selected' : ''\r\n }>\r\n \r\n {addUser.FirstName\r\n ? addUser.FirstName.substring(0, 1)\r\n : 'A'}\r\n {addUser.FirstName\r\n ? addUser.LastName\r\n ? addUser.LastName.substring(0, 1)\r\n : ''\r\n : 'A'}\r\n \r\n \r\n
  • \r\n ))}\r\n \r\n

    \r\n
    \r\n \r\n }\r\n closeFunc={() => setAddUser(null)}\r\n closeLabel={'Cancel'}\r\n submitDisabled={\r\n !addUser.FirstName ||\r\n !addUser.LastName ||\r\n !addUser.Email ||\r\n !addUser.ColorCode ||\r\n !validateEmail(addUser.Email) ||\r\n addUser.saving\r\n }\r\n submitLabel={addUser.saving ? 'Saving...' : 'Save'}\r\n submitFunc={() => {\r\n setAddUser({ ...addUser, saving: true });\r\n savePropertyUser(\r\n profileKey,\r\n addUser.Email,\r\n addUser.FirstName,\r\n addUser.LastName,\r\n addUser.ColorCode,\r\n addUser.AgentID,\r\n addUser.IsAccountOwner\r\n ).then((result) => {\r\n setAddUser(null);\r\n loadUserList();\r\n });\r\n }}\r\n />\r\n ) : null}\r\n\r\n {deleteUser ? (\r\n \r\n

    \r\n Are you sure you want to delete this user? This action cannot be\r\n undone.\r\n

    \r\n \r\n }\r\n closeFunc={() => setDeleteUser(null)}\r\n closeLabel={'Cancel'}\r\n submitLabel={deleteUser.deleting ? 'Deleting...' : 'Confirm Delete'}\r\n submitFunc={() => {\r\n setDeleteUser({ ...deleteUser, deleting: true });\r\n\r\n deletePropertyUser(\r\n profileKey,\r\n deleteUser.UserID,\r\n deleteUser.AgentID\r\n ).then((result) => {\r\n setDeleteUser(null);\r\n loadUserList();\r\n });\r\n }}\r\n />\r\n ) : null}\r\n
    \r\n );\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n webSocket: state.webSocket,\r\n serviceAddress: state.serviceAddress,\r\n siteConfig: state.commonData.siteConfig,\r\n authUser: state.authUser\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: {\r\n pageLoading: bindActionCreators(webSocketActions.pageLoading, dispatch),\r\n serviceAddressUpdated: bindActionCreators(\r\n serviceAddressActions.serviceAddressUpdated,\r\n dispatch\r\n )\r\n }\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(PropertyUsers);\r\n","import React, { useEffect } from 'react';\r\nimport FormLabel from '@mui/material/FormLabel';\r\nimport FormControl from '@mui/material/FormControl';\r\nimport FormGroup from '@mui/material/FormGroup';\r\nimport FormControlLabel from '@mui/material/FormControlLabel';\r\nimport Checkbox from '@mui/material/Checkbox';\r\nimport Select from '@mui/material/Select';\r\nimport MenuItem from '@mui/material/MenuItem';\r\n\r\nexport default function PropertyFilter({\r\n filterKey,\r\n filterDictionary,\r\n setFilterDictionary\r\n}) {\r\n return (\r\n
    \r\n \r\n \r\n {filterDictionary[filterKey].label}\r\n \r\n\r\n {filterDictionary[filterKey].dropdown ? (\r\n {\r\n setFilterDictionary({\r\n ...filterDictionary,\r\n [filterKey]: {\r\n ...filterDictionary[filterKey],\r\n selectedValue: event.target.value\r\n }\r\n });\r\n }}>\r\n {Object.keys(filterDictionary[filterKey].values).map((value) => (\r\n {value}\r\n ))}\r\n \r\n ) : (\r\n \r\n {\r\n let _values = { ...filterDictionary[filterKey].values };\r\n\r\n Object.keys(_values).map((key) => {\r\n _values[key] = false;\r\n });\r\n\r\n setFilterDictionary({\r\n ...filterDictionary,\r\n [filterKey]: {\r\n ...filterDictionary[filterKey],\r\n all: true,\r\n values: { ..._values }\r\n }\r\n });\r\n }}\r\n name=\"ALL\"\r\n color=\"primary\"\r\n disabled={filterDictionary[filterKey].all}\r\n />\r\n }\r\n label=\"ALL\"\r\n />\r\n\r\n {filterDictionary[filterKey].fullList\r\n .filter(\r\n (value) =>\r\n filterDictionary[filterKey].values[value] !== undefined\r\n )\r\n .map((value) => (\r\n {\r\n setFilterDictionary({\r\n ...filterDictionary,\r\n [filterKey]: {\r\n ...filterDictionary[filterKey],\r\n values: {\r\n ...filterDictionary[filterKey].values,\r\n [value]:\r\n filterDictionary[filterKey].values[value] ===\r\n true\r\n ? false\r\n : true\r\n },\r\n all:\r\n Object.keys(\r\n filterDictionary[filterKey].values\r\n ).filter((_value) =>\r\n _value === value\r\n ? filterDictionary[filterKey].values[\r\n value\r\n ] === true\r\n ? false\r\n : true\r\n : filterDictionary[filterKey].values[\r\n _value\r\n ] === true\r\n ).length === 0\r\n }\r\n });\r\n }}\r\n name={value}\r\n color=\"primary\"\r\n />\r\n }\r\n label={value}\r\n // disabled={\r\n // !filterCounts ||\r\n // !filterCounts.termLength ||\r\n // !filterCounts.termLength[termLength]\r\n // }\r\n />\r\n ))}\r\n \r\n )}\r\n \r\n
    \r\n );\r\n}\r\n","import React, { useEffect, useRef, useState } from 'react';\r\n\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport { withPrefix } from 'gatsby-link';\r\n\r\nimport { LinearProgress, IconButton, Button } from '@mui/material';\r\n\r\nimport { scrollToElementInPage } from '../../api/dataApi';\r\nimport { listResidentPet } from '../../api/propertyProfileApi';\r\n\r\nimport * as webSocketActions from '../../redux/actions/webSocketActions';\r\n\r\nimport PropertyFilterCard from '../PropertyFilterGrid/PropertyFilterCard';\r\nimport PropertyFilter from '../PropertyFilterGrid/PropertyFilter';\r\nimport PetProfile from './PetProfile';\r\n\r\nimport {\r\n petTypeList,\r\n genderList,\r\n colorList,\r\n sizeList,\r\n coatLengthList\r\n} from '../ResidentOnboarding/ResidentOnboardingPet';\r\n\r\nimport { residentPassesSearch } from '../OnboardingDashboard';\r\n\r\nimport '../PropertyFilterGrid/index.css';\r\nimport './index.css';\r\n\r\nfunction PropertyPets({ profileKey, searchString, setSearchString }) {\r\n const [petList, setPetList] = useState(null);\r\n const [filteredPetList, setFilteredPetList] = useState(null);\r\n const [filterDictionary, setFilterDictionary] = useState(null);\r\n const [filtersClicked, setFiltersClicked] = useState(null);\r\n const [showPetProfile, setShowPetProfile] = useState(null);\r\n\r\n useEffect(() => {\r\n if (profileKey) {\r\n setFilteredPetList(null);\r\n setFilterDictionary(null);\r\n listResidentPet(profileKey).then((_petList) =>\r\n setPetList(\r\n _petList.map((pet) => {\r\n let _pet = { ...pet };\r\n const weight = parseInt(_pet.Weight);\r\n if (!isNaN(weight)) {\r\n if (weight) {\r\n if (weight <= 25) {\r\n _pet.Weight = 'Small (0-25 lbs)';\r\n } else if (weight <= 60) {\r\n _pet.Weight = 'Medium (26-60 lbs)';\r\n } else if (weight <= 100) {\r\n _pet.Weight = 'Large (61-100 lbs)';\r\n } else {\r\n _pet.Weight = 'Extra Large (101 lbs or more)';\r\n }\r\n }\r\n }\r\n\r\n if (pet.UnitNumber === '1107') {\r\n console.log('1107', _pet);\r\n }\r\n\r\n return _pet;\r\n })\r\n )\r\n );\r\n }\r\n }, [profileKey]);\r\n\r\n useEffect(() => {\r\n if (petList) {\r\n let _filterDictionary = {\r\n View: {\r\n label: 'View',\r\n values: {},\r\n dropdown: true,\r\n selectedValue: null\r\n },\r\n PetType: {\r\n all: true,\r\n label: 'Pet Type',\r\n values: {},\r\n fullList: petTypeList\r\n },\r\n Color: {\r\n all: true,\r\n label: 'Primary Color',\r\n values: {},\r\n fullList: colorList\r\n },\r\n Weight: { all: true, label: 'Size', values: {}, fullList: sizeList },\r\n Gender: {\r\n all: true,\r\n label: 'Gender',\r\n values: {},\r\n fullList: genderList\r\n }\r\n // CoatLength: {\r\n // all: true,\r\n\r\n // label: 'Coat Length',\r\n // values: {},\r\n // fullList: coatLengthList\r\n // },\r\n };\r\n\r\n petList.map((pet) => {\r\n Object.keys(_filterDictionary).map((key) => {\r\n if (pet[key]) {\r\n pet[key].split(', ').map((value) => {\r\n if (!_filterDictionary[key].values[value]) {\r\n _filterDictionary[key].values[value] = {\r\n total: 0\r\n };\r\n }\r\n _filterDictionary[key].values[value].total++;\r\n });\r\n } else if (key === 'View' && pet.FileList) {\r\n pet.FileList.split(',').map((descriptionFile) => {\r\n const description = descriptionFile.split('=>')[0];\r\n if (!_filterDictionary.View.values[description]) {\r\n _filterDictionary.View.values[description] = {\r\n total: 0\r\n };\r\n }\r\n\r\n if (!_filterDictionary.View.selectedValue) {\r\n _filterDictionary.View.selectedValue = description;\r\n }\r\n\r\n _filterDictionary.View.values[description].total++;\r\n });\r\n }\r\n });\r\n });\r\n\r\n setFilterDictionary(_filterDictionary);\r\n\r\n setFilteredPetList(\r\n petList.map((pet) => {\r\n return { ...pet };\r\n })\r\n );\r\n }\r\n }, [petList]);\r\n\r\n useEffect(() => {\r\n if (filterDictionary) {\r\n setFilteredPetList(petList.filter((pet) => checkPassesFilter(pet)));\r\n }\r\n }, [filterDictionary, searchString]);\r\n\r\n useEffect(() => {\r\n if (typeof window !== 'undefined' && filteredPetList && filtersClicked) {\r\n const top = document.getElementById('filterListStart');\r\n if (top) {\r\n scrollToElementInPage(top, -145, false);\r\n }\r\n }\r\n }, [filteredPetList]);\r\n\r\n function checkPassesFilter(pet) {\r\n let passes = true;\r\n\r\n if (filterDictionary) {\r\n Object.keys(pet).map((column) => {\r\n if (filterDictionary[column] && filterDictionary[column].all !== true) {\r\n const values = pet[column];\r\n if (values) {\r\n let valuePasses = false;\r\n values.split(', ').map((value) => {\r\n if (filterDictionary[column].values[value] === true) {\r\n valuePasses = true;\r\n }\r\n });\r\n\r\n if (!valuePasses) {\r\n passes = false;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n if (searchString && passes) {\r\n let passesSearch = false;\r\n\r\n let searchStringLowerCase = String(searchString).toLowerCase();\r\n\r\n if (residentPassesSearch({ ...pet }, searchString)) {\r\n passesSearch = true;\r\n } else if (\r\n pet.Name &&\r\n pet.Name.toLowerCase().indexOf(searchStringLowerCase) !== -1\r\n ) {\r\n passesSearch = true;\r\n } else if (\r\n pet.Breed &&\r\n pet.Breed.toLowerCase().indexOf(searchStringLowerCase) !== -1\r\n ) {\r\n passesSearch = true;\r\n }\r\n\r\n if (!passesSearch) {\r\n passes = false;\r\n }\r\n }\r\n\r\n return passes;\r\n }\r\n\r\n return (\r\n
    \r\n {filteredPetList ? (\r\n
    \r\n
    \r\n {filterDictionary && filteredPetList ? (\r\n
    setFiltersClicked(true)}>\r\n {Object.keys(filterDictionary).map((key) => (\r\n \r\n ))}\r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n\r\n {filteredPetList.length ? (\r\n filteredPetList.map((pet) => (\r\n setShowPetProfile(pet)}\r\n descriptionFilter={filterDictionary.View.selectedValue}\r\n />\r\n ))\r\n ) : (\r\n
    \r\n {petList.length\r\n ? 'No pets found matching the filters you selected.'\r\n : 'No pets have been approved for this property.'}\r\n
    \r\n )}\r\n
    \r\n
    \r\n ) : (\r\n \r\n )}\r\n\r\n {showPetProfile ? (\r\n setShowPetProfile(null)}\r\n profileKey={profileKey}\r\n />\r\n ) : null}\r\n
    \r\n );\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n webSocket: state.webSocket,\r\n serviceAddress: state.serviceAddress\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: {\r\n pageLoading: bindActionCreators(webSocketActions.pageLoading, dispatch)\r\n }\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(PropertyPets);\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport { withPrefix } from 'gatsby-link';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\n\r\nimport {\r\n Box,\r\n Button,\r\n Dialog,\r\n DialogActions,\r\n DialogContent,\r\n DialogTitle,\r\n IconButton,\r\n LinearProgress,\r\n TextField\r\n} from '@mui/material';\r\nimport CloseIcon from '@mui/icons-material/Close';\r\nimport PrintIcon from '@mui/icons-material/Print';\r\n\r\nimport * as webSocketActions from '../../redux/actions/webSocketActions';\r\nimport { loadResidentOnboarding } from '../../redux/actions/residentOnboardingActions';\r\n\r\nimport ResidentOnboardingVehicle from '../ResidentOnboarding/ResidentOnboardingVehicle';\r\nimport ResidentOnboardingHeader from '../ResidentOnboarding/ResidentOnboardingHeader';\r\n\r\nimport './index.css';\r\n\r\nfunction VehicleProfile({\r\n residentOnboarding,\r\n vehicle,\r\n closeFunc,\r\n actions,\r\n profileKey\r\n}) {\r\n useEffect(() => {\r\n actions.loadResidentOnboarding(vehicle.ResidentID);\r\n }, []);\r\n\r\n return (\r\n \r\n \r\n {\r\n closeFunc();\r\n }}>\r\n \r\n \r\n \r\n Vehicle Profile for {vehicle.Model}\r\n \r\n \r\n \r\n {residentOnboarding &&\r\n residentOnboarding.Header.ResidentID === vehicle.ResidentID ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n {\r\n if (profileKey) {\r\n setFilteredVehicleList(null);\r\n listResidentVehicle(profileKey).then((_vehicleList) =>\r\n setVehicleList(\r\n _vehicleList.map((vehicle) => {\r\n let _vehicleType = vehicle.VehicleType\r\n ? vehicle.VehicleType\r\n : 'Car';\r\n\r\n let _vehicleMatch = allVehicleList.filter(\r\n (_vehicle) =>\r\n _vehicle.make === vehicle.Make &&\r\n _vehicle.model === vehicle.Model\r\n )[0];\r\n\r\n if (\r\n _vehicleMatch &&\r\n _vehicleMatch.body_styles &&\r\n _vehicleMatch.body_styles.length\r\n ) {\r\n if (bodyStyleMap[_vehicleMatch.body_styles[0]]) {\r\n _vehicleType = bodyStyleMap[_vehicleMatch.body_styles[0]];\r\n } else {\r\n _vehicleType = _vehicleMatch.body_styles[0];\r\n }\r\n }\r\n\r\n return { ...vehicle, VehicleType: _vehicleType };\r\n })\r\n )\r\n );\r\n }\r\n }, [profileKey]);\r\n\r\n useEffect(() => {\r\n if (vehicleList) {\r\n let _filterDictionary = {\r\n View: {\r\n label: 'View',\r\n values: {},\r\n dropdown: true,\r\n selectedValue: null\r\n },\r\n Color: { all: true, label: 'Color', values: {}, fullList: colorList },\r\n VehicleType: {\r\n all: true,\r\n label: 'Type',\r\n values: {},\r\n selectedValue: null,\r\n fullList: ['Car', 'Truck', 'SUV', 'Van', 'Motorcycle']\r\n },\r\n Make: {\r\n all: true,\r\n label: 'Make',\r\n values: {},\r\n fullList: getMakeList().concat(['Other'])\r\n },\r\n Model: {\r\n all: true,\r\n label: 'Model',\r\n values: {},\r\n fullList: []\r\n }\r\n };\r\n\r\n vehicleList.map((vehicle) => {\r\n Object.keys(_filterDictionary).map((key) => {\r\n if (vehicle[key]) {\r\n vehicle[key].split(', ').map((value) => {\r\n if (!_filterDictionary[key].values[value]) {\r\n _filterDictionary[key].values[value] = {\r\n total: 0\r\n };\r\n }\r\n\r\n _filterDictionary[key].values[value].total++;\r\n });\r\n } else if (key === 'View' && vehicle.FileList) {\r\n vehicle.FileList.split(',').map((descriptionFile) => {\r\n const description = descriptionFile.split('=>')[0];\r\n if (!_filterDictionary.View.values[description]) {\r\n _filterDictionary.View.values[description] = {\r\n total: 0\r\n };\r\n }\r\n\r\n if (!_filterDictionary.View.selectedValue) {\r\n _filterDictionary.View.selectedValue = description;\r\n }\r\n\r\n _filterDictionary.View.values[description].total++;\r\n });\r\n }\r\n });\r\n });\r\n\r\n setFilterDictionary(_filterDictionary);\r\n\r\n setFilteredVehicleList(\r\n vehicleList.map((vehicle) => {\r\n return { ...vehicle };\r\n })\r\n );\r\n }\r\n }, [vehicleList]);\r\n\r\n useEffect(() => {\r\n if (filterDictionary) {\r\n setFilteredVehicleList(\r\n vehicleList.filter((vehicle) => checkPassesFilter(vehicle))\r\n );\r\n }\r\n }, [filterDictionary, searchString]);\r\n\r\n useEffect(() => {\r\n if (\r\n typeof window !== 'undefined' &&\r\n filteredVehicleList &&\r\n filtersClicked\r\n ) {\r\n const top = document.getElementById('filterListStart');\r\n if (top) {\r\n scrollToElementInPage(top, -145, false);\r\n }\r\n }\r\n }, [filteredVehicleList]);\r\n\r\n useEffect(() => {\r\n if (makeFilter) {\r\n updateModelFilter();\r\n }\r\n }, [makeFilter]);\r\n\r\n function checkPassesFilter(vehicle) {\r\n let passes = true;\r\n\r\n if (filterDictionary) {\r\n Object.keys(vehicle).map((column) => {\r\n if (filterDictionary[column] && filterDictionary[column].all !== true) {\r\n const values = vehicle[column];\r\n if (values) {\r\n let valuePasses = false;\r\n values.split(', ').map((value) => {\r\n if (filterDictionary[column].values[value] === true) {\r\n valuePasses = true;\r\n }\r\n });\r\n\r\n if (!valuePasses) {\r\n passes = false;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n if (searchString && passes) {\r\n let passesSearch = false;\r\n\r\n let searchStringLowerCase = String(searchString).toLowerCase();\r\n\r\n if (residentPassesSearch({ ...vehicle }, searchString)) {\r\n passesSearch = true;\r\n } else if (\r\n vehicle.Make &&\r\n vehicle.Make.toLowerCase().indexOf(searchStringLowerCase) !== -1\r\n ) {\r\n passesSearch = true;\r\n } else if (\r\n vehicle.Model &&\r\n vehicle.Model.toLowerCase().indexOf(searchStringLowerCase) !== -1\r\n ) {\r\n passesSearch = true;\r\n } else if (\r\n vehicle.LicensePlateNumber &&\r\n vehicle.LicensePlateNumber.toLowerCase().indexOf(\r\n searchStringLowerCase\r\n ) !== -1\r\n ) {\r\n passesSearch = true;\r\n }\r\n\r\n if (!passesSearch) {\r\n passes = false;\r\n }\r\n }\r\n\r\n return passes;\r\n }\r\n\r\n function updateModelFilter() {\r\n if (filterDictionary) {\r\n let _modelList = [];\r\n if (!filterDictionary.Make.all) {\r\n Object.keys(filterDictionary.Make.values)\r\n .filter((value) => filterDictionary.Make.values[value] === true)\r\n .map((make) => {\r\n _modelList = _modelList.concat(\r\n getModelList(null, make).concat('Other')\r\n );\r\n });\r\n }\r\n\r\n setFilterDictionary({\r\n ...filterDictionary,\r\n Model: { ...filterDictionary.Model, fullList: _modelList }\r\n });\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n {filteredVehicleList ? (\r\n
    \r\n
    \r\n {filterDictionary && vehicleList ? (\r\n
    setFiltersClicked(true)}>\r\n {Object.keys(filterDictionary)\r\n .filter(\r\n (key) =>\r\n (filterDictionary[key].fullList &&\r\n filterDictionary[key].fullList.length) ||\r\n filterDictionary[key].dropdown\r\n )\r\n .map((key) => (\r\n \r\n ))}\r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n\r\n {filteredVehicleList.length ? (\r\n filteredVehicleList.map((vehicle) => (\r\n setShowVehicleProfile(vehicle)}\r\n descriptionFilter={filterDictionary.View.selectedValue}\r\n />\r\n ))\r\n ) : (\r\n
    \r\n {vehicleList.length\r\n ? 'No vehicles found matching the filters you selected.'\r\n : 'No vehicles have been approved for this property.'}\r\n
    \r\n )}\r\n
    \r\n\r\n {showVehicleProfile ? (\r\n setShowVehicleProfile(null)}\r\n profileKey={profileKey}\r\n />\r\n ) : null}\r\n
    \r\n ) : (\r\n \r\n )}\r\n
    \r\n );\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n webSocket: state.webSocket,\r\n serviceAddress: state.serviceAddress\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: {\r\n pageLoading: bindActionCreators(webSocketActions.pageLoading, dispatch)\r\n }\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(PropertyVehicles);\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport { navigate } from 'gatsby-link';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport { withPrefix } from 'gatsby-link';\r\n\r\nimport { LinearProgress, IconButton, Button } from '@mui/material';\r\nimport ChevronLeft from '@mui/icons-material/ChevronLeft';\r\n\r\nimport { scrollToElementInPage } from '../../api/dataApi';\r\nimport { listResidentPet } from '../../api/propertyProfileApi';\r\n\r\nimport * as webSocketActions from '../../redux/actions/webSocketActions';\r\n\r\nimport Team from '../CompanyProfile/Team';\r\n\r\nimport '../PropertyFilterGrid/index.css';\r\nimport './index.css';\r\n\r\nfunction PropertyContact({ profileKey, siteConfig }) {\r\n return (\r\n
    \r\n {siteConfig.id === 'sc' ? (\r\n navigate('/property-setup?property=' + profileKey)}>\r\n Back\r\n \r\n ) : null}\r\n

    \r\n \r\n If you need help or have any questions,{' '}\r\n {siteConfig.id === 'mi'\r\n ? 'please reach out to one of our team members below'\r\n : 'feel free to ask:'}\r\n \r\n

    \r\n

    \r\n {siteConfig.id === 'mi' ? 'Or, call ' : 'Call '} us at:{' '}\r\n \r\n {siteConfig.phone}\r\n \r\n

    \r\n

    \r\n Or, email us at:{' '}\r\n \r\n {siteConfig.email}\r\n \r\n

    \r\n \r\n
    \r\n );\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n webSocket: state.webSocket,\r\n serviceAddress: state.serviceAddress,\r\n siteConfig: state.commonData.siteConfig\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: {\r\n pageLoading: bindActionCreators(webSocketActions.pageLoading, dispatch)\r\n }\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(PropertyContact);\r\n","import React, { useEffect, useState } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport { withPrefix } from 'gatsby-link';\r\n\r\nimport IconButton from '@mui/material/IconButton';\r\nimport CloseIcon from '@mui/icons-material/Close';\r\n\r\nimport {\r\n Dialog,\r\n DialogActions,\r\n DialogContent,\r\n DialogTitle\r\n} from '@mui/material';\r\n\r\nimport * as webSocketActions from '../../redux/actions/webSocketActions';\r\nimport * as userAuthActions from '../../redux/actions/userAuthActions';\r\n\r\nimport LoginForm from './';\r\n\r\nimport './index.css';\r\n\r\nexport function LoginFormPopup(props) {\r\n return (\r\n \r\n \r\n {\r\n props.closeFunc();\r\n }}>\r\n \r\n \r\n \r\n User Login\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\nfunction mapStateToProps(state) {\r\n return {\r\n webSocket: state.webSocket,\r\n serviceAddress: state.serviceAddress,\r\n siteConfig: state.commonData.siteConfig\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: {\r\n pageLoading: bindActionCreators(webSocketActions.pageLoading, dispatch),\r\n userLoggedIn: bindActionCreators(userAuthActions.userLoggedIn, dispatch)\r\n }\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(LoginFormPopup);\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport { navigate } from 'gatsby-link';\r\nimport { useQueryParam } from 'gatsby-query-params';\r\nimport { connect, Provider } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport { withPrefix } from 'gatsby-link';\r\nimport Dropzone from 'react-dropzone-uploader';\r\nimport 'react-dropzone-uploader/dist/styles.css';\r\nimport Button from '@mui/material/Button';\r\nimport ChevronRightIcon from '@mui/icons-material/ChevronRight';\r\nimport ChevronLeftIcon from '@mui/icons-material/ChevronLeft';\r\nimport CloudUploadIcon from '@mui/icons-material/CloudUpload';\r\nimport LocationOnIcon from '@mui/icons-material/LocationOn';\r\nimport ApartmentIcon from '@mui/icons-material/Apartment';\r\nimport PhoneAndroidIcon from '@mui/icons-material/PhoneAndroid';\r\nimport EditIcon from '@mui/icons-material/Edit';\r\nimport SettingsIcon from '@mui/icons-material/Settings';\r\nimport ManageAccountsIcon from '@mui/icons-material/ManageAccounts';\r\nimport InputAdornment from '@mui/material/InputAdornment';\r\nimport VisibilityIcon from '@mui/icons-material/Visibility';\r\nimport VisibilityOffIcon from '@mui/icons-material/VisibilityOff';\r\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\r\nimport { Alert } from '@mui/material';\r\n\r\nimport Stack from '@mui/material/Stack';\r\nimport Stepper from '@mui/material/Stepper';\r\nimport Step from '@mui/material/Step';\r\nimport StepLabel from '@mui/material/StepLabel';\r\n\r\nimport Radio from '@mui/material/Radio';\r\nimport RadioGroup from '@mui/material/RadioGroup';\r\nimport FormControlLabel from '@mui/material/FormControlLabel';\r\nimport FormControl from '@mui/material/FormControl';\r\nimport FormLabel from '@mui/material/FormLabel';\r\n\r\nimport TextField from '@mui/material/TextField';\r\nimport Autocomplete, { createFilterOptions } from '@mui/material/Autocomplete';\r\nimport InputMask from 'react-input-mask';\r\nimport Input from '@mui/material/Input';\r\nimport InputLabel from '@mui/material/InputLabel';\r\nimport Select from '@mui/material/Select';\r\nimport MenuItem from '@mui/material/MenuItem';\r\n\r\nimport SearchIcon from '@mui/icons-material/Search';\r\n\r\nimport ToggleButton from '@mui/material/ToggleButton';\r\nimport ToggleButtonGroup from '@mui/material/ToggleButtonGroup';\r\nimport CheckIcon from '@mui/icons-material/Check';\r\n\r\nimport Switch from '@mui/material/Switch';\r\n\r\nimport FormGroup from '@mui/material/FormGroup';\r\nimport Checkbox from '@mui/material/Checkbox';\r\nimport InfoIcon from '@mui/icons-material/Info';\r\n\r\nimport Tabs from '@mui/material/Tabs';\r\nimport Tab from '@mui/material/Tab';\r\n\r\nimport {\r\n vehicleField,\r\n petField,\r\n dayOfWeekList,\r\n businessHourList\r\n} from '../ServiceProfileShared/config';\r\n\r\nimport { getPlaceholderImage } from '../ResidentOnboarding/ResidentOnboardingPhotoUpload';\r\n\r\nexport default function RequiredTasks({\r\n serviceProfile,\r\n setServiceProfile,\r\n authUser,\r\n siteConfig\r\n}) {\r\n const [requiredItemExpand, setRequiredItemExpand] = useState({\r\n VehicleRegistrationInclude: false,\r\n PetInclude: false\r\n });\r\n\r\n const [adminEdit, setAdminEdit] = useState({\r\n VehicleRegistrationInclude: false,\r\n PetInclude: false\r\n });\r\n\r\n return (\r\n
    \r\n
    \r\n

    Required Tasks

    \r\n \r\n

    \r\n Select the tasks that residents are required to complete before they\r\n can move in. Please go to each item's 'Required Items' section below\r\n and select all that apply.\r\n

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

    \r\n {serviceProfile.Header.VehicleRegistrationInclude ? (\r\n \r\n setRequiredItemExpand({\r\n ...requiredItemExpand,\r\n VehicleRegistrationInclude:\r\n !requiredItemExpand.VehicleRegistrationInclude\r\n })\r\n }>\r\n View Settings \r\n \r\n ) : null}\r\n {\r\n const checked = event.target.checked;\r\n let _serviceProfile = {\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n VehicleRegistrationInclude: checked,\r\n VehicleRegistrationIncludeCheckbox: checked\r\n }\r\n };\r\n\r\n if (checked) {\r\n Object.keys(vehicleField).map((field) => {\r\n switch (field) {\r\n case 'VehicleRegistrationIncludeVIN':\r\n case 'VehicleRegistrationIncludeProofOfInsurance':\r\n break;\r\n default:\r\n _serviceProfile.Header[field] = true;\r\n break;\r\n }\r\n });\r\n }\r\n\r\n setServiceProfile(_serviceProfile);\r\n }}\r\n />\r\n }\r\n label={
    Vehicle Registration
    }\r\n />\r\n

    \r\n\r\n
    \r\n \r\n {authUser && authUser.User && authUser.User.IsAdmin ? (\r\n \r\n setAdminEdit({\r\n ...adminEdit,\r\n VehicleRegistrationInclude:\r\n !adminEdit.VehicleRegistrationInclude\r\n })\r\n }>\r\n {adminEdit.VehicleRegistrationInclude\r\n ? 'Stop Editing'\r\n : 'Admin Edit'}\r\n \r\n ) : null}\r\n The selections below were set by default to be consistent across all\r\n properties. If you need to make a change to these settings, please\r\n contact your {siteConfig.brand} account manager at{' '}\r\n \r\n {siteConfig.phone}\r\n {' '}\r\n or email{' '}\r\n \r\n {siteConfig.email}\r\n \r\n .\r\n \r\n\r\n \r\n

    \r\n Select the options below that the new residents are required to\r\n submit.\r\n

    \r\n {Object.keys(vehicleField).map((field) => (\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n [field]: event.target.checked\r\n }\r\n })\r\n }\r\n />\r\n }\r\n label={
    {vehicleField[field]}
    }\r\n />\r\n ))}\r\n\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n VehicleRegistrationIncludeCheckbox: event.target.checked\r\n }\r\n })\r\n }\r\n />\r\n }\r\n label={\r\n
    \r\n {'Resident Acknowledgment of Vehicle Insurance Requirements'}\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n VehicleRegistrationCheckboxText: event.target.value\r\n }\r\n })\r\n }\r\n />\r\n
    \r\n }\r\n />\r\n
    \r\n \r\n

    \r\n Vehicle Photos - if you'd like residents to\r\n submit photos of their vehicles, choose one or more angles from\r\n the options below.\r\n

    \r\n\r\n
    \r\n {[getPlaceholderImage('Front')].map((image) => (\r\n
    \r\n ))}\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n VehicleRegistrationPhotoIncludeFront:\r\n event.target.checked\r\n }\r\n })\r\n }\r\n />\r\n }\r\n label={\r\n
    \r\n
    Front
    \r\n
    \r\n }\r\n />\r\n
    \r\n\r\n
    \r\n {' '}\r\n {[getPlaceholderImage('Back')].map((image) => (\r\n
    \r\n ))}\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n VehicleRegistrationPhotoIncludeBack:\r\n event.target.checked\r\n }\r\n })\r\n }\r\n />\r\n }\r\n label={\r\n
    \r\n
    Back
    \r\n
    \r\n }\r\n />\r\n \r\n\r\n
    \r\n {[getPlaceholderImage('Side')].map((image) => (\r\n
    \r\n ))}\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n VehicleRegistrationPhotoIncludeSide:\r\n event.target.checked\r\n }\r\n })\r\n }\r\n />\r\n }\r\n label={\r\n
    \r\n
    Side
    \r\n
    \r\n }\r\n />\r\n \r\n\r\n
    \r\n {[getPlaceholderImage('Angled')].map((image) => (\r\n
    \r\n ))}\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n VehicleRegistrationPhotoIncludeAny:\r\n event.target.checked\r\n }\r\n })\r\n }\r\n />\r\n }\r\n label={\r\n
    \r\n
    Angled
    \r\n
    \r\n }\r\n />\r\n \r\n \r\n \r\n \r\n\r\n \r\n

    \r\n {serviceProfile.Header.PetInclude ? (\r\n \r\n setRequiredItemExpand({\r\n ...requiredItemExpand,\r\n PetInclude: !requiredItemExpand.PetInclude\r\n })\r\n }>\r\n View Settings \r\n \r\n ) : null}\r\n\r\n {\r\n const checked = event.target.checked;\r\n let _serviceProfile = {\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n PetInclude: checked,\r\n PetPolicyIncludeCheckbox: checked,\r\n PetLiabilityIncludeCheckbox: checked\r\n }\r\n };\r\n\r\n if (checked) {\r\n Object.keys(petField).map((field) => {\r\n switch (field) {\r\n case 'PetIncludeProofOfVaccinations':\r\n case 'PetIncludeSpayedNeutered':\r\n break;\r\n default:\r\n _serviceProfile.Header[field] = true;\r\n break;\r\n }\r\n });\r\n }\r\n\r\n setServiceProfile(_serviceProfile);\r\n }}\r\n />\r\n }\r\n label={
    Pet Registration
    }\r\n />\r\n

    \r\n\r\n
    \r\n \r\n {authUser && authUser.User && authUser.User.IsAdmin ? (\r\n \r\n setAdminEdit({\r\n ...adminEdit,\r\n PetInclude: !adminEdit.PetInclude\r\n })\r\n }>\r\n {adminEdit.PetInclude ? 'Stop Editing' : 'Admin Edit'}\r\n \r\n ) : null}\r\n The selections below were set by default to be consistent across all\r\n properties. If you need to make a change to these settings, please\r\n contact your {siteConfig.brand} account manager at{' '}\r\n \r\n {siteConfig.phone}\r\n {' '}\r\n or email{' '}\r\n \r\n {siteConfig.email}\r\n \r\n .\r\n \r\n\r\n \r\n

    \r\n Select the options below that the new residents are required to\r\n submit.\r\n

    \r\n {Object.keys(petField).map((field) => (\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n [field]: event.target.checked\r\n }\r\n })\r\n }\r\n />\r\n }\r\n label={
    {petField[field]}
    }\r\n />\r\n ))}\r\n\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n PetInterviewRequired: event.target.checked\r\n }\r\n })\r\n }\r\n />\r\n }\r\n label={\r\n
    \r\n {'Reminder of Pet Interview Requirement'}\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n PetInterviewText: event.target.value\r\n }\r\n })\r\n }\r\n />\r\n
    \r\n }\r\n />\r\n\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n PetPolicyIncludeCheckbox: event.target.checked\r\n }\r\n })\r\n }\r\n />\r\n }\r\n label={\r\n
    \r\n {'Resident Acknowledgment of Pet Policy'}\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n PetPolicyText: event.target.value\r\n }\r\n })\r\n }\r\n />\r\n
    \r\n }\r\n />\r\n\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n PetLiabilityIncludeCheckbox: event.target.checked\r\n }\r\n })\r\n }\r\n />\r\n }\r\n label={\r\n
    \r\n {'Resident Acknowledgment of Pet Liability'}\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n PetLiabilityText: event.target.value\r\n }\r\n })\r\n }\r\n />\r\n
    \r\n }\r\n />\r\n
    \r\n\r\n \r\n

    \r\n Pet Photos - if you'd like residents to submit\r\n photos of their pets, choose one or more angles from the options\r\n below.\r\n

    \r\n\r\n
    \r\n {[getPlaceholderImage('Face')].map((image) => (\r\n
    \r\n ))}\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n PetPhotoIncludeFace: event.target.checked\r\n }\r\n })\r\n }\r\n />\r\n }\r\n label={\r\n
    \r\n
    Face
    \r\n
    \r\n }\r\n />\r\n \r\n\r\n
    \r\n {[getPlaceholderImage('Standing/Side')].map((image) => (\r\n
    \r\n ))}\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n PetPhotoIncludeStanding: event.target.checked\r\n }\r\n })\r\n }\r\n />\r\n }\r\n label={\r\n
    \r\n
    Standing/Side
    \r\n
    \r\n }\r\n />\r\n \r\n\r\n
    \r\n {[getPlaceholderImage('Favorite 1')].map((image) => (\r\n
    \r\n ))}\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n PetPhotoIncludeSitting: event.target.checked\r\n }\r\n })\r\n }\r\n />\r\n }\r\n label={\r\n
    \r\n
    Optional Favorite 1
    \r\n
    \r\n }\r\n />\r\n \r\n\r\n
    \r\n {[getPlaceholderImage('Favorite 2')].map((image) => (\r\n
    \r\n ))}\r\n\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n PetPhotoIncludeAny: event.target.checked\r\n }\r\n })\r\n }\r\n />\r\n }\r\n label={\r\n
    \r\n
    Optional Favorite 2
    \r\n
    \r\n }\r\n />\r\n \r\n \r\n \r\n \r\n\r\n {serviceProfile.CalendarList.map((calendar, calendarIndex) => (\r\n \r\n

    \r\n {calendar.Include ? (\r\n \r\n setRequiredItemExpand({\r\n ...requiredItemExpand,\r\n ['calendar-' + calendarIndex]:\r\n !requiredItemExpand['calendar-' + calendarIndex]\r\n })\r\n }>\r\n View Settings \r\n \r\n ) : null}\r\n\r\n {\r\n setServiceProfile({\r\n ...serviceProfile,\r\n CalendarList: serviceProfile.CalendarList.map(\r\n (_calendar, _calendarIndex) =>\r\n _calendarIndex === calendarIndex\r\n ? {\r\n ..._calendar,\r\n Include: event.target.checked\r\n }\r\n : { ..._calendar }\r\n )\r\n });\r\n\r\n setRequiredItemExpand({\r\n ...requiredItemExpand,\r\n ['calendar-' + calendarIndex]: true\r\n });\r\n }}\r\n />\r\n }\r\n label={
    {calendar.CalendarName}
    }\r\n />\r\n

    \r\n\r\n
    \r\n {/* \r\n {authUser && authUser.User && authUser.User.IsAdmin ? (\r\n \r\n setAdminEdit({\r\n ...adminEdit,\r\n ['calendar-' + calendar.CalendarName]:\r\n !adminEdit['calendar-' + calendar.CalendarName]\r\n })\r\n }>\r\n {adminEdit['calendar-' + calendar.CalendarName]\r\n ? 'Stop Editing'\r\n : 'Admin Edit'}\r\n \r\n ) : null}\r\n To change these settings, please contact your {siteConfig.brand}{' '}\r\n account manager at{' '}\r\n \r\n {siteConfig.phone}\r\n {' '}\r\n or email{' '}\r\n \r\n {siteConfig.email}\r\n \r\n .\r\n */}\r\n\r\n \r\n {calendar.CalendarType === 'custom' ? (\r\n <>\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n CalendarList: serviceProfile.CalendarList.map(\r\n (_calendar, _calendarIndex) =>\r\n _calendarIndex === calendarIndex\r\n ? {\r\n ..._calendar,\r\n CalendarName: event.target.value\r\n ? event.target.value\r\n : calendar.OriginalName,\r\n OriginalName: calendar.OriginalName\r\n ? calendar.OriginalName\r\n : calendar.CalendarName\r\n }\r\n : { ..._calendar }\r\n )\r\n })\r\n }\r\n fullWidth\r\n />\r\n\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n CalendarList: serviceProfile.CalendarList.map(\r\n (_calendar, _calendarIndex) =>\r\n _calendarIndex === calendarIndex\r\n ? {\r\n ..._calendar,\r\n Abbreviation: event.target.value\r\n }\r\n : { ..._calendar }\r\n )\r\n })\r\n }\r\n placeholder={\r\n calendar.CalendarName\r\n ? 'e.g. ' + calendar.CalendarName.split(' ')[0]\r\n : ''\r\n }\r\n helperText=\"Shorter name for displaying events alongside other calendars\"\r\n fullWidth\r\n />\r\n \r\n ) : null}\r\n\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n CalendarList: serviceProfile.CalendarList.map(\r\n (_calendar, _calendarIndex) =>\r\n _calendarIndex === calendarIndex\r\n ? {\r\n ..._calendar,\r\n TimeslotLengthMinutes: event.target.value\r\n }\r\n : { ..._calendar }\r\n )\r\n })\r\n }>\r\n

    \r\n What is the length of time for each{' '}\r\n {calendar.Term.toLowerCase()}?\r\n

    \r\n
    \r\n }\r\n label={'30 Minutes'}\r\n />\r\n\r\n }\r\n label={'1 Hour'}\r\n />\r\n\r\n }\r\n label={'90 Minutes'}\r\n />\r\n\r\n }\r\n label={'2 hours'}\r\n />\r\n
    \r\n \r\n\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n CalendarList: serviceProfile.CalendarList.map(\r\n (_calendar, _calendarIndex) =>\r\n _calendarIndex === calendarIndex\r\n ? {\r\n ..._calendar,\r\n TimeslotMaxAllowed: event.target.value\r\n }\r\n : { ..._calendar }\r\n )\r\n })\r\n }>\r\n

    \r\n What is the maximum number of {calendar.Term.toLowerCase()}s\r\n allowed per resident?\r\n

    \r\n
    \r\n } label={'1'} />\r\n\r\n } label={'2'} />\r\n\r\n } label={'3'} />\r\n\r\n } label={'4'} />\r\n
    \r\n \r\n\r\n

    What hours are {calendar.Term.toLowerCase()}s available?

    \r\n
    \r\n {dayOfWeekList.map((day) => (\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n CalendarList: serviceProfile.CalendarList.map(\r\n (_calendar, _calendarIndex) =>\r\n _calendarIndex === calendarIndex\r\n ? {\r\n ..._calendar,\r\n\r\n [day + 'StartTime']: event.target.checked\r\n ? dayOfWeekList\r\n .filter(\r\n (_day) =>\r\n calendar[_day + 'StartTime']\r\n )\r\n .map(\r\n (_day) =>\r\n calendar[_day + 'StartTime']\r\n )\r\n .concat('9:00 am')[0]\r\n : '',\r\n [day + 'EndTime']: event.target.checked\r\n ? dayOfWeekList\r\n .filter(\r\n (_day) =>\r\n calendar[_day + 'EndTime']\r\n )\r\n .map(\r\n (_day) =>\r\n calendar[_day + 'EndTime']\r\n )\r\n .concat('6:00 pm')[0]\r\n : ''\r\n }\r\n : { ..._calendar }\r\n )\r\n })\r\n }\r\n />\r\n }\r\n label={\r\n
    \r\n
    \r\n {['Start Time', 'End Time'].map((field) => (\r\n \r\n \r\n {field}\r\n \r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n CalendarList:\r\n serviceProfile.CalendarList.map(\r\n (_calendar, _calendarIndex) =>\r\n _calendarIndex === calendarIndex\r\n ? {\r\n ..._calendar,\r\n [day +\r\n field.split(' ').join('')]:\r\n event.target.value\r\n }\r\n : { ..._calendar }\r\n )\r\n })\r\n }>\r\n {businessHourList.map((time, timeIndex) => (\r\n {time}\r\n ))}\r\n \r\n \r\n ))}\r\n
    \r\n {day}\r\n
    \r\n }\r\n />\r\n ))}\r\n
    \r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n CalendarList: serviceProfile.CalendarList.map(\r\n (_calendar, _calendarIndex) =>\r\n _calendarIndex === calendarIndex\r\n ? {\r\n ..._calendar,\r\n Description: event.target.value\r\n }\r\n : { ..._calendar }\r\n )\r\n })\r\n }\r\n fullWidth\r\n />\r\n
    \r\n \r\n \r\n ))}\r\n \r\n );\r\n}\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport moment from 'moment';\r\n\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport { withPrefix } from 'gatsby-link';\r\n\r\nimport { LinearProgress, IconButton, Button } from '@mui/material';\r\nimport ChevronRightIcon from '@mui/icons-material/ChevronRight';\r\nimport ChevronLeftIcon from '@mui/icons-material/ChevronLeft';\r\nimport CheckIcon from '@mui/icons-material/Check';\r\n\r\nimport { scrollToElementInPage } from '../../api/dataApi';\r\nimport { listAllCalendarEvent } from '../../api/propertyProfileApi';\r\n\r\nimport * as webSocketActions from '../../redux/actions/webSocketActions';\r\n\r\nimport CustomerEventCalendar from '../CustomerEventCalendar';\r\nimport GeneralPopup from '../GeneralPopup';\r\nimport ResidentOnboardingPopup from '../ResidentOnboarding/ResidentOnboardingPopup';\r\n\r\nimport './index.css';\r\n\r\nfunction PropertyCalendar({ profileKey }) {\r\n const [params, setParams] = useState(null);\r\n const [allEvents, setAllEvents] = useState(null);\r\n const [events, setEvents] = useState(null);\r\n const [showCalendar, setShowCalendar] = useState(null);\r\n const [loading, setLoading] = useState(null);\r\n const [showResidentOnboarding, setShowResidentOnboarding] = useState(null);\r\n const [selectedCategory, setSelectedCategory] = useState(null);\r\n\r\n useEffect(() => {\r\n setParams(getParams());\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (params) {\r\n loadEvents();\r\n }\r\n }, [params]);\r\n\r\n useEffect(() => {\r\n if (allEvents && selectedCategory) {\r\n let _events = {};\r\n\r\n Object.keys(allEvents).map((date) =>\r\n Object.keys(allEvents[date]).map((unitNumber) =>\r\n allEvents[date][unitNumber].map((event) => {\r\n if (\r\n selectedCategory[event.CalendarName] &&\r\n selectedCategory[event.CalendarName].selected\r\n ) {\r\n if (!_events[date]) {\r\n _events[date] = {};\r\n }\r\n\r\n if (!_events[date][unitNumber]) {\r\n _events[date][unitNumber] = [];\r\n }\r\n\r\n _events[date][unitNumber].push(event);\r\n }\r\n })\r\n )\r\n );\r\n\r\n setEvents(_events);\r\n }\r\n }, [allEvents, selectedCategory]);\r\n\r\n function loadEvents() {\r\n setLoading(true);\r\n listAllCalendarEvent(\r\n profileKey,\r\n params.startDate.format('YYYY-MM-DD'),\r\n params.endDate.format('YYYY-MM-DD')\r\n ).then((_events) => {\r\n setAllEvents(_events);\r\n setLoading(false);\r\n\r\n let _selectedCategory = {};\r\n\r\n Object.keys(_events).map((date) =>\r\n Object.keys(_events[date]).map((unitNumber) => {\r\n _events[date][unitNumber].map((event) => {\r\n _selectedCategory[event.CalendarName] =\r\n selectedCategory && selectedCategory[event.CalendarName]\r\n ? { ...selectedCategory[event.CalendarName] }\r\n : {\r\n selected: true,\r\n backgroundColor: event.BackgroundColor,\r\n textColor: event.TextColor\r\n };\r\n });\r\n })\r\n );\r\n\r\n setSelectedCategory(_selectedCategory);\r\n });\r\n }\r\n\r\n function getParams(direction) {\r\n let monthYear =\r\n direction && params\r\n ? params.monthYear.add(direction, 'month')\r\n : moment().startOf('month');\r\n\r\n //let startDate = moment(monthYear.format('YYYY-MM-DD')).startOf('month');\r\n //let endDate = moment(monthYear.format('YYYY-MM-DD')).endOf('month');\r\n let startDate = params\r\n ? moment(params.startDate.format('YYYY-MM-DD'))\r\n .add('week', 1)\r\n .add('week', direction * 5)\r\n : moment(new Date());\r\n\r\n //Find the first Sunday on or before the first of the month\r\n if (startDate.day() !== 0) {\r\n while (startDate.day() !== 0) {\r\n startDate.add(-1, 'day');\r\n }\r\n }\r\n\r\n startDate.add(-1, 'week');\r\n\r\n let endDate = moment(startDate.format('YYYY-MM-DD')).add('week', 5);\r\n\r\n while (endDate.day() !== 6) {\r\n endDate.add(1, 'day');\r\n }\r\n\r\n endDate.add(1, 'week');\r\n\r\n let dateList = [];\r\n let week = [];\r\n let _date = moment(startDate.format('YYYY-MM-DD'));\r\n while (_date.isSameOrBefore(endDate)) {\r\n week.push(_date.format('YYYY-MM-DD'));\r\n\r\n if (week.length === 7) {\r\n dateList.push(week);\r\n week = [];\r\n }\r\n\r\n _date.add(1, 'day');\r\n }\r\n\r\n return { monthYear, startDate, endDate, dateList };\r\n }\r\n\r\n function handleEventClick(event) {\r\n if (event.CalendarID) {\r\n setShowCalendar({ ...event });\r\n } else {\r\n setShowResidentOnboarding({ ...event });\r\n }\r\n }\r\n\r\n function getCategoryDisplayOrder(category) {\r\n switch (category) {\r\n case 'READY for Move-in':\r\n return 'AAAAA-' + category;\r\n\r\n case 'NOT READY for Move-in':\r\n return 'BBBBB-' + category;\r\n case 'Move Out':\r\n return 'CCCCC-' + category;\r\n default:\r\n return 'ZZZZZ-' + category;\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n {params && params.dateList ? (\r\n
    \r\n

    \r\n setParams(getParams(-1))}>\r\n \r\n {' '}\r\n {moment(params.monthYear).format('MMMM YYYY')} \r\n setParams(getParams(1))}>\r\n \r\n \r\n

    \r\n\r\n {selectedCategory ? (\r\n
    \r\n {Object.keys(selectedCategory)\r\n .sort((a, b) =>\r\n getCategoryDisplayOrder(a).localeCompare(\r\n getCategoryDisplayOrder(b)\r\n )\r\n )\r\n .map((categoryKey) => (\r\n \r\n setSelectedCategory({\r\n ...selectedCategory,\r\n [categoryKey]: {\r\n ...selectedCategory[categoryKey],\r\n selected: !selectedCategory[categoryKey].selected\r\n }\r\n })\r\n }\r\n className={\r\n selectedCategory[categoryKey].selected ? ' selected' : ''\r\n }>\r\n {categoryKey}\r\n \r\n ))}\r\n
    \r\n ) : null}\r\n\r\n
    \r\n {loading ? : null}\r\n
    \r\n {params.dateList.map((week, weekIndex) => (\r\n
    \r\n {week.map((day) => (\r\n \r\n

    \r\n {weekIndex === 0 ? (\r\n {moment(day).format('ddd').toUpperCase()}\r\n ) : null}\r\n\r\n {moment(day).format('D') == '1'\r\n ? moment(day).format('MMM') + ' '\r\n : null}\r\n {moment(day).format('D')}\r\n

    \r\n\r\n {events && events[day]\r\n ? Object.keys(events[day]).map((unitNumber) => (\r\n
    \r\n \r\n handleEventClick(events[day][unitNumber][0])\r\n }\r\n className=\"event\"\r\n style={{\r\n backgroundColor:\r\n events[day][unitNumber][0].BackgroundColor,\r\n color: events[day][unitNumber][0].TextColor\r\n }}>\r\n {unitNumber ? unitNumber + ' - ' : ''}\r\n {events[day][unitNumber][0].EventName}{' '}\r\n {events[day][unitNumber][0].StartTime\r\n ? ' at ' +\r\n events[day][unitNumber][0].StartTime\r\n : ''}\r\n \r\n {events[day][unitNumber].length > 1\r\n ? events[day][unitNumber].map(\r\n (event, eventIndex) =>\r\n eventIndex ? (\r\n <>\r\n
    \r\n \r\n handleEventClick(event)\r\n }\r\n className=\"event sub\"\r\n style={{\r\n backgroundColor:\r\n event.BackgroundColor,\r\n color: event.TextColor\r\n }}>\r\n {event.EventName}\r\n {event.StartTime\r\n ? ' at ' + event.StartTime\r\n : ''}\r\n \r\n \r\n ) : null\r\n )\r\n : null}\r\n
    \r\n ))\r\n : null}\r\n
    \r\n ))}\r\n
    \r\n ))}\r\n
    \r\n
    \r\n
    \r\n ) : (\r\n \r\n )}\r\n\r\n {showCalendar ? (\r\n }\r\n closeFunc={() => {\r\n loadEvents();\r\n setShowCalendar(null);\r\n }}\r\n closeLabel={'Close'}\r\n className={'calendar-timeslot-popup'}\r\n />\r\n ) : null}\r\n\r\n {showResidentOnboarding ? (\r\n {\r\n loadEvents();\r\n setShowResidentOnboarding(null);\r\n }}\r\n />\r\n ) : null}\r\n \r\n );\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n webSocket: state.webSocket,\r\n serviceAddress: state.serviceAddress\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: {\r\n pageLoading: bindActionCreators(webSocketActions.pageLoading, dispatch)\r\n }\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(PropertyCalendar);\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport { navigate } from 'gatsby-link';\r\nimport { useQueryParam } from 'gatsby-query-params';\r\nimport { withPrefix } from 'gatsby-link';\r\nimport moment from 'moment';\r\nimport { connect, Provider } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport { Button, TextField } from '@mui/material';\r\nimport PictureAsPdfIcon from '@mui/icons-material/PictureAsPdf';\r\nimport Checkbox from '@mui/material/Checkbox';\r\nimport Table from '@mui/material/Table';\r\nimport TableBody from '@mui/material/TableBody';\r\nimport TableCell from '@mui/material/TableCell';\r\nimport TableContainer from '@mui/material/TableContainer';\r\nimport TableHead from '@mui/material/TableHead';\r\nimport TableRow from '@mui/material/TableRow';\r\n\r\nimport FormControlLabel from '@mui/material/FormControlLabel';\r\nimport FormControl from '@mui/material/FormControl';\r\nimport Radio from '@mui/material/Radio';\r\nimport RadioGroup from '@mui/material/RadioGroup';\r\nimport InputMask from 'react-input-mask';\r\n\r\nimport * as webSocketActions from '../../redux/actions/webSocketActions';\r\nimport * as serviceAddressActions from '../../redux/actions/serviceAddressActions';\r\nimport * as userAuthActions from '../../redux/actions/userAuthActions';\r\n\r\nimport * as dataApi from '../../api/dataApi';\r\nimport { saveSmarterChoiceSettings } from '../../api/propertyProfileApi';\r\n\r\nimport GeneralPopup from '../GeneralPopup';\r\nimport MarketingAgreement from '../PartnerMultifamily/MarketingAgreement';\r\n\r\nimport './SCPropertyDashboard.css';\r\n\r\nfunction SCPropertyDashboard({\r\n actions,\r\n siteConfig,\r\n webSocket,\r\n authUser,\r\n profileKey,\r\n propertyProfile,\r\n loadPropertyProfile\r\n}) {\r\n const [activeStep, setActiveStep] = useState(0);\r\n const [baseContactRequest, setBaseContactRequest] = useState(null);\r\n const [contactRequest, setContactRequest] = useState(null);\r\n const [submitting, setSubmitting] = useState(null);\r\n\r\n console.log('SCPropertyDashboard', propertyProfile);\r\n\r\n useEffect(() => {\r\n if (propertyProfile && propertyProfile.Property) {\r\n setBaseContactRequest({\r\n 'Property Name': propertyProfile.Property.PropertyName\r\n });\r\n }\r\n }, [propertyProfile]);\r\n\r\n function checkDisableSave() {\r\n if (submitting) {\r\n return true;\r\n }\r\n\r\n switch (activeStep) {\r\n case 0:\r\n return (\r\n !contactRequest['First Name'] ||\r\n !contactRequest['Last Name'] ||\r\n !contactRequest['Title'] ||\r\n !contactRequest['Email'] ||\r\n !contactRequest['Phone'] ||\r\n contactRequest['Phone'].indexOf('_') !== -1 ||\r\n !contactRequest['Property Name'] ||\r\n !contactRequest['Property Street Address'] ||\r\n !contactRequest['Property City, State Zip'] ||\r\n !contactRequest['Number of Residential Units'] ||\r\n !contactRequest['Management Company']\r\n );\r\n case 1:\r\n return (\r\n !contactRequest['Electronic Signature'] ||\r\n !contactRequest['Legal Name'] ||\r\n contactRequest['Checkbox Checked'] !== 'Yes'\r\n );\r\n case 2:\r\n if (contactRequest['Where do we send your commission payments?']) {\r\n if (\r\n contactRequest['Where do we send your commission payments?'] ===\r\n 'Other Address'\r\n ) {\r\n return (\r\n !contactRequest['Commission Street Address'] ||\r\n !contactRequest['Commission City'] ||\r\n !contactRequest['Commission State'] ||\r\n !contactRequest['Commission Zip']\r\n );\r\n }\r\n\r\n return false;\r\n }\r\n\r\n return true;\r\n case 3:\r\n if (\r\n contactRequest[\r\n 'How would you like to share your new resident data with us?'\r\n ]\r\n ) {\r\n if (\r\n contactRequest[\r\n 'How would you like to share your new resident data with us?'\r\n ].indexOf('Direct') !== -1\r\n ) {\r\n return (\r\n !contactRequest['Integration Contact Name'] ||\r\n !contactRequest['Integration Contact Title'] ||\r\n !contactRequest['Integration Contact Email'] ||\r\n !contactRequest['Integration Contact Phone'] ||\r\n contactRequest['Integration Contact Phone'].indexOf('_') !== -1\r\n );\r\n }\r\n\r\n return false;\r\n }\r\n return true;\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n
    \r\n {!propertyProfile.SmarterChoiceSettings ||\r\n !propertyProfile.SmarterChoiceSettings.IsPaymentInfoCompleted ||\r\n !propertyProfile.SmarterChoiceSettings.IsAgreementCompleted ||\r\n !propertyProfile.SmarterChoiceSettings.IsDataSharingCompleted ? (\r\n
    \r\n

    \r\n Items needed to complete registration\r\n

    \r\n\r\n {!propertyProfile.SmarterChoiceSettings ||\r\n !propertyProfile.SmarterChoiceSettings.IsPaymentInfoCompleted ? (\r\n {\r\n setContactRequest({ ...baseContactRequest });\r\n setActiveStep(2);\r\n }}>\r\n Click to confirm commission payment details\r\n \r\n ) : null}\r\n\r\n {!propertyProfile.SmarterChoiceSettings ||\r\n !propertyProfile.SmarterChoiceSettings.IsAgreementCompleted ? (\r\n {\r\n setContactRequest({\r\n ...baseContactRequest,\r\n ['Legal Name']: propertyProfile.Property.PropertyName,\r\n ['Date Signed']: moment().local().format('MM/DD/YYYY')\r\n });\r\n setActiveStep(1);\r\n }}>\r\n Click to review and sign the Revenue Sharing Agreement\r\n \r\n ) : null}\r\n\r\n {!propertyProfile.SmarterChoiceSettings ||\r\n !propertyProfile.SmarterChoiceSettings.IsDataSharingCompleted ? (\r\n {\r\n setContactRequest({ ...baseContactRequest });\r\n setActiveStep(3);\r\n }}>\r\n Click to select method of resident data sharing\r\n \r\n ) : null}\r\n
    \r\n ) : null}\r\n\r\n

    Order History and Current Status

    \r\n\r\n \r\n \r\n \r\n \r\n Status\r\n Lease Start\r\n Unit Number\r\n First Name\r\n Last Name\r\n Transaction Date\r\n Transaction Type\r\n Order Number\r\n Provider\r\n Pending Commission\r\n Provider Payment Received\r\n Due Client\r\n Accounting Period\r\n \r\n \r\n \r\n \r\n No data to report\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n {activeStep === 1 ? (\r\n \r\n

    \r\n Confirm legal name - this name will be used in the Revenue\r\n Sharing Agreement\r\n

    \r\n\r\n \r\n setContactRequest({\r\n ...contactRequest,\r\n ['Legal Name']: event.target.value\r\n })\r\n }\r\n />\r\n\r\n

    Review and accept the Marketing Agreement below

    \r\n\r\n event.stopPropagation()}\r\n target=\"_blank\">\r\n Open as\r\n Printable PDF\r\n \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n setContactRequest({\r\n ...contactRequest,\r\n 'Checkbox Checked': event.target.checked\r\n ? 'Yes'\r\n : 'No'\r\n })\r\n }\r\n name=\"gilad\"\r\n />\r\n
    \r\n }\r\n label={\r\n
    \r\n \r\n I understand and agree that by clicking here and typing\r\n my name below, I am consenting to the use of this\r\n digital form and intending to electronically sign this\r\n form.\r\n \r\n
    \r\n }\r\n />\r\n\r\n
    \r\n \r\n setContactRequest({\r\n ...contactRequest,\r\n ['Electronic Signature']: event.target.value\r\n })\r\n }\r\n />\r\n
    \r\n\r\n
    \r\n \r\n {() => (\r\n \r\n )}\r\n \r\n
    \r\n \r\n \r\n }\r\n submitDisabled={checkDisableSave()}\r\n submitLabel={submitting ? 'Submitting...' : 'Submit Form'}\r\n submitFunc={() => {\r\n dataApi\r\n .saveInquiry(\r\n 'SmarterChoice Revenue Sharing Agreement Form',\r\n contactRequest\r\n )\r\n .then((result) => {\r\n saveSmarterChoiceSettings(profileKey, {\r\n ...propertyProfile.SmarterChoiceSettings,\r\n IsAgreementCompleted: true\r\n }).then(() => {\r\n loadPropertyProfile();\r\n setActiveStep(0);\r\n });\r\n });\r\n }}\r\n closeFunc={() => setActiveStep(0)}\r\n closeLabel={'Cancel'}\r\n />\r\n ) : activeStep === 2 ? (\r\n \r\n

    Where do we send your commission payments?

    \r\n \r\n {\r\n setContactRequest({\r\n ...contactRequest,\r\n ['Where do we send your commission payments?']: newValue\r\n });\r\n }}>\r\n }\r\n label={\r\n <>\r\n Property Address

    \r\n {propertyProfile.Property.Address}{' '}\r\n {propertyProfile.Property.Secondary}\r\n
    \r\n {propertyProfile.Property.City},{' '}\r\n {propertyProfile.Property.State}{' '}\r\n {propertyProfile.Property.Zip}\r\n \r\n }\r\n />\r\n\r\n }\r\n label={\r\n <>\r\n Other Address (enter below)\r\n\r\n \r\n setContactRequest({\r\n ...contactRequest,\r\n ['Commission Street Address']: event.target.value\r\n })\r\n }\r\n required\r\n />\r\n\r\n \r\n setContactRequest({\r\n ...contactRequest,\r\n ['Commission City']: event.target.value\r\n })\r\n }\r\n style={{ width: '56%' }}\r\n required\r\n />\r\n\r\n \r\n setContactRequest({\r\n ...contactRequest,\r\n ['Commission State']: event.target.value\r\n })\r\n }\r\n style={{ width: '20%', marginLeft: '2%' }}\r\n required\r\n />\r\n\r\n \r\n setContactRequest({\r\n ...contactRequest,\r\n ['Commission Zip']: event.target.value\r\n })\r\n }\r\n style={{ width: '20%', marginLeft: '2%' }}\r\n required\r\n />\r\n \r\n }\r\n />\r\n \r\n
    \r\n \r\n }\r\n submitDisabled={checkDisableSave()}\r\n submitLabel={submitting ? 'Submitting...' : 'Submit Form'}\r\n submitFunc={() => {\r\n dataApi\r\n .saveInquiry('SmarterChoice Payment Details Form', contactRequest)\r\n .then((result) => {\r\n saveSmarterChoiceSettings(profileKey, {\r\n ...propertyProfile.SmarterChoiceSettings,\r\n IsPaymentInfoCompleted: true\r\n }).then(() => {\r\n loadPropertyProfile();\r\n setActiveStep(0);\r\n });\r\n });\r\n }}\r\n closeFunc={() => setActiveStep(0)}\r\n closeLabel={'Cancel'}\r\n />\r\n ) : activeStep === 3 ? (\r\n \r\n

    \r\n How would you like to share your new resident data with us?\r\n

    \r\n \r\n {\r\n setContactRequest({\r\n ...contactRequest,\r\n ['How would you like to share your new resident data with us?']:\r\n newValue\r\n });\r\n }}>\r\n {[\r\n 'Direct API Integration with your onsite Property Management System. This ‘hands-free’ method allows for the automatic transfers of your resident data to SmarterChoice on a daily basis, but may require your corporate software administrator to add SmarterChoice to your management system as a vendor.',\r\n 'Weekly Rent Roll updates. If API Integration is not an option, this method lets you manually extract a current Rent Roll from your property management system and upload it into the SmarterChoice platform via a simple email link that we send you once a week.',\r\n 'Manual entry of individual resident data. This method requires a bit more effort on your part, but allows for the manual entry of resident data one resident at a time. This may be a good option for smaller properties that don’t have API Integration.'\r\n ].map((option, optionIndex) => (\r\n }\r\n label={\r\n <>\r\n {option}\r\n\r\n {optionIndex === 0 &&\r\n contactRequest[\r\n 'How would you like to share your new resident data with us?'\r\n ] === option ? (\r\n <>\r\n \r\n Who should we contact at your company to get\r\n this set up?\r\n \r\n \r\n setContactRequest({\r\n ...contactRequest,\r\n ['Integration Contact Name']:\r\n event.target.value\r\n })\r\n }\r\n required\r\n />\r\n\r\n \r\n setContactRequest({\r\n ...contactRequest,\r\n ['Integration Contact Title']:\r\n event.target.value\r\n })\r\n }\r\n required\r\n />\r\n\r\n \r\n setContactRequest({\r\n ...contactRequest,\r\n ['Integration Contact Email']:\r\n event.target.value\r\n })\r\n }\r\n required\r\n />\r\n\r\n \r\n setContactRequest({\r\n ...contactRequest,\r\n ['Integration Contact Phone']:\r\n event.target.value\r\n })\r\n }>\r\n {() => (\r\n \r\n )}\r\n \r\n \r\n ) : null}\r\n \r\n }\r\n />\r\n ))}\r\n \r\n \r\n \r\n }\r\n submitDisabled={checkDisableSave()}\r\n submitLabel={submitting ? 'Submitting...' : 'Submit Form'}\r\n submitFunc={() => {\r\n dataApi\r\n .saveInquiry(\r\n 'SmarterChoice Resident Data Sharing',\r\n contactRequest\r\n )\r\n .then((result) => {\r\n saveSmarterChoiceSettings(profileKey, {\r\n ...propertyProfile.SmarterChoiceSettings,\r\n IsDataSharingCompleted: true\r\n }).then(() => {\r\n loadPropertyProfile();\r\n setActiveStep(0);\r\n });\r\n });\r\n }}\r\n closeFunc={() => setActiveStep(0)}\r\n closeLabel={'Cancel'}\r\n />\r\n ) : null}\r\n \r\n );\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n webSocket: state.webSocket,\r\n serviceAddress: state.serviceAddress,\r\n siteConfig: state.commonData.siteConfig,\r\n stateList: state.commonData.stateList,\r\n authUser: state.authUser\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: {\r\n pageLoading: bindActionCreators(webSocketActions.pageLoading, dispatch),\r\n userLoggedIn: bindActionCreators(userAuthActions.userLoggedIn, dispatch),\r\n logOutUser: bindActionCreators(userAuthActions.logOutUser, dispatch)\r\n }\r\n };\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(SCPropertyDashboard);\r\n","import React, { useEffect, useRef, useState } from 'react';\r\n\r\nimport FormControlLabel from '@mui/material/FormControlLabel';\r\nimport TextField from '@mui/material/TextField';\r\nimport Checkbox from '@mui/material/Checkbox';\r\n\r\nexport default function OtherPartnerField({\r\n field,\r\n serviceProfile,\r\n setServiceProfile\r\n}) {\r\n return (\r\n
    \r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n [field]: '',\r\n [field + 'Checked']: event.target.checked\r\n }\r\n })\r\n }\r\n />\r\n }\r\n label={\r\n \r\n Other Partner Program:\r\n
    \r\n
    \r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n [field]: event.target.value\r\n }\r\n })\r\n }\r\n placeholder={'Type partner name here'}\r\n />\r\n
    \r\n }\r\n />\r\n \r\n );\r\n}\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport { navigate } from 'gatsby-link';\r\nimport { useQueryParam } from 'gatsby-query-params';\r\nimport { connect, Provider } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport { withPrefix } from 'gatsby-link';\r\nimport Dropzone from 'react-dropzone-uploader';\r\nimport 'react-dropzone-uploader/dist/styles.css';\r\nimport Button from '@mui/material/Button';\r\nimport ChevronRightIcon from '@mui/icons-material/ChevronRight';\r\nimport ChevronLeftIcon from '@mui/icons-material/ChevronLeft';\r\nimport CloudUploadIcon from '@mui/icons-material/CloudUpload';\r\nimport LocationOnIcon from '@mui/icons-material/LocationOn';\r\nimport ApartmentIcon from '@mui/icons-material/Apartment';\r\nimport PhoneAndroidIcon from '@mui/icons-material/PhoneAndroid';\r\nimport DashboardIcon from '@mui/icons-material/Dashboard';\r\nimport SettingsIcon from '@mui/icons-material/Settings';\r\nimport ManageAccountsIcon from '@mui/icons-material/ManageAccounts';\r\nimport InputAdornment from '@mui/material/InputAdornment';\r\nimport VisibilityIcon from '@mui/icons-material/Visibility';\r\nimport VisibilityOffIcon from '@mui/icons-material/VisibilityOff';\r\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\r\nimport CheckCircleIcon from '@mui/icons-material/CheckCircle';\r\nimport Stack from '@mui/material/Stack';\r\nimport Stepper from '@mui/material/Stepper';\r\nimport Step from '@mui/material/Step';\r\nimport StepLabel from '@mui/material/StepLabel';\r\n\r\nimport Radio from '@mui/material/Radio';\r\nimport RadioGroup from '@mui/material/RadioGroup';\r\nimport FormControlLabel from '@mui/material/FormControlLabel';\r\nimport FormControl from '@mui/material/FormControl';\r\nimport FormLabel from '@mui/material/FormLabel';\r\n\r\nimport TextField from '@mui/material/TextField';\r\nimport Autocomplete, { createFilterOptions } from '@mui/material/Autocomplete';\r\nimport InputMask from 'react-input-mask';\r\nimport Input from '@mui/material/Input';\r\nimport InputLabel from '@mui/material/InputLabel';\r\nimport Select from '@mui/material/Select';\r\nimport MenuItem from '@mui/material/MenuItem';\r\n\r\nimport SearchIcon from '@mui/icons-material/Search';\r\n\r\nimport ToggleButton from '@mui/material/ToggleButton';\r\nimport ToggleButtonGroup from '@mui/material/ToggleButtonGroup';\r\nimport CheckIcon from '@mui/icons-material/Check';\r\n\r\nimport Switch from '@mui/material/Switch';\r\n\r\nimport FormGroup from '@mui/material/FormGroup';\r\nimport Checkbox from '@mui/material/Checkbox';\r\nimport InfoIcon from '@mui/icons-material/Info';\r\n\r\nimport Tabs from '@mui/material/Tabs';\r\nimport Tab from '@mui/material/Tab';\r\n\r\nimport {\r\n Alert,\r\n IconButton,\r\n menuClasses,\r\n Tooltip,\r\n useEventCallback\r\n} from '@mui/material';\r\n\r\nimport ContactSupportIcon from '@mui/icons-material/ContactSupport';\r\n\r\nimport * as propertyProfileApi from '../../api/propertyProfileApi';\r\nimport * as dataApi from '../../api/dataApi';\r\nimport {\r\n registerUser,\r\n validatePassword,\r\n PasswordPolicy,\r\n logIn\r\n} from '../../api/userAuthApi';\r\n\r\nimport '../ServiceProfileShared/index.css';\r\nimport './index.css';\r\n\r\nimport UtilityBox from '../ConnectUtilities/UtilityBox';\r\nimport CanvasConfetti from '../CanvasConfetti';\r\nimport OnboardingDashboard from '../OnboardingDashboard';\r\nimport PropertyProfileDefaults from './PropertyProfileDefaults';\r\nimport PropertyUsers from './PropertyUsers';\r\nimport PropertyPets from '../PropertyPets';\r\nimport PropertyVehicles from '../PropertyVehicles';\r\nimport PropertyContact from './PropertyContact';\r\nimport UserForgotPassword from '../UserForgotPassword';\r\nimport LoginFormPopup from '../LoginForm/LoginFormPopup';\r\nimport RequiredTasks from './RequiredTasks';\r\nimport UserPropertySelect from '../UserPropertySelect';\r\nimport PropertyCalendar from '../PropertyCalendar';\r\nimport SCPropertyDashboard from './SCPropertyDashboard';\r\n\r\nimport * as webSocketActions from '../../redux/actions/webSocketActions';\r\nimport * as serviceAddressActions from '../../redux/actions/serviceAddressActions';\r\nimport * as userAuthActions from '../../redux/actions/userAuthActions';\r\nimport * as residentOnboardingActions from '../../redux/actions/residentOnboardingActions';\r\n\r\nimport { setSelectedResident } from '../UserPropertySelect';\r\n\r\nimport {\r\n QontoConnector,\r\n QontoStepIconRoot,\r\n QontoStepIcon,\r\n CircularProgressWithLabel,\r\n dayOfWeekList,\r\n businessHourList\r\n} from '../ServiceProfileShared/config';\r\nimport StepServicesRequired from '../ServiceProfileShared/StepServicesRequired';\r\nimport StepInternetOptions from '../ServiceProfileShared/StepInternetOptions';\r\nimport StepRentersInsurance from '../ServiceProfileShared/StepRentersInsurance';\r\nimport StepSchools from '../ServiceProfileShared/StepSchools';\r\n\r\nimport RadioOption from '../ServiceProfileShared/RadioOption';\r\nimport ProofOfServiceOption from '../ServiceProfileShared/ProofOfServiceOption';\r\n\r\nimport OtherPartnerField from './OtherPartnerField';\r\n\r\nimport ResidentInternetHeader from '../ResidentInternetHeader';\r\n\r\nfunction PropertyInfoEdit({\r\n serviceProfile,\r\n setServiceProfile,\r\n stateList,\r\n siteConfig\r\n}) {\r\n return (\r\n <>\r\n

    Please enter or confirm the following about your property.

    \r\n\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n ManagementCompanyEntered: event.target.value\r\n }\r\n })\r\n }\r\n fullWidth\r\n />\r\n\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n PropertyNameEntered: event.target.value\r\n }\r\n })\r\n }\r\n fullWidth\r\n />\r\n\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n PropertyAddressEntered: event.target.value\r\n }\r\n })\r\n }\r\n fullWidth\r\n />\r\n\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n PropertyCityEntered: event.target.value\r\n }\r\n })\r\n }\r\n className=\"city\"\r\n fullWidth\r\n />\r\n\r\n \r\n State\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n PropertyStateEntered: event.target.value\r\n }\r\n })\r\n }>\r\n {stateList.map((state) => (\r\n {state}\r\n ))}\r\n \r\n \r\n\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n PropertyZipEntered: event.target.value\r\n }\r\n })\r\n }\r\n className=\"zip\"\r\n type=\"number\"\r\n />\r\n\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n PropertyPhoneEntered: event.target.value\r\n }\r\n })\r\n }>\r\n {() => (\r\n \r\n )}\r\n \r\n\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n UnitCountEntered: event.target.value\r\n }\r\n })\r\n }\r\n type=\"number\"\r\n className=\"unit-count\"\r\n />\r\n\r\n

    \r\n Onsite Contact - who should {siteConfig.brand} contact if we have any\r\n questions regarding this property?\r\n

    \r\n\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n OnsiteContactFirstName: event.target.value\r\n }\r\n })\r\n }\r\n fullWidth\r\n />\r\n\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n OnsiteContactLastName: event.target.value\r\n }\r\n })\r\n }\r\n fullWidth\r\n />\r\n\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n OnsiteContactTitle: event.target.value\r\n }\r\n })\r\n }\r\n fullWidth\r\n />\r\n\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n OnsiteContactEmail: event.target.value\r\n }\r\n })\r\n }\r\n type=\"email\"\r\n fullWidth\r\n />\r\n\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n OnsiteContactPhone: event.target.value\r\n }\r\n })\r\n }>\r\n {() => (\r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n\r\nfunction StorageParkingOptions({ setProviderServiceValue, providerService }) {\r\n return (\r\n
    \r\n
    \r\n

    Storage - Parking

    \r\n \r\n Does your community offer additional Storage Units, Garages or Parking\r\n Spaces for rent? If you select YES below, we'll add a note to the\r\n resident dashboard letting residents know how to contact the property\r\n directly, should they need any of these.\r\n \r\n
    \r\n \r\n\r\n \r\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 function PropertyHeader({\r\n property,\r\n isCompleted,\r\n activeRoute,\r\n updateRoute,\r\n setShowRestoreDefaults,\r\n getPropertyName,\r\n searchString,\r\n setSearchString,\r\n siteConfig,\r\n setShowPropertySelect,\r\n profileKey,\r\n goToResidentDashboard,\r\n userHasAccess,\r\n leftTab,\r\n rightTab,\r\n tabCounts,\r\n serviceProfile,\r\n userIsReadOnly,\r\n authUser\r\n}) {\r\n return (\r\n <>\r\n \r\n {/* setPropertyInfoEditMode(true)}>\r\n \r\n */}\r\n\r\n
    \r\n updateRoute('/property-contact')}>\r\n \r\n \r\n \r\n \r\n
    \r\n\r\n {activeRoute === '/property-setup' ? (\r\n <>\r\n {/* setShowRestoreDefaults('default')}>\r\n Restore Defaults\r\n */}\r\n\r\n {userHasAccess() ? (\r\n setShowRestoreDefaults('clear')}>\r\n Clear Form\r\n \r\n ) : null}\r\n \r\n ) : null}\r\n
    \r\n
    \r\n {property && property.PropertyID ? (\r\n <>\r\n {(isCompleted || siteConfig.id === 'sc') && userHasAccess() ? (\r\n <>\r\n {!userIsReadOnly() &&\r\n (siteConfig.id === 'mi' || authUser.User.IsAdmin) ? (\r\n <>\r\n {\r\n updateRoute('/property-users');\r\n }}>\r\n User Access Controls\r\n \r\n\r\n {siteConfig.id === 'mi' ? (\r\n {\r\n updateRoute('/property-setup');\r\n }}>\r\n Edit Property Setup\r\n \r\n ) : (\r\n {\r\n updateRoute('/property-setup');\r\n }}>\r\n View Property Dashboard\r\n \r\n )}\r\n \r\n ) : null}\r\n\r\n {siteConfig.id === 'mi' ? (\r\n {\r\n goToResidentDashboard();\r\n }}>\r\n View Resident Dashboard\r\n \r\n ) : null}\r\n \r\n ) : activeRoute !== '/property-setup' ? (\r\n {\r\n updateRoute('/property-setup');\r\n }}>\r\n \r\n Back\r\n \r\n ) : null}\r\n \r\n ) : null}\r\n
    \r\n\r\n
    \r\n

    {getPropertyName ? getPropertyName() : property.PropertyName}

    \r\n {property.PropertyID ? (\r\n
    \r\n {property.Address}, {property.City}, {property.State}{' '}\r\n {property.Zip}\r\n
    \r\n ) : null}\r\n
    \r\n \r\n\r\n
    \r\n \r\n This section of {siteConfig.brand} is optimized to view on an office\r\n PC with a screen size of 1024px or greater. Please use a larger screen\r\n or desktop computer.\r\n \r\n
    \r\n\r\n {isCompleted && userHasAccess() && siteConfig.id === 'mi' ? (\r\n
    \r\n {leftTab ? (\r\n updateRoute(leftTab.route)}>\r\n {leftTab.label}\r\n {tabCounts && tabCounts[leftTab.route] ? (\r\n \r\n {tabCounts[leftTab.route]}\r\n \r\n ) : null}\r\n \r\n ) : null}\r\n\r\n {rightTab ? (\r\n updateRoute(rightTab.route)}>\r\n {rightTab.label}\r\n\r\n {tabCounts && tabCounts[rightTab.route] ? (\r\n \r\n {tabCounts[rightTab.route]}\r\n \r\n ) : null}\r\n \r\n ) : null}\r\n\r\n {\r\n updateRoute(newValue);\r\n }}\r\n centered\r\n sx={{ margin: 'auto' }}>\r\n \r\n {'5-day Snapshot'}\r\n {tabCounts && tabCounts['/property-events'] ? (\r\n \r\n {tabCounts['/property-events']}\r\n \r\n ) : null}\r\n \r\n }\r\n value={'/property-events'}\r\n />\r\n \r\n {siteConfig.brand + ' Dashboard'}\r\n {tabCounts && tabCounts['/property-onboarding'] ? (\r\n \r\n {tabCounts['/property-onboarding']}\r\n \r\n ) : null}\r\n \r\n }\r\n value={'/property-onboarding'}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n placeholder={'Search'}\r\n value={searchString}\r\n onChange={(event) => setSearchString(event.target.value)}\r\n />\r\n \r\n }\r\n value={activeRoute}\r\n />\r\n \r\n
    \r\n ) : null}\r\n \r\n );\r\n}\r\n\r\nfunction PropertyProfile({\r\n actions,\r\n serviceAddress,\r\n siteConfig,\r\n webSocket,\r\n stateList,\r\n authUser\r\n}) {\r\n const loadProfileInitted = useRef();\r\n const scrollPositionInitted = useRef();\r\n const [activeRoute, setActiveRoute] = useState(dataApi.getCurrentRoute());\r\n const profileKey = useQueryParam('property', null);\r\n const [propertyProfile, setPropertyProfile] = useState(null);\r\n const [activeStep, setActiveStep] = React.useState(null);\r\n const [serviceProfile, setServiceProfile] = useState(null);\r\n const saveTimeout = useRef();\r\n const initted = useRef();\r\n const [isCompleted, setIsCompleted] = useState(false);\r\n const [justCompleted, setJustCompleted] = useState(false);\r\n const [alreadyCompleted, setAlreadyCompleted] = useState(false);\r\n\r\n const [propertyInfoEditMode, setPropertyInfoEditMode] = useState(null);\r\n const [showRestoreDefaults, setShowRestoreDefaults] = useState(null);\r\n const [searchString, setSearchString] = useState(null);\r\n const [userError, setUserError] = useState(null);\r\n const [showPasswordHelp, setShowPasswordHelp] = useState(null);\r\n const [showLoginForm, setShowLoginForm] = useState(null);\r\n const [showPropertySelect, setShowPropertySelect] = useState(null);\r\n\r\n const serviceProfileLoaded = useRef();\r\n const changesMade = useRef();\r\n const [leftTab, setLeftTab] = useState(null);\r\n const [rightTab, setRightTab] = useState(null);\r\n const [tabCounts, setTabCounts] = useState(null);\r\n\r\n useEffect(() => {\r\n if (\r\n profileKey &&\r\n webSocket.connected &&\r\n loadProfileInitted.current !== profileKey\r\n ) {\r\n loadProfileInitted.current = profileKey;\r\n actions.clearResidentOnboarding();\r\n loadPropertyProfile();\r\n }\r\n }, [profileKey, webSocket]);\r\n\r\n useEffect(() => {\r\n if (serviceProfile) {\r\n if (serviceProfileLoaded.current) {\r\n changesMade.current = true;\r\n }\r\n\r\n serviceProfileLoaded.current = true;\r\n }\r\n\r\n if (serviceProfile && serviceProfile.Header) {\r\n setRightTab(\r\n serviceProfile.Header.UseNoticeProcess\r\n ? { label: 'On Notice', route: '/property-notice' }\r\n : null\r\n );\r\n }\r\n\r\n if (serviceProfile && serviceProfile.Header) {\r\n setLeftTab(\r\n serviceProfile.Header.UseApplicantProcess\r\n ? { label: 'Applicants', route: '/property-applicants' }\r\n : null\r\n );\r\n }\r\n\r\n console.log('serviceProfile', serviceProfile);\r\n }, [serviceProfile]);\r\n\r\n useEffect(() => {\r\n if (propertyProfile) {\r\n if (propertyProfile.ServiceProfile) {\r\n setServiceProfile({\r\n ...propertyProfile.ServiceProfile,\r\n ServiceSectionList: propertyProfile.ServiceProfile.ServiceSectionList\r\n ? propertyProfile.ServiceProfile.ServiceSectionList.map(\r\n (serviceSection) => {\r\n return {\r\n ...serviceSection,\r\n ProviderServiceList: serviceSection.ProviderServiceList.map(\r\n (providerService) => {\r\n const preferredProvider =\r\n serviceSection.ProviderList.filter(\r\n (provider) =>\r\n provider.ProviderServiceID ===\r\n providerService.ProviderServiceID &&\r\n provider.IsProviderPreferred\r\n )[0];\r\n\r\n return {\r\n ...providerService,\r\n preferredProviderID: preferredProvider\r\n ? preferredProvider.ProviderID\r\n : providerService.ProviderNameEntered\r\n ? 0\r\n : null\r\n };\r\n }\r\n )\r\n };\r\n }\r\n )\r\n : []\r\n });\r\n }\r\n\r\n const _isCompleted =\r\n propertyProfile &&\r\n propertyProfile.ServiceProfile &&\r\n propertyProfile.ServiceProfile.Header &&\r\n propertyProfile.ServiceProfile.Header.ServiceProfileStatusID > 1;\r\n\r\n setIsCompleted(_isCompleted);\r\n setAlreadyCompleted(_isCompleted);\r\n\r\n if (propertyProfile.Property) {\r\n if (typeof window !== 'undefined') {\r\n document.title =\r\n (getPropertyName() ? getPropertyName() : 'Custom Property Setup') +\r\n ' - MovingIN';\r\n }\r\n }\r\n\r\n if (\r\n propertyProfile &&\r\n propertyProfile.ServiceProfile &&\r\n propertyProfile.ServiceProfile.Header &&\r\n propertyProfile.ServiceProfile.Header.ActiveStep !== null &&\r\n propertyProfile.ServiceProfile.Header.ActiveStep >= 0 &&\r\n propertyProfile.ServiceProfile.ServiceSectionList &&\r\n propertyProfile.ServiceProfile.Header.ActiveStep <\r\n propertyProfile.ServiceProfile.ServiceSectionList.length &&\r\n propertyProfile.Property &&\r\n propertyProfile.Property.UserHasAccess\r\n ) {\r\n setActiveStep(propertyProfile.ServiceProfile.Header.ActiveStep);\r\n }\r\n }\r\n }, [propertyProfile]);\r\n\r\n useEffect(() => {\r\n if (activeStep !== null) {\r\n if (scrollPositionInitted.current) {\r\n scrollToTop();\r\n } else {\r\n scrollPositionInitted.current = true;\r\n }\r\n }\r\n }, [activeStep]);\r\n\r\n useEffect(() => {\r\n if (serviceProfile) {\r\n initted.current = true;\r\n }\r\n }, [serviceProfile]);\r\n\r\n useEffect(() => {\r\n if (\r\n siteConfig.id !== 'mi' &&\r\n authUser &&\r\n authUser.User &&\r\n authUser.User.Email === 'demo@movingin.com'\r\n ) {\r\n actions.logOutUser();\r\n actions.pageLoading(true, 'Logging out...');\r\n window.location.reload();\r\n } else if (authUser && (!authUser.User || !authUser.User.Token)) {\r\n setActiveStep(null);\r\n }\r\n }, [authUser]);\r\n\r\n useEffect(() => {\r\n window.addEventListener('beforeunload', warnIfChangesNotSaved);\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (\r\n activeRoute === '/property-setup' &&\r\n propertyProfile &&\r\n propertyProfile.ServiceProfile &&\r\n propertyProfile.ServiceProfile.Header &&\r\n !propertyProfile.ServiceProfile.Header.ForEditing\r\n ) {\r\n loadPropertyProfile();\r\n }\r\n }, [activeRoute]);\r\n\r\n function warnIfChangesNotSaved(ev) {\r\n if (\r\n changesMade &&\r\n changesMade.current &&\r\n activeRoute === '/property-setup'\r\n ) {\r\n ev.preventDefault();\r\n return (ev.returnValue =\r\n \"Your changes haven't been saved. Are you sure you want to continue?\");\r\n } else {\r\n window.removeEventListener('beforeunload', warnIfChangesNotSaved);\r\n }\r\n }\r\n\r\n function loadPropertyProfile() {\r\n changesMade.current = false;\r\n serviceProfileLoaded.current = false;\r\n\r\n actions.pageLoading(true, 'Loading property settings...');\r\n\r\n return propertyProfileApi\r\n .getPropertyProfile(profileKey, activeRoute === '/property-setup')\r\n .then((_propertyProfile) => {\r\n setPropertyProfile(_propertyProfile);\r\n actions.pageLoading(false);\r\n if (\r\n _propertyProfile.ServiceProfile &&\r\n _propertyProfile.ServiceProfile.Header &&\r\n _propertyProfile.ServiceProfile.Header.Address\r\n ) {\r\n dataApi.setCookie(\r\n 'mi-profile-key',\r\n profileKey + ':' + _propertyProfile.ServiceProfile.Header.Address\r\n );\r\n }\r\n\r\n return _propertyProfile;\r\n });\r\n }\r\n\r\n function scrollToTop() {\r\n const element = document.getElementsByClassName('page')[0];\r\n if (element) {\r\n dataApi.scrollToElementInPage(element, 0, true);\r\n }\r\n }\r\n\r\n function setProviderServiceValue(\r\n providerService,\r\n options,\r\n skipActiveStepCheck\r\n ) {\r\n setServiceProfile({\r\n ...serviceProfile,\r\n ServiceSectionList: serviceProfile.ServiceSectionList.map(\r\n (step, stepIndex) =>\r\n stepIndex === activeStep || skipActiveStepCheck\r\n ? {\r\n ...step,\r\n ProviderServiceList: step.ProviderServiceList.map(\r\n (_providerService) =>\r\n _providerService.ProviderServiceID ===\r\n providerService.ProviderServiceID\r\n ? {\r\n ..._providerService,\r\n ...options\r\n }\r\n : { ..._providerService }\r\n )\r\n }\r\n : { ...step }\r\n )\r\n });\r\n }\r\n\r\n function setProviderValue(provider, options) {\r\n setServiceProfile({\r\n ...serviceProfile,\r\n ServiceSectionList: serviceProfile.ServiceSectionList.map(\r\n (step, stepIndex) =>\r\n stepIndex === activeStep\r\n ? {\r\n ...step,\r\n ProviderList: step.ProviderList.map((_provider) =>\r\n _provider.ProviderID === provider.ProviderID\r\n ? {\r\n ..._provider,\r\n ...options\r\n }\r\n : { ..._provider }\r\n )\r\n }\r\n : { ...step }\r\n )\r\n });\r\n }\r\n\r\n function saveServiceProfile(step, isSubmit) {\r\n if (saveTimeout.current) {\r\n clearTimeout(saveTimeout.current);\r\n }\r\n\r\n propertyProfileApi.savePropertyProfile(\r\n profileKey,\r\n {\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n ActiveStep: step\r\n },\r\n ServiceSectionList: serviceProfile.ServiceSectionList.map(\r\n (serviceSection) => {\r\n return {\r\n ...serviceSection,\r\n ProviderList: serviceSection.ProviderList.map((provider) =>\r\n serviceSection.ProviderServiceList.filter(\r\n (providerService) =>\r\n serviceSection.ServiceSectionID !== 2 &&\r\n providerService.preferredProviderID === provider.ProviderID\r\n ).length\r\n ? { ...provider, IsProviderPreferred: 1 }\r\n : {\r\n ...provider,\r\n IsProviderPreferred:\r\n serviceSection.ServiceSectionID === 2\r\n ? provider.IsProviderPreferred\r\n : null\r\n }\r\n )\r\n };\r\n }\r\n )\r\n },\r\n isSubmit\r\n );\r\n }\r\n\r\n function restrictNumber(event) {\r\n switch (event.keyCode) {\r\n case 8: //Backspace\r\n case 46: //Delete\r\n break;\r\n default:\r\n if (isNaN(event.key)) {\r\n event.preventDefault();\r\n }\r\n break;\r\n }\r\n }\r\n\r\n function formatThousands(value) {\r\n return value ? Number(value.split(',').join('')).toLocaleString() : null;\r\n }\r\n\r\n function getPropertyName() {\r\n if (\r\n serviceProfile &&\r\n serviceProfile.Header &&\r\n serviceProfile.Header.PropertyNameEntered\r\n ) {\r\n return serviceProfile.Header.PropertyNameEntered;\r\n } else if (propertyProfile && propertyProfile.Property) {\r\n return propertyProfile.Property.PropertyName;\r\n }\r\n return '';\r\n }\r\n\r\n function getUnitCount() {\r\n if (\r\n serviceProfile &&\r\n serviceProfile.Header &&\r\n serviceProfile.Header.UnitCountEntered\r\n ) {\r\n return serviceProfile.Header.UnitCountEntered;\r\n } else if (propertyProfile && propertyProfile.Property.UnitCount) {\r\n return propertyProfile.Property.UnitCount;\r\n }\r\n return '';\r\n }\r\n\r\n function getServiceProofRequiredProviderService() {\r\n let _proofRequiredProviderServiceList = [];\r\n if (serviceProfile && serviceProfile.ServiceSectionList) {\r\n serviceProfile.ServiceSectionList.map((serviceSection) => {\r\n _proofRequiredProviderServiceList =\r\n _proofRequiredProviderServiceList.concat(\r\n serviceSection.ProviderServiceList.filter(\r\n (providerService) => providerService.IsServiceProofRequired\r\n )\r\n );\r\n });\r\n }\r\n return _proofRequiredProviderServiceList;\r\n }\r\n\r\n function updateRoute(newRoute) {\r\n setActiveRoute(newRoute);\r\n\r\n window.history.pushState({}, '', newRoute + '?property=' + profileKey);\r\n }\r\n\r\n function logUserIn(email, password) {\r\n setUserError(null);\r\n logIn(email, password).then((result) => {\r\n if (result && result.User && result.User.Token) {\r\n actions.userLoggedIn(result);\r\n if (serviceProfile.Header.ActiveStep) {\r\n setActiveStep(serviceProfile.Header.ActiveStep);\r\n } else {\r\n setActiveStep(0);\r\n }\r\n } else {\r\n setUserError(<>Invalid email address or password.);\r\n }\r\n });\r\n }\r\n\r\n function userHasAccess() {\r\n return (\r\n authUser &&\r\n authUser.User &&\r\n ((authUser.PropertyList &&\r\n authUser.PropertyList.filter(\r\n (_property) => _property.ProfileKey === profileKey\r\n ).length !== 0) ||\r\n authUser.User.IsAdmin)\r\n );\r\n }\r\n\r\n function userIsReadOnly() {\r\n return (\r\n authUser &&\r\n authUser.User &&\r\n authUser.User.Token &&\r\n authUser.PropertyList &&\r\n !authUser.PropertyList.filter(\r\n (_property) =>\r\n _property.ProfileKey === profileKey && _property.UserLevelID >= 9\r\n ).length &&\r\n (!propertyProfile.Property ||\r\n !propertyProfile.Property.UserHasAccess ||\r\n authUser.PropertyList.filter(\r\n (_property) =>\r\n _property.ProfileKey === profileKey && _property.UserLevelID < 9\r\n ).length)\r\n );\r\n }\r\n\r\n function goToResidentDashboard() {\r\n if (\r\n authUser &&\r\n authUser.User &&\r\n authUser.PropertyList &&\r\n authUser.PropertyList.filter(\r\n (property) =>\r\n property.PropertyID === serviceProfile.Header.PropertyID &&\r\n property.UnitCount > 0\r\n ).length\r\n ) {\r\n setShowPropertySelect(activeRoute + '?property=' + profileKey);\r\n } else {\r\n dataApi.setSessionStorage(\r\n 'mi-last-route',\r\n activeRoute + '?property=' + profileKey\r\n );\r\n\r\n setSelectedResident(\r\n actions.pageLoading,\r\n actions.serviceAddressUpdated,\r\n null,\r\n null,\r\n propertyProfile.ServiceProfile.SampleResident.Address,\r\n propertyProfile.ServiceProfile.SampleResident.Secondary,\r\n propertyProfile.ServiceProfile.SampleResident.City,\r\n propertyProfile.ServiceProfile.SampleResident.State,\r\n propertyProfile.ServiceProfile.SampleResident.Zip,\r\n propertyProfile.ServiceProfile.SampleResident.UniqueAddressId,\r\n null,\r\n null,\r\n null,\r\n null,\r\n null,\r\n propertyProfile.ServiceProfile.SampleResident.ResidentID,\r\n propertyProfile.ServiceProfile.SampleResident.FirstName,\r\n propertyProfile.ServiceProfile.SampleResident.LastName,\r\n propertyProfile.ServiceProfile.SampleResident.Email,\r\n propertyProfile.ServiceProfile.SampleResident.Phone,\r\n propertyProfile.ServiceProfile.SampleResident.DateLeaseStart,\r\n propertyProfile.ServiceProfile.SampleResident.TenantId,\r\n actions.clearResidentOnboarding\r\n );\r\n\r\n // let sampleAddress = {\r\n // Address: propertyProfile.ServiceProfile.Header.Address,\r\n // Secondary: propertyProfile.ServiceProfile.Header.Secondary,\r\n // City: propertyProfile.ServiceProfile.Header.City,\r\n // State: propertyProfile.ServiceProfile.Header.State,\r\n // Zip: propertyProfile.ServiceProfile.Header.Zip,\r\n // ServiceAddressSourceID: 2\r\n // };\r\n\r\n // if (propertyProfile.ServiceProfile.SampleResident) {\r\n // sampleAddress.Address =\r\n // propertyProfile.ServiceProfile.SampleResident.Address;\r\n // sampleAddress.Secondary =\r\n // propertyProfile.ServiceProfile.SampleResident.Secondary;\r\n // sampleAddress.City = propertyProfile.ServiceProfile.SampleResident.City;\r\n // sampleAddress.State =\r\n // propertyProfile.ServiceProfile.SampleResident.State;\r\n // sampleAddress.Zip = propertyProfile.ServiceProfile.SampleResident.Zip;\r\n // sampleAddress.ServiceAddressSourceID = 10;\r\n // sampleAddress.UniqueAddressId =\r\n // propertyProfile.ServiceProfile.SampleResident.UniqueAddressId;\r\n\r\n // sampleAddress.Previous_Address =\r\n // propertyProfile.ServiceProfile.SampleResident.Previous_Address;\r\n\r\n // sampleAddress.Previous_Secondary =\r\n // propertyProfile.ServiceProfile.SampleResident.Previous_Secondary;\r\n\r\n // sampleAddress.Previous_City =\r\n // propertyProfile.ServiceProfile.SampleResident.Previous_City;\r\n // sampleAddress.Previous_State =\r\n // propertyProfile.ServiceProfile.SampleResident.Previous_State;\r\n // sampleAddress.Previous_Zip =\r\n // propertyProfile.ServiceProfile.SampleResident.Previous_Zip;\r\n // }\r\n\r\n // dataApi\r\n // .saveServiceAddress(\r\n // sampleAddress.Address,\r\n // sampleAddress.Secondary,\r\n // sampleAddress.City,\r\n // sampleAddress.State,\r\n // sampleAddress.Zip,\r\n // sampleAddress.ServiceAddressSourceID,\r\n // sampleAddress.UniqueAddressId,\r\n // sampleAddress.Previous_Address,\r\n // sampleAddress.Previous_Secondary,\r\n // sampleAddress.Previous_City,\r\n // sampleAddress.Previous_State,\r\n // sampleAddress.Previous_Zip\r\n // )\r\n // .then((result) => {\r\n // //TODO COPY OVER RESIDENT INFORMATION BEFORE CONTINUE\r\n // if (result && result.Address) {\r\n // let _serviceAddress = { ...result };\r\n\r\n // if (propertyProfile.ServiceProfile.SampleResident) {\r\n // _serviceAddress = {\r\n // ..._serviceAddress,\r\n // Address: {\r\n // ..._serviceAddress.Address,\r\n // ResidentID:\r\n // propertyProfile.ServiceProfile.SampleResident.ResidentID,\r\n // FirstName:\r\n // propertyProfile.ServiceProfile.SampleResident.FirstName,\r\n // LastName:\r\n // propertyProfile.ServiceProfile.SampleResident.LastName,\r\n // DefaultStartDate:\r\n // propertyProfile.ServiceProfile.SampleResident\r\n // .DateLeaseStart,\r\n // Email: propertyProfile.ServiceProfile.SampleResident.Email,\r\n // Phone: propertyProfile.ServiceProfile.SampleResident.Phone,\r\n // Previous_Address:\r\n // propertyProfile.ServiceProfile.SampleResident\r\n // .Previous_Address,\r\n // Previous_Secondary:\r\n // propertyProfile.ServiceProfile.SampleResident\r\n // .Previous_Secondary,\r\n // Previous_City:\r\n // propertyProfile.ServiceProfile.SampleResident.Previous_City,\r\n // Previous_State:\r\n // propertyProfile.ServiceProfile.SampleResident\r\n // .Previous_State,\r\n // Previous_Zip:\r\n // propertyProfile.ServiceProfile.SampleResident.Previous_Zip\r\n // }\r\n // };\r\n // }\r\n\r\n // actions.serviceAddressUpdated(_serviceAddress);\r\n // }\r\n\r\n // actions.pageLoading(false);\r\n\r\n // navigate('/dashboard');\r\n // });\r\n }\r\n }\r\n\r\n function isOnboardingRoute() {\r\n return (\r\n activeRoute === '/property-onboarding' ||\r\n activeRoute === '/property-applicants' ||\r\n activeRoute === '/property-notice' ||\r\n activeRoute === '/property-events'\r\n );\r\n }\r\n\r\n return (\r\n \r\n {' '}\r\n {propertyProfile &&\r\n propertyProfile.Property &&\r\n serviceProfile &&\r\n serviceProfile.ServiceSectionList &&\r\n serviceProfile.Header ? (\r\n <>\r\n
    \r\n {/* {getPropertyName() && !propertyInfoEditMode ? (\r\n {\r\n return {\r\n url:\r\n authUser.links.apiUrl +\r\n 'FileUpload/ImportOffers?updatingUser=' +\r\n authUser.email\r\n };\r\n }}\r\n onChangeStatus={(upload, status) => {\r\n console.log(status);\r\n if (status == 'done') {\r\n setProgressMessage(null);\r\n const fileUploadResponse = JSON.parse(upload.xhr.response);\r\n upload.remove();\r\n if (fileUploadResponse.ImportedOfferCount) {\r\n setSuccess(fileUploadResponse);\r\n if (offersImported) {\r\n offersImported();\r\n }\r\n } else {\r\n setError(fileUploadResponse.ResultMessage);\r\n }\r\n } else if (status === 'uploading') {\r\n setError('');\r\n setSuccess(null);\r\n setProgressMessage('Uploading file...');\r\n } else if (status === 'aborted') {\r\n //toast(`${meta.name}, upload failed...`);\r\n }\r\n }}\r\n maxFiles={1}\r\n accept=\"image/*\"\r\n multiple={false}\r\n canCancel={false}\r\n inputContent={\r\n <>\r\n Upload a photo of {getPropertyName()} \r\n \r\n }\r\n />\r\n ) : null} */}\r\n
    \r\n\r\n
    \r\n
    \r\n {getPropertyName() && !propertyInfoEditMode ? (\r\n \r\n ) : null}\r\n\r\n {activeRoute === '/property-setup' &&\r\n (activeStep !== null || isCompleted) &&\r\n !userIsReadOnly() &&\r\n userHasAccess() &&\r\n siteConfig.id === 'mi' ? (\r\n \r\n }>\r\n {serviceProfile.ServiceSectionList.map(\r\n (step, stepIndex) => (\r\n {\r\n setJustCompleted(false);\r\n setIsCompleted(false);\r\n setActiveStep(stepIndex);\r\n }}\r\n className={\r\n activeStep === stepIndex && !isCompleted\r\n ? 'active'\r\n : ''\r\n }>\r\n \r\n {step.ServiceSectionName}\r\n \r\n \r\n )\r\n )}\r\n \r\n \r\n ) : null}\r\n\r\n {activeRoute !== '/property-users' && siteConfig.id !== 'mi' ? (\r\n \r\n ) : userHasAccess() && isOnboardingRoute() ? (\r\n \r\n ) : userHasAccess() && activeRoute === '/property-calendars' ? (\r\n \r\n ) : userHasAccess() && activeRoute === '/property-users' ? (\r\n \r\n ) : activeRoute === '/property-contact' ? (\r\n \r\n ) : userHasAccess() && activeRoute === '/property-vehicles' ? (\r\n \r\n ) : userHasAccess() && activeRoute === '/property-pets' ? (\r\n \r\n ) : justCompleted ? (\r\n
    \r\n {!alreadyCompleted ? : null}\r\n

    \r\n Your changes to the Property Profile have been saved. If you\r\n would like to make additional edits, just click one of the\r\n sections above to get started. If you are done, you can\r\n choose from one of the options below.\r\n

    \r\n {\r\n goToResidentDashboard();\r\n }}\r\n style={{ marginBottom: '10px' }}>\r\n Go to Resident Dashboard to View Change\r\n \r\n
    \r\n updateRoute('/property-events')}\r\n style={{ marginBottom: '10px' }}>\r\n Return to {siteConfig.brand} Dashboard\r\n \r\n
    \r\n ) : userIsReadOnly() ? (\r\n \r\n You do not have Account Owner access to this property.\r\n \r\n ) : isCompleted && userHasAccess() ? (\r\n
    \r\n

    \r\n You can edit your existing Property Profile by clicking the\r\n section of interest above.\r\n

    \r\n updateRoute('/property-events')}\r\n style={{ marginBottom: '10px' }}>\r\n OR, return to {siteConfig.brand} Dashboard{' '}\r\n \r\n
    \r\n ) : activeStep !== null && !propertyInfoEditMode ? (\r\n <>\r\n {serviceProfile.ServiceSectionList[activeStep] &&\r\n serviceProfile.ServiceSectionList[activeStep]\r\n .ProviderServiceList ? (\r\n serviceProfile.ServiceSectionList[activeStep]\r\n .ServiceSectionID === 1 ? (\r\n
    \r\n \r\n
    \r\n ) : serviceProfile.ServiceSectionList[activeStep]\r\n .ServiceSectionID === 2 ? (\r\n
    \r\n \r\n
    \r\n ) : serviceProfile.ServiceSectionList[activeStep]\r\n .ServiceSectionID === 18 ? (\r\n
    \r\n
    \r\n

    \r\n Property Partners - Based on your settings below,\r\n this is what your residents will see:\r\n

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

    Property Level Resident Services

    \r\n\r\n {serviceProfile.Header.DisplayResidentPortalLink ? (\r\n \r\n
    \r\n
    \r\n \r\n \r\n {getPropertyName()}\r\n \r\n\r\n
    \r\n Resident Portal\r\n
    \r\n Contact the Property\r\n
    \r\n Pay Rent\r\n
    \r\n Request Service\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n ) : null}\r\n\r\n {serviceProfile.ServiceSectionList[\r\n activeStep\r\n ].ProviderServiceList.filter(\r\n (providerService) =>\r\n providerService.ProviderServiceCategoryID === 11\r\n ).map((providerService, providerServiceIndex) =>\r\n serviceProfile.ServiceSectionList[\r\n activeStep\r\n ].ProviderList.filter(\r\n (provider) =>\r\n provider.ProviderServiceID ===\r\n providerService.ProviderServiceID &&\r\n provider.IsProviderAvailable\r\n ).map((provider) => (\r\n \r\n
    \r\n
    \r\n \r\n {provider.LogoFile ? (\r\n \r\n ) : (\r\n {provider.ProviderName}\r\n )}\r\n {provider.Description ? (\r\n
    \r\n ) : null}\r\n \r\n
    \r\n
    \r\n
    \r\n ))\r\n )}\r\n
    \r\n\r\n \r\n Does your community partner with any of the\r\n following service providers? If yes, click each\r\n provider below and we'll add them to the bottom of\r\n the resident dashboard.\r\n \r\n\r\n {serviceProfile.Header.ResidentPortalUrl ? (\r\n
    \r\n

    Resident Portal

    \r\n \r\n
    \r\n
    \r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n DisplayResidentPortalLink:\r\n !serviceProfile.Header\r\n .DisplayResidentPortalLink\r\n }\r\n })\r\n }>\r\n \r\n {getPropertyName()}\r\n \r\n\r\n
    \r\n Resident Portal\r\n
    \r\n Contact the Property\r\n
    \r\n Pay Rent\r\n
    \r\n Request Service\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n ) : null}\r\n\r\n {serviceProfile.ServiceSectionList[\r\n activeStep\r\n ].ProviderServiceList.filter(\r\n (providerService) =>\r\n providerService.ProviderServiceCategoryID === 11\r\n ).map((providerService, providerServiceIndex) => (\r\n
    \r\n

    {providerService.ProviderServiceName}

    \r\n {serviceProfile.ServiceSectionList[\r\n activeStep\r\n ].ProviderList.filter(\r\n (provider) =>\r\n provider.ProviderServiceID ===\r\n providerService.ProviderServiceID\r\n ).map((provider) => (\r\n \r\n
    \r\n
    \r\n \r\n setProviderValue(provider, {\r\n IsProviderAvailable:\r\n !provider.IsProviderAvailable\r\n })\r\n }>\r\n {provider.LogoFile ? (\r\n \r\n ) : (\r\n {provider.ProviderName}\r\n )}\r\n {provider.Description ? (\r\n
    \r\n ) : null}\r\n \r\n
    \r\n
    \r\n \r\n ))}\r\n \r\n ))}\r\n\r\n \r\n\r\n {serviceProfile.Header.PropertyPartnerOther1 ? (\r\n \r\n ) : null}\r\n\r\n {serviceProfile.Header.PropertyPartnerOther2 ? (\r\n \r\n ) : null}\r\n\r\n {serviceProfile.Header.PropertyPartnerOther3 ? (\r\n \r\n ) : null}\r\n\r\n {serviceProfile.Header.PropertyPartnerOther4 ? (\r\n \r\n ) : null}\r\n \r\n \r\n ) : serviceProfile.ServiceSectionList[activeStep]\r\n .ServiceSectionID === 4 ? (\r\n serviceProfile.ServiceSectionList[\r\n activeStep\r\n ].ProviderServiceList.filter(\r\n (providerService) =>\r\n providerService.ProviderServiceID === 37\r\n ).map((providerService, providerServiceIndex) => (\r\n
    \r\n \r\n
    \r\n ))\r\n ) : // : serviceProfile.ServiceSectionList[activeStep]\r\n // .ServiceSectionID === 5 ? (\r\n // serviceProfile.ServiceSectionList[\r\n // activeStep\r\n // ].ProviderServiceList.filter(\r\n // (providerService) =>\r\n // providerService.ProviderServiceID === 20\r\n // ).map((providerService, providerServiceIndex) => (\r\n // \r\n // ))\r\n // )\r\n serviceProfile.ServiceSectionList[activeStep]\r\n .ServiceSectionID === -1 ? (\r\n
    \r\n \r\n
    \r\n ) : serviceProfile.ServiceSectionList[activeStep]\r\n .ServiceSectionID === -2 ? (\r\n \r\n ) : serviceProfile.ServiceSectionList[activeStep]\r\n .ServiceSectionID === -3 ? (\r\n <>\r\n
    \r\n
    \r\n

    Property Overview

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

    How can residents contact the property?

    \r\n\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n PropertyCSEmailEntered: event.target.value\r\n }\r\n })\r\n }\r\n fullWidth\r\n type=\"email\"\r\n />\r\n\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n PropertyCSPhoneEntered: event.target.value\r\n }\r\n })\r\n }>\r\n {() => (\r\n \r\n )}\r\n \r\n\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n ResidentPortalUrl: event.target.value\r\n }\r\n })\r\n }\r\n onBlur={() => {\r\n if (\r\n serviceProfile.Header.ResidentPortalUrl &&\r\n serviceProfile.Header.ResidentPortalUrl.indexOf(\r\n 'http'\r\n ) === -1\r\n ) {\r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n ResidentPortalUrl:\r\n 'https://' +\r\n serviceProfile.Header\r\n .ResidentPortalUrl\r\n }\r\n });\r\n }\r\n }}\r\n placeholder={'https://'}\r\n />\r\n\r\n {serviceProfile.Header.ResidentPortalUrl ? (\r\n
    \r\n \r\n REQUIRED: Test the Resident Portal link by\r\n clicking here to make sure the above link\r\n works and goes where you want it to.\r\n \r\n
    \r\n ) : null}\r\n\r\n {serviceProfile.Header.ResidentPortalUrl ? (\r\n \r\n {\r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n DisplayResidentPortalLink:\r\n event.target.value === 'true'\r\n }\r\n });\r\n }}>\r\n

    \r\n Would you like to display a link to your\r\n resident portal on the resident dashboard?\r\n

    \r\n
    \r\n
    \r\n }\r\n label={'Yes'}\r\n />\r\n }\r\n label={'No'}\r\n />\r\n
    \r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n\r\n {(serviceProfile &&\r\n serviceProfile.Header &&\r\n serviceProfile.Header.UseResidentDashboard) ||\r\n alreadyCompleted\r\n ? [\r\n serviceProfile.ServiceSectionList[activeStep]\r\n .ProviderServiceList[0]\r\n ].map((providerService) => (\r\n \r\n ))\r\n : null}\r\n \r\n ) : null\r\n ) : null}\r\n\r\n
    \r\n {!alreadyCompleted ? (\r\n {\r\n setActiveStep(activeStep - 1);\r\n }}\r\n disabled={!activeStep}>\r\n Back\r\n \r\n ) : null}\r\n\r\n {alreadyCompleted ? (\r\n {\r\n loadPropertyProfile();\r\n }}>\r\n Cancel\r\n \r\n ) : null}\r\n\r\n {\r\n if (\r\n activeStep ===\r\n serviceProfile.ServiceSectionList.length - 1 ||\r\n alreadyCompleted\r\n ) {\r\n setIsCompleted(true);\r\n setJustCompleted(true);\r\n scrollToTop();\r\n } else {\r\n setActiveStep(activeStep + 1);\r\n }\r\n\r\n saveServiceProfile(\r\n activeStep + 1,\r\n activeStep ===\r\n serviceProfile.ServiceSectionList.length - 1\r\n );\r\n\r\n changesMade.current = false;\r\n }}>\r\n {activeStep ===\r\n serviceProfile.ServiceSectionList.length ? (\r\n 'All Done!'\r\n ) : alreadyCompleted ? (\r\n 'Save Changes'\r\n ) : activeStep ===\r\n serviceProfile.ServiceSectionList.length - 1 ? (\r\n 'Submit'\r\n ) : (\r\n <>\r\n Save & Continue {' '}\r\n \r\n )}\r\n \r\n
    \r\n \r\n ) : propertyProfile.Property &&\r\n getPropertyName() &&\r\n !propertyInfoEditMode ? (\r\n <>\r\n
    \r\n

    \r\n Welcome to{' '}\r\n \r\n

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

    \r\n Completing your property profile should only take a few\r\n minutes and will ensure that we have accurate and\r\n up-to-date information about your property.\r\n

    \r\n

    \r\n Should you have any questions or need further assistance,\r\n please don't hesitate to reach out to our support team at\r\n support@movingin.com.\r\n

    \r\n

    \r\n Thank you for choosing us as your partner. We look forward\r\n to enhancing the moving in experience with our services.\r\n

    \r\n\r\n {!authUser || !authUser.User || !authUser.User.Token ? (\r\n <>\r\n

    \r\n {serviceProfile &&\r\n serviceProfile.Header &&\r\n serviceProfile.Header.HasLogin ? (\r\n \r\n To get started, please log in with the password\r\n you previously created using the form below.\r\n \r\n ) : (\r\n \r\n Before we get started, we'll need you to set up an\r\n account. Please create a password and add your\r\n contact info below.\r\n \r\n )}\r\n

    \r\n\r\n
    \r\n {userError ? (\r\n \r\n {userError}\r\n \r\n ) : null}\r\n\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n UpdaterEmail: event.target.value\r\n }\r\n })\r\n }\r\n type=\"email\"\r\n fullWidth\r\n />\r\n\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n UpdaterPassword: event.target.value\r\n }\r\n })\r\n }\r\n helperText={\r\n serviceProfile &&\r\n serviceProfile.Header &&\r\n serviceProfile.Header.HasLogin ? (\r\n <>\r\n setShowPasswordHelp(true)}>\r\n Forgot password?\r\n \r\n\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n HasLogin: false\r\n }\r\n })\r\n }>\r\n Don't have an account?\r\n \r\n \r\n ) : (\r\n <>\r\n setShowLoginForm(true)}>\r\n Already registered?\r\n \r\n {PasswordPolicy}\r\n \r\n )\r\n }\r\n InputProps={{\r\n endAdornment: (\r\n \r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n ShowPassword:\r\n !serviceProfile.Header.ShowPassword\r\n }\r\n })\r\n }>\r\n {serviceProfile.Header.ShowPassword ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n )\r\n }}\r\n fullWidth\r\n />\r\n\r\n {serviceProfile &&\r\n serviceProfile.Header &&\r\n !serviceProfile.Header.HasLogin ? (\r\n <>\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n UpdaterFirstName: event.target.value\r\n }\r\n })\r\n }\r\n fullWidth\r\n />\r\n\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n UpdaterLastName: event.target.value\r\n }\r\n })\r\n }\r\n fullWidth\r\n />\r\n\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n UpdaterTitle: event.target.value\r\n }\r\n })\r\n }\r\n fullWidth\r\n />\r\n\r\n \r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n UpdaterPhone: event.target.value\r\n }\r\n })\r\n }>\r\n {() => (\r\n \r\n )}\r\n \r\n\r\n \r\n {\r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n UpdaterIsOnsiteContact:\r\n event.target.value === 'true',\r\n OnsiteContactFirstName:\r\n event.target.value === 'true'\r\n ? serviceProfile.Header\r\n .UpdaterFirstName\r\n : serviceProfile.Header\r\n .OnsiteContactFirstName,\r\n OnsiteContactLastName:\r\n event.target.value === 'true'\r\n ? serviceProfile.Header\r\n .UpdaterLastName\r\n : serviceProfile.Header\r\n .OnsiteContactLastName,\r\n OnsiteContactTitle:\r\n event.target.value === 'true'\r\n ? serviceProfile.Header.UpdaterTitle\r\n : serviceProfile.Header\r\n .OnsiteContactTitle,\r\n OnsiteContactEmail:\r\n event.target.value === 'true'\r\n ? serviceProfile.Header.UpdaterEmail\r\n : serviceProfile.Header\r\n .OnsiteContactEmail,\r\n OnsiteContactPhone:\r\n event.target.value === 'true'\r\n ? serviceProfile.Header.UpdaterPhone\r\n : serviceProfile.Header\r\n .OnsiteContactPhone\r\n }\r\n });\r\n }}>\r\n }\r\n label={'Yes'}\r\n />\r\n }\r\n label={'No'}\r\n />\r\n

    \r\n Are you the onsite contact for{' '}\r\n {siteConfig.brand}?\r\n

    \r\n \r\n
    \r\n \r\n ) : null}\r\n
    \r\n \r\n ) : (\r\n
    \r\n )}\r\n
    \r\n
    \r\n {\r\n if (userHasAccess()) {\r\n if (serviceProfile.Header.ActiveStep) {\r\n setActiveStep(serviceProfile.Header.ActiveStep);\r\n } else {\r\n setActiveStep(0);\r\n }\r\n } else if (serviceProfile.Header.HasLogin) {\r\n logUserIn(\r\n serviceProfile.Header.UpdaterEmail,\r\n serviceProfile.Header.UpdaterPassword\r\n );\r\n } else {\r\n registerUser(\r\n serviceProfile.Header.UpdaterEmail,\r\n serviceProfile.Header.UpdaterFirstName,\r\n serviceProfile.Header.UpdaterLastName,\r\n serviceProfile.Header.UpdaterPassword,\r\n profileKey\r\n ).then((result) => {\r\n if (result.UserID) {\r\n logUserIn(\r\n serviceProfile.Header.UpdaterEmail,\r\n serviceProfile.Header.UpdaterPassword\r\n );\r\n } else {\r\n setUserError(\r\n <>\r\n A user with the email address you entered\r\n already exists. Please{' '}\r\n {\r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n HasLogin: true\r\n }\r\n });\r\n setUserError(null);\r\n }}>\r\n log in\r\n {' '}\r\n to continue.\r\n \r\n );\r\n }\r\n });\r\n }\r\n }}>\r\n Continue to Property Setup\r\n \r\n \r\n
    \r\n \r\n ) : (\r\n
    \r\n {propertyInfoEditMode ? (\r\n

    Tell us more about this property...

    \r\n ) : (\r\n

    \r\n Before we get started, we'll need you to set up an\r\n account. Please create a password and add your contact\r\n info below.\r\n

    \r\n )}\r\n\r\n \r\n\r\n
    \r\n {\r\n setServiceProfile({\r\n ...serviceProfile,\r\n Header: {\r\n ...serviceProfile.Header,\r\n ...serviceProfile.Header\r\n }\r\n });\r\n setPropertyInfoEditMode(false);\r\n }}>\r\n Continue \r\n \r\n
    \r\n
    \r\n )}\r\n \r\n \r\n \r\n ) : null}\r\n {showRestoreDefaults ? (\r\n {\r\n actions.pageLoading(\r\n true,\r\n showRestoreDefaults === 'clear'\r\n ? 'Clearing form...'\r\n : 'Restoring defaults...'\r\n );\r\n propertyProfileApi\r\n .restoreDefaults(profileKey, showRestoreDefaults)\r\n .then((result) => {\r\n setIsCompleted(false);\r\n setShowRestoreDefaults(null);\r\n loadPropertyProfile().then(() => setActiveStep(null));\r\n });\r\n }}\r\n method={showRestoreDefaults}\r\n closeFunc={() => setShowRestoreDefaults(null)}\r\n />\r\n ) : null}\r\n {showPasswordHelp ? (\r\n setShowPasswordHelp(null)}\r\n passwordUpdatedFunc={(request) => {\r\n logUserIn(request.Email, request.NewPassword);\r\n setShowPasswordHelp(null);\r\n }}\r\n />\r\n ) : null}\r\n {showLoginForm ? (\r\n setShowLoginForm(null)}\r\n afterLoginFunc={(result) => {\r\n setShowLoginForm(null);\r\n }}\r\n />\r\n ) : null}\r\n {showPropertySelect ? (\r\n setShowPropertySelect(null)}\r\n />\r\n ) : null}\r\n \r\n );\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n webSocket: state.webSocket,\r\n serviceAddress: state.serviceAddress,\r\n siteConfig: state.commonData.siteConfig,\r\n stateList: state.commonData.stateList,\r\n authUser: state.authUser\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: {\r\n pageLoading: bindActionCreators(webSocketActions.pageLoading, dispatch),\r\n serviceAddressUpdated: bindActionCreators(\r\n serviceAddressActions.serviceAddressUpdated,\r\n dispatch\r\n ),\r\n userLoggedIn: bindActionCreators(userAuthActions.userLoggedIn, dispatch),\r\n logOutUser: bindActionCreators(userAuthActions.logOutUser, dispatch),\r\n clearResidentOnboarding: bindActionCreators(\r\n residentOnboardingActions.clearResidentOnboarding,\r\n dispatch\r\n )\r\n }\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(PropertyProfile);\r\n"],"names":["_interopRequireDefault","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","cx","cy","r","closeFunc","confirmFunc","method","Dialog","open","className","fullWidth","DialogTitle","id","IconButton","style","float","onClick","Close","src","withPrefix","DialogContent","width","paddingTop","DialogActions","display","textAlign","Button","variant","colorList","UserCard","user","empty","setShowDemoModePopup","setAddUser","setDeleteUser","authUser","UserIcon","FirstName","LastName","Email","LastLogin","moment","format","UserID","User","color","AgentID","IsAccountOwner","connect","state","webSocket","serviceAddress","siteConfig","commonData","dispatch","actions","pageLoading","bindActionCreators","webSocketActions","serviceAddressUpdated","serviceAddressActions","profileKey","useState","showDemoModePopup","userList","setUserList","addUser","deleteUser","checkIsDemo","loadUserList","listPropertyUser","then","propertyUserList","Admin","filter","UserLevelID","Limited","useEffect","Date","ColorCode","add","length","map","LinearProgress","DemoModePopup","useContactForm","GeneralPopup","title","message","FormControl","component","RadioGroup","name","value","onChange","event","newValue","FormControlLabel","control","Radio","label","TextField","required","type","target","backgroundColor","substring","closeLabel","submitDisabled","validateEmail","saving","submitLabel","submitFunc","savePropertyUser","result","marginTop","deleting","deletePropertyUser","PropertyFilter","filterKey","filterDictionary","setFilterDictionary","FormLabel","dropdown","Select","selectedValue","Object","keys","values","MenuItem","FormGroup","Checkbox","checked","all","_values","key","disabled","fullList","undefined","_value","searchString","setSearchString","petList","setPetList","filteredPetList","setFilteredPetList","filtersClicked","setFiltersClicked","showPetProfile","setShowPetProfile","listResidentPet","_petList","pet","_pet","weight","parseInt","Weight","isNaN","UnitNumber","console","log","_filterDictionary","View","PetType","petTypeList","Color","sizeList","Gender","genderList","split","total","FileList","descriptionFile","description","passes","column","valuePasses","passesSearch","searchStringLowerCase","String","toLowerCase","residentPassesSearch","Name","indexOf","Breed","checkPassesFilter","window","top","document","getElementById","scrollToElementInPage","PropertyFilterCard","ResidentPetID","unitNumber","firstName","lastName","fileListString","profileLabel","profileClick","descriptionFilter","PetProfile","residentOnboarding","loadResidentOnboarding","vehicle","ResidentID","Model","ResidentOnboardingHeader","resident","Header","ResidentOnboardingVehicle","refreshResidentOnboarding","residentID","residentVehicleID","ResidentVehicleID","href","process","Print","vehicleList","setVehicleList","filteredVehicleList","setFilteredVehicleList","makeFilter","Make","showVehicleProfile","setShowVehicleProfile","listResidentVehicle","_vehicleList","_vehicleType","VehicleType","_vehicleMatch","allVehicleList","_vehicle","make","model","body_styles","bodyStyleMap","getMakeList","concat","LicensePlateNumber","_modelList","getModelList","updateModelFilter","marginRight","navigate","ChevronLeft","phone","email","Team","team","selectedMember","userLoggedIn","userAuthActions","props","LoginForm","RequiredTasks","serviceProfile","setServiceProfile","VehicleRegistrationInclude","PetInclude","requiredItemExpand","setRequiredItemExpand","adminEdit","setAdminEdit","Alert","severity","ExpandMore","_serviceProfile","VehicleRegistrationIncludeCheckbox","vehicleField","field","IsAdmin","size","brand","multiline","VehicleRegistrationCheckboxText","getPlaceholderImage","image","backgroundImage","url","backgroundSize","VehicleRegistrationPhotoIncludeFront","VehicleRegistrationPhotoIncludeBack","VehicleRegistrationPhotoIncludeSide","VehicleRegistrationPhotoIncludeAny","PetPolicyIncludeCheckbox","PetLiabilityIncludeCheckbox","petField","PetInterviewRequired","PetInterviewText","PetPolicyText","PetLiabilityText","PetPhotoIncludeFace","PetPhotoIncludeStanding","PetPhotoIncludeSitting","PetPhotoIncludeAny","CalendarList","calendar","calendarIndex","Include","_calendar","_calendarIndex","CalendarName","CalendarType","marginBottom","OriginalName","Abbreviation","placeholder","helperText","row","TimeslotLengthMinutes","Term","TimeslotMaxAllowed","dayOfWeekList","day","_day","InputLabel","join","labelId","businessHourList","time","timeIndex","Description","params","setParams","allEvents","setAllEvents","events","setEvents","showCalendar","setShowCalendar","loading","setLoading","showResidentOnboarding","setShowResidentOnboarding","selectedCategory","setSelectedCategory","loadEvents","listAllCalendarEvent","startDate","endDate","_events","_selectedCategory","date","selected","BackgroundColor","textColor","TextColor","getParams","direction","monthYear","startOf","dateList","week","_date","isSameOrBefore","push","handleEventClick","CalendarID","getCategoryDisplayOrder","category","ChevronRight","sort","a","b","localeCompare","categoryKey","Check","weekIndex","isSameOrAfter","toUpperCase","EventName","StartTime","eventIndex","CustomerEventCalendar","ResidentOnboardingPopup","includeChecklist","stateList","logOutUser","propertyProfile","loadPropertyProfile","activeStep","setActiveStep","baseContactRequest","setBaseContactRequest","contactRequest","setContactRequest","submitting","checkDisableSave","Property","PropertyName","SmarterChoiceSettings","IsPaymentInfoCompleted","IsAgreementCompleted","IsDataSharingCompleted","local","TableContainer","Table","stickyHeader","TableHead","TableRow","TableCell","TableBody","colSpan","stopPropagation","PictureAsPdf","MarketingAgreement","propertyName","mask","maskChar","inputProps","inputMode","dataApi","saveSmarterChoiceSettings","Address","Secondary","City","State","Zip","marginLeft","option","optionIndex","OtherPartnerField","autoFocus","PropertyInfoEdit","ManagementCompanyEntered","PropertyNameEntered","PropertyAddressEntered","PropertyCityEntered","PropertyStateEntered","PropertyZipEntered","PropertyPhoneEntered","UnitCountEntered","OnsiteContactFirstName","OnsiteContactLastName","OnsiteContactTitle","OnsiteContactEmail","OnsiteContactPhone","StorageParkingOptions","setProviderServiceValue","providerService","RadioOption","question","PropertyHeader","property","isCompleted","activeRoute","updateRoute","setShowRestoreDefaults","getPropertyName","goToResidentDashboard","setShowPropertySelect","userHasAccess","leftTab","rightTab","tabCounts","userIsReadOnly","Tooltip","placement","ContactSupport","PropertyID","ManageAccounts","Settings","Dashboard","route","Tabs","centered","sx","margin","Tab","Input","startAdornment","InputAdornment","position","Search","clearResidentOnboarding","residentOnboardingActions","loadProfileInitted","useRef","scrollPositionInitted","setActiveRoute","useQueryParam","setPropertyProfile","React","saveTimeout","initted","setIsCompleted","justCompleted","setJustCompleted","alreadyCompleted","setAlreadyCompleted","propertyInfoEditMode","setPropertyInfoEditMode","showRestoreDefaults","userError","setUserError","showPasswordHelp","setShowPasswordHelp","showLoginForm","setShowLoginForm","showPropertySelect","serviceProfileLoaded","changesMade","setLeftTab","setRightTab","setTabCounts","warnIfChangesNotSaved","ev","current","preventDefault","returnValue","removeEventListener","propertyProfileApi","_propertyProfile","ServiceProfile","scrollToTop","element","getElementsByClassName","options","skipActiveStepCheck","ServiceSectionList","step","stepIndex","ProviderServiceList","_providerService","ProviderServiceID","setProviderValue","provider","ProviderList","_provider","ProviderID","newRoute","history","pushState","logUserIn","password","logIn","Token","ActiveStep","PropertyList","_property","ProfileKey","UserHasAccess","UnitCount","setSelectedResident","SampleResident","UniqueAddressId","Phone","DateLeaseStart","TenantId","isOnboardingRoute","connected","UseNoticeProcess","UseApplicantProcess","serviceSection","preferredProvider","IsProviderPreferred","preferredProviderID","ProviderNameEntered","_isCompleted","ServiceProfileStatusID","location","reload","addEventListener","ForEditing","Stack","spacing","Stepper","alternativeLabel","connector","Step","ServiceSectionID","StepLabel","StepIconComponent","QontoStepIcon","ServiceSectionName","OnboardingDashboard","CanvasConfetti","alt","logo","HasLogin","UpdaterEmail","PropertyEmail","UpdaterPassword","ShowPassword","PasswordPolicy","InputProps","endAdornment","VisibilityOff","Visibility","UpdaterFirstName","UpdaterLastName","UpdaterTitle","UpdaterPhone","UpdaterIsOnsiteContact","validatePassword","registerUser","StepServicesRequired","StepInternetOptions","DisplayResidentPortalLink","ResidentPortalUrl","ProviderServiceCategoryID","providerServiceIndex","IsProviderAvailable","WebsiteUrl","LogoFile","ProviderName","dangerouslySetInnerHTML","__html","ProviderServiceName","PropertyPartnerOther1","PropertyPartnerOther2","PropertyPartnerOther3","PropertyPartnerOther4","StepRentersInsurance","StepSchools","PropertyCSEmailEntered","PropertyCSPhoneEntered","onBlur","UseResidentDashboard","isSubmit","clearTimeout","UserForgotPassword","passwordUpdatedFunc","request","NewPassword","afterLoginFunc","UserPropertySelect","selectedProperty","lastRoute"],"sourceRoot":""}