{"version":3,"sources":["store/ui/actions.js","store/auth/actions.js","store/citizens/actions.js","store/devices/operations.js","components/index.js","store/operations.js","store/citizens/operations.js","components/molecules/EntryQRCode/index.js","store/resources/actions.js","store/devices/types.js","store/auth/operations.js","components/atoms/Camera/index.js","components/organisms/ConfirmActionModal/index.js","components/atoms/FoldButton/index.js","components/molecules/Cameras/index.js","components/organisms/CameraModal/index.js","components/organisms/AddAddressModal/index.js","components/organisms/RemoveFlatModal/index.js","components/organisms/SearchAddressModal/index.js","components/organisms/SearchCitizenModal/index.js","components/organisms/UnlinkByPhone/index.js","utils/api.js","store/devices/actions.js","store sync //.//.+//operations/.js$","store/installations/operations.js","store/actions.js","components sync //.//[^/]+//[^/]+//index/.js$","components/atoms/AddressBlock/index.js","components/atoms/Section/index.js","components/molecules/Key/index.js","components/molecules/withSearch/index.js","store/installations/types.js","components/organisms/AddKeyModal/index.js","components/organisms/Areas/index.js","store sync //.//.+//actions/.js$","store/selected/actions.js","components/organisms/AttachNewCameraModal/index.js","components/organisms/AttachNewIntercomModal/index.js","components/organisms/ChangeFlatRangeModal/index.js","components/organisms/Citizens/index.js","components/organisms/Countries/index.js","components/organisms/Entries/index.js","components/organisms/Houses/index.js","components/organisms/InstallationPointActions/index.js","components/organisms/IntercomDevice/index.js","components/organisms/Keys/index.js","components/organisms/Localities/index.js","store/keys/types.js","assets/place-24.svg","components/organisms/Regions/index.js","components/organisms/Streets/index.js","components/organisms/UnlinkDeviceModal/index.js","components/pages/AreaPage/index.js","components/pages/CountryPage/index.js","components/pages/EntryPage/index.js","components/pages/FlatPage/index.js","components/pages/HomePage/index.js","components/pages/HousePage/index.js","components/pages/LocalityPage/index.js","components/pages/RegionPage/index.js","components/pages/StreetPage/index.js","components/templates/AppTemplate/index.js","components/templates/EntryPageTemplate/index.js","components/templates/MainTemplate/index.js","components/templates/SingleChildTemplate/index.js","components/templates/TwoChildrenTemplate/index.js","store sync //.//.+//reducers/.js$","store/auth/reducers.js","store/citizens/reducers.js","store/devices/reducers.js","store/installations/reducers.js","store/keys/reducers.js","store/resources/reducers.js","store/selected/reducers.js","store/ui/reducers.js","components/App.js","utils/requireAuth.js","registerServiceWorker.js","store/reducers.js","store/store.js","utils/sessionStorage.js","index.js","components/molecules/Card/index.js","components/molecules/Card/styles.js","utils/getLocation.js","components/molecules/withHeader/index.js","assets/subscription.svg","components/organisms/Flats/index.js","components/organisms/Map/_Map.js","components/organisms/Map/index.js","store/selected/types.js","store/keys/actions.js","config.js","store/installations/actions.js","store/resources/operations.js","store/ui/types.js","store/resources/types.js","store/auth/types.js","store/keys/operations.js","store/citizens/types.js"],"names":["clearStatus","type","types","showInfoMessage","msg","payload","hideInfoMessage","signIn","user","signInError","error","checkAuth","logOutRequest","logOutSuccess","logOutError","searchRequest","searchSuccess","searchFailure","unlinkByPhoneRequest","unlinkByPhoneSuccess","unlinkByPhoneFailure","getIntercomsByAddress","address","dispatch","a","actions","Api","request","intercoms","json","message","getCamerasByAddress","cameras","console","log","getUnlinkedIntercoms","q","fromApi","unlinkedIntercoms","Promise","resolve","reject","getUnlinkedCameras","serialNumber","unlinkedCameras","linkDevice","params","getParams","res","Object","entries","forEach","key","val","push","join","method","unlinkIntercom","intercomUuid","houseUuid","getCamera","id","camera","syncIntercom","uuid","syncCamera","cameraUuid","syncIntercomCamera","unlinkCamera","req","require","keys","componentName","replace","module","exports","default","name","searchCitizen","phoneNumber","citizens","length","citizen","unlinkByPhone","connect","entry","resources","current","style","props","title","height","href","config","baseUri","shapeRendering","width","viewBox","cursor","fill","d","clearResources","clearEntries","getCountriesRequest","getCountriesSuccess","countries","getCountriesError","fetchCountryRequest","fetchCountrySuccess","country","fetchCountryFailure","getRegionsRequest","getRegionsSuccess","regions","getRegionsError","fetchRegionRequest","fetchRegionSuccess","region","fetchRegionFailure","getLocalitiesRequest","getLocalitiesSuccess","localities","getLocalitiesError","fetchLocalityRequest","fetchLocalitySuccess","locality","fetchLocalityFailure","getAreasRequest","getAreasSuccess","areas","getAreasError","fetchAreaRequest","fetchAreaSuccess","area","fetchAreaFailure","getStreetsRequest","getStreetsSuccess","streets","getStreetsError","fetchStreetRequest","fetchStreetSuccess","street","fetchStreetFailure","getHousesRequest","getHousesSuccess","houses","getHousesError","fetchHouseRequest","fetchHouseSuccess","house","fetchHouseFailure","getEntriesRequest","getEntriesSuccess","getEntriesError","fetchEntryRequest","fetchEntrySuccess","fetchEntryFailure","getFlatsRequest","getFlatsSuccess","flats","getFlatsError","changeFlatRangeRequest","changeFlatRangeSuccess","changeFlatRangeError","fetchFlatRequest","fetchFlatSuccess","flat","fetchFlatFailure","getCitizensRequest","getCitizensSuccess","getCitizensError","unlinkCitizenRequest","unlinkCitizenSuccess","unlinkCitizenError","removeFlatRequest","removeFlatSuccess","removeFlatError","GET_INTERCOMS_BY_ADDRESS_REQUEST","GET_INTERCOMS_BY_ADDRESS_SUCCESS","GET_INTERCOMS_BY_ADDRESS_ERROR","GET_CAMERAS_BY_ADDRESS_REQUEST","GET_CAMERAS_BY_ADDRESS_SUCCESS","GET_CAMERAS_BY_ADDRESS_ERROR","GET_UNLINKED_INTERCOMS_REQUEST","GET_UNLINKED_INTERCOMS_SUCCESS","GET_UNLINKED_INTERCOMS_ERROR","GET_UNLINKED_CAMERAS_REQUEST","GET_UNLINKED_CAMERAS_SUCCESS","GET_UNLINKED_CAMERAS_ERROR","LINK_DEVICE_REQUEST","LINK_DEVICE_SUCCESS","LINK_DEVICE_ERROR","UNLINK_INTERCOM_REQUEST","UNLINK_INTERCOM_SUCCESS","UNLINK_INTERCOM_ERROR","GET_CAMERA_REQUEST","GET_CAMERA_SUCCESS","GET_CAMERA_ERROR","SYNC_INTERCOM_REQUEST","SYNC_INTERCOM_SUCCESS","SYNC_INTERCOM_ERROR","SYNC_CAMERA_REQUEST","SYNC_CAMERA_SUCCESS","SYNC_CAMERA_ERROR","SYNC_INTERCOM_CAMERA_REQUEST","SYNC_INTERCOM_CAMERA_SUCCESS","SYNC_INTERCOM_CAMERA_ERROR","UNLINK_CAMERA_REQUEST","UNLINK_CAMERA_SUCCESS","UNLINK_CAMERA_ERROR","ignoreSessionStorage","getState","auth","isLoggedIn","redirectUri","ssoUri","redirect_to","window","location","logOut","response","sessionStorage","clear","reload","Camera","serial_number","onClick","children","useState","confirmActionModal","setConfirmActionModal","useDispatch","unlinking","useSelector","devices","unlinkingCamera","useParams","disableRipple","dense","button","primary","e","stopPropagation","color","open","handleClose","handleAction","then","action","loading","Transition","direction","ConfirmActionModal","this","TransitionComponent","keepMounted","onClose","description","rounded","React","Component","rotated","css","Button","styled","IconButton","p","theme","palette","contrastText","shadows","main","isExpanded","FoldButton","StyledHeader","CardHeader","StyledContent","CardContent","background","StyledWrapper","Wrapper","selected","setIsExpanded","cameraModalOpen","setCameraModalOpen","currentCamera","setCurrentCamera","position","avatar","fontSize","map","openModal","align","placement","CameraModal","onSync","device_uuid","device","streamUrl","stream_url","match","PaperProps","styles","dialog","paddingBottom","marginBottom","overflow","embed","responsiveContainer","src","frameBorder","responsiveElement","autoPlay","secondary","size","variant","icon","marginRight","maxWidth","paddingTop","borderRadius","boxShadow","top","left","AddAddressPage","state","identifier","firstFlat","lastFlat","forceAddress","custom_numbering","handleChange","target","value","setState","handleSubmit","commonProps","first_flat","last_flat","forceAddressProps","ignore_address_error","history","scroll","content","role","aria-label","checkArea","control","checked","onChange","label","form","fullWidth","placeholder","margin","autoFocus","marginTop","flatRangeWrapper","inputProps","flatRangeInput","min","step","max","MAX","divider","MIN","tabIndex","display","flexDirection","alignItems","submitBtn","marginLeft","input","backgroundColor","justifyContent","textAlign","minWidth","withRouter","RemoveFlatModal","removeFlat","SearchAddressPage","searchQuery","preventDefault","searchInstallationPoint","addressUuid","addressType","slice","catch","onSubmit","disabled","useInput","bindPhoneNumber","bind","citizensError","phone","flat_uuid","api","err","status","removeItem","blob","Blob","JSON","stringify","init","statusText","myResponse","Response","endpoint","options","BASE_URI","Request","headers","Headers","credentials","fetch","r","_handleError","getIntercomsByAddressRequest","getIntercomsByAddressSuccess","getIntercomsByAddressError","getCamerasByAddressRequest","getCamerasByAddressSuccess","getCamerasByAddressError","getUnlinkedIntercomsRequest","getUnlinkedIntercomsSuccess","getUnlinkedIntercomsError","getUnlinkedCamerasRequest","getUnlinkedCamerasSuccess","getUnlinkedCamerasError","linkDeviceRequest","linkDeviceSuccess","linkDeviceError","unlinkIntercomRequest","unlinkIntercomSuccess","unlinkIntercomError","getCameraRequest","getCameraSuccess","getCameraError","syncIntercomRequest","syncIntercomSuccess","syncIntercomError","syncCameraRequest","syncCameraSuccess","syncCameraError","syncIntercomCameraRequest","syncIntercomCameraSuccess","syncIntercomCameraError","unlinkCameraRequest","unlinkCameraSuccess","unlinkCameraError","webpackContext","webpackContextResolve","__webpack_require__","o","Error","code","syncInstallationPoint","address_uuid","address_type","generateQr","entryUuid","invalidateQr","div","grayscale","collection","showQr","Section","section","Key","el","document","createElement","body","appendChild","select","execCommand","removeChild","withSearch","searchFunction","C","ComponentWithSearch","toggleSearch","isSearching","onSearch","persist","handleSearch","debounce","SYNC_INSTALLATION_POINT_REQUEST","SYNC_INSTALLATION_POINT_SUCCESS","SYNC_INSTALLATION_POINT_ERROR","CLOSE_COLLECTING_KEYS_REQUEST","CLOSE_COLLECTING_KEYS_SUCCESS","CLOSE_COLLECTING_KEYS_ERROR","OPEN_COLLECTING_KEYS_REQUEST","OPEN_COLLECTING_KEYS_SUCCESS","OPEN_COLLECTING_KEYS_ERROR","PROLONG_COLLECTING_KEYS_REQUEST","PROLONG_COLLECTING_KEYS_SUCCESS","PROLONG_COLLECTING_KEYS_ERROR","SEARCH_INSTALLATION_POINT_REQUEST","SEARCH_INSTALLATION_POINT_SUCCESS","SEARCH_INSTALLATION_POINT_ERROR","GENERATE_QR_REQUEST","GENERATE_QR_SUCCESS","GENERATE_QR_ERROR","INVALIDATE_QR_REQUEST","INVALIDATE_QR_SUCCESS","INVALIDATE_QR_ERROR","newKey","bindKeyInput","reset","addKey","getKeys","RegionsWithSearch","query","selectedCountry","selectedRegion","country_uuid","region_uuid","parent_uuid","getAreas","titleIcon","selectArea","paddingRight","fluid","selectCountry","selectRegion","selectLocality","selectStreet","selectHouse","selectEntry","selectFlat","AttachNewCameraModal","handleSelect","attachCamera","house_uuid","entry_uuid","device_type","x","isMulti","AttachNewIntercomModal","attachIntercom","devicesPromise","async","loadOptions","cacheOptions","defaultOptions","AttachNewDeviceModal","flatRange","didSetInitialRange","onFirstFlatChange","onLastFlatChange","updateFlatRange","changeFlatRange","pushable","trackStyle","activeDotStyle","toExp","getCitizens","confirmAction","toggleDrawer","removeFlatsModal","setremoveFlatsModal","right","rightClick","_","surname","sip_login","Flags","withStyles","media","classes","Array","isArray","c","transition","className","image","flag_url","textTransform","getEntries","full_name","getHouses","h","other","pink","white","InstallationPointActions","closeCollectingKeysModal","syncModal","openCollectingKeysModal","invalidateQrModal","attachNewCameraModal","changeFlatRangeModal","attachNewIntercomModal","toggleModal","modal","shadow","border","flexWrap","Fragment","installations","wrapper","padding","fontWeight","transform","heading","subheader","cardTitle","cardHeader","cardAction","cardContent","overflowY","maxHeight","list","listItem","listAction","openCameraModal","handleUnlink","Date","close_collect_keys","toLocaleDateString","onMouseEnter","attrs","ListWrapper","text","Keys","deleteKeyModal","toDelete","expanded","addKeyModal","deleteAllKeysModal","page","onDeleteKeyModalClose","onDeleteKey","removeKey","onModalOpen","loadNextPage","keysList","scrollTop","clientHeight","scrollHeight","syncKeys","deleteAllKeys","isUnpaid","inline","component","onScroll","ref","n","k","data","card","zIndex","arrowIcon","arrowRotated","selectedArea","area_uuid","getLocalities","l","GET_KEYS_REQUEST","GET_KEYS_SUCCESS","GET_KEYS_ERROR","REMOVE_KEY_REQUEST","REMOVE_KEY_SUCCESS","REMOVE_KEY_ERROR","ADD_KEY_REQUEST","ADD_KEY_SUCCESS","ADD_KEY_ERROR","DELETE_ALL_KEYS_REQUEST","DELETE_ALL_KEYS_SUCCESS","DELETE_ALL_KEYS_ERROR","SYNC_KEYS_REQUEST","SYNC_KEYS_SUCCESS","SYNC_KEYS_ERROR","searchComp","getRegions","getStreets","s","UnlinkDeviceModal","number","fetchArea","fetchCountry","whiteHeader","fetchEntry","cameraModal","setCameraModal","unlinkDeviceModal","setUnlinkDeviceModal","currentDevice","setCurrentDevice","fullPage","userToUnlink","setUserToUnlink","fetchFlat","unlinkCitizen","sizes","tablet","getCountries","Link","to","goBack","pathname","Subheader","peach","currentAddress","full_address","fetchHouse","setAttachNewCameraModal","setAttachNewIntercomModal","fetchLocality","fetchRegion","fetchStreet","Content","AppTemplate","header","scale","EntryPageTemplate","Container","MainTemplate","SingleChildTemplate","CountryTemplate","initialState","CLEAR_RESOURCES","CLEAR_STATUS","firstPage","ui","HomePage","lazy","CountryPage","RegionPage","AreaPage","LocalityPage","StreetPage","HousePage","EntryPage","FlatPage","LocationWrapper","LocationLink","Typography","activeStyle","NavLink","parents","infoMessage","Authentication","requireAuth","brand","app","logo","fixed","idx","KeyboardArrowRight","Tooltip","Assignment","exact","path","isLocalhost","Boolean","hostname","registerValidSW","swUrl","navigator","serviceWorker","register","registration","onupdatefound","installingWorker","installing","onstatechange","controller","reducers","storeName","camelCase","combineReducers","middleware","thunk","enhancer","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","compose","applyMiddleware","persistedState","serializedState","getItem","parse","loadState","store","createStore","rootReducer","subscribe","throttle","setItem","saveState","Root","I18nextProvider","i18n","fallback","node","getElementById","ReactDOM","render","URL","process","origin","addEventListener","get","indexOf","ready","unregister","checkValidServiceWorker","registerServiceWorker","CardWrapper","Header","summary","typography","pxToRem","fontWeightRegular","searchHeader","searchAction","paddingLeft","actionIcon","Input","onBlur","Box","List","setLoc","str","withHeader","headerProps","getLocation","_extends","assign","i","arguments","source","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","_ref2","_ref3","x1","y1","x2","y2","gradientUnits","stopColor","offset","_ref","svgRef","ForwardRef","forwardRef","getFlats","subscriptions","subscription","filter","elem","ListItem","ListItemIcon","ListItemText","ListItemSecondaryAction","subscribe_count","L","drawLocal","merge","leafletLocale","myIcon","iconUrl","iconSize","iconAnchor","popupAnchor","StyledMap","Map","_Map","center","lat","lon","zoom","zoomControl","scrollWheelZoom","touchZoom","dragging","TileLayer","url","Marker","SELECT_COUNTRY","SELECT_REGION","SELECT_LOCALITY","SELECT_AREA","SELECT_STREET","SELECT_HOUSE","SELECT_ENTRY","SELECT_FLAT","getKeysRequest","getKeysSuccess","getKeysError","addKeyRequest","addKeySuccess","addKeyError","removeKeyRequest","removeKeySuccess","removeKeyError","deleteAllKeysRequest","deleteAllKeysSuccess","deleteAllKeysError","syncKeysRequest","syncKeysSuccess","syncKeysError","APP_BASE_URL","APP_REDIRECT_URL","APP_SSO_URL","syncInstallationPointRequest","syncInstallationPointSuccess","syncInstallationPointError","closeCollectingKeysRequest","closeCollectingKeysSuccess","closeCollectingKeysError","openCollectingKeysRequest","openCollectingKeysSuccess","openCollectingKeysError","prolongCollectingKeysRequest","prolongCollectingKeysSuccess","prolongCollectingKeysError","searchInstallationPointRequest","searchInstallationPointSuccess","searchInstallationPointError","generateQrRequest","generateQrSuccess","generateQrError","invalidateQrRequest","invalidateQrSuccess","invalidateQrError","countryUuid","setParams","regionUuid","localityUuid","areaUuid","streetUuid","flatUuid","SHOW_INFO_MESSAGE","HIDE_INFO_MESSAGE","CLEAR_ENTRIES","GET_COUNTRIES_REQUEST","GET_COUNTRIES_SUCCESS","GET_COUNTRIES_ERROR","GET_REGIONS_REQUEST","GET_REGIONS_SUCCESS","GET_REGIONS_ERROR","GET_LOCALITIES_REQUEST","GET_LOCALITIES_SUCCESS","GET_LOCALITIES_ERROR","GET_AREAS_REQUEST","GET_AREAS_SUCCESS","GET_AREAS_ERROR","GET_STREETS_REQUEST","GET_STREETS_SUCCESS","GET_STREETS_ERROR","GET_HOUSES_REQUEST","GET_HOUSES_SUCCESS","GET_HOUSES_ERROR","GET_ENTRIES_REQUEST","GET_ENTRIES_SUCCESS","GET_ENTRIES_ERROR","GET_FLATS_REQUEST","GET_FLATS_SUCCESS","GET_FLATS_ERROR","CHANGE_FLAT_RANGE_REQUEST","CHANGE_FLAT_RANGE_SUCCESS","CHANGE_FLAT_RANGE_ERROR","GET_CITIZENS_REQUEST","GET_CITIZENS_SUCCESS","GET_CITIZENS_ERROR","UNLINK_CITIZEN_REQUEST","UNLINK_CITIZEN_SUCCESS","UNLINK_CITIZEN_ERROR","FETCH_COUNTRY_REQUEST","FETCH_COUNTRY_SUCCESS","FETCH_COUNTRY_FAILURE","FETCH_REGION_REQUEST","FETCH_REGION_SUCCESS","FETCH_REGION_FAILURE","FETCH_LOCALITY_REQUEST","FETCH_LOCALITY_SUCCESS","FETCH_LOCALITY_FAILURE","FETCH_AREA_REQUEST","FETCH_AREA_SUCCESS","FETCH_AREA_FAILURE","FETCH_STREET_REQUEST","FETCH_STREET_SUCCESS","FETCH_STREET_FAILURE","FETCH_HOUSE_REQUEST","FETCH_HOUSE_SUCCESS","FETCH_HOUSE_FAILURE","FETCH_ENTRY_REQUEST","FETCH_ENTRY_SUCCESS","FETCH_ENTRY_FAILURE","FETCH_FLAT_REQUEST","FETCH_FLAT_SUCCESS","FETCH_FLAT_FAILURE","REMOVE_FLAT","REMOVE_FLAT_SUCCESS","REMOVE_FLAT_FAILURE","SIGN_IN","SIGN_IN_ERROR","CHECK_AUTH","LOG_OUT_REQUEST","LOG_OUT_SUCCESS","LOG_OUT_ERROR","limit","SEARCH_REQUEST","SEARCH_SUCCESS","SEARCH_FAILURE","UNLINK_BY_PHONE_REQUEST","UNLINK_BY_PHONE_SUCCESS","UNLINK_BY_PHONE_FAILURE"],"mappings":"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","file":"static/js/main.d1b3c2d9.chunk.js","sourcesContent":["import * as types from './types'\n\nexport const clearStatus = () => ({\n type: types.CLEAR_STATUS,\n})\n\nexport const showInfoMessage = msg => ({\n type: types.SHOW_INFO_MESSAGE,\n payload: { msg },\n})\nexport const hideInfoMessage = () => ({\n type: types.HIDE_INFO_MESSAGE,\n})\n","import * as types from './types'\n\nexport const signIn = user => ({\n type: types.SIGN_IN,\n payload: user\n})\n\nexport const signInError = error => ({\n type: types.SIGN_IN_ERROR,\n payload: error\n})\n\nexport const checkAuth = () => ({\n type: types.CHECK_AUTH\n})\n\nexport const logOutRequest = () => ({ type: types.LOG_OUT_REQUEST })\n\nexport const logOutSuccess = () => ({ type: types.LOG_OUT_SUCCESS })\n\nexport const logOutError = () => ({ type: types.LOG_OUT_ERROR })\n","import * as types from './types'\n\nexport const searchRequest = () => ({\n type: types.SEARCH_REQUEST,\n})\nexport const searchSuccess = () => ({\n type: types.SEARCH_SUCCESS,\n})\nexport const searchFailure = error => ({\n type: types.SEARCH_FAILURE,\n payload: { error },\n})\n\nexport const unlinkByPhoneRequest = () => ({\n type: types.UNLINK_BY_PHONE_REQUEST,\n})\nexport const unlinkByPhoneSuccess = msg => ({\n type: types.UNLINK_BY_PHONE_SUCCESS,\n payload: {\n msg,\n },\n})\nexport const unlinkByPhoneFailure = error => ({\n type: types.UNLINK_BY_PHONE_FAILURE,\n payload: { error },\n})\n","//@flow\nimport * as actions from './actions'\nimport Api from 'utils/api'\n\nexport const getIntercomsByAddress = (address: string) => async (\n dispatch: Function,\n): Promise => {\n dispatch(actions.getIntercomsByAddressRequest())\n try {\n const intercoms = await Api.request(`/intercoms?address_uuid=${address}`)\n dispatch(actions.getIntercomsByAddressSuccess(intercoms))\n } catch (err) {\n const { message } = await err.json()\n dispatch(actions.getIntercomsByAddressError(message))\n }\n}\n\nexport const getCamerasByAddress = (address: string) => async (\n dispatch: Function,\n): Promise => {\n dispatch(actions.getCamerasByAddressRequest())\n try {\n const cameras = await Api.request(\n `/cameras?address_uuid=${address}&belong_to_intercom=false`,\n )\n dispatch(actions.getCamerasByAddressSuccess(cameras))\n } catch (err) {\n console.log(err)\n const { message } = await err.json()\n dispatch(actions.getCamerasByAddressError(message))\n }\n}\n\nexport const getUnlinkedIntercoms = (q, fromApi) => async (\n dispatch: Function,\n): Promise => {\n dispatch(actions.getUnlinkedIntercomsRequest())\n try {\n const unlinkedIntercoms = await Api.request(\n `/intercoms?q=${q}${fromApi ? `&from_api=true` : ''}`,\n )\n dispatch(actions.getUnlinkedIntercomsSuccess(unlinkedIntercoms))\n return Promise.resolve(unlinkedIntercoms)\n } catch (err) {\n dispatch(actions.getUnlinkedIntercomsError(err))\n return Promise.reject()\n }\n}\n\nexport const getUnlinkedCameras = (serialNumber?: number) => async (\n dispatch: Function,\n): Promise => {\n dispatch(actions.getUnlinkedCamerasRequest())\n try {\n const unlinkedCameras = await Api.request(\n `/cameras${\n serialNumber ? `?serial_number=${serialNumber}` : ''\n }?linked=false`,\n )\n dispatch(actions.getUnlinkedCamerasSuccess(unlinkedCameras))\n } catch (err) {\n dispatch(actions.getUnlinkedCamerasError(err))\n }\n}\n\ntype ILinkNewDeviceParams = {\n identifier: string,\n address: string,\n entry: string,\n first_flat: string,\n last_flat: string,\n}\n\ntype ILinkDeviceToEntry = {\n entry_uuid: string,\n device_uuid: string,\n device_type: 'intercom' | 'camera',\n}\n\nexport const linkDevice = (\n params: ILinkNewDeviceParams | ILinkDeviceToEntry,\n) => async (dispatch: Function): Promise => {\n dispatch(actions.linkDeviceRequest())\n try {\n const getParams = () => {\n let res = []\n //$FlowFixMe\n Object.entries(params).forEach(([key, val]) => {\n if (typeof val !== 'undefined') {\n return res.push(`${key}=${val}`)\n }\n })\n return res.join('&')\n }\n await Api.request(`/installation_points/link_device?${getParams()}`, {\n method: 'PUT',\n })\n\n const msg = 'Устройство было успешно привязано'\n dispatch(actions.linkDeviceSuccess(msg))\n return Promise.resolve(msg)\n } catch (err) {\n const { message } = await err.json()\n dispatch(actions.linkDeviceError(message))\n return Promise.reject(message)\n }\n}\n\nexport const unlinkIntercom = (\n intercomUuid: string,\n houseUuid: string,\n) => async (dispatch: Function): Promise => {\n dispatch(actions.unlinkIntercomRequest())\n try {\n await Api.request(\n `/installation_points/unlink_intercom?identifier=${intercomUuid}&house_uuid=${houseUuid}`,\n {\n method: 'PUT',\n },\n )\n\n const msg = 'Устройство было успешно отвязано'\n dispatch(actions.unlinkIntercomSuccess(msg))\n return Promise.resolve(msg)\n } catch (err) {\n const msg = 'При отвязке устройства произошла ошибка'\n dispatch(actions.unlinkIntercomError(msg))\n return Promise.reject(msg)\n }\n}\n\nexport const getCamera = (id: string) => async (\n dispatch: Function,\n): Promise => {\n dispatch(actions.getCameraRequest())\n try {\n const [camera] = await Api.request(`/cameras?intercom_id=${id}`)\n\n dispatch(actions.getCameraSuccess(camera))\n return Promise.resolve(camera)\n } catch (err) {\n const msg = ''\n dispatch(actions.getCameraError(msg))\n return Promise.reject(msg)\n }\n}\n\nexport const syncIntercom = (uuid: string) => async (\n dispatch: Function,\n): Promise => {\n dispatch(actions.syncIntercomRequest())\n try {\n await Api.request(`/intercoms/${uuid}/sync`, { method: 'PUT' })\n\n dispatch(\n actions.syncIntercomSuccess('Устройство было успешно синхронизировано'),\n )\n return Promise.resolve()\n } catch (err) {\n const msg = 'При отвязке устройства произошла ошибка'\n dispatch(actions.syncIntercomError(msg))\n return Promise.reject()\n }\n}\n\nexport const syncCamera = (cameraUuid: string) => async (\n dispatch: Function,\n): Promise => {\n dispatch(actions.syncCameraRequest())\n try {\n await Api.request(`/cameras/${cameraUuid}/syncs`, {\n method: 'POST',\n })\n\n dispatch(actions.syncCameraSuccess('Камера была успешно синхронизирована'))\n return Promise.resolve()\n } catch (err) {\n const msg = 'При синхронизации камеры произошла ошибка'\n dispatch(actions.syncCameraError(msg))\n return Promise.reject()\n }\n}\n\nexport const syncIntercomCamera = (intercomUuid: string) => async (\n dispatch: Function,\n): Promise => {\n dispatch(actions.syncIntercomCameraRequest())\n try {\n await Api.request(`/intercoms/${intercomUuid}/camera/syncs`, {\n method: 'POST',\n })\n\n dispatch(\n actions.syncIntercomCameraSuccess('Камера была успешно синхронизирована'),\n )\n return Promise.resolve()\n } catch (err) {\n const msg = 'При синхронизации камеры произошла ошибка'\n dispatch(actions.syncIntercomCameraError(msg))\n return Promise.reject()\n }\n}\n\nexport const unlinkCamera = (uuid) => async (\n dispatch: Function,\n): Promise => {\n dispatch(actions.unlinkCameraRequest())\n try {\n await Api.request(`/cameras/${uuid}/unlink`, {\n method: 'PATCH',\n })\n\n const msg = 'Камера было успешно отвязана'\n dispatch(actions.unlinkCameraSuccess(msg))\n return Promise.resolve(msg)\n } catch (err) {\n const { message } = await err.json()\n dispatch(actions.unlinkCameraError(message))\n return Promise.reject(message)\n }\n}\n","// https://github.com/diegohaz/arc/wiki/Atomic-Design#do-not-worry\nconst req = require.context('.', true, /\\.\\/[^/]+\\/[^/]+\\/index\\.js$/)\n\nreq.keys().forEach((key) => {\n const componentName = key.replace(/^.+\\/([^/]+)\\/index\\.js/, '$1')\n module.exports[componentName] = req(key).default\n})\n","// https://github.com/diegohaz/arc/wiki/Actions\nconst req = require.context('.', true, /\\.\\/.+\\/operations\\.js$/)\n\nreq.keys().forEach(key => {\n const actions = req(key)\n\n Object.keys(actions).forEach(name => {\n module.exports[name] = actions[name]\n })\n})\n","import * as actions from './actions'\nimport Api from 'utils/api'\n\nexport const searchCitizen = (phoneNumber: string) => async dispatch => {\n dispatch(actions.searchRequest())\n try {\n const citizens = await Api.request(`/citizens?phone=${phoneNumber}`)\n // -------------------- begin devil code ------------------------\n // ,-.\n // ___,---.__ /'|`\\ __,---,___\n // ,-' \\` `-.____,-' | `-.____,-' // `-.\n // ,' | ~'\\ /`~ | `.\n // / ___// `. ,' , , \\___ \\\n // | ,-' `-.__ _ | , __,-' `-. |\n // | / /\\_ ` . | , _/\\ \\ |\n // \\ | \\ \\`-.___ \\ | / ___,-'/ / | /\n // \\ \\ | `._ `\\\\ | //' _,' | / /\n // `-.\\ /' _ `---'' , . ``---' _ `\\ /,-'\n // `` / \\ ,='/ \\`=. / \\ ''\n // |__ /|\\_,--.,-.--,--._/|\\ __|\n // / `./ \\\\`\\ | | | /,//' \\,' \\\n // / / ||--+--|--+-/-| \\ \\\n // | | /'\\_\\_\\ | /_/_/`\\ | |\n // \\ \\__, \\_ `~' _/ .__/ /\n // `-._,-' `-._______,-' `-._,-'\n // --------------------------------------------------------------\n if (citizens.length < 1) {\n throw 'Не удалось найти жителя'\n }\n const [citizen] = citizens\n dispatch(actions.searchSuccess())\n return Promise.resolve(citizen)\n } catch (error) {\n let message\n try {\n message = await error.json()\n } catch {\n message = error\n }\n dispatch(actions.searchFailure(message))\n return Promise.reject(error)\n }\n}\n\nexport const unlinkByPhone = (phoneNumber: string) => async dispatch => {\n dispatch(actions.unlinkByPhoneRequest())\n try {\n const citizen = await Api.request(`/citizens/${phoneNumber}/deactivate`, {\n method: 'PUT',\n })\n\n dispatch(actions.unlinkByPhoneSuccess('Житель был успешно отвязан'))\n return Promise.resolve(citizen)\n } catch (error) {\n let message\n try {\n message = await error.json()\n } catch {\n message = error\n }\n dispatch(actions.unlinkByPhoneFailure(message))\n return Promise.reject(error)\n }\n}\n","import React from 'react'\nimport { Tooltip, IconButton } from '@material-ui/core'\nimport { connect } from 'react-redux'\nimport config from 'config'\n\nconst EntryQRCode = ({ entry, dispatch, style, props }) => {\n return entry ? (\n \n \n {/* \n Kiwi Logo\n */}\n \n \n \n \n \n \n \n \n ) : null\n}\n\nconst mapStateToProps = ({ resources: { current } }) => ({\n entry: current,\n})\n\nexport default connect(mapStateToProps)(EntryQRCode)\n","import * as types from './types'\n\nexport const clearResources = () => ({\n type: types.CLEAR_RESOURCES,\n})\nexport const clearEntries = () => ({\n type: types.CLEAR_ENTRIES,\n})\n\n/* countries */\n\nexport const getCountriesRequest = () => ({\n type: types.GET_COUNTRIES_REQUEST,\n})\nexport const getCountriesSuccess = (countries) => ({\n type: types.GET_COUNTRIES_SUCCESS,\n payload: countries,\n})\nexport const getCountriesError = (error) => ({\n type: types.GET_COUNTRIES_ERROR,\n payload: error,\n})\n\nexport const fetchCountryRequest = () => ({\n type: types.FETCH_COUNTRY_REQUEST,\n})\nexport const fetchCountrySuccess = (country) => ({\n type: types.FETCH_COUNTRY_SUCCESS,\n payload: { country },\n})\nexport const fetchCountryFailure = (error) => ({\n type: types.FETCH_COUNTRY_FAILURE,\n payload: { error },\n})\n\n/* regions */\n\nexport const getRegionsRequest = () => ({\n type: types.GET_REGIONS_REQUEST,\n})\nexport const getRegionsSuccess = (regions) => ({\n type: types.GET_REGIONS_SUCCESS,\n payload: regions,\n})\nexport const getRegionsError = (error) => ({\n type: types.GET_REGIONS_ERROR,\n payload: error,\n})\n\nexport const fetchRegionRequest = () => ({\n type: types.FETCH_REGION_REQUEST,\n})\nexport const fetchRegionSuccess = (region) => ({\n type: types.FETCH_REGION_SUCCESS,\n payload: { region },\n})\nexport const fetchRegionFailure = (error) => ({\n type: types.FETCH_REGION_FAILURE,\n payload: { error },\n})\n\n/* localities */\n\nexport const getLocalitiesRequest = () => ({\n type: types.GET_LOCALITIES_REQUEST,\n})\nexport const getLocalitiesSuccess = (localities) => ({\n type: types.GET_LOCALITIES_SUCCESS,\n payload: localities,\n})\nexport const getLocalitiesError = (error) => ({\n type: types.GET_LOCALITIES_ERROR,\n payload: error,\n})\n\nexport const fetchLocalityRequest = () => ({\n type: types.FETCH_LOCALITY_REQUEST,\n})\nexport const fetchLocalitySuccess = (locality) => ({\n type: types.FETCH_LOCALITY_SUCCESS,\n payload: { locality },\n})\nexport const fetchLocalityFailure = (error) => ({\n type: types.FETCH_LOCALITY_FAILURE,\n payload: { error },\n})\n\n/* areas */\n\nexport const getAreasRequest = () => ({\n type: types.GET_AREAS_REQUEST,\n})\nexport const getAreasSuccess = (areas) => ({\n type: types.GET_AREAS_SUCCESS,\n payload: areas,\n})\nexport const getAreasError = (error) => ({\n type: types.GET_AREAS_ERROR,\n payload: error,\n})\n\nexport const fetchAreaRequest = () => ({\n type: types.FETCH_AREA_REQUEST,\n})\nexport const fetchAreaSuccess = (area) => ({\n type: types.FETCH_AREA_SUCCESS,\n payload: { area },\n})\nexport const fetchAreaFailure = (error) => ({\n type: types.FETCH_AREA_FAILURE,\n payload: { error },\n})\n\n/* streets */\n\nexport const getStreetsRequest = () => ({\n type: types.GET_STREETS_REQUEST,\n})\nexport const getStreetsSuccess = (streets) => ({\n type: types.GET_STREETS_SUCCESS,\n payload: streets,\n})\nexport const getStreetsError = (error) => ({\n type: types.GET_STREETS_ERROR,\n payload: error,\n})\n\nexport const fetchStreetRequest = () => ({\n type: types.FETCH_STREET_REQUEST,\n})\nexport const fetchStreetSuccess = (street) => ({\n type: types.FETCH_STREET_SUCCESS,\n payload: { street },\n})\nexport const fetchStreetFailure = (error) => ({\n type: types.FETCH_STREET_FAILURE,\n payload: { error },\n})\n\n/* houses */\n\nexport const getHousesRequest = () => ({\n type: types.GET_HOUSES_REQUEST,\n})\nexport const getHousesSuccess = (houses) => ({\n type: types.GET_HOUSES_SUCCESS,\n payload: houses,\n})\nexport const getHousesError = (error) => ({\n type: types.GET_HOUSES_ERROR,\n payload: error,\n})\n\nexport const fetchHouseRequest = () => ({\n type: types.FETCH_HOUSE_REQUEST,\n})\nexport const fetchHouseSuccess = (house) => ({\n type: types.FETCH_HOUSE_SUCCESS,\n payload: { house },\n})\nexport const fetchHouseFailure = (error) => ({\n type: types.FETCH_HOUSE_FAILURE,\n payload: { error },\n})\n\n/* entries */\n\nexport const getEntriesRequest = () => ({\n type: types.GET_ENTRIES_REQUEST,\n})\nexport const getEntriesSuccess = (entries) => ({\n type: types.GET_ENTRIES_SUCCESS,\n payload: entries,\n})\nexport const getEntriesError = (error) => ({\n type: types.GET_ENTRIES_ERROR,\n payload: error,\n})\n\nexport const fetchEntryRequest = () => ({\n type: types.FETCH_ENTRY_REQUEST,\n})\nexport const fetchEntrySuccess = (entry) => ({\n type: types.FETCH_ENTRY_SUCCESS,\n payload: { entry },\n})\nexport const fetchEntryFailure = (error) => ({\n type: types.FETCH_ENTRY_FAILURE,\n payload: { error },\n})\n\n/* flats */\n\nexport const getFlatsRequest = () => ({\n type: types.GET_FLATS_REQUEST,\n})\nexport const getFlatsSuccess = (flats) => ({\n type: types.GET_FLATS_SUCCESS,\n payload: flats,\n})\nexport const getFlatsError = (error) => ({\n type: types.GET_FLATS_ERROR,\n payload: error,\n})\n\nexport const changeFlatRangeRequest = () => ({\n type: types.CHANGE_FLAT_RANGE_REQUEST,\n})\nexport const changeFlatRangeSuccess = (msg) => ({\n type: types.CHANGE_FLAT_RANGE_SUCCESS,\n payload: msg,\n})\nexport const changeFlatRangeError = (error) => ({\n type: types.CHANGE_FLAT_RANGE_ERROR,\n payload: error,\n})\n\nexport const fetchFlatRequest = () => ({\n type: types.FETCH_FLAT_REQUEST,\n})\nexport const fetchFlatSuccess = (flat) => ({\n type: types.FETCH_FLAT_SUCCESS,\n payload: { flat },\n})\nexport const fetchFlatFailure = (error) => ({\n type: types.FETCH_FLAT_FAILURE,\n payload: { error },\n})\n\n/* citizens */\n\nexport const getCitizensRequest = () => ({\n type: types.GET_CITIZENS_REQUEST,\n})\nexport const getCitizensSuccess = (citizens) => ({\n type: types.GET_CITIZENS_SUCCESS,\n payload: citizens,\n})\nexport const getCitizensError = (error) => ({\n type: types.GET_CITIZENS_ERROR,\n payload: error,\n})\n\nexport const unlinkCitizenRequest = () => ({\n type: types.UNLINK_CITIZEN_REQUEST,\n})\nexport const unlinkCitizenSuccess = () => ({\n type: types.UNLINK_CITIZEN_SUCCESS,\n})\nexport const unlinkCitizenError = (error) => ({\n type: types.UNLINK_CITIZEN_ERROR,\n payload: error,\n})\n\n// /* delete Flats */ delete Flats\nexport const removeFlatRequest = () => ({\n type: types.REMOVE_FLAT,\n})\nexport const removeFlatSuccess = () => ({\n type: types.REMOVE_FLAT_SUCCESS,\n})\nexport const removeFlatError = (error) => ({\n type: types.REMOVE_FLAT_FAILURE,\n payload: error,\n})\n","//@flow\n\nexport const GET_INTERCOMS_BY_ADDRESS_REQUEST: string =\n 'devices/GET_INTERCOMS_BY_ADDRESS_REQUEST'\nexport const GET_INTERCOMS_BY_ADDRESS_SUCCESS: string =\n 'devices/GET_INTERCOMS_BY_ADDRESS_SUCCESS'\nexport const GET_INTERCOMS_BY_ADDRESS_ERROR: string =\n 'devices/GET_INTERCOMS_BY_ADDRESS_ERROR'\n\nexport const GET_CAMERAS_BY_ADDRESS_REQUEST: string =\n 'devices/GET_CAMERAS_BY_ADDRESS_REQUEST'\nexport const GET_CAMERAS_BY_ADDRESS_SUCCESS: string =\n 'devices/GET_CAMERAS_BY_ADDRESS_SUCCESS'\nexport const GET_CAMERAS_BY_ADDRESS_ERROR: string =\n 'devices/GET_CAMERAS_BY_ADDRESS_ERROR'\n\nexport const GET_UNLINKED_INTERCOMS_REQUEST: string =\n 'devices/GET_UNLINKED_INTERCOMS_REQUEST'\nexport const GET_UNLINKED_INTERCOMS_SUCCESS: string =\n 'devices/GET_UNLINKED_INTERCOMS_SUCCESS'\nexport const GET_UNLINKED_INTERCOMS_ERROR: string =\n 'devices/GET_UNLINKED_INTERCOMS_ERROR'\n\nexport const GET_UNLINKED_CAMERAS_REQUEST: string =\n 'devices/GET_UNLINKED_CAMERAS_REQUEST'\nexport const GET_UNLINKED_CAMERAS_SUCCESS: string =\n 'devices/GET_UNLINKED_CAMERAS_SUCCESS'\nexport const GET_UNLINKED_CAMERAS_ERROR: string =\n 'devices/GET_UNLINKED_CAMERAS_ERROR'\n\nexport const LINK_DEVICE_REQUEST: string = 'devices/LINK_DEVICE_REQUEST'\nexport const LINK_DEVICE_SUCCESS: string = 'devices/LINK_DEVICE_SUCCESS'\nexport const LINK_DEVICE_ERROR: string = 'devices/LINK_DEVICE_ERROR'\n\nexport const UNLINK_INTERCOM_REQUEST: string = 'devices/UNLINK_INTERCOM_REQUEST'\nexport const UNLINK_INTERCOM_SUCCESS: string = 'devices/UNLINK_INTERCOM_SUCCESS'\nexport const UNLINK_INTERCOM_ERROR: string = 'devices/UNLINK_INTERCOM_ERROR'\n\nexport const GET_CAMERA_REQUEST: string = 'devices/GET_CAMERA_REQUEST'\nexport const GET_CAMERA_SUCCESS: string = 'devices/GET_CAMERA_SUCCESS'\nexport const GET_CAMERA_ERROR: string = 'devices/GET_CAMERA_ERROR'\n\nexport const SYNC_INTERCOM_REQUEST: string = 'devices/SYNC_INTERCOM_REQUEST'\nexport const SYNC_INTERCOM_SUCCESS: string = 'devices/SYNC_INTERCOM_SUCCESS'\nexport const SYNC_INTERCOM_ERROR: string = 'devices/SYNC_INTERCOM_ERROR'\n\nexport const SYNC_CAMERA_REQUEST: string = 'devices/SYNC_CAMERA_REQUEST'\nexport const SYNC_CAMERA_SUCCESS: string = 'devices/SYNC_CAMERA_SUCCESS'\nexport const SYNC_CAMERA_ERROR: string = 'devices/SYNC_CAMERA_ERROR'\n\nexport const SYNC_INTERCOM_CAMERA_REQUEST: string =\n 'devices/SYNC_INTERCOM_CAMERA_REQUEST'\nexport const SYNC_INTERCOM_CAMERA_SUCCESS: string =\n 'devices/SYNC_INTERCOM_CAMERA_SUCCESS'\nexport const SYNC_INTERCOM_CAMERA_ERROR: string =\n 'devices/SYNC_INTERCOM_CAMERA_ERROR'\n\nexport const UNLINK_CAMERA_REQUEST: string = 'devices/UNLINK_CAMERA_REQUEST'\nexport const UNLINK_CAMERA_SUCCESS: string = 'devices/UNLINK_CAMERA_SUCCESS'\nexport const UNLINK_CAMERA_ERROR: string = 'devices/UNLINK_CAMERA_ERROR'\n","import * as actions from './actions'\nimport Api from 'utils/api'\nimport config from 'config'\n\nexport const checkAuth = (ignoreSessionStorage: ?boolean) => async (\n dispatch: Function,\n getState: Function,\n) => {\n dispatch(actions.checkAuth())\n if (getState().auth.isLoggedIn && !ignoreSessionStorage) return\n try {\n const user: Object = await Api.request(\n `/users/me?app=${config.redirectUri}`,\n {},\n config.ssoUri,\n )\n dispatch(actions.signIn(user))\n } catch (err) {\n const { redirect_to } = await err.json()\n if (redirect_to) {\n window.location = config.ssoUri + redirect_to\n }\n dispatch(actions.signInError())\n }\n}\n\nexport const logOut = () => async dispatch => {\n dispatch(actions.logOutRequest())\n try {\n const response = await Api.request(\n '/logout',\n { method: 'DELETE' },\n config.redirectUri,\n )\n sessionStorage.clear()\n window.location.reload()\n dispatch(actions.logOutSuccess(response))\n return Promise.resolve()\n } catch (err) {\n dispatch(actions.logOutError(err))\n return Promise.reject(err)\n }\n}\n","import React, { useCallback, useState } from 'react'\n\nimport ListItem from '@material-ui/core/ListItem'\nimport ListItemIcon from '@material-ui/core/ListItemIcon'\nimport ListItemText from '@material-ui/core/ListItemText'\nimport IconButton from '@material-ui/core/IconButton'\nimport ListItemSecondaryAction from '@material-ui/core/ListItemSecondaryAction'\nimport { DeleteForever } from '@material-ui/icons'\nimport Videocam from '@material-ui/icons/Videocam'\nimport ConfirmActionModal from 'components/organisms/ConfirmActionModal'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { useParams } from 'react-router-dom'\nimport { unlinkCamera, getCamerasByAddress } from 'store/devices/operations'\n\nconst Camera = ({ serial_number, uuid, onClick, children }) => {\n const [confirmActionModal, setConfirmActionModal] = useState(false)\n const dispatch = useDispatch()\n const unlinking = useSelector(({ devices }) => devices.unlinkingCamera)\n\n const { entry, house } = useParams()\n\n return (\n \n \n \n \n \n \n {\n e.stopPropagation()\n setConfirmActionModal(true)\n }}\n >\n \n \n \n {\n e.stopPropagation()\n setConfirmActionModal(false)\n }}\n handleAction={(e) => {\n e.stopPropagation()\n dispatch(unlinkCamera(uuid)).then(() => {\n dispatch(getCamerasByAddress(entry || house))\n setConfirmActionModal(false)\n })\n }}\n action=\"отвязать камеру\"\n loading={unlinking}\n />\n \n )\n}\nexport default Camera\n","import React from 'react'\nimport { Button } from 'sputnik-ui'\n\nimport Dialog from '@material-ui/core/Dialog'\nimport DialogActions from '@material-ui/core/DialogActions'\nimport DialogContent from '@material-ui/core/DialogContent'\nimport DialogContentText from '@material-ui/core/DialogContentText'\nimport DialogTitle from '@material-ui/core/DialogTitle'\nimport Zoom from '@material-ui/core/Zoom'\n\nfunction Transition(props) {\n return \n}\n\nclass ConfirmActionModal extends React.Component {\n render() {\n return (\n \n \n {`Вы действительно хотите ${this.props.action}?`}\n \n \n \n {this.props.description || 'Это действие нельзя будет отменить'}\n \n \n \n \n \n \n \n )\n }\n}\n\nexport default ConfirmActionModal\n","import React from 'react'\nimport styled, { css } from 'styled-components'\nimport { IconButton } from '@material-ui/core'\nimport { KeyboardArrowDown } from '@material-ui/icons'\n\nconst rotated = css`\n transform: rotate(180deg);\n`\n\nconst Button = styled(IconButton)`\n && {\n z-index: 2;\n position: absolute;\n bottom: -24px;\n left: calc(50% - 24px);\n right: 0;\n color: ${p => p.theme.palette.primary['500']};\n background: ${p => p.theme.palette.primary.contrastText};\n box-shadow: ${p => p.theme.shadows.main};\n border-bottom: 1px solid #e6ecf1;\n transition: transform 450ms cubic-bezier(0.23, 1, 0.32, 1);\n\n & svg {\n ${p => p.isExpanded && rotated};\n }\n\n &:hover {\n color: ${p => p.theme.palette.primary['500']};\n background: ${p => p.theme.palette.primary.contrastText};\n transform: scale(1.02);\n }\n }\n`\n\nconst FoldButton = ({ isExpanded, ...props }) => {\n return (\n \n )\n}\nexport default FoldButton\n","import React, { useState } from 'react'\nimport { Loader, Mascotte, Wrapper } from 'sputnik-ui'\nimport { connect } from 'react-redux'\nimport styled, { css } from 'styled-components'\n\nimport CardContent from '@material-ui/core/CardContent'\nimport CardHeader from '@material-ui/core/CardHeader'\nimport Typography from '@material-ui/core/Typography'\nimport List from '@material-ui/core/List'\nimport Tooltip from '@material-ui/core/Tooltip'\n\nimport VideocamIcon from '@material-ui/icons/Videocam'\nimport CameraModal from '../../organisms/CameraModal'\nimport Camera from '../../atoms/Camera'\nimport FoldButton from '../../atoms/FoldButton'\n\nconst StyledHeader = styled(CardHeader)`\n && {\n background-color: ${(p) => p.theme.palette.primary[500]};\n color: ${(p) => p.theme.palette.primary.contrastText};\n position: sticky;\n z-index: 2;\n top: 0;\n height: 80px;\n }\n`\n\nconst StyledContent = styled(CardContent)`\n && {\n transition: max-height 150ms ease-in;\n background-color: ${(p) => p.theme.palette.background.primary};\n\n max-height: 0rem;\n padding: 0 24px;\n overflow-y: scroll;\n padding: 0;\n &:last-child {\n padding-bottom: 0;\n }\n &::-webkit-scrollbar: {\n width: 3px;\n backgroundcolor: transparent;\n }\n &::-webkit-scrollbar-track: {\n backgroundcolor: transparent;\n }\n &::-webkit-scrollbar-thumb: {\n backgroundcolor: rgb(192, 192, 192);\n }\n\n ${(p) =>\n p.isExpanded &&\n css`\n max-height: 26rem !important;\n /* padding: 16px 24px !important; */\n &:last-child {\n padding-bottom: 1rem;\n }\n `}\n }\n`\n\nconst StyledWrapper = styled(Wrapper)`\n padding: 0;\n flex-direction: column;\n overflow: hidden;\n background: ${(p) => p.theme.palette.background.primary};\n`\n\nfunction Cameras({ cameras }) {\n const [isExpanded, setIsExpanded] = useState(false)\n const toggleExpansion = () => setIsExpanded(!isExpanded)\n\n const [cameraModalOpen, setCameraModalOpen] = useState(false)\n const [currentCamera, setCurrentCamera] = useState(null)\n\n const openModal = (camera) => {\n setCameraModalOpen(true)\n setCurrentCamera(camera)\n }\n const closeModal = () => {\n setCameraModalOpen(false)\n setCurrentCamera(null)\n }\n\n return (\n \n \n }\n title={\n \n {cameras && cameras.length < 1\n ? 'Отсутствуют камеры наружного наблюдения'\n : 'Камеры наружного наблюдения'}\n \n }\n />\n \n \n {cameras ? (\n cameras.length > 0 ? (\n cameras.map((camera) => (\n openModal(camera)}\n key={camera.uuid}\n {...camera}\n />\n ))\n ) : (\n <>\n \n Не привязано ни одной камеры :(\n \n \n )\n ) : (\n \n )}\n \n \n \n\n \n {cameras && cameras.length > 0 && (\n \n \n \n )}\n \n )\n}\n\nconst mapStateToProps = ({ selected: { entry }, devices: { cameras } }) => ({\n entry,\n cameras,\n})\n\nexport default connect(mapStateToProps)(Cameras)\n","import React from 'react'\nimport { Button } from 'sputnik-ui'\nimport { connect } from 'react-redux'\n\nimport Dialog from '@material-ui/core/Dialog'\nimport DialogActions from '@material-ui/core/DialogActions'\nimport DialogContent from '@material-ui/core/DialogContent'\nimport DialogTitle from '@material-ui/core/DialogTitle'\nimport Zoom from '@material-ui/core/Zoom'\nimport Progress from '@material-ui/core/CircularProgress'\n\nimport SyncIcon from '@material-ui/icons/Sync'\n\nimport { syncCamera } from 'store/operations'\nimport { Typography } from '@material-ui/core'\nimport { syncIntercomCamera } from 'store/devices/operations'\n\nfunction Transition(props) {\n return \n}\n\nclass CameraModal extends React.Component {\n onSync = () => {\n console.log(this.props)\n this.props\n .dispatch(\n this.props.camera?.device_uuid || this.props.device?.uuid\n ? syncIntercomCamera(\n this.props.camera?.device_uuid || this.props.device.uuid\n )\n : syncCamera(this.props.camera.uuid)\n )\n .then(this.props.handleClose)\n }\n\n render() {\n const { camera } = this.props\n const streamUrl = camera && camera.stream_url.match(/[^/]+$/)[0]\n return (\n \n \n Камера {streamUrl}\n \n \n {camera ? (\n camera.embed ? (\n
\n \n
\n ) : (\n \n Поток с камеры недоступен\n \n )\n ) : (\n \n )}\n \n \n \n закрыть\n \n \n Синхронизировать камеру\n \n \n \n )\n }\n}\n\nconst styles = {\n icon: {\n marginRight: 8,\n width: '1rem',\n height: '1rem',\n },\n dialog: {\n overflow: 'visible',\n width: '80%',\n maxWidth: 800,\n },\n responsiveContainer: {\n height: 0,\n paddingTop: '56.25%',\n position: 'relative',\n overflow: 'hidden',\n borderRadius: 5,\n boxShadow: '0px 0px 30px rgba(0,0,0,0.1)',\n },\n responsiveElement: {\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n background: 'rgb(250, 251, 250)',\n },\n}\n\nexport default connect()(CameraModal)\n","//@flow\nimport * as React from 'react'\nimport { withRouter } from 'react-router-dom'\nimport { Button } from 'sputnik-ui'\nimport { connect } from 'react-redux'\n\nimport Dialog from '@material-ui/core/Dialog'\nimport DialogActions from '@material-ui/core/DialogActions'\nimport DialogContent from '@material-ui/core/DialogContent'\nimport DialogTitle from '@material-ui/core/DialogTitle'\nimport Zoom from '@material-ui/core/Zoom'\nimport TextField from '@material-ui/core/TextField'\nimport Typography from '@material-ui/core/Typography'\nimport Switch from '@material-ui/core/Switch'\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\n\nimport { linkDevice } from 'store/operations'\n\nfunction Transition(props) {\n return \n}\n\ntype Props = {\n match: Object,\n dispatch: Function,\n Header: React.ComponentType<{}>,\n history: Object,\n handleClose: Function,\n open: boolean,\n error: string,\n}\n\ntype State = {\n address: string,\n entry: string,\n identifier: string,\n firstFlat: string,\n lastFlat: string,\n forceAddress: boolean,\n country: string,\n region: string,\n locality: string,\n street: string,\n house: string,\n}\n\nconst MAX = 10001\nconst MIN = 1\n\nclass AddAddressPage extends React.Component {\n state = {\n address: '',\n entry: '',\n identifier: '',\n firstFlat: '',\n lastFlat: '',\n forceAddress: false,\n custom_numbering: false,\n country: '',\n locality: '',\n street: '',\n house: '',\n region: '',\n }\n\n componentDidMount() {}\n\n componentWillUnmount() {}\n\n handleChange = (name) => (e) => {\n console.log(e.target.value)\n this.setState({\n [name]: e.target.value,\n })\n }\n\n handleSubmit = () => {\n const {\n address,\n entry,\n identifier,\n firstFlat,\n lastFlat,\n forceAddress,\n custom_numbering,\n country,\n region,\n locality,\n street,\n house,\n } = this.state\n\n // TODO: handle \"forceAdress\"\n\n const commonProps = {\n custom_numbering,\n identifier,\n entry,\n first_flat: firstFlat,\n last_flat: lastFlat,\n }\n\n const forceAddressProps = {\n country,\n region,\n locality,\n street,\n house,\n ignore_address_error: true,\n }\n\n let props = {}\n\n if (!forceAddress) {\n props = {\n ...commonProps,\n address,\n }\n } else {\n props = {\n ...commonProps,\n ...forceAddressProps,\n }\n }\n\n this.props\n .dispatch(linkDevice(props))\n .then(() => this.props.history.push('/'))\n }\n\n render() {\n return (\n \n Добавление адреса\n \n \n Вводите адрес через запятую, начиная со страны.{' '}\n {!this.state.forceAddress && 'Не бойтесь ошибиться 😉'}\n \n \n Такие параметры как регион или область опциональны.\n \n\n {this.state.forceAddress && (\n \n \n 🛑\n \n Мы не будем проверять введеный вами адрес, убедитесь в\n правильности его введения{' '}\n \n )}\n
\n {' '}\n \n this.setState({ forceAddress: e.target.checked })\n }\n />\n }\n label=\"Расширенный ввод адреса\"\n />\n \n this.setState({ custom_numbering: e.target.checked })\n }\n />\n }\n label=\"Отключить валидацию диапазона\"\n />\n
\n\n \n
\n {this.state.forceAddress ? (\n \n \n\n \n\n \n\n \n\n \n \n ) : (\n \n \n \n )}\n \n\n \n\n \n Диапазон квартир\n \n
\n \n
\n \n
\n \n {this.props.error && (\n \n {this.props.error}\n \n )}\n \n \n \n отмена\n \n \n \n \n )\n }\n}\n\nconst styles = {\n content: { overflow: 'visible' }, // maxWidth: 500\n checkArea: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-start',\n },\n form: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n },\n submitBtn: { marginLeft: 'auto', marginTop: 16 },\n input: {},\n divider: {\n backgroundColor: 'black',\n width: 30,\n height: 2,\n marginRight: '0.625rem',\n marginLeft: '0.625rem',\n },\n flatRangeWrapper: {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n },\n flatRangeInput: {\n textAlign: 'center',\n minWidth: '100px',\n },\n}\n\nconst mapStateToProps = ({ devices }) => ({\n error: devices.error,\n})\n\nexport default connect(mapStateToProps)(withRouter(AddAddressPage))\n","import React from 'react'\nimport { Button } from 'sputnik-ui'\nimport { useDispatch } from 'react-redux'\n\nimport Dialog from '@material-ui/core/Dialog'\nimport DialogActions from '@material-ui/core/DialogActions'\nimport DialogContent from '@material-ui/core/DialogContent'\nimport DialogTitle from '@material-ui/core/DialogTitle'\nimport Zoom from '@material-ui/core/Zoom'\n\nimport SyncIcon from '@material-ui/icons/Sync'\n\nimport { Typography } from '@material-ui/core'\n\nimport { removeFlat } from 'store/resources/operations'\n\nfunction Transition(props) {\n return \n}\n\nfunction RemoveFlatModal({ open, uuid, handleClose }) {\n const dispatch = useDispatch()\n\n const handleDelete = () => {\n dispatch(removeFlat(uuid))\n }\n\n return (\n \n \n Удалить квартиру\n \n \n \n Уверены что хотите удалить квартиру {uuid} ?\n \n \n \n \n \n Удалить\n \n \n \n )\n}\n\nconst styles = {\n icon: {\n marginRight: 8,\n width: '1rem',\n height: '1rem',\n },\n dialog: {\n overflow: 'visible',\n width: '80%',\n maxWidth: 800,\n },\n responsiveContainer: {\n height: 0,\n paddingTop: '56.25%',\n position: 'relative',\n overflow: 'hidden',\n borderRadius: 5,\n boxShadow: '0px 0px 30px rgba(0,0,0,0.1)',\n },\n responsiveElement: {\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n background: 'rgb(250, 251, 250)',\n },\n}\n\nexport default RemoveFlatModal\n","//@flow\nimport * as React from 'react'\nimport { withRouter } from 'react-router-dom'\nimport { Button } from 'sputnik-ui'\nimport { connect } from 'react-redux'\n\nimport Dialog from '@material-ui/core/Dialog'\nimport DialogActions from '@material-ui/core/DialogActions'\nimport DialogContent from '@material-ui/core/DialogContent'\nimport DialogTitle from '@material-ui/core/DialogTitle'\nimport Zoom from '@material-ui/core/Zoom'\nimport TextField from '@material-ui/core/TextField'\nimport Typography from '@material-ui/core/Typography'\n\nimport { searchInstallationPoint } from 'store/operations'\n\nfunction Transition(props) {\n return \n}\n\ntype Props = {\n match: Object,\n dispatch: Function,\n Header: React.ComponentType<{}>,\n history: Object,\n handleClose: Function,\n open: boolean,\n error: string,\n}\n\ntype State = {\n searchQuery: string,\n error: ?string,\n}\n\nclass SearchAddressPage extends React.Component {\n state = {\n searchQuery: '',\n error: null,\n }\n\n handleChange = (name) => (e) => {\n this.setState({\n [name]: e.target.value,\n error: null,\n })\n }\n\n handleSubmit = (e) => {\n e.preventDefault()\n const { searchQuery } = this.state\n if (searchQuery) {\n this.props\n .dispatch(searchInstallationPoint(searchQuery))\n .then(({ addressUuid, addressType }) => {\n const type = addressType === 'gate' ? 'h' : addressType.slice(0, 1)\n this.props.history.push(`/${type}/${addressUuid}`)\n })\n .catch((error) => this.setState({ error }))\n }\n }\n\n render() {\n return (\n \n Поиск адреса\n \n
\n \n\n {!!this.state.error && (\n \n {this.state.error}\n \n )}\n \n
\n \n \n отмена\n \n \n искать\n \n \n \n )\n }\n}\n\nconst styles = {\n content: { overflow: 'visible', width: 418 },\n submitBtn: { marginLeft: 'auto', marginTop: 16 },\n input: {},\n divider: {\n backgroundColor: 'black',\n width: 30,\n height: 2,\n marginRight: '0.625rem',\n marginLeft: '0.625rem',\n },\n}\n\nconst mapStateToProps = ({ devices }) => ({\n error: devices.error,\n})\n\nexport default connect(mapStateToProps)(withRouter(SearchAddressPage))\n","//@flow\nimport * as React from 'react'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { withRouter } from 'react-router-dom'\nimport { Button, useInput } from 'sputnik-ui'\n\nimport Dialog from '@material-ui/core/Dialog'\nimport DialogActions from '@material-ui/core/DialogActions'\nimport DialogContent from '@material-ui/core/DialogContent'\nimport DialogTitle from '@material-ui/core/DialogTitle'\nimport Zoom from '@material-ui/core/Zoom'\nimport TextField from '@material-ui/core/TextField'\n\nimport { searchCitizen } from 'store/citizens/operations'\n\nfunction Transition(props) {\n return \n}\n\nfunction SearchCitizen({ open, handleClose, history }) {\n const { value: phoneNumber, bind: bindPhoneNumber } = useInput('')\n const dispatch = useDispatch()\n const citizensError = useSelector(({ citizens }) => !!citizens.error)\n\n const handleSubmit = React.useCallback(\n e => {\n e.preventDefault()\n\n // change first letter of phone number\n let phone = phoneNumber\n if (phoneNumber.match(/^\\+/)) {\n phone = phone.slice(1)\n } else if (phoneNumber.match(/^8/)) {\n phone = '7' + phone.slice(1)\n }\n\n dispatch(searchCitizen(phone)).then(citizen =>\n history.push(`/f/${citizen.flat_uuid}`),\n )\n },\n [dispatch, history, phoneNumber],\n )\n\n return (\n \n Найти жителя\n
\n \n \n \n \n \n \n искать\n \n \n
\n \n )\n}\n\nconst styles = {\n content: { width: '45%' },\n submitBtn: { marginLeft: 'auto', marginTop: 16 },\n}\n\nexport default withRouter(SearchCitizen)\n","//@flow\nimport * as React from 'react'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { withRouter } from 'react-router-dom'\nimport { Button, useInput } from 'sputnik-ui'\n\nimport Dialog from '@material-ui/core/Dialog'\nimport DialogActions from '@material-ui/core/DialogActions'\nimport DialogContent from '@material-ui/core/DialogContent'\nimport DialogTitle from '@material-ui/core/DialogTitle'\nimport Zoom from '@material-ui/core/Zoom'\nimport TextField from '@material-ui/core/TextField'\n\nimport { unlinkByPhone } from 'store/citizens/operations'\n\nfunction Transition(props) {\n return \n}\n\nfunction UnlinkByPhone({ open, handleClose, history }) {\n const { value: phoneNumber, bind: bindPhoneNumber } = useInput('')\n const dispatch = useDispatch()\n const citizensError = useSelector(({ citizens }) => !!citizens.error)\n\n const handleSubmit = React.useCallback(\n e => {\n e.preventDefault()\n\n // change first letter of phone number\n let phone = phoneNumber\n if (phoneNumber.match(/^\\+/)) {\n phone = phone.slice(1)\n } else if (phoneNumber.match(/^8/)) {\n phone = '7' + phone.slice(1)\n }\n\n dispatch(unlinkByPhone(phone)).then(handleClose)\n },\n [dispatch, phoneNumber, handleClose],\n )\n\n return (\n \n Отвязать жителя\n
\n \n \n \n \n \n \n отвязать\n \n \n
\n \n )\n}\n\nconst styles = {\n content: { width: '45%' },\n submitBtn: { marginLeft: 'auto', marginTop: 16 },\n}\n\nexport default withRouter(UnlinkByPhone)\n","/* eslint-disable */\n\nimport config from 'config'\n\n/**\n *\n *\n * @export\n * @class Api\n */\nclass Api {\n /**\n * Creates an instance of Api.\n * @param {*} baseUri\n * @memberof Api\n */\n constructor(baseUri) {\n this.baseUri = baseUri\n }\n\n /**\n * Makes a redirect to the SSO if err status is 401, returns a Promise.reject\n *\n * @param {*} err\n * @returns {Promise}\n * @memberof Api\n */\n _handleError(err: any): Promise {\n if (err.status === 401) {\n sessionStorage.removeItem('auth')\n window.location = `${config.redirectUri}/auth/sso?origin=${window.location.href}`\n return Promise.reject()\n }\n if (err.status === 500) {\n const data = {\n message: 'Произошла непредвиденная ошибка (Код статуса: 500)',\n }\n const blob = new Blob([JSON.stringify(data, null, 2)], {\n type: 'application/json',\n })\n\n const init = { status: err.status, statusText: err.statusText }\n const myResponse = new Response(blob, init)\n\n return Promise.reject(myResponse)\n }\n return Promise.reject(err)\n }\n\n /**\n * Makes an api request, handles error status 401\n *\n * @param {string} endpoint - the endpoint, that gets appended to the (default) baseUri\n * @param {?Object} [options={}] - custom request options, override default ones\n * @param {?string} baseUri - custom baseUri\n * @returns {Promise}\n * @memberof Api\n */\n request(\n endpoint: string,\n options: ?Object = {},\n baseUri: ?string,\n ): Promise {\n const BASE_URI: string = baseUri || this.baseUri\n\n const request = new Request(`${BASE_URI}${endpoint}`, {\n headers: new Headers({\n 'Content-Type': 'application/json',\n }),\n credentials: 'include',\n ...options,\n })\n\n return fetch(request)\n .then(r => (r.status <= 200 ? r.json() : Promise.reject(r)))\n .catch(this._handleError)\n }\n}\n\nconst api = new Api(config.baseUri)\n\nexport default api\n","//@flow\nimport * as types from './types'\n\nexport const getIntercomsByAddressRequest = (): Object => ({\n type: types.GET_INTERCOMS_BY_ADDRESS_REQUEST,\n})\nexport const getIntercomsByAddressSuccess = (intercoms: Object[]): Object => ({\n type: types.GET_INTERCOMS_BY_ADDRESS_SUCCESS,\n payload: { intercoms },\n})\nexport const getIntercomsByAddressError = (error: string): Object => ({\n type: types.GET_INTERCOMS_BY_ADDRESS_ERROR,\n payload: error,\n})\n\nexport const getCamerasByAddressRequest = (): Object => ({\n type: types.GET_CAMERAS_BY_ADDRESS_REQUEST,\n})\nexport const getCamerasByAddressSuccess = (cameras: Object[]): Object => ({\n type: types.GET_CAMERAS_BY_ADDRESS_SUCCESS,\n payload: { cameras },\n})\nexport const getCamerasByAddressError = (error: string): Object => ({\n type: types.GET_CAMERAS_BY_ADDRESS_ERROR,\n payload: error,\n})\n\nexport const getUnlinkedIntercomsRequest = (): Object => ({\n type: types.GET_UNLINKED_INTERCOMS_REQUEST,\n})\nexport const getUnlinkedIntercomsSuccess = (intercoms: Object[]): Object => ({\n type: types.GET_UNLINKED_INTERCOMS_SUCCESS,\n payload: { intercoms },\n})\nexport const getUnlinkedIntercomsError = (error: string): Object => ({\n type: types.GET_UNLINKED_INTERCOMS_ERROR,\n payload: error,\n})\n\nexport const getUnlinkedCamerasRequest = (): Object => ({\n type: types.GET_UNLINKED_CAMERAS_REQUEST,\n})\nexport const getUnlinkedCamerasSuccess = (cameras: Object[]): Object => ({\n type: types.GET_UNLINKED_CAMERAS_SUCCESS,\n payload: { cameras },\n})\nexport const getUnlinkedCamerasError = (error: string): Object => ({\n type: types.GET_UNLINKED_CAMERAS_ERROR,\n payload: error,\n})\n\nexport const linkDeviceRequest = (): Object => ({\n type: types.LINK_DEVICE_REQUEST,\n})\nexport const linkDeviceSuccess = (msg: string): Object => ({\n type: types.LINK_DEVICE_SUCCESS,\n payload: msg,\n})\nexport const linkDeviceError = (error: string): Object => ({\n type: types.LINK_DEVICE_ERROR,\n payload: error,\n})\n\nexport const unlinkIntercomRequest = (): Object => ({\n type: types.UNLINK_INTERCOM_REQUEST,\n})\nexport const unlinkIntercomSuccess = (msg: string): Object => ({\n type: types.UNLINK_INTERCOM_SUCCESS,\n payload: msg,\n})\nexport const unlinkIntercomError = (error: string): Object => ({\n type: types.UNLINK_INTERCOM_ERROR,\n payload: error,\n})\n\nexport const getCameraRequest = (): Object => ({\n type: types.GET_CAMERA_REQUEST,\n})\nexport const getCameraSuccess = (camera: string): Object => ({\n type: types.GET_CAMERA_SUCCESS,\n payload: camera,\n})\nexport const getCameraError = (error: string): Object => ({\n type: types.GET_CAMERA_ERROR,\n payload: error,\n})\n\nexport const syncIntercomRequest = (): Object => ({\n type: types.SYNC_INTERCOM_REQUEST,\n})\nexport const syncIntercomSuccess = (msg: string): Object => ({\n type: types.SYNC_INTERCOM_SUCCESS,\n payload: msg,\n})\nexport const syncIntercomError = (error: string): Object => ({\n type: types.SYNC_INTERCOM_ERROR,\n payload: error,\n})\n\nexport const syncCameraRequest = () => ({\n type: types.SYNC_CAMERA_REQUEST,\n})\nexport const syncCameraSuccess = (msg: string) => ({\n type: types.SYNC_CAMERA_SUCCESS,\n payload: {\n msg,\n },\n})\nexport const syncCameraError = (error: string) => ({\n type: types.SYNC_CAMERA_ERROR,\n payload: {\n error,\n },\n})\n\nexport const syncIntercomCameraRequest = () => ({\n type: types.SYNC_INTERCOM_CAMERA_REQUEST,\n})\nexport const syncIntercomCameraSuccess = (msg: string) => ({\n type: types.SYNC_INTERCOM_CAMERA_SUCCESS,\n payload: {\n msg,\n },\n})\nexport const syncIntercomCameraError = (error: string) => ({\n type: types.SYNC_INTERCOM_CAMERA_ERROR,\n payload: {\n error,\n },\n})\n\nexport const unlinkCameraRequest = () => ({\n type: types.UNLINK_CAMERA_REQUEST,\n})\nexport const unlinkCameraSuccess = (msg: string) => ({\n type: types.UNLINK_CAMERA_SUCCESS,\n payload: {\n msg,\n },\n})\nexport const unlinkCameraError = (error: string) => ({\n type: types.UNLINK_CAMERA_ERROR,\n payload: {\n error,\n },\n})\n","var map = {\n\t\"./auth/operations.js\": 182,\n\t\"./citizens/operations.js\": 134,\n\t\"./devices/operations.js\": 118,\n\t\"./installations/operations.js\": 296,\n\t\"./keys/operations.js\": 93,\n\t\"./resources/operations.js\": 57\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 294;","//@flow\nimport * as actions from './actions'\nimport Api from 'utils/api'\n\nexport const syncInstallationPoint = (addressUuid: string) => async (\n dispatch: Function,\n): Promise => {\n dispatch(actions.syncInstallationPointRequest())\n try {\n await Api.request(`/installation_points/${addressUuid}/sync`, {\n method: 'PUT',\n })\n const msg = 'Точка установки была успешно синхронизирована'\n dispatch(actions.syncInstallationPointSuccess(msg))\n return Promise.resolve()\n } catch (err) {\n const { message } = await err.json()\n dispatch(actions.syncInstallationPointError(message))\n return Promise.reject()\n }\n}\n\n// export const closeCollectingKeys = (addressUuid: string) => async (\n// dispatch: Function,\n// ): Promise => {\n// dispatch(actions.closeCollectingKeysRequest())\n// try {\n// await Api.request(\n// `/installation_points/${addressUuid}/collecting_keys/close`,\n// { method: 'PATCH' },\n// )\n// dispatch(actions.closeCollectingKeysSuccess('Автосбор был отключен'))\n// return Promise.resolve()\n// } catch (err) {\n// const { message } = await err.json()\n// dispatch(actions.closeCollectingKeysError(message))\n// return Promise.reject()\n// }\n// }\n\n// export const openCollectingKeys = (addressUuid: string) => async (\n// dispatch: Function,\n// ): Promise => {\n// dispatch(actions.openCollectingKeysRequest())\n// try {\n// await Api.request(\n// `/installation_points/${addressUuid}/collecting_keys/open`,\n// { method: 'PATCH' },\n// )\n// dispatch(actions.openCollectingKeysSuccess('Автосбор был включен'))\n// return Promise.resolve()\n// } catch (err) {\n// const { message } = await err.json()\n// dispatch(actions.openCollectingKeysError(message))\n// return Promise.reject()\n// }\n// }\n\n// export const prolongCollectingKeys = (addressUuid: string) => async (\n// dispatch: Function,\n// ): Promise => {\n// dispatch(actions.prolongCollectingKeysRequest())\n// try {\n// await Api.request(\n// `/installation_points/${addressUuid}/collecting_keys/prolong`,\n// { method: 'PATCH' },\n// )\n// dispatch(\n// actions.prolongCollectingKeysSuccess('Автосбор был успешно продлен'),\n// )\n// return Promise.resolve()\n// } catch (err) {\n// const { message } = await err.json()\n// dispatch(actions.prolongCollectingKeysError(message))\n// return Promise.reject()\n// }\n// }\n\nexport const searchInstallationPoint = (identifier: string) => async (\n dispatch: Function,\n): Promise => {\n dispatch(actions.searchInstallationPointRequest())\n try {\n const {\n address_uuid: addressUuid,\n address_type: addressType,\n } = await Api.request(`/devices/${identifier}`)\n\n if (!addressUuid || !addressType) {\n dispatch(\n actions.searchInstallationPointError('Устройство не установлено'),\n )\n return Promise.reject('Устройство не установлено')\n }\n\n dispatch(actions.searchInstallationPointSuccess())\n return Promise.resolve({ addressUuid, addressType })\n } catch (err) {\n const { message } = await err.json()\n dispatch(actions.searchInstallationPointError(message))\n return Promise.reject(message)\n }\n}\n\nexport const generateQr = (entryUuid: string) => async (\n dispatch: Function,\n): Promise => {\n dispatch(actions.generateQrRequest())\n try {\n await Api.request(`/entries/${entryUuid}/generate_qr`)\n dispatch(actions.generateQrSuccess())\n return Promise.resolve()\n } catch (err) {\n const message = 'lel'\n // const { message } = await err.json()\n dispatch(actions.generateQrError(err))\n return Promise.reject(message)\n }\n}\n\nexport const invalidateQr = (entryUuid: string) => async (\n dispatch: Function,\n): Promise => {\n dispatch(actions.invalidateQrRequest())\n try {\n await Api.request(`/entries/${entryUuid}/invalidate_qr`, {\n method: 'PATCH',\n })\n dispatch(actions.invalidateQrSuccess('Код был успешно сброшен'))\n return Promise.resolve()\n } catch (err) {\n console.log(err)\n const { message } = await err.json()\n dispatch(actions.invalidateQrError(message))\n return Promise.reject(message)\n }\n}\n","// https://github.com/diegohaz/arc/wiki/Actions\nconst req = require.context('.', true, /\\.\\/.+\\/actions\\.js$/)\n\nreq.keys().forEach((key) => {\n const actions = req(key)\n\n Object.keys(actions).forEach((name) => {\n module.exports[name] = actions[name]\n })\n})\n","var map = {\n\t\"./atoms/AddressBlock/index.js\": 305,\n\t\"./atoms/Camera/index.js\": 184,\n\t\"./atoms/FoldButton/index.js\": 186,\n\t\"./atoms/Section/index.js\": 307,\n\t\"./molecules/Cameras/index.js\": 187,\n\t\"./molecules/Card/index.js\": 454,\n\t\"./molecules/EntryQRCode/index.js\": 135,\n\t\"./molecules/Key/index.js\": 308,\n\t\"./molecules/withHeader/index.js\": 455,\n\t\"./molecules/withSearch/index.js\": 309,\n\t\"./organisms/AddAddressModal/index.js\": 190,\n\t\"./organisms/AddKeyModal/index.js\": 314,\n\t\"./organisms/Areas/index.js\": 315,\n\t\"./organisms/AttachNewCameraModal/index.js\": 318,\n\t\"./organisms/AttachNewIntercomModal/index.js\": 319,\n\t\"./organisms/CameraModal/index.js\": 188,\n\t\"./organisms/ChangeFlatRangeModal/index.js\": 320,\n\t\"./organisms/Citizens/index.js\": 334,\n\t\"./organisms/ConfirmActionModal/index.js\": 185,\n\t\"./organisms/Countries/index.js\": 335,\n\t\"./organisms/Entries/index.js\": 336,\n\t\"./organisms/Flats/index.js\": 456,\n\t\"./organisms/Houses/index.js\": 337,\n\t\"./organisms/InstallationPointActions/index.js\": 338,\n\t\"./organisms/IntercomDevice/index.js\": 339,\n\t\"./organisms/Keys/index.js\": 340,\n\t\"./organisms/Localities/index.js\": 341,\n\t\"./organisms/Map/index.js\": 457,\n\t\"./organisms/Regions/index.js\": 407,\n\t\"./organisms/RemoveFlatModal/index.js\": 191,\n\t\"./organisms/SearchAddressModal/index.js\": 192,\n\t\"./organisms/SearchCitizenModal/index.js\": 193,\n\t\"./organisms/Streets/index.js\": 408,\n\t\"./organisms/UnlinkByPhone/index.js\": 194,\n\t\"./organisms/UnlinkDeviceModal/index.js\": 409,\n\t\"./pages/AreaPage/index.js\": 410,\n\t\"./pages/CountryPage/index.js\": 411,\n\t\"./pages/EntryPage/index.js\": 412,\n\t\"./pages/FlatPage/index.js\": 413,\n\t\"./pages/HomePage/index.js\": 414,\n\t\"./pages/HousePage/index.js\": 415,\n\t\"./pages/LocalityPage/index.js\": 416,\n\t\"./pages/RegionPage/index.js\": 417,\n\t\"./pages/StreetPage/index.js\": 418,\n\t\"./templates/AppTemplate/index.js\": 419,\n\t\"./templates/EntryPageTemplate/index.js\": 420,\n\t\"./templates/MainTemplate/index.js\": 421,\n\t\"./templates/SingleChildTemplate/index.js\": 422,\n\t\"./templates/TwoChildrenTemplate/index.js\": 423\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 304;","import React from 'react'\nimport styled from 'styled-components'\nimport { Typography } from '@material-ui/core'\nimport { connect } from 'react-redux'\nimport EntryQRCode from '../../molecules/EntryQRCode'\nimport { Container } from 'sputnik-ui'\n\nconst Wrapper = styled.div`\n padding: 1rem 1.625rem 0.625rem;\n background: ${p => p.theme.palette.grayscale[2]};\n display: flex;\n align-items: flex-end;\n height: auto;\n`\n\nconst AddressBlock = ({ address, showQr, entry, ...props }) => {\n return (\n \n \n {showQr && (\n \n )}\n\n \n {address}\n \n \n \n )\n}\n\nconst mapStateToProps = ({ devices, selected }) => ({\n address:\n (devices.collection &&\n devices.collection[0] &&\n devices.collection[0].address) ||\n (devices.cameras && (devices.cameras[0] && devices.cameras[0].address)),\n entry: selected.entry,\n})\n\nexport default connect(mapStateToProps)(AddressBlock)\n","import styled from 'styled-components'\n\nconst Section = styled.section`\n min-height: calc(100% - 5.125rem);\n margin: 5.125rem 0 0 0;\n`\n\nexport default Section\n","import React from 'react'\n\nimport ListItem from '@material-ui/core/ListItem'\nimport ListItemIcon from '@material-ui/core/ListItemIcon'\nimport ListItemText from '@material-ui/core/ListItemText'\nimport ListItemSecondaryAction from '@material-ui/core/ListItemSecondaryAction'\nimport IconButton from '@material-ui/core/IconButton'\n\nimport NfcIcon from '@material-ui/icons/Nfc'\nimport DeleteForeverIcon from '@material-ui/icons/DeleteForever'\nimport RateReview from '@material-ui/icons/RateReview'\n\nconst Key = ({ onClick, children }) => {\n function copyKey() {\n const el = document.createElement('textarea')\n el.value = children\n document.body && document.body.appendChild(el)\n el.select()\n document.execCommand('copy')\n document.body && document.body.removeChild(el)\n }\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\nexport default Key\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport debounce from 'lodash/debounce'\n\nconst withSearch = searchFunction => C => {\n class ComponentWithSearch extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n isSearching: false,\n }\n this.handleSearch = debounce(e => {\n searchFunction(this.props, e.target.value)\n }, 300)\n }\n\n toggleSearch = () => this.setState({ isSearching: !this.state.isSearching })\n\n onSearch = e => {\n e.persist()\n this.handleSearch(e)\n }\n\n render() {\n return (\n \n )\n }\n }\n\n const mapStateToProps = ({ selected }) => ({\n selected,\n })\n\n return connect(mapStateToProps)(ComponentWithSearch)\n}\n\nexport default withSearch\n","//@flow\n\nexport const SYNC_INSTALLATION_POINT_REQUEST: string =\n 'installations/SYNC_INSTALLATION_POINT_REQUEST'\nexport const SYNC_INSTALLATION_POINT_SUCCESS: string =\n 'installations/SYNC_INSTALLATION_POINT_SUCCESS'\nexport const SYNC_INSTALLATION_POINT_ERROR: string =\n 'installations/SYNC_INSTALLATION_POINT_ERROR'\n\nexport const CLOSE_COLLECTING_KEYS_REQUEST: string =\n 'installations/CLOSE_COLLECTING_KEYS_REQUEST'\nexport const CLOSE_COLLECTING_KEYS_SUCCESS: string =\n 'installations/CLOSE_COLLECTING_KEYS_SUCCESS'\nexport const CLOSE_COLLECTING_KEYS_ERROR: string =\n 'installations/CLOSE_COLLECTING_KEYS_ERROR'\n\nexport const OPEN_COLLECTING_KEYS_REQUEST: string =\n 'installations/OPEN_COLLECTING_KEYS_REQUEST'\nexport const OPEN_COLLECTING_KEYS_SUCCESS: string =\n 'installations/OPEN_COLLECTING_KEYS_SUCCESS'\nexport const OPEN_COLLECTING_KEYS_ERROR: string =\n 'installations/OPEN_COLLECTING_KEYS_ERROR'\n\nexport const PROLONG_COLLECTING_KEYS_REQUEST: string =\n 'installations/PROLONG_COLLECTING_KEYS_REQUEST'\nexport const PROLONG_COLLECTING_KEYS_SUCCESS: string =\n 'installations/PROLONG_COLLECTING_KEYS_SUCCESS'\nexport const PROLONG_COLLECTING_KEYS_ERROR: string =\n 'installations/PROLONG_COLLECTING_KEYS_ERROR'\n\nexport const SEARCH_INSTALLATION_POINT_REQUEST: string =\n 'devices/SEARCH_INSTALLATION_POINT_REQUEST'\nexport const SEARCH_INSTALLATION_POINT_SUCCESS: string =\n 'devices/SEARCH_INSTALLATION_POINT_SUCCESS'\nexport const SEARCH_INSTALLATION_POINT_ERROR: string =\n 'devices/SEARCH_INSTALLATION_POINT_ERROR'\n\nexport const GENERATE_QR_REQUEST: string = 'devices/GENERATE_QR_REQUEST'\nexport const GENERATE_QR_SUCCESS: string = 'devices/GENERATE_QR_SUCCESS'\nexport const GENERATE_QR_ERROR: string = 'devices/GENERATE_QR_ERROR'\n\nexport const INVALIDATE_QR_REQUEST: string = 'devices/INVALIDATE_QR_REQUEST'\nexport const INVALIDATE_QR_SUCCESS: string = 'devices/INVALIDATE_QR_SUCCESS'\nexport const INVALIDATE_QR_ERROR: string = 'devices/INVALIDATE_QR_ERROR'\n","import React from 'react'\nimport { Button, useInput } from 'sputnik-ui'\nimport { connect } from 'react-redux'\n\nimport Dialog from '@material-ui/core/Dialog'\nimport DialogActions from '@material-ui/core/DialogActions'\nimport DialogContent from '@material-ui/core/DialogContent'\nimport DialogTitle from '@material-ui/core/DialogTitle'\nimport TextField from '@material-ui/core/TextField'\n\nimport Zoom from '@material-ui/core/Zoom'\n\nimport { addKey } from 'store/operations'\nimport { getKeys } from '../../../store/keys/operations'\n\nfunction Transition(props) {\n return \n}\n\nfunction AddKeyModal({ entry, dispatch, open, handleClose }) {\n const { value: newKey, bind: bindKeyInput, reset } = useInput('')\n const addNewKey = () =>\n dispatch(addKey(entry.uuid, newKey))\n .then(() => dispatch(getKeys(entry.uuid)))\n .then(() => {\n reset()\n handleClose()\n })\n\n return (\n \n Добавление ключа\n \n \n \n \n \n \n \n \n )\n}\n\nconst mapStateToProps = ({ resources: { current } }) => ({\n entry: current,\n})\n\nexport default connect(mapStateToProps)(AddKeyModal)\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { Loader } from 'sputnik-ui'\nimport { withRouter } from 'react-router-dom'\nimport { Card, withSearch } from 'components'\n\nimport ListItem from '@material-ui/core/ListItem'\nimport ListItemIcon from '@material-ui/core/ListItemIcon'\nimport ListItemText from '@material-ui/core/ListItemText'\nimport ListItemSecondaryAction from '@material-ui/core/ListItemSecondaryAction'\nimport ArrowForwardIcon from '@material-ui/icons/ArrowForward'\nimport MapIcon from '@material-ui/icons/Map'\n\nimport { selectArea } from 'store/actions'\nimport { getAreas } from 'store/operations'\n\nconst searchAreas = (props, query) => {\n const { selectedCountry, selectedRegion, dispatch } = props\n\n const country_uuid = (selectedCountry && selectedCountry.uuid) || null\n const region_uuid = (selectedRegion && selectedRegion.uuid) || null\n const q = query || null\n const parent_uuid = (country_uuid && region_uuid) || null\n\n dispatch(\n getAreas({\n parent_uuid,\n q,\n }),\n )\n}\n\nconst Areas = ({ areas, err, dispatch, history, match, ...props }) => {\n if (!areas) {\n return \n }\n\n return (\n } {...props}>\n {areas.map(a => (\n {\n dispatch(selectArea(a))\n history.push(`/a/${a.uuid}`)\n }}\n >\n \n \n \n \n \n \n \n \n ))}\n \n )\n}\n\nconst mapStateToProps = ({ resources }) => ({\n areas: resources.current && resources.current.areas,\n err: resources.err,\n})\n\nconst RegionsWithSearch = withSearch(searchAreas)(Areas)\nexport default connect(mapStateToProps)(withRouter(RegionsWithSearch))\n","var map = {\n\t\"./auth/actions.js\": 108,\n\t\"./citizens/actions.js\": 109,\n\t\"./devices/actions.js\": 28,\n\t\"./installations/actions.js\": 55,\n\t\"./keys/actions.js\": 50,\n\t\"./resources/actions.js\": 14,\n\t\"./selected/actions.js\": 317,\n\t\"./ui/actions.js\": 101\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 316;","import * as types from './types'\n\nexport const selectCountry = country => ({\n type: types.SELECT_COUNTRY,\n payload: country,\n})\n\nexport const selectRegion = region => ({\n type: types.SELECT_REGION,\n payload: region,\n})\n\nexport const selectLocality = locality => ({\n type: types.SELECT_LOCALITY,\n payload: locality,\n})\n\nexport const selectArea = area => ({\n type: types.SELECT_AREA,\n payload: area,\n})\n\nexport const selectStreet = street => ({\n type: types.SELECT_STREET,\n payload: street,\n})\n\nexport const selectHouse = house => ({\n type: types.SELECT_HOUSE,\n payload: house,\n})\n\nexport const selectEntry = entry => ({\n type: types.SELECT_ENTRY,\n payload: entry,\n})\n\nexport const selectFlat = flat => ({\n type: types.SELECT_FLAT,\n payload: flat,\n})\n","import React from 'react'\nimport { Button, Select, Loader } from 'sputnik-ui'\nimport { connect } from 'react-redux'\nimport { withRouter } from 'react-router-dom'\nimport Dialog from '@material-ui/core/Dialog'\nimport DialogActions from '@material-ui/core/DialogActions'\nimport DialogContent from '@material-ui/core/DialogContent'\nimport DialogTitle from '@material-ui/core/DialogTitle'\nimport Zoom from '@material-ui/core/Zoom'\n\nimport {\n getUnlinkedCameras,\n linkDevice,\n getIntercomsByAddress,\n} from 'store/operations'\n\nfunction Transition(props) {\n return \n}\n\nclass AttachNewCameraModal extends React.Component {\n state = { selected: null }\n\n componentDidMount() {\n this.props.dispatch(getUnlinkedCameras())\n }\n\n handleSelect = selected => this.setState({ selected })\n\n attachCamera = () => {\n const {\n dispatch,\n match: {\n params: { entry, house },\n },\n } = this.props\n\n dispatch(\n linkDevice({\n house_uuid: house,\n entry_uuid: entry,\n device_uuid: this.state.selected.value,\n device_type: 'camera',\n }),\n ).then(() => {\n if (entry) {\n dispatch(getIntercomsByAddress(entry))\n }\n this.props.dispatch(getUnlinkedCameras())\n this.setState({ selected: null })\n this.props.handleClose()\n })\n }\n\n render() {\n return (\n \n Привязать новую камеру\n \n {this.props.unlinkedCameras ? (\n ({\n label: x.serial_number,\n value: x.uuid,\n }))}\n handleSelect={this.handleSelect}\n selected={this.state.selected}\n placeholder=\"Выберите камеру\"\n isMulti={false}\n autoFocus\n />\n ) : (\n \n )}\n \n \n \n \n \n \n )\n }\n}\n\nconst mapStateToProps = ({\n devices: { unlinkedCameras, error },\n selected: { entry },\n}) => ({\n unlinkedCameras,\n error,\n entry,\n})\n\nexport default connect(mapStateToProps)(withRouter(AttachNewCameraModal))\n","import React from 'react'\nimport { Button, Select, Loader } from 'sputnik-ui'\nimport { connect } from 'react-redux'\nimport { withRouter } from 'react-router-dom'\nimport Dialog from '@material-ui/core/Dialog'\nimport DialogActions from '@material-ui/core/DialogActions'\nimport DialogContent from '@material-ui/core/DialogContent'\nimport DialogTitle from '@material-ui/core/DialogTitle'\nimport Zoom from '@material-ui/core/Zoom'\n\nimport {\n getUnlinkedIntercoms,\n linkDevice,\n getIntercomsByAddress,\n} from 'store/operations'\n\nfunction Transition(props) {\n return \n}\n\nclass AttachNewIntercomModal extends React.Component {\n state = { selected: null }\n\n componentDidMount() {\n this.props.dispatch(getUnlinkedIntercoms('', true))\n }\n\n handleSelect = selected => this.setState({ selected })\n\n attachIntercom = () => {\n const {\n dispatch,\n match: {\n params: { entry, house },\n },\n } = this.props\n\n dispatch(\n linkDevice({\n house_uuid: house,\n entry_uuid: entry,\n device_uuid: this.state.selected.value,\n device_type: 'intercom',\n }),\n ).then(() => {\n if (entry) {\n dispatch(getIntercomsByAddress(entry))\n }\n if (house) {\n dispatch(getIntercomsByAddress(house))\n }\n this.props.dispatch(getUnlinkedIntercoms('', true))\n this.setState({ selected: null })\n this.props.handleClose()\n })\n }\n\n devicesPromise = q => {\n return new Promise((resolve, reject) =>\n this.props\n .dispatch(getUnlinkedIntercoms(q, true))\n .then(unlinkedIntercoms => {\n const options = unlinkedIntercoms.map(x => ({\n label: x.serial_number,\n value: x.device_uuid,\n }))\n resolve(options)\n })\n .catch(reject),\n )\n }\n\n render() {\n return (\n \n Привязать новую панель\n \n {this.props.unlinkedIntercoms ? (\n ({\n // label: x.number,\n // value: x.uuid,\n // }))}\n handleSelect={this.handleSelect}\n selected={this.state.selected}\n placeholder=\"Выберите панель\"\n isMulti={false}\n autoFocus\n async\n loadOptions={this.devicesPromise}\n cacheOptions\n defaultOptions\n />\n ) : (\n \n )}\n \n \n \n \n \n \n )\n }\n}\n\nconst mapStateToProps = ({\n devices: { unlinkedIntercoms, error },\n selected: { entry },\n}) => ({\n unlinkedIntercoms,\n error,\n entry,\n})\n\nexport default connect(mapStateToProps)(withRouter(AttachNewIntercomModal))\n","import React from 'react'\nimport { Button } from 'sputnik-ui'\nimport { connect } from 'react-redux'\nimport { withRouter } from 'react-router-dom'\n\nimport Dialog from '@material-ui/core/Dialog'\nimport DialogActions from '@material-ui/core/DialogActions'\nimport DialogContent from '@material-ui/core/DialogContent'\nimport DialogTitle from '@material-ui/core/DialogTitle'\nimport Zoom from '@material-ui/core/Zoom'\nimport Range from 'rc-slider/lib/Range'\nimport TextField from '@material-ui/core/TextField'\nimport Switch from '@material-ui/core/Switch'\n\nimport { changeFlatRange } from 'store/operations'\nimport { FormControlLabel } from '@material-ui/core'\n\nfunction Transition(props) {\n return \n}\n\nconst MAX = 10000\nconst MIN = 1\n\nclass AttachNewDeviceModal extends React.Component {\n state = {\n flatRange: [1, 5000],\n didSetInitialRange: false,\n custom_numbering: false,\n }\n\n static getDerivedStateFromProps(props, state) {\n if (props?.entry) {\n const { entry } = props\n const { first_flat, last_flat } = entry\n if (entry && !state.didSetInitialRange && first_flat && last_flat) {\n return {\n flatRange: [entry.first_flat, entry.last_flat],\n didSetInitialRange: true,\n }\n }\n }\n\n return state\n }\n\n componentDidMount() {}\n\n handleChange = (flatRange) => this.setState({ flatRange })\n\n onFirstFlatChange = ({ target: { value } }) =>\n this.setState({\n flatRange: [value, this.state.flatRange[1]],\n })\n\n onLastFlatChange = ({ target: { value } }) =>\n this.setState({\n flatRange: [this.state.flatRange[0], value],\n })\n\n updateFlatRange = () => {\n const {\n match: {\n params: { entry },\n },\n } = this.props\n const { flatRange, custom_numbering } = this.state\n this.props.dispatch(\n changeFlatRange({\n entry,\n firstFlat: flatRange[0],\n lastFlat: flatRange[1],\n custom_numbering,\n })\n )\n }\n\n render() {\n return (\n \n Диапазон квартир\n \n \n this.setState({ custom_numbering: e.target.checked })\n }\n />\n }\n label=\"Отключить валидацию диапазона\"\n />\n \n \n \n
\n \n
\n
\n \n \n \n \n \n )\n }\n}\n\nconst styles = {\n divider: {\n backgroundColor: 'black',\n width: 30,\n height: 2,\n marginRight: '0.625rem',\n marginLeft: '0.625rem',\n },\n}\n\nconst mapStateToProps = ({ devices: { camera }, resources: { current } }) => ({\n camera,\n entry: current,\n})\n\nexport default connect(mapStateToProps)(withRouter(AttachNewDeviceModal))\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { Loader } from 'sputnik-ui'\nimport { useParams, withRouter } from 'react-router-dom'\nimport { Card, withSearch } from 'components'\nimport RemoveFlatModal from 'components/organisms/RemoveFlatModal'\n\nimport ListItem from '@material-ui/core/ListItem'\nimport ListItemIcon from '@material-ui/core/ListItemIcon'\nimport ListItemText from '@material-ui/core/ListItemText'\nimport ListItemSecondaryAction from '@material-ui/core/ListItemSecondaryAction'\nimport GroupIcon from '@material-ui/icons/Group'\nimport SentimentVerySatisfiedIcon from '@material-ui/icons/SentimentVerySatisfied'\nimport ClearIcon from '@material-ui/icons/Clear'\nimport IconButton from '@material-ui/core/IconButton'\n\nimport { getCitizens } from 'store/operations'\nimport { Tooltip } from '@material-ui/core'\n\nconst searchCitizens = (props, query) => {\n const { dispatch } = props\n\n const flat = props.selected.flat.uuid\n const q = query || null\n\n dispatch(\n getCitizens({\n flat,\n q,\n })\n )\n}\n\nconst Citizens = ({\n citizens,\n err,\n dispatch,\n history,\n toggleDrawer,\n confirmAction,\n ...props\n}) => {\n const { flat: uuid } = useParams()\n const [removeFlatsModal, setremoveFlatsModal] = React.useState(false)\n if (!citizens) {\n return \n }\n\n const handleDeleteFlat = () => {\n setremoveFlatsModal(true)\n }\n\n return (\n <>\n }\n rightClick={handleDeleteFlat}\n {...props}\n >\n {citizens.map((_) => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n ))}\n \n setremoveFlatsModal(false)}\n uuid={uuid}\n />\n \n )\n}\n\nconst mapStateToProps = ({ resources }) => ({\n citizens: resources.current && resources.current.citizens,\n err: resources.err,\n})\n\nlet toExp = withSearch(searchCitizens)(Citizens)\ntoExp = withRouter(toExp)\n\nexport default connect(mapStateToProps)(toExp)\n","import React from 'react'\nimport styled from 'styled-components'\nimport { connect } from 'react-redux'\nimport { Loader } from 'sputnik-ui'\nimport { withRouter } from 'react-router-dom'\n\nimport Card from '@material-ui/core/Card'\nimport CardMedia from '@material-ui/core/CardMedia'\nimport { withStyles } from '@material-ui/core/styles'\nimport Typography from '@material-ui/core/Typography'\n\nimport { selectCountry } from 'store/actions'\nimport config from 'config'\n\nconst styles = theme => ({\n media: {\n height: 0,\n paddingTop: '56.25%', // 16:9\n },\n})\n\nconst Wrapper = styled.div`\n width: 100%;\n`\n\nconst Flags = styled.div`\n display: flex;\n justify-content: flex-start;\n align-items: flex-start;\n flex-wrap: wrap;\n\n /* each flag */\n & > div {\n width: 180px;\n cursor: pointer;\n margin: 2rem;\n transition: box-shadow 0.2s ease-in;\n\n &:hover {\n & p {\n color: rgba(0,0,0,0.75);\n }\n & > div {\n box-shadow: 0px 2px 30px rgba(0,0,0,0.3);\n }\n },\n }\n`\n\nconst Countries = ({ countries, classes, dispatch, history, ...props }) => {\n return (\n \n {countries && Array.isArray(countries) ? (\n <>\n \n {countries.map(c => (\n
\n {\n dispatch(selectCountry(c))\n history.push(`/c/${c.uuid}`)\n }}\n style={{\n transition: 'box-shadow 0.2s ease-in',\n }}\n >\n \n \n \n {c.name}\n \n
\n ))}\n
\n \n ) : (\n \n )}\n
\n )\n}\n\nconst mapStateToProps = ({ resources }) => ({\n countries: resources.current,\n})\n\nexport default connect(mapStateToProps)(\n withStyles(styles)(withRouter(Countries)),\n)\n","//@flow\nimport React from 'react'\nimport { connect } from 'react-redux'\nimport { Loader } from 'sputnik-ui'\nimport { withRouter } from 'react-router-dom'\nimport { Card, withSearch } from 'components'\n\nimport ListItem from '@material-ui/core/ListItem'\nimport ListItemIcon from '@material-ui/core/ListItemIcon'\nimport ListItemText from '@material-ui/core/ListItemText'\nimport ListItemSecondaryAction from '@material-ui/core/ListItemSecondaryAction'\nimport TransferWithinAStationIcon from '@material-ui/icons/TransferWithinAStation'\n\nimport ArrowForwardIcon from '@material-ui/icons/ArrowForward'\nimport DirectionsIcon from '@material-ui/icons/Directions'\n\nimport { getEntries } from 'store/operations'\nimport { selectEntry } from 'store/actions'\n\nconst searchEntries = (props, query) => {\n const { selected, dispatch } = props\n\n const parent_uuid = selected.house.uuid\n const q = query || null\n\n dispatch(\n getEntries({\n parent_uuid,\n q,\n }),\n )\n}\n\nconst Entries = ({\n entries,\n err,\n\n dispatch,\n history,\n toggleDrawer,\n ...props\n}) => {\n if (!entries) {\n return \n }\n\n return (\n }\n {...props}\n >\n {entries &&\n entries.map((entry) => (\n {\n dispatch(selectEntry(entry))\n history.push(`/e/${entry.uuid}`)\n }}\n disableRipple\n >\n \n \n \n \n \n \n \n \n ))}\n \n )\n}\n\nconst mapStateToProps = ({ resources }) => ({\n entries: resources.current && resources.current.entries,\n err: resources.err,\n})\n\nlet toExp = withSearch(searchEntries)(Entries)\ntoExp = withRouter(toExp)\n\nexport default connect(mapStateToProps)(toExp)\n","//@flow\nimport React from 'react'\nimport { connect } from 'react-redux'\nimport { Loader } from 'sputnik-ui'\nimport { withRouter } from 'react-router-dom'\nimport { Card, withSearch } from 'components'\n\nimport ListItem from '@material-ui/core/ListItem'\nimport ListItemIcon from '@material-ui/core/ListItemIcon'\nimport ListItemText from '@material-ui/core/ListItemText'\nimport ListItemSecondaryAction from '@material-ui/core/ListItemSecondaryAction'\nimport ArrowForwardIcon from '@material-ui/icons/ArrowForward'\nimport DomainIcon from '@material-ui/icons/Domain'\n\nimport { getHouses } from 'store/operations'\nimport { selectHouse } from 'store/actions'\n\nconst searchHouses = (props, query) => {\n const { selected, dispatch } = props\n\n const parent_uuid = selected.street.uuid\n const q = query || null\n\n dispatch(\n getHouses({\n parent_uuid,\n q,\n }),\n )\n}\n\nconst Houses = ({ houses, err, dispatch, history, ...props }) => {\n if (!houses) {\n return \n }\n\n return (\n } {...props}>\n {houses.map(h => (\n {\n dispatch(selectHouse(h))\n history.push(`/h/${h.uuid}`)\n }}\n disableRipple\n >\n \n \n \n \n \n \n \n \n ))}\n \n )\n}\n\nconst mapStateToProps = ({ resources }) => ({\n houses: resources.current && resources.current.houses,\n err: resources.err,\n})\n\nlet toExp = withSearch(searchHouses)(Houses)\ntoExp = withRouter(toExp)\n\nexport default connect(mapStateToProps)(toExp)\n","import React from 'react'\nimport { Button, Wrapper, Container } from 'sputnik-ui'\nimport { connect } from 'react-redux'\nimport {\n ConfirmActionModal,\n AttachNewCameraModal,\n AttachNewIntercomModal,\n ChangeFlatRangeModal,\n} from 'components'\nimport { withStyles } from '@material-ui/core/styles'\nimport styled, { css } from 'styled-components'\nimport { IconButton, Tooltip } from '@material-ui/core'\nimport { AttachFile, LocationCity, Videocam } from '@material-ui/icons'\n\nimport {\n syncInstallationPoint,\n closeCollectingKeys,\n openCollectingKeys,\n prolongCollectingKeys,\n fetchEntry,\n invalidateQr,\n} from 'store/operations'\nimport EntryQRCode from 'components/molecules/EntryQRCode'\n\nconst styles = (theme) => ({\n wrapper: {\n background: '#fafafa',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n padding: '.325rem 1.625rem',\n },\n action: {\n fontWeight: '400',\n '&:hover': {\n transform: 'none !important',\n },\n '& svg': {\n marginRight: 15,\n },\n },\n})\n\nconst StyledWrapper = styled(Wrapper)`\n background: ${(p) => p.theme.palette.other.pink};\n justify-content: center;\n align-items: center;\n padding: 0.325rem 0;\n border-radius: 0;\n flex-wrap: wrap;\n\n ${(p) =>\n p.pink &&\n css`\n background: ${(p) => p.theme.palette.white['500']};\n border-bottom: ${(p) => p.theme.palette.grayscale[0]} 1px solid;\n `}\n`\n\nclass InstallationPointActions extends React.Component {\n state = {\n closeCollectingKeysModal: false,\n syncModal: false,\n openCollectingKeysModal: false,\n invalidateQrModal: false,\n attachNewCameraModal: false,\n changeFlatRangeModal: false,\n attachNewIntercomModal: false,\n }\n\n toggleModal = (modal) => () => this.setState({ [modal]: !this.state[modal] })\n\n syncInstallationPoint = () => {\n const { entry, dispatch } = this.props\n dispatch(syncInstallationPoint(entry.uuid)).then(\n this.toggleModal('syncModal')\n )\n }\n\n// openCollectingKeysModal = () => {\n// const { entry, dispatch } = this.props\n// dispatch(openCollectingKeys(entry.uuid)).then(() => {\n// dispatch(fetchEntry(entry.uuid))\n// this.toggleModal('openCollectingKeysModal')()\n// })\n// }\n\n// closeCollectingKeys = () => {\n// const { entry, dispatch } = this.props\n// dispatch(closeCollectingKeys(entry.uuid)).then(() => {\n// dispatch(fetchEntry(entry.uuid))\n// this.toggleModal('closeCollectingKeysModal')()\n// })\n// }\n\n// prolongCollectingKeys = () => {\n// const { entry, dispatch } = this.props\n// dispatch(prolongCollectingKeys(entry.uuid))\n// }\n\n invalidateQr = () => {\n const { dispatch, entry } = this.props\n console.log('kek')\n dispatch(invalidateQr(entry.uuid)).then(\n this.toggleModal('invalidateQrModal')\n )\n }\n\n render() {\n const { classes, entry } = this.props\n return (\n <>\n {' '}\n \n \n {entry && (\n \n \n сбросить qr-код\n \n \n Синхронизировать\n \n {/* {entry.opened ? (\n \n \n Закрыть автосбор\n \n \n Продлить автосбор\n \n \n ) : (\n \n \n открыть автосбор\n \n \n )} */}\n \n )}\n \n {/* \n */}\n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n )\n }\n}\n\nconst mapStateToProps = ({\n selected: { entry },\n installations: { msg, error },\n resources: { current },\n}) => ({\n entry: current,\n msg,\n error,\n})\n\nexport default connect(mapStateToProps)(\n withStyles(styles)(InstallationPointActions)\n)\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { Wrapper } from 'sputnik-ui'\n\nimport CardHeader from '@material-ui/core/CardHeader'\nimport IconButton from '@material-ui/core/IconButton'\nimport Typography from '@material-ui/core/Typography'\nimport Tooltip from '@material-ui/core/Tooltip'\nimport { withStyles } from '@material-ui/core/styles'\nimport DeveloperModeIcon from '@material-ui/icons/DeveloperMode'\nimport PhonelinkEraseIcon from '@material-ui/icons/PhonelinkErase'\nimport DateRange from '@material-ui/icons/DateRange'\n\nimport LinkedCameraIcon from '@material-ui/icons/LinkedCamera'\nimport DialerSipIcon from '@material-ui/icons/DialerSip'\n\nimport { getCamera } from 'store/operations'\n\nconst styles = (theme) => ({\n heading: {\n color: theme.palette.primary.contrastText,\n },\n subheader: {\n fontSize: '0.9rem',\n fontWeight: 400,\n color: theme.palette.primary.contrastText,\n display: 'inline-flex',\n },\n cardTitle: {\n fontSize: '1.2rem',\n fontWeight: 400,\n color: theme.palette.primary.contrastText,\n },\n cardHeader: {\n backgroundColor: theme.palette.primary['main'],\n color: theme.palette.primary.contrastText,\n },\n cardAction: {\n marginTop: 0,\n marginRight: -8,\n },\n cardContent: {\n overflowY: 'scroll',\n maxHeight: 450,\n },\n list: {\n padding: 0,\n },\n listItem: {},\n listAction: {\n marginRight: '1rem',\n },\n})\n\nconst IntercomDevice = ({\n device,\n classes,\n action,\n dispatch,\n openCameraModal,\n handleUnlink,\n}) => {\n return (\n \n }\n title={\n \n {`${device?.serial_number}`}{' '}\n \n }\n subheader={\n \n {' '}\n {device.sip_login}\n {' · '}\n \n {new Date(device.close_collect_keys).toLocaleDateString()}\n \n }\n action={\n \n \n \n \n \n \n \n dispatch(getCamera(device.id))}\n onClick={openCameraModal(device)}\n color=\"inherit\"\n >\n \n \n \n \n }\n className={classes.cardHeader}\n classes={{\n action: classes.cardAction,\n }}\n />\n \n )\n}\n\nexport default connect()(withStyles(styles)(IntercomDevice))\n","import React from 'react'\nimport { Loader, Wrapper } from 'sputnik-ui'\nimport { connect } from 'react-redux'\nimport { Key, ConfirmActionModal, AddKeyModal, FoldButton } from 'components'\nimport styled, { css } from 'styled-components'\nimport { withRouter } from 'react-router-dom'\n\nimport CardHeader from '@material-ui/core/CardHeader'\nimport IconButton from '@material-ui/core/IconButton'\nimport Typography from '@material-ui/core/Typography'\nimport List from '@material-ui/core/List'\nimport Tooltip from '@material-ui/core/Tooltip'\n\nimport { withStyles } from '@material-ui/core/styles'\n\nimport SyncIcon from '@material-ui/icons/Sync'\nimport VpnKeyIcon from '@material-ui/icons/VpnKey'\nimport AddCircleIcon from '@material-ui/icons/AddCircle'\nimport DeleteSweep from '@material-ui/icons/DeleteSweep'\n\nimport {\n syncKeys,\n deleteAllKeys,\n removeKey,\n getKeys,\n} from 'store/keys/operations'\n\nconst StyledWrapper = styled(Wrapper).attrs(p => ({}))`\n background: ${p => p.theme.palette.primary[500]};\n color: ${p => p.theme.palette.primary.contrastText};\n`\n\nconst ListWrapper = styled.div`\n /* transition: max-height 300ms ease-in; */\n max-height: 0rem;\n padding: 0;\n overflow-y: scroll;\n background: ${p => p.theme.palette.background.primary};\n color: ${p => p.theme.palette.text.primary};\n\n\n &:last-child {\n padding-bottom: 0;\n }\n &::-webkit-scrollbar {\n width: 3px;\n background-color: transparent;\n }\n &::-webkit-scrollbar-track {\n background-color: transparent;\n }\n &::-webkit-scrollbar-thumb {\n background-color: rgb(192, 192, 192);\n }\n\n ${p =>\n p.isExpanded &&\n css`\n padding: 16px 0 !important;\n max-height: 26rem !important;\n `}\n`\n\nconst styles = theme => ({\n heading: {\n color: theme.palette.primary.contrastText,\n },\n card: {\n // overflowY: 'scroll',\n },\n cardTitle: {\n fontSize: '1.2rem',\n fontWeight: 300,\n color: theme.palette.primary.contrastText,\n },\n cardHeader: {\n backgroundColor: 'inherit',\n color: 'inherit',\n position: 'sticky',\n zIndex: 2,\n top: 0,\n height: 80,\n },\n cardAction: {\n marginTop: 0,\n marginRight: -8,\n },\n list: {\n padding: 0,\n },\n arrowIcon: {\n transition: 'all 300ms ease-in',\n },\n arrowRotated: {\n transform: 'rotate(180deg)',\n },\n})\n\nclass Keys extends React.Component {\n state = {\n deleteKeyModal: false,\n toDelete: null,\n expanded: false,\n addKeyModal: false,\n deleteAllKeysModal: false,\n page: 1,\n }\n\n onDeleteKeyModalClose = () =>\n this.setState({ deleteKeyModal: false, toDelete: null })\n\n onDeleteKey = () => {\n const { dispatch, current } = this.props\n\n dispatch(removeKey(current.uuid, this.state.toDelete)).then(() =>\n dispatch(getKeys(current.uuid)),\n )\n this.onDeleteKeyModalClose()\n }\n\n onModalOpen = key => () =>\n this.setState({\n deleteKeyModal: true,\n toDelete: key,\n })\n\n loadNextPage = e => {\n if (\n this.keysList.scrollTop + this.keysList.clientHeight >=\n this.keysList.scrollHeight\n ) {\n const { dispatch, current } = this.props\n\n this.setState({ page: this.state.page + 1 }, () =>\n dispatch(getKeys(current.uuid, this.state.page)),\n )\n }\n }\n\n toggleModal = modal => () =>\n this.setState({\n [modal]: !this.state[modal],\n })\n\n syncKeys = () => {\n this.props\n .dispatch(syncKeys(this.props.current.uuid))\n .then(this.toggleModal('syncKeys'))\n }\n\n deleteAllKeys = () => {\n this.props\n .dispatch(deleteAllKeys(this.props.current.uuid))\n .then(() => this.props.dispatch(getKeys(this.props.current.uuid)))\n .then(this.toggleModal('deleteAllKeysModal'))\n this.toggleModal('deleteAllKeysModal')\n }\n\n render() {\n const { keys, classes, isUnpaid } = this.props\n\n return (\n \n \n }\n title={\n isUnpaid ? (\n \n Управление ключами доступно только на{' '}\n \n Базовом тарифе\n \n \n ) : (\n \n {keys && keys.length < 1 ? 'Список ключей пуст' : 'Ключи'}\n \n )\n }\n action={\n !isUnpaid && (\n \n \n \n \n \n \n\n {/* add collecting keys check */}\n {this.props.current && (\n \n \n \n \n \n )}\n\n\n \n \n \n \n \n \n )\n }\n className={classes.cardHeader}\n classes={{\n action: classes.cardAction,\n }}\n />\n (this.keysList = n)}\n >\n \n {keys ? (\n keys.length > 0 ? (\n keys.map(k => (\n \n {k.data}\n \n ))\n ) : (\n \n Список ключей для данной панели пуст.\n \n )\n ) : (\n \n )}\n \n \n\n \n \n {keys && keys.length > 0 && (\n \n this.setState({ expanded: !this.state.expanded })}\n disableRipple\n isExpanded={this.state.expanded}\n />\n \n )}\n\n \n \n \n
\n )\n }\n}\n\nconst mapStateToProps = ({ resources: { current }, keys }) => ({\n current,\n keys: keys.list,\n})\n\nexport default connect(mapStateToProps)(withStyles(styles)(withRouter(Keys)))\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { Loader } from 'sputnik-ui'\nimport { withRouter } from 'react-router-dom'\nimport { Card, withSearch } from 'components'\n\nimport ListItem from '@material-ui/core/ListItem'\nimport ListItemIcon from '@material-ui/core/ListItemIcon'\nimport ListItemText from '@material-ui/core/ListItemText'\nimport ListItemSecondaryAction from '@material-ui/core/ListItemSecondaryAction'\nimport ArrowForwardIcon from '@material-ui/icons/ArrowForward'\nimport LocationCityIcon from '@material-ui/icons/LocationCity'\n\nimport { getLocalities } from 'store/operations'\nimport { selectLocality } from 'store/actions'\n\nconst searchLocalities = (props, query) => {\n const { selectedCountry, selectedRegion, selectedArea, dispatch } = props\n\n const country_uuid = (selectedCountry && selectedCountry.uuid) || null\n const region_uuid = (selectedRegion && selectedRegion.uuid) || null\n const area_uuid = (selectedArea && selectedArea.uuid) || null\n const q = query || null\n\n dispatch(\n getLocalities({\n area_uuid,\n country_uuid,\n region_uuid,\n q,\n }),\n )\n}\n\nconst Localities = ({\n localities,\n err,\n dispatch,\n history,\n match,\n ...props\n}) => {\n if (!localities) {\n return \n }\n\n return (\n } {...props}>\n {localities.map(l => (\n {\n dispatch(selectLocality(l))\n history.push(`/l/${l.uuid}`)\n }}\n >\n \n \n \n \n \n \n \n \n ))}\n \n )\n}\n\nconst mapStateToProps = ({ resources }) => ({\n localities: resources.current && resources.current.localities,\n err: resources.err,\n})\n\nlet toExp = withSearch(searchLocalities)(Localities)\ntoExp = withRouter(toExp)\n\nexport default connect(mapStateToProps)(toExp)\n","export const GET_KEYS_REQUEST = 'keys/GET_KEYS_REQUEST'\nexport const GET_KEYS_SUCCESS = 'keys/GET_KEYS_SUCCESS'\nexport const GET_KEYS_ERROR = 'keys/GET_KEYS_ERROR'\n\nexport const REMOVE_KEY_REQUEST = 'keys/REMOVE_KEY_REQUEST'\nexport const REMOVE_KEY_SUCCESS = 'keys/REMOVE_KEY_SUCCESS'\nexport const REMOVE_KEY_ERROR = 'keys/REMOVE_KEY_ERROR'\n\nexport const ADD_KEY_REQUEST = 'keys/ADD_KEY_REQUEST'\nexport const ADD_KEY_SUCCESS = 'keys/ADD_KEY_SUCCESS'\nexport const ADD_KEY_ERROR = 'keys/ADD_KEY_ERROR'\n\nexport const DELETE_ALL_KEYS_REQUEST: string = 'devices/DELETE_ALL_KEYS_REQUEST'\nexport const DELETE_ALL_KEYS_SUCCESS: string = 'devices/DELETE_ALL_KEYS_SUCCESS'\nexport const DELETE_ALL_KEYS_ERROR: string = 'devices/DELETE_ALL_KEYS_ERROR'\n\nexport const SYNC_KEYS_REQUEST: string = 'devices/SYNC_KEYS_REQUEST'\nexport const SYNC_KEYS_SUCCESS: string = 'devices/SYNC_KEYS_SUCCESS'\nexport const SYNC_KEYS_ERROR: string = 'devices/SYNC_KEYS_ERROR'\n","module.exports = __webpack_public_path__ + \"static/media/place-24.a1a0d350.svg\";","import React from 'react'\nimport { connect } from 'react-redux'\nimport { Loader } from 'sputnik-ui'\nimport { withRouter } from 'react-router-dom'\nimport { Card, withSearch } from 'components'\n\nimport ListItem from '@material-ui/core/ListItem'\nimport ListItemIcon from '@material-ui/core/ListItemIcon'\nimport ListItemText from '@material-ui/core/ListItemText'\nimport ListItemSecondaryAction from '@material-ui/core/ListItemSecondaryAction'\nimport ArrowForwardIcon from '@material-ui/icons/ArrowForward'\nimport TerrainIcon from '@material-ui/icons/Terrain'\n\nimport { getRegions } from 'store/operations'\nimport { selectRegion } from 'store/actions'\n\nconst searchRegions = (props, query) => {\n const { selectedCountry, dispatch } = props\n\n const country_uuid = (selectedCountry && selectedCountry.uuid) || null\n const q = query || null\n\n dispatch(\n getRegions({\n country_uuid,\n q,\n }),\n )\n}\n\nconst Regions = ({\n regions,\n err,\n classes,\n dispatch,\n history,\n match,\n ...props\n}) => {\n if (!regions) {\n return \n }\n\n return (\n } {...props}>\n {regions.map(r => (\n {\n dispatch(selectRegion(r))\n history.push(`/r/${r.uuid}`)\n }}\n >\n \n \n \n \n \n \n \n \n ))}\n \n )\n}\n\nconst mapStateToProps = ({ resources }) => ({\n regions: resources.current && resources.current.regions,\n err: resources.err,\n})\n\nconst searchComp = withSearch(searchRegions)(Regions)\n\nexport default connect(mapStateToProps)(withRouter(searchComp))\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { Loader } from 'sputnik-ui'\nimport { withRouter } from 'react-router-dom'\nimport { Card, withSearch } from 'components'\n\nimport ListItem from '@material-ui/core/ListItem'\nimport ListItemIcon from '@material-ui/core/ListItemIcon'\nimport ListItemText from '@material-ui/core/ListItemText'\nimport ListItemSecondaryAction from '@material-ui/core/ListItemSecondaryAction'\nimport ArrowForwardIcon from '@material-ui/icons/ArrowForward'\nimport LocationCityIcon from '@material-ui/icons/LocationCity'\n\nimport { getStreets } from 'store/operations'\nimport { selectStreet } from 'store/actions'\n\nconst searchStreets = (props, query) => {\n const { match, dispatch } = props\n\n const parent_uuid = match.params.locality\n const q = query || null\n\n dispatch(\n getStreets({\n parent_uuid,\n q,\n }),\n )\n}\n\nconst Streets = ({ streets, err, dispatch, match, history, ...props }) => {\n if (!streets) {\n return \n }\n\n return (\n } {...props}>\n {streets.map(s => (\n {\n dispatch(selectStreet(s))\n history.push(`/s/${s.uuid}`)\n }}\n >\n \n \n \n \n \n \n \n \n ))}\n \n )\n}\n\nconst mapStateToProps = ({ resources }) => ({\n streets: resources.current && resources.current.streets,\n err: resources.err,\n})\n\nlet toExp = withSearch(searchStreets)(Streets)\ntoExp = withRouter(toExp)\n\nexport default connect(mapStateToProps)(toExp)\n","import React from 'react'\nimport { Button, Loader } from 'sputnik-ui'\nimport { connect } from 'react-redux'\nimport { withRouter } from 'react-router-dom'\n\nimport Dialog from '@material-ui/core/Dialog'\nimport DialogActions from '@material-ui/core/DialogActions'\nimport DialogContent from '@material-ui/core/DialogContent'\nimport DialogContentText from '@material-ui/core/DialogContentText'\nimport DialogTitle from '@material-ui/core/DialogTitle'\nimport Zoom from '@material-ui/core/Zoom'\nimport {\n unlinkIntercom,\n getIntercomsByAddress,\n getUnlinkedIntercoms,\n} from 'store/operations'\n\nfunction Transition(props) {\n return \n}\n\nclass UnlinkDeviceModal extends React.Component {\n handleUnlink = () => {\n const {\n dispatch,\n handleClose,\n device,\n match: {\n params: { entry, house },\n },\n } = this.props\n dispatch(unlinkIntercom(device.uuid, house)).then(() => {\n dispatch(getIntercomsByAddress(entry))\n dispatch(getUnlinkedIntercoms('', true))\n handleClose()\n })\n }\n\n render() {\n return (\n \n {this.props.device ? (\n \n \n {`Вы действительно хотите отвязать устройство #${this.props.device.number}?`}\n \n \n \n Это действие нельзя будет отменить\n \n \n \n \n \n \n \n ) : (\n \n )}\n \n )\n }\n}\n\nexport default connect()(withRouter(UnlinkDeviceModal))\n","//@flow\nimport * as React from 'react'\nimport { SingleChildTemplate, Localities } from 'components'\nimport { withRouter } from 'react-router-dom'\nimport { connect } from 'react-redux'\n\nimport { fetchArea } from 'store/resources/operations'\nimport { clearResources } from 'store/actions'\n\nfunction AreaPage({\n dispatch,\n match: {\n params: { area },\n },\n}) {\n React.useEffect(() => {\n if (area) {\n dispatch(fetchArea(area))\n }\n return () => dispatch(clearResources())\n }, [dispatch, area])\n return (\n \n \n \n )\n}\n\nexport default connect()(withRouter(AreaPage))\n","//@flow\nimport * as React from 'react'\nimport { TwoChildrenTemplate, Regions, Localities } from 'components'\nimport { withRouter } from 'react-router-dom'\nimport { connect } from 'react-redux'\n\nimport { clearResources } from 'store/actions'\nimport { fetchCountry } from 'store/resources/operations'\n\nfunction CountryPage({\n dispatch,\n match: {\n params: { country },\n },\n}) {\n React.useEffect(() => {\n if (country) {\n dispatch(fetchCountry(country))\n }\n return () => dispatch(clearResources())\n }, [dispatch, country])\n return (\n \n \n \n \n )\n}\n\nexport default connect()(withRouter(CountryPage))\n","//@flow\nimport * as React from 'react'\nimport {\n EntryPageTemplate,\n Flats,\n IntercomDevice,\n UnlinkDeviceModal,\n CameraModal,\n Keys,\n InstallationPointActions,\n} from 'components'\nimport { Loader } from 'sputnik-ui'\nimport { withRouter } from 'react-router-dom'\nimport { connect } from 'react-redux'\n\nimport {\n getIntercomsByAddress,\n syncIntercom,\n fetchEntry,\n getKeys,\n getCamerasByAddress,\n} from 'store/operations'\nimport { clearResources } from 'store/actions'\nimport Cameras from '../../molecules/Cameras'\n\ntype Props = {\n match: Object,\n dispatch: Function,\n classes: Object,\n selected: Object,\n intercoms: Object[],\n cameras: Object[],\n error: string,\n Header: React.ComponentType<{}>,\n msg: string,\n}\n\nfunction EntryPage({\n match: {\n params: { entry },\n },\n dispatch,\n intercoms,\n cameras,\n camera,\n error,\n ...props\n}: Props) {\n React.useEffect(() => {\n if (entry) {\n dispatch(fetchEntry(entry))\n dispatch(getIntercomsByAddress(entry))\n // dispatch(getFlats({ parent_uuid: entry }))\n dispatch(getKeys(entry))\n dispatch(getCamerasByAddress(entry))\n }\n return () => dispatch(clearResources())\n }, [dispatch, entry])\n\n const [cameraModal, setCameraModal] = React.useState(false)\n\n const [unlinkDeviceModal, setUnlinkDeviceModal] = React.useState(false)\n const [currentDevice, setCurrentDevice] = React.useState('')\n\n if (!intercoms)\n return (\n \n )\n\n return (\n }>\n \n
\n {intercoms &&\n intercoms.map((d) => (\n () => {\n setCurrentDevice(device)\n setUnlinkDeviceModal(true)\n }}\n openCameraModal={(device) => () => {\n setCurrentDevice(device)\n setCameraModal(true)\n }}\n />\n ))}\n \n \n
\n\n setUnlinkDeviceModal(false)}\n device={currentDevice}\n />\n setCameraModal(false)}\n device={currentDevice}\n camera={camera}\n />\n
\n )\n}\n\nconst mapStateToProps = ({ devices, resources, keys }) => ({\n camera: devices.camera,\n intercoms: devices.collection,\n error: devices.error || resources.error || keys.error,\n msg: devices.msg || resources.msg || keys.msg,\n keys: keys.list,\n})\n\nexport default connect(mapStateToProps)(withRouter(EntryPage))\n","//@flow\nimport * as React from 'react'\nimport { connect } from 'react-redux'\nimport { SingleChildTemplate, Citizens, ConfirmActionModal } from 'components'\nimport { withRouter } from 'react-router-dom'\n\nimport { unlinkCitizen } from 'store/operations'\nimport { clearResources } from 'store/actions'\nimport { fetchFlat } from 'store/resources/operations'\n\nfunction FlatPage({\n dispatch,\n match: {\n params: { flat },\n },\n}) {\n const [userToUnlink, setUserToUnlink] = React.useState(null)\n React.useEffect(() => {\n if (flat) {\n dispatch(fetchFlat(flat))\n }\n return () => dispatch(clearResources())\n }, [dispatch, flat])\n\n return (\n \n () => setUserToUnlink(user)} />\n setUserToUnlink(null)}\n handleAction={() =>\n dispatch(unlinkCitizen(userToUnlink)).then(() => {\n setUserToUnlink(null)\n dispatch(fetchFlat(flat))\n })\n }\n />\n \n )\n}\n\nexport default connect()(withRouter(FlatPage))\n","//@flow\nimport * as React from 'react'\nimport styled from 'styled-components'\nimport { Button } from 'sputnik-ui'\nimport { Link, withRouter } from 'react-router-dom'\nimport { connect } from 'react-redux'\n\nimport { MainTemplate, Countries } from 'components'\nimport { getCountries } from 'store/operations'\nimport AddAddressModal from '../../organisms/AddAddressModal'\nimport SearchAddressModal from '../../organisms/SearchAddressModal'\nimport SearchCitizenModal from 'components/organisms/SearchCitizenModal'\nimport { Typography } from '@material-ui/core'\nimport { clearResources } from 'store/resources/actions'\nimport UnlinkByPhone from 'components/organisms/UnlinkByPhone'\n\nconst Wrapper = styled.div`\n display: flex;\n justify-content: flex-start;\n\n @media screen and (max-width: ${(p) => p.theme.sizes.tablet}) {\n flex-direction: column;\n align-items: center;\n }\n\n & > a {\n margin-bottom: 0.625rem;\n &:not(:first-child) {\n margin-left: 0.625rem;\n }\n }\n`\n\nfunction HomePage({ dispatch, history, location }) {\n React.useEffect(() => {\n dispatch(getCountries())\n return () => clearResources()\n }, [dispatch])\n return (\n \n Навигация\n\n \n\n \n Действия\n \n \n \n Добавить новый адрес\n \n \n Найти устройство\n \n \n Найти жителя\n \n \n Отвязать по жителя по номеру\n \n \n\n \n \n \n \n \n )\n}\nexport default connect()(withRouter(HomePage))\n","//@flow\nimport * as React from 'react'\nimport {\n EntryPageTemplate,\n Entries,\n Cameras,\n AttachNewIntercomModal,\n AttachNewCameraModal,\n IntercomDevice,\n CameraModal,\n UnlinkDeviceModal,\n} from 'components'\nimport { Container, Wrapper } from 'sputnik-ui'\nimport { withRouter } from 'react-router-dom'\nimport { connect } from 'react-redux'\nimport styled from 'styled-components'\n\nimport IconButton from '@material-ui/core/IconButton'\nimport { AttachFile, Videocam } from '@material-ui/icons'\n\nimport Tooltip from '@material-ui/core/Tooltip'\n\nimport {\n getCamerasByAddress,\n getIntercomsByAddress,\n fetchHouse,\n} from 'store/operations'\nimport { clearResources } from 'store/actions'\n\nconst Subheader = styled(Wrapper)`\n background: ${(p) => p.theme.palette.other.peach};\n padding: 0.325rem 0;\n border-radius: 0;\n justify-content: center;\n`\n\nfunction HousePage({\n match: {\n params: { house },\n },\n dispatch,\n camera,\n cameras,\n intercoms,\n currentAddress,\n ...props\n}) {\n React.useEffect(() => {\n if (house) {\n dispatch(fetchHouse(house))\n dispatch(getCamerasByAddress(house))\n dispatch(getIntercomsByAddress(house))\n }\n return () => dispatch(clearResources())\n }, [dispatch, house])\n\n const [attachNewCameraModal, setAttachNewCameraModal] = React.useState(false)\n const [attachNewIntercomModal, setAttachNewIntercomModal] = React.useState(\n false,\n )\n const [cameraModal, setCameraModal] = React.useState(false)\n\n const [unlinkDeviceModal, setUnlinkDeviceModal] = React.useState(false)\n const [currentDevice, setCurrentDevice] = React.useState('')\n\n return (\n \n \n \n setAttachNewCameraModal(true)}\n disableRipple\n >\n \n \n \n\n \n setAttachNewIntercomModal(true)}\n disableRipple\n >\n \n \n \n \n \n }\n >\n \n
\n {intercoms &&\n intercoms.map((d) => (\n () => {\n setCurrentDevice(device)\n setUnlinkDeviceModal(true)\n }}\n openCameraModal={(device) => () => {\n setCurrentDevice(device)\n setCameraModal(true)\n }}\n />\n ))}\n {cameras && }\n
\n\n setUnlinkDeviceModal(false)}\n device={currentDevice}\n />\n setCameraModal(false)}\n device={currentDevice}\n camera={camera}\n />\n setAttachNewCameraModal(false)}\n />\n setAttachNewIntercomModal(false)}\n />\n \n )\n}\n\nconst mapStateToProps = ({ devices, resources, keys }) => ({\n camera: devices.camera,\n intercoms: devices.collection,\n cameras: devices.cameras,\n currentAddress: resources.current && resources.current.full_address,\n})\n\nexport default connect(mapStateToProps)(withRouter(HousePage))\n","//@flow\nimport * as React from 'react'\nimport { connect } from 'react-redux'\nimport { withRouter } from 'react-router-dom'\n\nimport { SingleChildTemplate, Streets } from 'components'\nimport { clearResources } from 'store/actions'\nimport { fetchLocality } from 'store/resources/operations'\n\nfunction LocalityPage({\n dispatch,\n match: {\n params: { locality },\n },\n}) {\n React.useEffect(() => {\n if (locality) {\n dispatch(fetchLocality(locality))\n }\n return () => dispatch(clearResources())\n }, [dispatch, locality])\n return (\n \n \n \n )\n}\n\nexport default connect()(withRouter(LocalityPage))\n","//@flow\nimport * as React from 'react'\nimport { withRouter } from 'react-router-dom'\nimport { connect } from 'react-redux'\n\nimport { TwoChildrenTemplate, Localities, Areas } from 'components'\nimport { fetchRegion } from 'store/operations'\nimport { clearResources } from 'store/actions'\n\nfunction RegionsPage({\n match: {\n params: { region },\n },\n dispatch,\n}) {\n React.useEffect(() => {\n if (region) {\n dispatch(fetchRegion(region))\n }\n return () => dispatch(clearResources())\n }, [dispatch, region])\n return (\n \n \n \n \n )\n}\n\nexport default connect()(withRouter(RegionsPage))\n","//@flow\nimport * as React from 'react'\nimport { SingleChildTemplate, Houses } from 'components'\nimport { withRouter } from 'react-router-dom'\nimport { connect } from 'react-redux'\n\nimport { clearResources } from 'store/actions'\nimport { fetchStreet } from 'store/resources/operations'\n\nfunction StreetPage({\n dispatch,\n match: {\n params: { street },\n },\n}) {\n React.useEffect(() => {\n if (street) {\n dispatch(fetchStreet(street))\n }\n return () => dispatch(clearResources())\n }, [dispatch, street])\n return (\n \n \n \n )\n}\n\nexport default connect()(withRouter(StreetPage))\n","// https://github.com/diegohaz/arc/wiki/Atomic-Design#templates\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport styled from 'styled-components'\n\nconst Wrapper = styled.div`\n display: flex;\n flex-direction: column;\n height: 100%;\n width: calc(100vw - (100vw - 100%));\n`\n\nconst Content = styled.section`\n height: 100%;\n margin-top: 7.125rem;\n display: flex;\n`\n\nconst AppTemplate = ({ header, children, subheader, ...props }) => {\n return (\n \n {header}\n {children}\n \n )\n}\n\nAppTemplate.propTypes = {\n header: PropTypes.node.isRequired,\n subheader: PropTypes.node,\n children: PropTypes.any.isRequired,\n}\n\nexport default AppTemplate\n","// https://github.com/diegohaz/arc/wiki/Atomic-Design#templates\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport styled from 'styled-components'\nimport { Section } from 'components'\nimport { Container } from 'sputnik-ui'\n\nconst Wrapper = styled.div`\n display: flex;\n flex-direction: column;\n min-height: 100vh;\n height: 1px;\n width: calc(100vw - (100vw - 100%));\n`\n\nconst Subheader = styled.div`\n /* padding: ${p => p.theme.sizes.scale[1]} 0; */\n /* background: ${p => p.theme.palette.other.pink}; */\n`\n\nconst Content = styled(Section)`\n display: flex;\n padding-top: 2rem;\n padding-bottom: 0;\n flex-wrap: wrap;\n justify-content: space-between;\n margin-top: 0;\n\n & > * {\n margin-bottom: 1.625rem;\n }\n\n & > *:first-child {\n flex: 1;\n margin-right: 1.625rem;\n\n @media screen and (max-width: 800px) {\n flex: auto;\n width: 100%;\n margin-right: 0;\n }\n }\n\n & > *:nth-child(2) {\n flex: 1;\n align-self: flex-start;\n\n & > * {\n margin-bottom: 1.625rem;\n }\n }\n`\n\nconst EntryPageTemplate = ({\n header,\n subheader,\n children,\n margin,\n ...props\n}) => {\n return (\n \n {subheader}\n \n {children}\n \n \n )\n}\n\nEntryPageTemplate.propTypes = {\n subheader: PropTypes.node,\n children: PropTypes.any.isRequired,\n margin: PropTypes.string,\n}\n\nexport default EntryPageTemplate\n","// https://github.com/diegohaz/arc/wiki/Atomic-Design#templates\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport styled from 'styled-components'\nimport { Container } from 'sputnik-ui'\n\nconst Wrapper = styled.div`\n display: flex;\n flex-direction: column;\n height: 100%;\n width: calc(100vw - (100vw - 100%));\n padding-top: 2rem;\n`\n\nconst Content = styled(Container)`\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n\n @media screen and (max-width: ${p => p.theme.sizes.tablet}) {\n justify-content: unset;\n }\n`\n\nconst MainTemplate = ({ header, children, margin, subheader, ...props }) => {\n return (\n \n {children}\n \n )\n}\n\nMainTemplate.propTypes = {\n subheader: PropTypes.node,\n children: PropTypes.any.isRequired,\n margin: PropTypes.string,\n}\n\nexport default MainTemplate\n","// https://github.com/diegohaz/arc/wiki/Atomic-Design#templates\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport styled from 'styled-components'\nimport { Container } from 'sputnik-ui'\n\nconst Wrapper = styled.div`\n display: flex;\n flex-direction: column;\n width: calc(100vw - (100vw - 100%));\n height: 100%;\n`\n\nconst Content = styled(Container)`\n display: flex;\n padding: 1.625rem;\n padding-bottom: 0;\n flex-wrap: wrap;\n justify-content: center;\n flex-direction: row;\n height: 100%;\n & > div {\n width: 70%;\n margin-bottom: 1.625rem;\n\n @media screen and (max-width: 768px) {\n width: 100%;\n }\n }\n`\n\nconst SingleChildTemplate = ({ children, ...props }) => {\n return (\n \n {children}\n \n )\n}\n\nSingleChildTemplate.propTypes = {\n children: PropTypes.any.isRequired,\n}\n\nexport default SingleChildTemplate\n","// https://github.com/diegohaz/arc/wiki/Atomic-Design#templates\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport styled from 'styled-components'\n\nimport { Container } from 'sputnik-ui'\n\nconst Wrapper = styled.div`\n display: flex;\n flex-direction: column;\n width: calc(100vw - (100vw - 100%));\n height: 100%;\n`\n\nconst Content = styled(Container)`\n display: flex;\n padding: 1.625rem;\n padding-bottom: 2rem;\n height: 100%;\n flex-wrap: wrap;\n justify-content: space-between;\n flex-direction: row;\n\n & > * {\n width: calc(50% - (1.625rem / 2));\n margin-bottom: 1.625rem;\n\n @media screen and (max-width: 768px) {\n width: calc(100%);\n }\n }\n`\n\nconst CountryTemplate = ({ header, children, margin, subheader, ...props }) => {\n return (\n \n {children}\n \n )\n}\n\nCountryTemplate.propTypes = {\n subheader: PropTypes.node,\n children: PropTypes.any.isRequired,\n margin: PropTypes.string,\n}\n\nexport default CountryTemplate\n","var map = {\n\t\"./auth/reducers.js\": 444,\n\t\"./citizens/reducers.js\": 445,\n\t\"./devices/reducers.js\": 446,\n\t\"./installations/reducers.js\": 447,\n\t\"./keys/reducers.js\": 448,\n\t\"./resources/reducers.js\": 449,\n\t\"./selected/reducers.js\": 450,\n\t\"./ui/reducers.js\": 451\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 443;","import * as types from './types'\n\nconst initialState = {\n isLoggedIn: false,\n error: null\n}\n\nexport default function auth(state = initialState, { type, payload }) {\n switch (type) {\n case types.SIGN_IN:\n return { ...state, isLoggedIn: true, error: null, user: payload }\n case types.SIGN_IN_ERROR:\n return { ...state, error: payload }\n case types.LOG_OUT_SUCCESS:\n return { ...state, isLoggedIn: false, error: null, user: null }\n default:\n return state\n }\n}\n","import * as types from './types'\nimport { CLEAR_STATUS } from '../ui/types.js'\nimport { CLEAR_RESOURCES } from '../resources/types.js'\n\nconst initialState = {\n msg: '',\n error: '',\n}\n\nexport default function citizens(state = initialState, { type, payload }) {\n switch (type) {\n case types.SEARCH_FAILURE:\n return { ...state, error: payload.error }\n case types.UNLINK_BY_PHONE_SUCCESS:\n return { ...state, msg: payload.msg }\n case CLEAR_RESOURCES:\n return initialState\n case CLEAR_STATUS:\n return { ...state, msg: null, error: null }\n default:\n return state\n }\n}\n","//@flow\nimport * as types from './types'\n\ntype State = {\n +collection: ?(Object[]),\n +error: ?string,\n +unlinkedIntercoms: ?(Object[]),\n +cameras: ?(Object[]),\n +unlinkedCameras: ?(Object[]),\n}\n\ntype Action = {\n type: string,\n payload: any,\n}\n\nconst initialState: State = {\n collection: null,\n unlinkedIntercoms: null,\n cameras: null,\n unlinkedCameras: null,\n error: null,\n msg: null,\n unlinkingCamera: false,\n}\n\nexport default function devices(\n state: State = initialState,\n { type, payload }: Action,\n) {\n switch (type) {\n case types.GET_INTERCOMS_BY_ADDRESS_SUCCESS:\n return { ...state, collection: payload.intercoms, error: null }\n case types.GET_INTERCOMS_BY_ADDRESS_ERROR:\n return { ...state, error: payload }\n case types.GET_UNLINKED_INTERCOMS_SUCCESS:\n return { ...state, unlinkedIntercoms: payload.intercoms, error: null }\n case types.GET_UNLINKED_INTERCOMS_ERROR:\n return { ...state, error: payload }\n case types.GET_CAMERAS_BY_ADDRESS_SUCCESS:\n return { ...state, cameras: payload.cameras, error: null }\n case types.GET_CAMERAS_BY_ADDRESS_ERROR:\n return { ...state, error: payload }\n case types.GET_UNLINKED_CAMERAS_SUCCESS:\n return { ...state, unlinkedCameras: payload.cameras, error: null }\n case types.GET_UNLINKED_CAMERAS_ERROR:\n return { ...state, error: payload }\n case types.LINK_DEVICE_SUCCESS:\n return { ...state, msg: payload, error: null }\n case types.LINK_DEVICE_ERROR:\n return { ...state, msg: null, error: payload }\n case types.UNLINK_INTERCOM_SUCCESS:\n return { ...state, msg: payload, error: null }\n case types.UNLINK_INTERCOM_ERROR:\n return { ...state, msg: null, error: payload }\n case types.GET_CAMERA_SUCCESS:\n return { ...state, camera: payload, error: null }\n case types.GET_CAMERA_ERROR:\n return { ...state, error: payload }\n case types.SYNC_INTERCOM_SUCCESS:\n return { ...state, msg: payload }\n case types.SYNC_INTERCOM_ERROR:\n return { ...state, error: payload }\n case types.SYNC_CAMERA_SUCCESS:\n return { ...state, msg: payload.msg }\n case types.SYNC_CAMERA_ERROR:\n return { ...state, error: payload.error }\n case types.SYNC_INTERCOM_CAMERA_SUCCESS:\n return { ...state, msg: payload.msg }\n case types.SYNC_INTERCOM_CAMERA_ERROR:\n return { ...state, error: payload.error }\n case types.UNLINK_CAMERA_REQUEST:\n return { ...state, unlinkingCamera: true }\n case types.UNLINK_CAMERA_SUCCESS:\n return { ...state, msg: payload.msg, unlinkingCamera: false }\n case types.UNLINK_CAMERA_ERROR:\n return { ...state, error: payload.error, unlinkingCamera: false }\n case 'resources/CLEAR':\n return initialState\n case 'ui/CLEAR_STATUS':\n return { ...state, msg: null, error: null }\n default:\n return state\n }\n}\n","//@flow\nimport * as types from './types'\n\ntype State = {\n msg: ?string,\n error: ?string,\n}\n\ntype Action = {\n type: string,\n payload: any,\n}\n\nconst initialState: State = {\n error: null,\n msg: null,\n}\n\nexport default function devices(\n state: State = initialState,\n { type, payload }: Action,\n) {\n switch (type) {\n case types.SYNC_INSTALLATION_POINT_SUCCESS:\n return { ...state, msg: payload.msg }\n case types.SYNC_INSTALLATION_POINT_ERROR:\n return { ...state, error: payload.error }\n case types.CLOSE_COLLECTING_KEYS_SUCCESS:\n return { ...state, msg: payload.msg }\n case types.CLOSE_COLLECTING_KEYS_ERROR:\n return { ...state, error: payload.error }\n case types.OPEN_COLLECTING_KEYS_SUCCESS:\n return { ...state, msg: payload.msg }\n case types.OPEN_COLLECTING_KEYS_ERROR:\n return { ...state, error: payload.error }\n case types.PROLONG_COLLECTING_KEYS_SUCCESS:\n return { ...state, msg: payload.msg }\n case types.PROLONG_COLLECTING_KEYS_ERROR:\n return { ...state, error: payload.error }\n case types.INVALIDATE_QR_SUCCESS:\n return { ...state, msg: payload.msg }\n case 'resources/CLEAR':\n return initialState\n case 'ui/CLEAR_STATUS':\n return { ...state, msg: null, error: null }\n default:\n return state\n }\n}\n","import * as types from './types'\nimport { CLEAR_RESOURCES } from '../resources/types'\nimport { CLEAR_STATUS } from '../ui/types'\n\nconst initialState = {\n msg: null,\n error: null,\n isUnpaid: false,\n list: [],\n}\n\nexport default function keys(state = initialState, { type, payload }) {\n switch (type) {\n case types.GET_KEYS_SUCCESS:\n return {\n ...state,\n list: payload.firstPage\n ? payload.keys\n : [...state.list, ...payload.keys],\n }\n case types.GET_KEYS_ERROR:\n return { ...state, isUnpaid: payload.isUnpaid }\n case types.REMOVE_KEY_SUCCESS:\n return { ...state, msg: payload.msg }\n case types.REMOVE_KEY_ERROR:\n return { ...state, error: payload.error }\n case types.ADD_KEY_SUCCESS:\n return { ...state, msg: payload.msg }\n case types.ADD_KEY_ERROR:\n return { ...state, error: payload.error }\n case types.DELETE_ALL_KEYS_SUCCESS:\n return { ...state, msg: payload.msg }\n case types.DELETE_ALL_KEYS_ERROR:\n return { ...state, error: payload.error }\n case types.SYNC_KEYS_SUCCESS:\n return { ...state, msg: payload.msg }\n case types.SYNC_KEYS_ERROR:\n return { ...state, error: payload.error }\n case CLEAR_STATUS:\n return { ...state, error: null, msg: null }\n case CLEAR_RESOURCES:\n return initialState\n default:\n return state\n }\n}\n","import * as types from './types'\nimport { CLEAR_STATUS } from '../ui/types'\n\nconst initialState = {\n // countries\n countries: null,\n // regions\n regions: null,\n // localities\n localities: null,\n // areas\n areas: null,\n // streets\n streets: null,\n // houses\n houses: null,\n // entries\n entries: null,\n // flats\n flats: null,\n // citizens\n citizens: null,\n //\n current: null,\n error: null,\n msg: null,\n}\n\nfunction resources(state = initialState, { type, payload }) {\n switch (type) {\n // countries\n case types.GET_COUNTRIES_SUCCESS:\n return { ...state, current: payload, error: null }\n case types.GET_COUNTRIES_ERROR:\n return { ...state, error: payload }\n case types.FETCH_COUNTRY_SUCCESS:\n return { ...state, current: payload.country, error: null }\n case types.FETCH_COUNTRY_FAILURE:\n return { ...state, error: payload.error }\n // regions\n case types.GET_REGIONS_SUCCESS:\n return { ...state, regions: payload, error: null }\n case types.GET_REGIONS_ERROR:\n return { ...state, error: payload }\n case types.FETCH_REGION_SUCCESS:\n return { ...state, current: payload.region, error: null }\n case types.FETCH_REGION_FAILURE:\n return { ...state, error: payload.error }\n // localities\n case types.GET_LOCALITIES_SUCCESS:\n return { ...state, localities: payload, error: null }\n case types.GET_LOCALITIES_ERROR:\n return { ...state, error: payload }\n case types.FETCH_LOCALITY_SUCCESS:\n return { ...state, current: payload.locality, error: null }\n case types.FETCH_LOCALITY_FAILURE:\n return { ...state, error: payload.error }\n // areas\n case types.GET_AREAS_SUCCESS:\n return { ...state, areas: payload, error: null }\n case types.GET_AREAS_ERROR:\n return { ...state, error: payload }\n case types.FETCH_AREA_SUCCESS:\n return { ...state, current: payload.area, error: null }\n case types.FETCH_AREA_FAILURE:\n return { ...state, error: payload.error }\n // streets\n case types.GET_STREETS_SUCCESS:\n return { ...state, streets: payload, error: null }\n case types.GET_STREETS_ERROR:\n return { ...state, error: payload }\n case types.FETCH_STREET_SUCCESS:\n return { ...state, current: payload.street, error: null }\n case types.FETCH_STREET_FAILURE:\n return { ...state, error: payload.error }\n // houses\n case types.GET_HOUSES_SUCCESS:\n return { ...state, houses: payload, error: null }\n case types.GET_HOUSES_ERROR:\n return { ...state, error: payload }\n case types.FETCH_HOUSE_SUCCESS:\n return { ...state, current: payload.house, error: null }\n case types.FETCH_HOUSE_FAILURE:\n return { ...state, error: payload.error }\n // entries\n case types.GET_ENTRIES_SUCCESS:\n return { ...state, entries: payload, error: null }\n case types.GET_ENTRIES_ERROR:\n return { ...state, error: payload }\n case types.FETCH_ENTRY_SUCCESS:\n return { ...state, current: payload.entry, error: null }\n case types.FETCH_ENTRY_FAILURE:\n return { ...state, error: payload.error }\n // flats\n case types.GET_FLATS_SUCCESS:\n return { ...state, flats: payload, error: null }\n case types.GET_FLATS_ERROR:\n return { ...state, error: payload }\n case types.CHANGE_FLAT_RANGE_SUCCESS:\n return { ...state, msg: payload }\n case types.CHANGE_FLAT_RANGE_ERROR:\n return { ...state, error: payload }\n case types.FETCH_FLAT_SUCCESS:\n return { ...state, current: payload.flat, error: null }\n case types.FETCH_FLAT_FAILURE:\n return { ...state, error: payload.error }\n // citizens\n case types.GET_CITIZENS_SUCCESS:\n return { ...state, citizens: payload }\n case types.GET_CITIZENS_ERROR:\n return { ...state, error: payload }\n case types.UNLINK_CITIZEN_ERROR:\n return { ...state, error: payload }\n //\n case types.CLEAR_RESOURCES:\n return initialState\n case types.CLEAR_ENTRIES:\n return { ...state, entries: null }\n case CLEAR_STATUS:\n return { ...state, error: null, msg: null }\n default:\n return state\n }\n}\n\nexport default resources\n","import * as types from './types'\n\nconst initialState = {\n country: null,\n region: null,\n locality: null,\n area: null,\n street: null,\n house: null,\n entry: null,\n flat: null,\n}\n\nexport default function selected(state = initialState, { type, payload }) {\n switch (type) {\n case types.SELECT_COUNTRY:\n return { ...state, country: payload }\n case types.SELECT_REGION:\n return { ...state, region: payload }\n case types.SELECT_LOCALITY:\n return { ...state, locality: payload }\n case types.SELECT_AREA:\n return { ...state, area: payload }\n case types.SELECT_STREET:\n return { ...state, street: payload }\n case types.SELECT_HOUSE:\n return { ...state, house: payload }\n case types.SELECT_ENTRY:\n return { ...state, entry: payload }\n case types.SELECT_FLAT:\n return { ...state, flat: payload }\n default:\n return state\n }\n}\n","import * as types from './types'\n\nconst initialState = {\n msg: null,\n}\n\nexport default function ui(state = initialState, { type, payload }) {\n switch (type) {\n case types.SHOW_INFO_MESSAGE:\n return { ...state, msg: payload.msg }\n case types.HIDE_INFO_MESSAGE:\n return { ...state, msg: payload.msg }\n case types.CLEAR_STATUS:\n return { ...state, msg: null }\n default:\n return state\n }\n}\n","// import React...\nimport React, { Suspense } from 'react'\nimport { Route, Switch, Redirect, NavLink } from 'react-router-dom'\nimport { Navbar, Toast } from 'sputnik-ui'\nimport styled from 'styled-components'\nimport { connect } from 'react-redux'\nimport { Typography, IconButton, Tooltip } from '@material-ui/core'\nimport { KeyboardArrowRight, Assignment } from '@material-ui/icons'\n\nimport { AppTemplate } from 'components'\nimport requireAuth from '../utils/requireAuth'\nimport { clearStatus, showInfoMessage } from 'store/ui/actions'\n\nconst HomePage = React.lazy(() => import('./pages/HomePage'))\nconst CountryPage = React.lazy(() => import('./pages/CountryPage'))\nconst RegionPage = React.lazy(() => import('./pages/RegionPage'))\nconst AreaPage = React.lazy(() => import('./pages/AreaPage'))\nconst LocalityPage = React.lazy(() => import('./pages/LocalityPage'))\nconst StreetPage = React.lazy(() => import('./pages/StreetPage'))\nconst HousePage = React.lazy(() => import('./pages/HousePage'))\nconst EntryPage = React.lazy(() => import('./pages/EntryPage'))\nconst FlatPage = React.lazy(() => import('./pages/FlatPage'))\n\nconst LocationWrapper = styled.div`\n display: flex;\n align-items: center;\n height: 100% !important;\n width: 100%;\n color: ${p => p.theme.palette.text.secondary};\n white-space: nowrap;\n overflow: auto;\n &::-webkit-scrollbar {\n display: none;\n }\n`\n\nconst LocationLink = styled(Typography).attrs(p => ({\n style: {\n color: p.theme.palette.text.secondary,\n },\n activeStyle: {\n color: p.theme.palette.text.primary,\n },\n component: NavLink,\n}))`\n && {\n text-decoration: none;\n &:hover {\n color: ${p => p.theme.palette.text.primary};\n }\n }\n`\n\nconst App = ({\n parents,\n currentAddress,\n infoMessage,\n msg,\n error,\n dispatch,\n}) => {\n const copyAddress = () => {\n // copy to clipboard\n const el = document.createElement('textarea')\n el.value = currentAddress\n document.body && document.body.appendChild(el)\n el.select()\n document.execCommand('copy')\n document.body && document.body.removeChild(el)\n dispatch(showInfoMessage('Адрес был скопирован'))\n }\n\n return (\n \n \n {parents &&\n parents.map(({ type, uuid, full_name }, idx) => (\n \n \n {full_name}\n \n {idx !== parents.length - 1 && (\n \n )}\n \n ))}\n \n \n \n \n \n \n \n }\n >\n \n \n \n \n \n \n \n \n \n \n\n \n\n \n \n \n\n dispatch(clearStatus())}\n variant=\"info\"\n >\n {infoMessage}\n \n dispatch(clearStatus())}\n variant=\"success\"\n >\n {msg}\n \n dispatch(clearStatus())}\n variant=\"error\"\n >\n {error}\n \n \n )\n}\n\nconst mapStateToProps = ({\n resources,\n devices,\n keys,\n citizens,\n ui,\n installations,\n}) => ({\n parents: resources.current && resources.current.parents,\n currentAddress: resources.current && resources.current.full_address,\n error:\n devices.error ||\n resources.error ||\n keys.error ||\n citizens.error ||\n installations.error,\n msg:\n devices.msg ||\n resources.msg ||\n keys.msg ||\n citizens.msg ||\n installations.msg,\n infoMessage: ui.msg,\n})\n\nexport default connect(mapStateToProps)(requireAuth(App))\n","import React, { Component } from 'react'\nimport { connect } from 'react-redux'\nimport { checkAuth } from 'store/auth/operations'\nimport { Loader } from 'sputnik-ui'\n\nexport default function requireAuth(C) {\n class Authentication extends Component {\n componentDidMount() {\n // check session\n this.props.dispatch(checkAuth())\n }\n\n render() {\n const { isLoggedIn } = this.props\n\n if (!isLoggedIn) {\n return \n }\n\n return \n }\n }\n\n const mapStateToProps = ({ auth }) => ({\n isLoggedIn: auth.isLoggedIn,\n })\n\n return connect(mapStateToProps)(Authentication)\n}\n","// In production, we register a service worker to serve assets from local cache.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\n// cached resources are updated in the background.\n\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\n// This link also includes instructions on opting out of this behavior.\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport default function register() {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Lets check if a service worker still exists or not.\n checkValidServiceWorker(swUrl);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://goo.gl/SC7cgQ'\n );\n });\n } else {\n // Is not local host. Just register service worker\n registerValidSW(swUrl);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the old content will have been purged and\n // the fresh content will have been added to the cache.\n // It's the perfect time to display a \"New content is\n // available; please refresh.\" message in your web app.\n console.log('New content is available; please refresh.');\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n if (\n response.status === 404 ||\n response.headers.get('content-type').indexOf('javascript') === -1\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import camelCase from 'lodash/camelCase'\nimport { combineReducers } from 'redux'\n\nconst reducers = {}\n\nconst req = require.context('.', true, /\\.\\/.+\\/reducers\\.js$/)\n\nreq.keys().forEach(key => {\n const storeName = camelCase(key.replace(/\\.\\/(.+)\\/.+$/, '$1'))\n reducers[storeName] = req(key).default\n})\n\nexport default combineReducers(reducers)\n","import { createStore, applyMiddleware, compose } from 'redux'\nimport rootReducer from './reducers'\nimport thunk from 'redux-thunk'\nimport throttle from 'lodash/throttle'\nimport { loadState, saveState } from 'utils/sessionStorage'\n\nconst middleware = [thunk]\n\nconst composeEnhancers =\n typeof window === 'object' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__\n ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({\n // Specify extension’s options like name, actionsBlacklist, actionsCreators, serialize...\n })\n : compose\n\nconst enhancer = composeEnhancers(\n applyMiddleware(...middleware)\n // other store enhancers if any\n)\n\nconst persistedState = loadState()\n\nconst store = createStore(rootReducer, persistedState, enhancer)\n\nstore.subscribe(throttle(() => saveState(store.getState()), 1000))\n\nexport default store\n","//@flow\n\nexport const loadState = () => {\n try {\n const serializedState: ?string = sessionStorage.getItem('auth')\n if (serializedState === null) {\n return undefined\n }\n // $FlowFixMe\n return JSON.parse(serializedState)\n } catch (err) {\n return undefined\n }\n}\n\nexport const saveState = ({ auth }: Object) => {\n try {\n const serializedState = JSON.stringify({\n auth\n })\n sessionStorage.setItem('auth', serializedState)\n } catch (err) {\n console.log(err)\n }\n}\n","//@flow\nimport * as React from 'react'\nimport ReactDOM from 'react-dom'\nimport { BrowserRouter } from 'react-router-dom'\nimport App from 'components/App'\nimport registerServiceWorker from './registerServiceWorker'\nimport store from './store/store'\nimport { Provider } from 'react-redux'\nimport {\n theme,\n Intercom,\n i18n,\n Loader,\n ThemeProvider,\n Metrika,\n} from 'sputnik-ui'\nimport { I18nextProvider } from 'react-i18next'\n\nimport 'rc-slider/assets/index.css'\n\nconst Root = (): React.Node => (\n \n \n \n \n }>\n \n \n \n \n \n \n \n \n)\n\nconst node = document.getElementById('root')\n\nif (node === null) {\n throw new Error('no node element')\n}\n\nReactDOM.render(, node)\nregisterServiceWorker()\n","import React from 'react'\nimport styled from 'styled-components'\nimport CardContent from '@material-ui/core/CardContent'\nimport CardHeader from '@material-ui/core/CardHeader'\nimport List from '@material-ui/core/List'\nimport Typography from '@material-ui/core/Typography'\nimport Input from '@material-ui/core/Input'\n\nimport { Wrapper } from 'sputnik-ui'\nimport { withStyles } from '@material-ui/core/styles'\nimport styles from './styles'\nimport { Box } from '@material-ui/core'\n\nconst CardWrapper = styled(Wrapper)`\n padding: 0;\n padding-bottom: 1rem;\n overflow: hidden;\n flex-direction: column;\n background: ${(p) => p.theme.palette.background.primary};\n`\n\nconst Header = styled(CardHeader)`\n && {\n background-color: ${(p) =>\n p.whiteHeader\n ? p.theme.palette.white[500]\n : p.theme.palette.primary[500]};\n color: ${(p) =>\n p.whiteHeader\n ? p.theme.palette.white.contrastText\n : p.theme.palette.primary.contrastText};\n height: 80px;\n position: sticky;\n z-index: 2;\n top: 0;\n }\n`\n\nconst Card = ({\n children,\n titleIcon,\n title,\n actionIcon,\n classes,\n action,\n toggleSearch,\n isSearching,\n whiteHeader,\n onSearch,\n right,\n rightClick,\n}) => (\n \n {isSearching ? (\n \n }\n classes={{\n action: classes.searchAction,\n }}\n whiteHeader={whiteHeader}\n />\n ) : (\n \n \n {title}\n \n \n {right}\n \n \n }\n // action={\n // \n // {actionIcon || (\n // \n // \n // \n // )}\n // \n // }\n whiteHeader={whiteHeader}\n classes={{\n action: classes.cardAction,\n avatar: classes.avatar,\n }}\n />\n )}\n\n \n \n {children}\n \n \n \n)\n\nexport default withStyles(styles)(Card)\n","export default theme => ({\n summary: {\n fontSize: theme.typography.pxToRem(15),\n fontWeight: theme.typography.fontWeightRegular,\n backgroundColor: theme.palette.primary['main'],\n },\n heading: {\n color: theme.palette.primary.contrastText,\n },\n card: {\n // boxShadow: '0 4px 12px 0.5px rgba(0,0,0,0.08)',\n '&:hover': {\n '.card-header': {\n backgroundColor: theme.palette.primary.main,\n },\n },\n paddingBottom: '1rem',\n overflow: 'hidden',\n },\n cardTitle: {\n // color: theme.palette.primary['contrastText'],\n fontSize: '1.2rem',\n },\n whiteHeader: {\n backgroundColor: 'white',\n },\n cardHeader: {\n backgroundColor: theme.palette.primary.main,\n position: 'sticky',\n zIndex: 2,\n top: 0,\n color: theme.palette.primary.contrastText,\n },\n searchHeader: {\n height: 80,\n color: theme.palette.primary.contrastText,\n },\n cardAction: {\n marginTop: 0,\n marginRight: -8,\n },\n searchAction: {\n width: '100%',\n marginTop: 'auto',\n marginBottom: 'auto',\n marginRight: 8,\n },\n cardContent: {\n overflowY: 'scroll',\n maxHeight: 'calc(100% - 1.625rem * 3)',\n paddingLeft: 0,\n paddingRight: 0,\n '&::-webkit-scrollbar': {\n width: '3px',\n backgroundColor: 'transparent',\n },\n '&::-webkit-scrollbar-track': {\n backgroundColor: 'transparent',\n },\n '&::-webkit-scrollbar-thumb': {\n backgroundColor: 'rgb(192, 192, 192)',\n },\n },\n list: {\n padding: 0,\n },\n listItem: {},\n listAction: {\n marginRight: '1rem',\n },\n})\n","//@flow\n\nexport default (match: Object, selected: Object, devices: Object) => {\n // const { country, region, area, locality, street, house, entry } = selected\n\n const {\n params: { country, region, area, locality, street, entry, flat, house },\n } = match\n\n let location = []\n let path = ``\n\n const setLoc = (title: string, str: string) => {\n const to = `${path}${str}`\n if (title) {\n location.push({ title, to })\n }\n path += str\n }\n\n if (flat) {\n const str = `/f/${flat}`\n setLoc(selected.flat && `Квартира ${selected.flat.number}`, str)\n } else if (entry) {\n const str = `/e/${entry}`\n const entryAddress = ''\n setLoc(entryAddress, str)\n } else if (house) {\n const str = `/h/${house}`\n setLoc(selected.house && selected.house.full_name, str)\n } else if (street) {\n const str = `/s/${street}`\n setLoc(selected.street && selected.street.full_name, str)\n } else if (locality) {\n const str = `/l/${locality}`\n setLoc(selected.locality && selected.locality.name, str)\n } else if (area) {\n const str = `/a/${area}`\n setLoc(selected.area && selected.area.name, str)\n } else if (region) {\n const str = `/r/${region}`\n setLoc(selected.region && selected.region.name, str)\n } else if (country) {\n const str = `/c/${country}`\n setLoc(selected.country && selected.country.name, str)\n }\n\n return location\n}\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { withRouter } from 'react-router-dom'\nimport { Navbar } from 'sputnik-ui'\nimport getLocation from 'utils/getLocation'\n\nconst withHeader = C => {\n const ComponentWithHeader = props => {\n const { match, selected, devices } = props\n const Header = headerProps => (\n \n )\n\n return \n }\n\n const mapStateToProps = ({ selected, devices }) => ({\n selected,\n devices: devices.collection,\n })\n\n return connect(mapStateToProps)(withRouter(ComponentWithHeader))\n}\n\nexport default withHeader\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.2543 16.7616L13.3351 27.9704C10.0458 27.8225 6.81571 26.4917 4.26723 24.037L12.5054 16.5545L11.2904 15.342L3.94126 23.7116C1.42241 21.1091 0.118534 17.7967 0 14.4547L10.5199 9.84104L13.424 6.73568L11.6163 10.3438L10.6088 10.7579C10.6088 14.2773 13.4536 17.1165 16.98 17.1165L17.5431 16.0518L21.0694 14.2181L18.2543 16.7616ZM23.9143 4.10351C18.4321 -1.36784 9.57163 -1.36784 4.11906 4.10351C1.45204 6.76525 0.0889006 10.1959 0.0296335 13.6858L11.3793 7.71165C12.4757 5.7597 14.5501 4.42884 16.9504 4.42884C20.4768 4.42884 23.3216 7.26802 23.3216 10.7874C23.3216 13.0943 22.077 15.1054 20.2397 16.2292L14.0167 28C17.6023 28 21.1583 26.6396 23.8846 23.9187C29.3668 18.4177 29.3668 9.57486 23.9143 4.10351Z\",\n fill: \"url(#paint0_linear)\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint0_linear\",\n x1: 4.09861,\n y1: 23.8781,\n x2: 23.8608,\n y2: 4.07673,\n gradientUnits: \"userSpaceOnUse\"\n}, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#FF95BF\"\n}), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#FF0166\"\n})));\n\nvar SvgSubscription = function SvgSubscription(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 28,\n height: 28,\n viewBox: \"0 0 28 28\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgSubscription, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/subscription.b798c9ac.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react'\nimport { connect } from 'react-redux'\nimport { Loader } from 'sputnik-ui'\nimport { withRouter } from 'react-router-dom'\nimport { Card, withSearch } from 'components'\n\nimport ListItem from '@material-ui/core/ListItem'\nimport ListItemIcon from '@material-ui/core/ListItemIcon'\nimport ListItemText from '@material-ui/core/ListItemText'\nimport ListItemSecondaryAction from '@material-ui/core/ListItemSecondaryAction'\nimport ArrowForwardIcon from '@material-ui/icons/ArrowForward'\nimport DomainIcon from '@material-ui/icons/Domain'\n\nimport { selectFlat } from 'store/actions'\nimport { getFlats } from 'store/operations'\n\nimport { ReactComponent as Subscription } from 'assets/subscription.svg'\n\nconst searchFlats = (props, query) => {\n const { dispatch } = props\n\n const parent_uuid = props.selected.entry.uuid\n const q = query || null\n\n dispatch(\n getFlats({\n parent_uuid,\n q,\n })\n )\n}\n\nconst Flats = ({\n flats,\n firstFlat,\n lastFlat,\n err,\n dispatch,\n history,\n subscriptions,\n ...props\n}) => {\n if (!flats) {\n return \n }\n\n if (flats) {\n flats.forEach((el) => {\n //mutate flats add subscriptions to data\n const subscription = subscriptions.filter(\n (elem) => el.uuid === elem.uuid\n )[0]\n if (el.uuid === subscription.uuid) {\n el = { ...el, ...subscription }\n }\n return el\n })\n }\n\n return (\n }\n {...props}\n >\n {flats.map((_) => (\n {\n dispatch(selectFlat(_))\n history.push(`/f/${_.uuid}`)\n }}\n >\n \n \n \n \n \n {_.subscribe_count ? (\n \n ) : null}\n\n \n \n \n ))}\n \n )\n}\n\nconst mapStateToProps = ({ resources }) => ({\n flats: resources.current && resources.current.flats,\n firstFlat: resources.current && resources.current.first_flat,\n lastFlat: resources.current && resources.current.last_flat,\n err: resources.err,\n subscriptions: resources.current && resources.current?.flats,\n})\n\nlet toExp = withSearch(searchFlats)(Flats)\ntoExp = withRouter(toExp)\n\nexport default connect(mapStateToProps)(toExp)\n","import React from 'react'\nimport merge from 'lodash/merge'\nimport styled from 'styled-components'\n\nimport L from 'leaflet'\nimport { Map, Marker, TileLayer } from 'react-leaflet'\nimport { leafletLocale } from 'sputnik-ui'\n\nL.drawLocal = merge(L.drawLocal, leafletLocale)\n\nconst myIcon = L.icon({\n iconUrl: require('../../../assets/place-24.svg'),\n iconSize: [38, 95],\n iconAnchor: [22, 94],\n popupAnchor: [-3, -76],\n})\n\nconst StyledMap = styled(Map)`\n width: 100%;\n height: 100%;\n z-index: 0;\n`\n\nconst _Map = ({ data }) =>\n data ? (\n \n \n \n \n ) : null\n\nexport default _Map\n","import React from 'react'\nimport { Loader, Wrapper } from 'sputnik-ui'\n\nimport CardContent from '@material-ui/core/CardContent'\nimport CardHeader from '@material-ui/core/CardHeader'\nimport IconButton from '@material-ui/core/IconButton'\nimport Typography from '@material-ui/core/Typography'\nimport { withStyles } from '@material-ui/core/styles'\nimport MapIcon from '@material-ui/icons/Map'\n\nimport LeafletMap from './_Map'\n\nconst styles = theme => ({\n avatar: {\n // position: 'absolute',\n },\n heading: {\n color: theme.palette.primary.contrastText,\n },\n card: {\n // boxShadow: '0 4px 12px 0.5px rgba(0,0,0,0.08)',\n },\n cardTitle: {\n fontSize: '1.2rem',\n fontWeight: 300,\n color: theme.palette.primary.contrastText,\n textAlign: 'left',\n },\n cardHeader: {\n backgroundColor: theme.palette.primary['main'],\n color: theme.palette.primary.contrastText,\n height: 80,\n },\n cardAction: {\n marginTop: 0,\n marginRight: -8,\n },\n cardContent: {\n overflowY: 'hidden',\n height: 400,\n padding: '0 !important',\n },\n list: {\n padding: 0,\n },\n listItem: {},\n listAction: {\n marginRight: '1rem',\n },\n})\n\nconst Map = ({ entry, classes, action }) => {\n return (\n \n }\n title={\n \n На карте\n \n }\n action={}\n className={classes.cardHeader}\n classes={{\n action: classes.cardAction,\n avatar: classes.avatar,\n }}\n />\n \n {entry ? (\n \n ) : (\n \n )}\n \n \n )\n}\n\nexport default withStyles(styles)(Map)\n","export const SELECT_COUNTRY: string = 'selected/SELECT_COUNTRY'\nexport const SELECT_REGION: string = 'selected/SELECT_REGION'\nexport const SELECT_LOCALITY: string = 'selected/SELECT_LOCALITY'\nexport const SELECT_AREA: string = 'selected/SELECT_AREA'\nexport const SELECT_STREET: string = 'selected/SELECT_STREET'\nexport const SELECT_HOUSE: string = 'selected/SELECT_HOUSE'\nexport const SELECT_ENTRY: string = 'selected/SELECT_ENTRY'\nexport const SELECT_FLAT: string = 'selected/SELECT_FLAT'\n","import * as types from './types'\n\nexport const getKeysRequest = () => ({\n type: types.GET_KEYS_REQUEST,\n})\nexport const getKeysSuccess = (keys, firstPage) => ({\n type: types.GET_KEYS_SUCCESS,\n payload: { keys, firstPage },\n})\nexport const getKeysError = isUnpaid => ({\n type: types.GET_KEYS_ERROR,\n payload: { isUnpaid },\n})\n\nexport const addKeyRequest = () => ({\n type: types.ADD_KEY_REQUEST,\n})\nexport const addKeySuccess = msg => ({\n type: types.ADD_KEY_SUCCESS,\n payload: { msg },\n})\nexport const addKeyError = error => ({\n type: types.ADD_KEY_ERROR,\n payload: { error },\n})\n\nexport const removeKeyRequest = () => ({\n type: types.REMOVE_KEY_REQUEST,\n})\nexport const removeKeySuccess = msg => ({\n type: types.REMOVE_KEY_SUCCESS,\n payload: { msg },\n})\nexport const removeKeyError = error => ({\n type: types.REMOVE_KEY_ERROR,\n payload: { error },\n})\n\nexport const deleteAllKeysRequest = () => ({\n type: types.DELETE_ALL_KEYS_REQUEST,\n})\nexport const deleteAllKeysSuccess = (msg: string) => ({\n type: types.DELETE_ALL_KEYS_SUCCESS,\n payload: {\n msg,\n },\n})\nexport const deleteAllKeysError = (error: string) => ({\n type: types.DELETE_ALL_KEYS_ERROR,\n payload: {\n error,\n },\n})\n\nexport const syncKeysRequest = () => ({\n type: types.SYNC_KEYS_REQUEST,\n})\nexport const syncKeysSuccess = (msg: string) => ({\n type: types.SYNC_KEYS_SUCCESS,\n payload: {\n msg,\n },\n})\nexport const syncKeysError = (error: string) => ({\n type: types.SYNC_KEYS_ERROR,\n payload: {\n error,\n },\n})\n","const config = {\n baseUri:\n process.env.APP_BASE_URL ||\n 'https://gis.stage.sputnik.systems/api/v1/public',\n redirectUri:\n process.env.APP_REDIRECT_URL ||\n 'https://gis.stage.sputnik.systems',\n ssoUri:\n process.env.APP_SSO_URL ||\n 'https://sso.sputnik.systems',\n brand: 'спутник',\n app: 'гис',\n}\n\nexport default config\n","//@flow\nimport * as types from './types'\n\nexport const syncInstallationPointRequest = (): Object => ({\n type: types.SYNC_INSTALLATION_POINT_REQUEST,\n})\nexport const syncInstallationPointSuccess = (msg: string): Object => ({\n type: types.SYNC_INSTALLATION_POINT_SUCCESS,\n payload: { msg },\n})\nexport const syncInstallationPointError = (error: string): Object => ({\n type: types.SYNC_INSTALLATION_POINT_ERROR,\n payload: { error },\n})\n\nexport const closeCollectingKeysRequest = () => ({\n type: types.CLOSE_COLLECTING_KEYS_REQUEST,\n})\nexport const closeCollectingKeysSuccess = (msg: string) => ({\n type: types.CLOSE_COLLECTING_KEYS_SUCCESS,\n payload: {\n msg,\n },\n})\nexport const closeCollectingKeysError = (error: string) => ({\n type: types.CLOSE_COLLECTING_KEYS_ERROR,\n payload: {\n error,\n },\n})\n\nexport const openCollectingKeysRequest = () => ({\n type: types.OPEN_COLLECTING_KEYS_REQUEST,\n})\nexport const openCollectingKeysSuccess = (msg: string) => ({\n type: types.OPEN_COLLECTING_KEYS_SUCCESS,\n payload: {\n msg,\n },\n})\nexport const openCollectingKeysError = (error: string) => ({\n type: types.OPEN_COLLECTING_KEYS_ERROR,\n payload: {\n error,\n },\n})\n\nexport const prolongCollectingKeysRequest = () => ({\n type: types.PROLONG_COLLECTING_KEYS_REQUEST,\n})\nexport const prolongCollectingKeysSuccess = (msg: string) => ({\n type: types.PROLONG_COLLECTING_KEYS_SUCCESS,\n payload: {\n msg,\n },\n})\nexport const prolongCollectingKeysError = (error: string) => ({\n type: types.PROLONG_COLLECTING_KEYS_ERROR,\n payload: {\n error,\n },\n})\n\nexport const searchInstallationPointRequest = () => ({\n type: types.SEARCH_INSTALLATION_POINT_REQUEST,\n})\nexport const searchInstallationPointSuccess = () => ({\n type: types.SEARCH_INSTALLATION_POINT_SUCCESS,\n})\nexport const searchInstallationPointError = (error: string) => ({\n type: types.SEARCH_INSTALLATION_POINT_ERROR,\n payload: {\n error,\n },\n})\n\nexport const generateQrRequest = () => ({\n type: types.GENERATE_QR_REQUEST,\n})\nexport const generateQrSuccess = () => ({\n type: types.GENERATE_QR_SUCCESS,\n})\nexport const generateQrError = (error: string) => ({\n type: types.GENERATE_QR_ERROR,\n payload: {\n error,\n },\n})\n\nexport const invalidateQrRequest = () => ({\n type: types.INVALIDATE_QR_REQUEST,\n})\nexport const invalidateQrSuccess = (msg: string) => ({\n type: types.INVALIDATE_QR_SUCCESS,\n payload: {\n msg,\n },\n})\nexport const invalidateQrError = (error: string) => ({\n type: types.INVALIDATE_QR_ERROR,\n payload: {\n error,\n },\n})\n","//@flow\nimport * as actions from './actions'\nimport Api from 'utils/api'\nimport { showInfoMessage } from 'store/ui/actions'\n\n// countries\nexport const getCountries =\n () =>\n async (dispatch: Function): Promise => {\n dispatch(actions.getCountriesRequest())\n try {\n const countries = await Api.request('/countries')\n\n dispatch(actions.getCountriesSuccess(countries))\n } catch (err) {\n dispatch(actions.getCountriesError(err))\n }\n }\n\nexport const fetchCountry =\n (countryUuid: string) =>\n async (dispatch: Function): Promise => {\n dispatch(actions.fetchCountryRequest())\n try {\n const countries = await Api.request(`/countries/${countryUuid}`)\n\n dispatch(actions.fetchCountrySuccess(countries))\n } catch (err) {\n dispatch(actions.fetchCountryFailure(err))\n }\n }\n\n// regions\n\ntype IGetRegions = {\n country_uuid: string,\n q: string,\n}\n\nexport const getRegions =\n ({ country_uuid, q }: IGetRegions) =>\n async (dispatch: Function): Promise => {\n dispatch(actions.getRegionsRequest())\n try {\n const setParams = () => {\n let params = []\n\n if (country_uuid) params.push(`country_uuid=${country_uuid}`)\n if (q) params.push(`q=${q}`)\n\n params = params.join('&')\n\n return params.length > 0 ? `?${params}` : params\n }\n\n const regions = await Api.request(`/regions${setParams()}`)\n\n dispatch(actions.getRegionsSuccess(regions))\n } catch (err) {\n dispatch(actions.getRegionsError(err))\n }\n }\n\nexport const fetchRegion =\n (regionUuid: string) =>\n async (dispatch: Function): Promise => {\n dispatch(actions.fetchRegionRequest())\n try {\n const region = await Api.request(`/regions/${regionUuid}`)\n\n dispatch(actions.fetchRegionSuccess(region))\n } catch (err) {\n dispatch(actions.fetchRegionFailure(err))\n }\n }\n\n// localities\n\ntype IGetLocalities = {\n country_uuid: string,\n region_uuid: string,\n area_uuid: string,\n q: string,\n}\n\nexport const getLocalities =\n ({ country_uuid, region_uuid, area_uuid, q }: IGetLocalities) =>\n async (dispatch: Function): Promise => {\n dispatch(actions.getLocalitiesRequest())\n try {\n const setParams = () => {\n let params = []\n\n if (country_uuid) params.push(`country_uuid=${country_uuid}`)\n if (region_uuid) params.push(`region_uuid=${region_uuid}`)\n if (area_uuid) params.push(`area_uuid=${area_uuid}`)\n if (q) params.push(`q=${q}`)\n\n params = params.join('&')\n\n return params.length > 0 ? `?${params}` : params\n }\n\n const localities = await Api.request(`/localities${setParams()}`)\n\n dispatch(actions.getLocalitiesSuccess(localities))\n } catch (err) {\n dispatch(actions.getLocalitiesError(err))\n }\n }\n\nexport const fetchLocality =\n (localityUuid: string) =>\n async (dispatch: Function): Promise => {\n dispatch(actions.fetchLocalityRequest())\n try {\n const locality = await Api.request(`/localities/${localityUuid}`)\n\n dispatch(actions.fetchLocalitySuccess(locality))\n } catch (err) {\n dispatch(actions.fetchLocalityFailure(err))\n }\n }\n\n// areas\n\ntype IGet = {\n parent_uuid: string,\n q: string,\n}\n\nexport const getAreas =\n ({ parent_uuid, q }: IGet) =>\n async (dispatch: Function): Promise => {\n dispatch(actions.getAreasRequest())\n try {\n const setParams = () => {\n let params = []\n\n if (parent_uuid) params.push(`parent_uuid=${parent_uuid}`)\n if (q) params.push(`q=${q}`)\n\n params = params.join('&')\n\n return params.length > 0 ? `?${params}` : params\n }\n\n const areas = await Api.request(`/areas${setParams()}`)\n\n dispatch(actions.getAreasSuccess(areas))\n } catch (err) {\n dispatch(actions.getAreasError(err))\n }\n }\n\nexport const fetchArea =\n (areaUuid: string) =>\n async (dispatch: Function): Promise => {\n dispatch(actions.fetchAreaRequest())\n try {\n const area = await Api.request(`/areas/${areaUuid}`)\n\n dispatch(actions.fetchAreaSuccess(area))\n } catch (err) {\n dispatch(actions.fetchAreaFailure(err))\n }\n }\n\n// streets\n\nexport const getStreets =\n ({ parent_uuid, q }: IGet) =>\n async (dispatch: Function): Promise => {\n dispatch(actions.getStreetsRequest())\n try {\n const setParams = () => {\n let params = []\n\n if (parent_uuid) params.push(`parent_uuid=${parent_uuid}`)\n if (q) params.push(`q=${q}`)\n\n params = params.join('&')\n\n return params.length > 0 ? `?${params}` : params\n }\n\n const streets = await Api.request(`/streets${setParams()}`)\n\n dispatch(actions.getStreetsSuccess(streets))\n } catch (err) {\n dispatch(actions.getStreetsError(err))\n }\n }\n\nexport const fetchStreet =\n (streetUuid: string) =>\n async (dispatch: Function): Promise => {\n dispatch(actions.fetchStreetRequest())\n try {\n const area = await Api.request(`/streets/${streetUuid}`)\n\n dispatch(actions.fetchStreetSuccess(area))\n } catch (err) {\n dispatch(actions.fetchStreetFailure(err))\n }\n }\n\n// houses\n\nexport const getHouses =\n ({ parent_uuid, q }: IGet) =>\n async (dispatch: Function): Promise => {\n dispatch(actions.getHousesRequest())\n try {\n const setParams = () => {\n let params = []\n\n if (parent_uuid) params.push(`parent_uuid=${parent_uuid}`)\n if (q) params.push(`q=${q}`)\n\n params = params.join('&')\n\n return params.length > 0 ? `?${params}` : params\n }\n\n const houses = await Api.request(`/houses${setParams()}`)\n\n dispatch(actions.getHousesSuccess(houses))\n } catch (err) {\n dispatch(actions.getHousesError(err))\n }\n }\n\nexport const fetchHouse =\n (houseUuid: string) =>\n async (dispatch: Function): Promise => {\n dispatch(actions.fetchHouseRequest())\n try {\n const house = await Api.request(`/houses/${houseUuid}`)\n\n dispatch(actions.fetchHouseSuccess(house))\n } catch (err) {\n dispatch(actions.fetchHouseFailure(err))\n }\n }\n\nexport const getEntries =\n ({ parent_uuid, q }: IGet) =>\n async (dispatch: Function): Promise => {\n dispatch(actions.getEntriesRequest())\n try {\n const setParams = () => {\n let params = []\n\n if (parent_uuid) params.push(`parent_uuid=${parent_uuid}`)\n if (q) params.push(`q=${q}`)\n\n params = params.join('&')\n\n return params.length > 0 ? `?${params}` : params\n }\n\n const entries = await Api.request(`/entries${setParams()}`)\n\n dispatch(actions.getEntriesSuccess(entries))\n } catch (err) {\n dispatch(actions.getEntriesError(err))\n }\n }\n\nexport const fetchEntry =\n (uuid: string) =>\n async (dispatch: Function): Promise => {\n dispatch(actions.fetchEntryRequest())\n try {\n const entry = await Api.request(`/entries/${uuid}`)\n\n dispatch(actions.fetchEntrySuccess(entry))\n } catch (err) {\n dispatch(actions.fetchEntryFailure(err))\n }\n }\n\ntype IGetFlats = {\n flat: string,\n q?: string,\n}\n\nexport const getFlats =\n ({ parent_uuid, q }: IGet) =>\n async (dispatch: Function): Promise => {\n dispatch(actions.getFlatsRequest())\n try {\n const setParams = () => {\n let params = []\n\n if (parent_uuid) params.push(`parent_uuid=${parent_uuid}`)\n if (q) params.push(`q=${q}`)\n\n params = params.join('&')\n\n return params.length > 0 ? `?${params}` : params\n }\n\n const flats = await Api.request(`/flats${setParams()}`)\n\n dispatch(actions.getFlatsSuccess(flats))\n } catch (err) {\n dispatch(actions.getFlatsError(err))\n }\n }\n\ntype IChangeFlat = {\n entry: string,\n firstFlat: number,\n lastFlat: number,\n}\n\nexport const changeFlatRange =\n ({ entry, firstFlat, lastFlat, custom_numbering }: IChangeFlat) =>\n async (dispatch: Function): Promise => {\n dispatch(actions.changeFlatRangeRequest())\n try {\n await Api.request(\n `/entries/${entry}/update_range?first_flat=${firstFlat}&last_flat=${lastFlat}&custom_numbering=${custom_numbering}`,\n { method: 'PUT' }\n )\n dispatch(\n actions.changeFlatRangeSuccess('Диапазон квартир был успешно обновлен')\n )\n } catch (err) {\n dispatch(\n actions.changeFlatRangeError(\n 'При обновлении диапазона квартир произошла ошибка'\n )\n )\n }\n }\n\nexport const fetchFlat =\n (flatUuid: string) =>\n async (dispatch: Function): Promise => {\n dispatch(actions.fetchFlatRequest())\n try {\n const entry = await Api.request(`/flats/${flatUuid}`)\n\n dispatch(actions.fetchFlatSuccess(entry))\n } catch (err) {\n dispatch(actions.fetchFlatFailure(err))\n }\n }\n\nexport const getCitizens =\n ({ flat, q }: IGetFlats) =>\n async (dispatch: Function): Promise => {\n dispatch(actions.getCitizensRequest())\n try {\n const setParams = () => {\n let params = []\n if (q) params.push(`q=${q}`)\n params = params.join('&')\n return params.length > 0 ? `&${params}` : params\n }\n\n const flats = await Api.request(\n `/citizens/?flat_uuid=${flat}${setParams()}`\n )\n\n dispatch(actions.getCitizensSuccess(flats))\n } catch (err) {\n dispatch(actions.getCitizensError(err))\n }\n }\n\nexport const unlinkCitizen =\n (id: string) =>\n async (dispatch: Function): Promise => {\n dispatch(actions.unlinkCitizenRequest())\n try {\n await Api.request(`/citizens/${id}`, { method: 'DELETE' })\n\n dispatch(actions.unlinkCitizenSuccess())\n return Promise.resolve()\n } catch (err) {\n dispatch(\n actions.unlinkCitizenError('При отвязке жителя произошла ошибка')\n )\n return Promise.reject(err)\n }\n }\n\nexport const removeFlat = (uuid) => async (dispatch) => {\n dispatch(actions.removeFlatRequest())\n try {\n await Api.request(`/public/flats/${uuid}`, { method: 'DELETE' })\n\n dispatch(actions.removeFlatSuccess())\n dispatch(showInfoMessage('Квартира успешно удалена'))\n return Promise.resolve()\n } catch (err) {\n dispatch(actions.removeFlatError('При удалении произошла ошибка'))\n dispatch(showInfoMessage('При удалении произошла ошибка'))\n return Promise.reject(err)\n }\n}\n","export const CLEAR_STATUS = 'ui/CLEAR_STATUS'\n\nexport const SHOW_INFO_MESSAGE = 'ui/SHOW_INFO_MESSAGE'\nexport const HIDE_INFO_MESSAGE = 'ui/HIDE_INFO_MESSAGE'\n","//@flow\n\nexport const CLEAR_RESOURCES: string = 'resources/CLEAR'\nexport const CLEAR_ENTRIES: string = 'resources/CLEAR_ENTRIES'\n\n/* countries */\nexport const GET_COUNTRIES_REQUEST: string =\n 'resources/countries/GET_COUNTRIES_REQUEST'\nexport const GET_COUNTRIES_SUCCESS: string =\n 'resources/countries/GET_COUNTRIES_SUCCESS'\nexport const GET_COUNTRIES_ERROR: string =\n 'resources/countries/GET_COUNTRIES_ERROR'\n\n/* regions */\nexport const GET_REGIONS_REQUEST: string =\n 'resources/regions/GET_REGIONS_REQUEST'\nexport const GET_REGIONS_SUCCESS: string =\n 'resources/regions/GET_REGIONS_SUCCESS'\nexport const GET_REGIONS_ERROR: string = 'resources/regions/GET_REGIONS_ERROR'\n\n/* localities */\nexport const GET_LOCALITIES_REQUEST: string =\n 'resources/localities/GET_LOCALITIES_REQUEST'\nexport const GET_LOCALITIES_SUCCESS: string =\n 'resources/localities/GET_LOCALITIES_SUCCESS'\nexport const GET_LOCALITIES_ERROR: string =\n 'resources/localities/GET_LOCALITIES_ERROR'\n\n/* areas */\nexport const GET_AREAS_REQUEST: string = 'resources/areas/GET_AREAS_REQUEST'\nexport const GET_AREAS_SUCCESS: string = 'resources/areas/GET_AREAS_SUCCESS'\nexport const GET_AREAS_ERROR: string = 'resources/areas/GET_AREAS_ERROR'\n\n/* streets */\nexport const GET_STREETS_REQUEST: string =\n 'resources/streets/GET_STREETS_REQUEST'\nexport const GET_STREETS_SUCCESS: string =\n 'resources/streets/GET_STREETS_SUCCESS'\nexport const GET_STREETS_ERROR: string = 'resources/streets/GET_STREETS_ERROR'\n\n/* houses */\nexport const GET_HOUSES_REQUEST: string = 'resources/houses/GET_HOUSES_REQUEST'\nexport const GET_HOUSES_SUCCESS: string = 'resources/houses/GET_HOUSES_SUCCESS'\nexport const GET_HOUSES_ERROR: string = 'resources/houses/GET_HOUSES_ERROR'\n\n/* entries */\nexport const GET_ENTRIES_REQUEST: string =\n 'resources/entries/GET_ENTRIES_REQUEST'\nexport const GET_ENTRIES_SUCCESS: string =\n 'resources/entries/GET_ENTRIES_SUCCESS'\nexport const GET_ENTRIES_ERROR: string = 'resources/entries/GET_ENTRIES_ERROR'\n\nexport const GET_ENTRY_REQUEST: string = 'resources/entries/GET_ENTRY_REQUEST'\nexport const GET_ENTRY_SUCCESS: string = 'resources/entries/GET_ENTRY_SUCCESS'\nexport const GET_ENTRY_ERROR: string = 'resources/entries/GET_ENTRY_ERROR'\n\n/* flats */\nexport const GET_FLATS_REQUEST: string = 'resources/entries/GET_FLATS_REQUEST'\nexport const GET_FLATS_SUCCESS: string = 'resources/entries/GET_FLATS_SUCCESS'\nexport const GET_FLATS_ERROR: string = 'resources/entries/GET_FLATS_ERROR'\n\nexport const CHANGE_FLAT_RANGE_REQUEST: string =\n 'resources/entries/CHANGE_FLAT_RANGE_REQUEST'\nexport const CHANGE_FLAT_RANGE_SUCCESS: string =\n 'resources/entries/CHANGE_FLAT_RANGE_SUCCESS'\nexport const CHANGE_FLAT_RANGE_ERROR: string =\n 'resources/entries/CHANGE_FLAT_RANGE_ERROR'\n\n/* citizens */\nexport const GET_CITIZENS_REQUEST: string =\n 'resources/citizens/GET_CITIZENS_REQUEST'\nexport const GET_CITIZENS_SUCCESS: string =\n 'resources/citizens/GET_CITIZENS_SUCCESS'\nexport const GET_CITIZENS_ERROR: string =\n 'resources/citizens/GET_CITIZENS_ERROR'\n\nexport const UNLINK_CITIZEN_REQUEST: string = 'resources/UNLINK_CITIZEN_REQUEST'\nexport const UNLINK_CITIZEN_SUCCESS: string = 'resources/UNLINK_CITIZEN_SUCCESS'\n// export const UNLINK_CITIZEN_FAILURE: string = 'resources/UNLINK_CITIZEN_FAILURE'\nexport const UNLINK_CITIZEN_ERROR: string = 'resources/UNLINK_CITIZEN_ERROR'\n\n// // NEW\n\n// /* countries */\nexport const FETCH_COUNTRY_REQUEST: string =\n 'resources/countries/FETCH_COUNTRY_REQUEST'\nexport const FETCH_COUNTRY_SUCCESS: string =\n 'resources/countries/FETCH_COUNTRY_SUCCESS'\nexport const FETCH_COUNTRY_FAILURE: string =\n 'resources/countries/FETCH_COUNTRY_FAILURE'\n\n// /* regions */\nexport const FETCH_REGION_REQUEST: string =\n 'resources/regions/FETCH_REGION_REQUEST'\nexport const FETCH_REGION_SUCCESS: string =\n 'resources/regions/FETCH_REGION_SUCCESS'\nexport const FETCH_REGION_FAILURE: string =\n 'resources/regions/FETCH_REGION_FAILURE'\n\n// /* localities */\nexport const FETCH_LOCALITY_REQUEST: string =\n 'resources/localities/FETCH_LOCALITY_REQUEST'\nexport const FETCH_LOCALITY_SUCCESS: string =\n 'resources/localities/FETCH_LOCALITY_SUCCESS'\nexport const FETCH_LOCALITY_FAILURE: string =\n 'resources/localities/FETCH_LOCALITY_FAILURE'\n\n// /* areas */\nexport const FETCH_AREA_REQUEST: string = 'resources/areas/FETCH_AREA_REQUEST'\nexport const FETCH_AREA_SUCCESS: string = 'resources/areas/FETCH_AREA_SUCCESS'\nexport const FETCH_AREA_FAILURE: string = 'resources/areas/FETCH_AREA_FAILURE'\n\n// /* streets */\nexport const FETCH_STREET_REQUEST: string =\n 'resources/streets/FETCH_STREET_REQUEST'\nexport const FETCH_STREET_SUCCESS: string =\n 'resources/streets/FETCH_STREET_SUCCESS'\nexport const FETCH_STREET_FAILURE: string =\n 'resources/streets/FETCH_STREET_FAILURE'\n\n// /* houses */\nexport const FETCH_HOUSE_REQUEST: string =\n 'resources/houses/FETCH_HOUSE_REQUEST'\nexport const FETCH_HOUSE_SUCCESS: string =\n 'resources/houses/FETCH_HOUSE_SUCCESS'\nexport const FETCH_HOUSE_FAILURE: string =\n 'resources/houses/FETCH_HOUSE_FAILURE'\n\n// /* entries */\nexport const FETCH_ENTRY_REQUEST: string =\n 'resources/entries/FETCH_ENTRY_REQUEST'\nexport const FETCH_ENTRY_SUCCESS: string =\n 'resources/entries/FETCH_ENTRY_SUCCESS'\nexport const FETCH_ENTRY_FAILURE: string =\n 'resources/entries/FETCH_ENTRY_FAILURE'\n\n// /* flats */\nexport const FETCH_FLAT_REQUEST: string = 'resources/entries/FETCH_FLAT_REQUEST'\nexport const FETCH_FLAT_SUCCESS: string = 'resources/entries/FETCH_FLAT_SUCCESS'\nexport const FETCH_FLAT_FAILURE: string = 'resources/entries/FETCH_FLAT_FAILURE'\n\n// /* delete Flats */ delete Flats\nexport const REMOVE_FLAT = 'resources/REMOVE_FLAT'\nexport const REMOVE_FLAT_SUCCESS = 'resources/REMOVE_FLAT_SUCCESS'\nexport const REMOVE_FLAT_FAILURE = 'resources/REMOVE_FLAT_FAILURE'\n// export const CHANGE_FLAT_RANGE_REQUEST: string =\n// 'resources/entries/CHANGE_FLAT_RANGE_REQUEST'\n// export const CHANGE_FLAT_RANGE_SUCCESS: string =\n// 'resources/entries/CHANGE_FLAT_RANGE_SUCCESS'\n// export const CHANGE_FLAT_RANGE_FAILURE: string =\n// 'resources/entries/CHANGE_FLAT_RANGE_FAILURE'\n","export const SIGN_IN = 'auth/SIGN_IN'\nexport const SIGN_IN_ERROR = 'auth/SIGN_IN_ERROR'\nexport const CHECK_AUTH = 'auth/CHECK_AUTH'\n\nexport const LOG_OUT_REQUEST = 'auth/LOG_OUT_REQUEST'\nexport const LOG_OUT_SUCCESS = 'auth/LOG_OUT_SUCCESS'\nexport const LOG_OUT_ERROR = 'auth/LOG_OUT_ERROR'\n","import * as actions from './actions'\nimport Api from 'utils/api'\n\nexport const getKeys = (entry, page = 1, limit) => async (\n dispatch: Function,\n): Promise => {\n dispatch(actions.getKeysRequest())\n try {\n const keys = await Api.request(\n `/key_owners/${entry}/keys?page=${page}&limit=${limit}`,\n )\n\n dispatch(actions.getKeysSuccess(keys, page === 1))\n return Promise.resolve()\n } catch (err) {\n dispatch(actions.getKeysError(err))\n return Promise.reject()\n }\n}\n\nexport const removeKey = (entry, key) => async (\n dispatch: Function,\n): Promise => {\n dispatch(actions.removeKeyRequest())\n try {\n await Api.request(\n `/key_owners/${entry}/keys/${key}\n`,\n { method: 'DELETE' },\n )\n dispatch(actions.removeKeySuccess(`Ключ ${key} был успешно удален`))\n return Promise.resolve()\n } catch (err) {\n dispatch(\n actions.removeKeyError(`При удалении ключа ${key} произошла ошибка`),\n )\n return Promise.reject()\n }\n}\n\nexport const addKey = (entry, key) => async (\n dispatch: Function,\n): Promise => {\n dispatch(actions.addKeyRequest())\n try {\n await Api.request(`/key_owners/${entry}/keys`, {\n method: 'POST',\n body: JSON.stringify({ data: key }),\n })\n dispatch(actions.addKeySuccess(`Ключ ${key} был успешно добавлен`))\n\n return Promise.resolve()\n } catch (err) {\n dispatch(\n actions.addKeyError(`При добавлении ключа ${key} произошла ошибка`),\n )\n return Promise.reject()\n }\n}\n\nexport const deleteAllKeys = (entry: string) => async (\n dispatch: Function,\n): Promise => {\n dispatch(actions.deleteAllKeysRequest())\n try {\n await Api.request(`/key_owners/${entry}/keys/destroy_all`, {\n method: 'DELETE',\n })\n dispatch(actions.deleteAllKeysSuccess('Ключи были успешно удалены'))\n return Promise.resolve()\n } catch (err) {\n const msg = 'При удалении ключей произошла ошибка'\n dispatch(actions.deleteAllKeysError(msg))\n return Promise.reject(msg)\n }\n}\n\nexport const syncKeys = (addressUuid: string) => async (\n dispatch: Function,\n): Promise => {\n dispatch(actions.syncKeysRequest())\n try {\n await Api.request(`/key_owners/${addressUuid}/keys/sync`, {\n method: 'PATCH',\n })\n dispatch(actions.syncKeysSuccess('Ключи были успешно синхронизированы'))\n return Promise.resolve()\n } catch (err) {\n const { message } = await err.json()\n dispatch(actions.syncKeysError(message))\n return Promise.reject(err)\n }\n}\n","export const SEARCH_REQUEST = 'citizens/SEARCH_REQUEST'\nexport const SEARCH_SUCCESS = 'citizens/SEARCH_SUCCESS'\nexport const SEARCH_FAILURE = 'citizens/SEARCH_FAILURE'\n\nexport const UNLINK_BY_PHONE_REQUEST = 'citizens/UNLINK_BY_PHONE_REQUEST'\nexport const UNLINK_BY_PHONE_SUCCESS = 'citizens/UNLINK_BY_PHONE_SUCCESS'\nexport const UNLINK_BY_PHONE_FAILURE = 'citizens/UNLINK_BY_PHONE_FAILURE'\n"],"sourceRoot":""}