{"version":3,"sources":["features/dashboard/worker/analytics.ts","app/db.ts","app/api-url.ts","app/errors.ts","app/i18n/strings.ts","app/i18n/d3.ts","app/utils.ts","features/auth/authTypes.ts","features/auth/authSlice.ts","features/groups/data-types.ts","features/groups/data-mapper.ts","features/groups/api.ts","features/groups/slice-utils.ts","features/location/locationHepers.ts","features/location/selectors.ts","features/groups/trash/asyncActions.ts","features/groups/archive/asyncActions.ts","features/groups/main/asyncActions.ts","features/groups/main/videoSlice.ts","app/timezone.ts","app/i18n/locale.ts","features/location/data-mapper.ts","features/location/api.ts","features/location/blobStorage.ts","features/location/locationSlice.ts","features/signup/signUpTypes.ts","features/confirm-email/confirmEmailSlice.ts","features/profile/profileSlice.ts","features/profile/tariffs/tariffHelper.ts","features/notifications/notificationsSlice.ts","features/profile/tariffs/tariffSlice.ts","features/notifications/signalR.ts","components/DelayedProgress.tsx","theme.ts","app/styles.ts","app/assets/logo.svg","components/Link.tsx","components/AuthPage.tsx","components/Form.tsx","components/Tooltip.tsx","components/TextField.tsx","features/auth/SignIn.tsx","components/Alert.tsx","app/assets/rubleIcon.svg","components/CircularProgressWithLabel.tsx","app/assets/cardIcon.svg","app/assets/bellIcon.svg","app/assets/settingsIcon.svg","app/assets/exitIcon.svg","features/dashboard/dashboardSlice.ts","components/AppBar.tsx","features/confirm-email/ConfirmEmail.tsx","components/charts/chart-utils.ts","app/assets/globeIcon.svg","components/AdminViewSelect.tsx","components/Drawer.tsx","components/charts/bar/VerticalBarGroup.tsx","components/charts/bar/HorizontalBarGroup.tsx","components/charts/bar/GroupView.tsx","components/charts/bar/BarStack.tsx","components/charts/bar/StackView.tsx","components/charts/linear/LinearView.tsx","components/charts/common/Brush.tsx","components/charts/common/DateTickLabel.tsx","components/charts/Chart.tsx","app/assets/walkerIcon.svg","app/assets/carIcon.svg","app/assets/bicycleIcon.svg","app/assets/menIcon.svg","app/assets/womenIcon.svg","app/assets/unknownIcon.svg","features/dashboard/charts/ChartTooltip.tsx","features/dashboard/charts/utils.ts","features/dashboard/charts/ResultAggregation.tsx","features/dashboard/charts/AverageNumber.tsx","features/dashboard/charts/MaximumNumber.tsx","features/dashboard/charts/MinimumNumber.tsx","features/dashboard/charts/RawResult.tsx","features/dashboard/charts/TotalNumber.tsx","features/dashboard/worker/useAnalyticsWorker.ts","components/charts/Legend.tsx","app/assets/tooltipIcon.svg","app/assets/analyticIcon.svg","app/assets/linearIcon.svg","app/assets/pieIcon.svg","features/dashboard/components/ChartCardHeader.tsx","features/dashboard/components/ChartCard.tsx","features/dashboard/components/componentsPanelStyles.ts","features/dashboard/components/DateRange.tsx","app/assets/checkedCheckbox.svg","app/assets/unCheckedCheckbox.svg","features/dashboard/components/Legend.tsx","components/CreatableSelect.tsx","features/dashboard/components/LocationPicker.tsx","features/dashboard/components/optionsPanelStyles.ts","components/DateRangePicker.tsx","features/dashboard/components/TimeRange.tsx","features/dashboard/components/OptionsPanel.tsx","features/dashboard/components/EmptyMsg.tsx","components/charts/pie/PieChart.tsx","features/dashboard/charts/PeopleCategoryPercentage.tsx","features/dashboard/components/TotalPieChart.tsx","features/dashboard/components/DetailStatsCard.tsx","features/dashboard/components/GenderStats.tsx","features/dashboard/components/StatsCard.tsx","features/dashboard/constants.ts","features/dashboard/styles.ts","app/assets/cameraIcon.svg","features/dashboard/components/StatsContainer.tsx","app/assets/webcamIcon.svg","app/assets/homeIcon.svg","app/assets/archiveIcon.svg","app/assets/trashIcon.svg","app/assets/movieIcon.svg","app/assets/analyticIconSideBar.svg","features/dashboard/Page.tsx","app/assets/closeIcon.svg","components/Notice.tsx","app/assets/plusIcon.svg","components/ProgressIndicator.tsx","app/assets/webcamError.svg","features/groups/components/Tooltip.tsx","app/assets/readyDataIcon.svg","app/assets/downloadDataIcon.svg","app/assets/downloadDataError.svg","features/groups/components/UploadStats.tsx","features/groups/components/BaseLocationCard.tsx","app/assets/pen.svg","features/groups/main/AddLocationCard.tsx","app/assets/openedEye.svg","app/assets/closedEye.svg","app/assets/recoverDataIcon.svg","features/groups/components/GroupContextMenu.tsx","features/groups/components/groupStyles.ts","app/assets/folderIcon.svg","components/InlineTextEdit.tsx","features/groups/components/GroupRenameTextField.tsx","features/groups/components/Group.tsx","features/groups/components/pageStyles.ts","features/groups/components/LocationSummary.tsx","features/groups/components/LocationTitle.tsx","features/groups/archive/ArchiveLocationCard.tsx","features/groups/archive/archiveSlice.ts","app/assets/locationIcon.svg","features/groups/archive/ArchiveTab.tsx","features/groups/main/LocationRenameTextField.tsx","features/groups/main/MainLocationCard.tsx","features/groups/main/VideoTab.tsx","features/groups/trash/trashSlice.ts","app/assets/deleteForeverIcon.svg","features/groups/trash/TrashLocationCard.tsx","features/groups/trash/TrashTab.tsx","features/groups/Page.tsx","features/location/components/LocationControl.tsx","features/location/workflow/workflowStyle.ts","features/location/workflow/WorkFlow.tsx","features/location/line-editor/components/DrawLine.tsx","features/location/styles.ts","features/location/line-editor/LineEditorTab.tsx","components/ModalVideoPlayer.tsx","features/location/streams/components/StreamsList.tsx","features/location/streams/components/TimeZoneSelect.tsx","features/location/streams/StreamCreator.tsx","features/location/streams/StreamsTab.tsx","components/DateTimePicker.tsx","features/location/videos/components/UploadsList.tsx","components/ContextMenu.tsx","features/location/videos/components/Tooltip.tsx","app/assets/forwardIcon.svg","features/location/videos/components/VideosList.tsx","features/location/videos/VideosTab.tsx","features/location/Page.tsx","features/notifications/Notification.tsx","features/password-reset/passwordResetTypes.ts","features/password-reset/passwordResetSlice.ts","features/password-reset/RequestForm.tsx","features/password-reset/ResetForm.tsx","features/password-reset/PasswordReset.tsx","app/assets/checkIcon.svg","features/profile/tariffs/tariffStyles.ts","features/profile/tariffs/components/TariffsList.tsx","app/assets/invoiceIcon.svg","features/profile/tariffs/components/ConfirmPayments.tsx","features/profile/tariffs/components/InvoiceForm.tsx","features/profile/tariffs/components/InvoiceSuccessInfo.tsx","features/profile/tariffs/TariffTab.tsx","features/profile/ProfileTab.tsx","features/profile/ChangePasswordTab.tsx","app/assets/arrowLeft.svg","features/profile/NotImplementedTab.tsx","features/profile/Page.tsx","features/signup/signUpSlice.ts","features/signup/SignUp.tsx","App.tsx","app/i18n/ru.ts","app/i18n/i18n.ts","app/logger.ts","app/store.ts","serviceWorker.ts","index.tsx"],"names":["addMethods","methods","module","exports","w","Worker","name","dbInstance","AUTH_URL","MAIN_URL","BILLING_URL","ANALYTICS_STORE_NAME","DB_NAME","DB_VERSION","MIN_JS_DATE","Date","MAX_JS_DATE","indexedDB","self","IDBKeyRange","_createResultsStore","_x","_createResultsStore2","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","db","store","wrap","_context","prev","next","createObjectStore","keyPath","createIndex","unique","Promise","resolve","reject","transaction","oncomplete","onerror","error","message","abrupt","sent","stop","deleteDatabase","_deleteDatabase","_callee2","_context2","request","_request$error","Error","onsuccess","onblocked","evt","console","log","openDb","_x2","_openDb","_callee4","shim","_context4","undefined","open","_request$error2","result","onversionchange","close","onupgradeneeded","_ref4","_callee3","upgradePromises","_context3","oldVersion","push","length","all","t0","_x7","getDb","_getDb","_callee5","_context5","FakeIndexedDB","FakeIDBKeyRange","deleteAnalytics","_x6","_deleteAnalytics","_callee9","sourceIds","promises","_iterator5","_step5","_loop6","_context13","objectStore","_createForOfIteratorHelper","sourceId","keyRange","_context12","value","bound","delete","_request$error5","s","n","done","delegateYield","t1","e","f","finish","ERROR_CODE","ErrorPayload","_Error","_inherits","_super","_createSuper","code","_this","_classCallCheck","call","Object","setPrototypeOf","_assertThisInitialized","constructor","prototype","toString","_createClass","_wrapNativeSuper","RequestError","_Error2","_super2","_this2","getErrorPayload","err","UNKNOWN_ERROR","I18N","chart","DATE_RANGE_LABEL_DAYS_OF_WEEK","DATE_RANGE_LABEL_DATE_FROM","DATE_RANGE_LABEL_DATE_TO","DATE_RANGE_TITLE","LEGEND_YOUNG","LEGEND_MIDDLE","LEGEND_OLD","LEGEND_UNKNOWN_AGE","LEGEND_FEMALE","LEGEND_MALE","LEGEND_UNKNOWN_GENDER","LEGEND_MEN","LEGEND_YOUNGMEN","LEGEND_MIDDLEMEN","LEGEND_OLDMEN","LEGEND_UNKNOWNMEN","LEGEND_YOUNGWOMEN","LEGEND_MIDDLEWOMEN","LEGEND_OLDWOMEN","LEGEND_UNKNOWNWOMEN","LEGEND_YOUNGUNKNOWN","LEGEND_MIDDLEUNKNOWN","LEGEND_OLDUNKNOWN","LEGEND_UNKNOWNUNKNOWN","LEGEND_CARS","LEGEND_BIKES","LEGEND_ETC","LEGEND_TITLE","LOCATION_PICKER_CHECKBOX_LABEL","OPTIONS_PANEL_TITLE","OPTIONS_PANEL_SHOW_BUTTON","OPTIONS_PANEL_BUTTON","OPTIONS_PANEL_TOGGLE_BUTTON","MSG_EMPTY_QUERY_RESULT","MSG_LOADING","MSG_SELECT_LOCATION","TIME_RANGE_LABEL_TIME_FROM","TIME_RANGE_LABEL_TIME_TO","TIME_RANGE_LABEL_SELECT","TIME_RANGE_LABEL_SELECT_VALUE_MINUTE","TIME_RANGE_LABEL_SELECT_VALUE_HOUR","TIME_RANGE_LABEL_SELECT_VALUE_DAY","TIME_RANGE_LABEL_SELECT_VALUE_WEEK","TIME_RANGE_LABEL_SELECT_VALUE_MONTH","TITLE","TITLE_RAW_RESULT_CHART_TITLE","TITLE_RELATIVE_CHART","TITLE_RELATIVE_WALKERS_CHART","TITLE_AVERAGE_CHART","TITLE_MIN_CHART","TITLE_MAX_CHART","TITLE_SUM_CHART","TOOLTIP_AVERAGE","TOOLTIP_AVERAGE_SUMMARY","TOOLTIP_MAX","TOOLTIP_MAX_SUMMARY","TOOLTIP_MIN","TOOLTIP_MIN_SUMMARY","TOOLTIP_TOTAL_PIE","TOOLTIP_TOTAL_PIE_SUMMARY","TOOLTIP_RAW","TOOLTIP_RAW_SUMMARY","TOOLTIP_RELATIVE","TOOLTIP_RELATIVE_SUMMARY","TOOLTIP_SUM","TOOLTIP_SUM_SUMMARY","common","ERROR_FIELD_REQUIRED","ERROR_UNKNOWN","LINK_ANALYTICS","LINK_CREATE_ACCOUNT","LINK_FORGOT_PASSWORD","LINK_HELP","LINK_HOME","LINK_LOGIN","LINK_LOGOUT","LINK_LOCATION","LINK_MAIN","LINK_PAYMENTS","LINK_PROFILE","LINK_SUPPORT","OK","CANCEL","PLEASE_WAIT","SELECT_ADMIN_VIEW","TITLE_MY_ACCOUNT","TITLE_OTHER_ACCOUNTS","VALIDATION_DATE_INVALID","VALIDATION_DATE_TOO_EARLY","VALIDATION_DATE_TOO_FAR","BTN_BACK","BTN_CONTINUE","BTN_CHANGE","BTN_SENT","location","BTN_ADD_FILES","BTN_ADD_STREAM","BTN_DELETE_VIDEO","BTN_MOVE_VIDEO","BTN_SAVE_LINE","BTN_STEP_BACK","BTN_STEP_CONNECT_STREAM","BTN_STEP_DRAW_LINE","BTN_STEP_START_ANALYSIS","BTN_STEP_CONNECT_CAMERA","BTN_STEP_DISABLE_CAMERA","BTN_STEP_UPLOAD","BTN_WATCH","BTN_VIEW_ANALYTICS","DLG_DELETE_VIDEOS","DLG_REPLACE_VIDEOS","MSG_CREATE_GROUP","MSG_CREATE_LOCATION","MSG_DELETE_VIDEOS","MSG_DELETE_VIDEOS_1","MSG_DELETE_VIDEOS_2","MSG_DELETE_VIDEOS_TITLE","MSG_EDIT_LINE","MSG_EDIT_LINE_TWO","MSG_ENTER_STREAM_URL","MSG_EMPTY","MSG_UPLOAD_NOT_VALID_FILE","MSG_LOCATION_REQUIRED","MSG_NUM_FILES","MSG_SELECT_EMPTY_LOCATIONS","MSG_SELECT_EMPTY_GROUPS","MSG_SELECT_GROUP","MSG_SELECT_TZ","MSG_SET_DATE_TIME","MSG_STREAM_IS_CONNECTED","MSG_STREAM_TIME","MSG_STREAM_URL_SAMPLES","MSG_TIMEZONE_WARNING_L1","MSG_TIMEZONE_WARNING_L2","MSG_UPLOADING","MSG_UPLOAD_PROCESSING","MSG_UPLOAD_COMPLETED","MSG_UPLOAD_FAILED","MSG_BILLING_FAILED","MSG_VIDEO_BUSY","MSG_VIDEO_NOT_FOUND","MSG_WAIT_CREATION","MSG_WAIT_UPLOADS","NOTIFY_PROCESSING_REQUESTED","NOTIFY_PROCESSING_PENDING","NOTIFY_PROCESSING_PREPARING_INFRASTRUCTURE","NOTIFY_PROCESSING_PREPARING_INFRASTRUCTURE_ERROR","NOTIFY_PROCESSING_ANALYSIS","NOTIFY_PROCESSING_INFRASTRUCTURE_PREPARED","NOTIFY_PROCESSING_STOPPING","NOTIFY_PROCESSING_STOPPING_ERROR","NOTIFY_PROCESSING_STOPPED","NOTIFY_PROCESSING_FINISHED","NOTIFY_STREAM_REMOVED","NOTIFY_STREAM_PREPARED","NOTIFY_STREAM_PREPARED_ERROR","NOTIFY_STREAM_SAVED","NOTIFY_STREAM_SAVE_ERROR","NOTIFY_VIDEO_PREPARED","NOTIFY_VIDEO_PREPARED_ERROR","NOTIFY_VIDEO_REMOVED","NOTIFY_VIDEO_SAVED","NOTIFY_VIDEO_SAVE_ERROR","NOTIFY_LINE_SAVED","NOTIFY_START_PROCESSING_SUCCESS","NOTIFY_START_PROCESSING_ERROR","SELECT_GROUPS","SELECT_LOCATION","TAB_FILES","TAB_STREAMS","TABLE_FILE_NAME","TABLE_DATE","TABLE_DURATION","TABLE_SIZE","TABLE_STREAM_URL","TABLE_STREAM_CREATED_AT","TABLE_STREAM_DISCONNECTED_AT","TITLE_LOCATION_PAGE","TITLE_STREAM","TITLE_VIDEO","TITLE_UPLOADS","WORKFLOW_PICK_LOCATION","WORKFLOW_ADD_VIDEOS","WORKFLOW_ADD_VIDEO_LINK","WORKFLOW_PICK_DATE_TIME","WORKFLOW_PICK_TIME_ZONE","WORKFLOW_UPLOAD_TO_SERVER","WORKFLOW_SEND_TO_SERVER","WORKFLOW_ADD_LINE","WORKFLOW_START_PROCESSING","main","MSG_LOADING_PROGRESS","videoData","BTN_ADD_GROUP","BTN_ADD_VIDEO","BTN_ARCHIVE_GROUP","BTN_ARCHIVE_LOCATION","BTN_DELETE_ALL","BTN_DELETE_GROUP","BTN_DELETE_LOCATION","BTN_DELETE_PERM_LOCATION","BTN_HIDE_GROUP","BTN_RENAME_GROUP","BTN_RENAME_LOCATION","BTN_RESTORE_ALL","BTN_RESTORE_FROM_TRASH_ALL","BTN_RESTORE_LOCATION","BTN_SHOW_GROUP","BTN_TRASH_ALL","BTN_TRASH_GROUP","DLG_CANCEL","DLG_DELETE_GROUP_CONFIRM","DLG_DELETE_GROUP_LOCATIONS_SUMMARY","DLG_DELETE_GROUP_LOCATIONS","DLG_DELETE_GROUP_SUMMARY","DLG_DELETE_GROUP","DLG_DELETE_LOCATION_CONFIRM","DLG_DELETE_LOCATION_SUMMARY","DLG_DELETE_LOCATION","DLG_EMPTY_TRASH_SUMMARY","DLG_EMPTY_TRASH","ERROR_INVALID_DATA","ERROR_LOCATION_EXISTS","ERROR_LOCATION_NAME_REQUIRED","LINK_ADD_LOCATION","LINK_ARCHIVE","LINK_TRASH","LINK_VIDEOS","LINK_TARIFF","MSG_EMPTY_GROUP","MSG_PREPROCESSING_PROGRESS","MSG_PREPROCESSING_FAILED","MSG_UPLOAD_PROGRESS","MSG_VIDEO_FILES_NUMBER","MSG_VIDEO_NONE","MSG_VIDEO_STREAM","NOTIFY_ARCHIVE_GROUP_FAILED","NOTIFY_ARCHIVE_GROUP","NOTIFY_ARCHIVE_LOCATION_FAILED","NOTIFY_ARCHIVE_LOCATION","NOTIFY_ERROR_CREATE","NOTIFY_ERROR_RENAME","NOTIFY_DELETE_GROUP_FAILED","NOTIFY_DELETE_GROUP","NOTIFY_DELETE_LOCATION_FAILED","NOTIFY_DELETE_LOCATION","NOTIFY_DELETE_MULTIPLE_LOCATIONS_FAILED","NOTIFY_DELETE_MULTIPLE_LOCATIONS","NOTIFY_LOCATION_SAVE_FAILED","NOTIFY_MOVE_VIDEOS","NOTIFY_MOVE_VIDEOS_FAILED","NOTIFY_RESTORE_GROUP_FAILED","NOTIFY_RESTORE_GROUP","NOTIFY_RESTORE_LOCATION_FAILED","NOTIFY_RESTORE_LOCATION","NOTIFY_RESTORE_MULTIPLE_LOCATIONS_FAILED","NOTIFY_RESTORE_MULTIPLE_LOCATIONS","NOTIFY_TRASH_GROUP_FAILED","NOTIFY_TRASH_GROUP","NOTIFY_TRASH_LOCATION_FAILED","NOTIFY_TRASH_LOCATION","NOTIFY_TRASH_MULTIPLE_LOCATIONS_FAILED","NOTIFY_TRASH_MULTIPLE_LOCATIONS","SUBTITLE_ARCHIVE","SUBTITLE_COMPLETED_UPLOADS","SUBTITLE_FAILED_UPLOADS","SUBTITLE_PROGRESS_UPLOADS","SUBTITLE_TRASH","SUBTITLE_VIDEO","TITLE_ARCHIVE","TITLE_BELONGS_TO","TITLE_PREPROCESSING_PROGRESS","TITLE_WAIT_START_PREPROCESSING","TITLE_TRASH","TITLE_UPLOAD_PROGRESS","TMP_GROUP_TITLE","TMP_LOCATION_TITLE","profile","BTN_CONFIRM_EMAIL","BTN_CHANGE_PASSWORD","BTN_EDIT_PROFILE","ERROR_INCORRECT_PASSWORD","LABEL_COMPANY","LABEL_CONFIRMATION","LABEL_EMAIL","LABEL_NAME","LABEL_NEW_PASSWORD","LABEL_OLD_PASSWORD","LABEL_PASSWORD","LABEL_PHONE","LINK_NOTIFICATIONS","MSG_NOT_IMPLEMENTED","NOTIFY_PROFILE_SAVED","NOTIFY_PROFILE_SAVE_ERROR","PLACEHOLDER_COMPANY","PLACEHOLDER_CONFIRMATION","PLACEHOLDER_EMAIL","PLACEHOLDER_NAME","PLACEHOLDER_PASSWORD","PLACEHOLDER_NEW_PASSWORD","PLACEHOLDER_OLD_PASSWORD","PLACEHOLDER_PHONE","TITLE_CHANGE_PASSWORD","TITLE_NOTIFICATIONS","TITLE_PAYMENTS","TITLE_PROFILE","TITLE_TARIFF_SELECT","signIn","BTN_LOGIN","ERROR_INVALID_INPUT_DATA","ERROR_NOT_FOUND","LINK_SIGN_UP","MSG_NO_ACCOUNT","TITLE_SIGN_IN","signUp","BTN_SIGNUP","ERROR_DUPLICATE_USER_EMAIL","ERROR_INVALID_USER_EMAIL","ERROR_AUTH_FAILED","LINK_LICENSE_AGREEMENT","LINK_SIGN_IN","MSG_HAS_ACCOUNT","MSG_LICENSE_AGREEMENT","TITLE_BASIC","tariff","CURRENT_TITLE","CURRENT_STRING","PAYMENT_DATE","HOUR_LIMIT","HOUR_BALANCE","CHANGE_TARIFF","RESUME_SUBSCRIBE","CHOOSE_TARIFF","SELECT_TARIFF","RESUME_TARIFF","COMMON_TITLE","COMMON_FEATURE1","COMMON_FEATURE2","COMMON_FEATURE3","PROCESSING_HOURS","NOTIFY_TIME_OVER","BUY_MORE","HOUR_BALANCE_TITLE","HOUR_BALANCE_SUBTITLE","payments","CONFIRM_TITLE","SELECTED_STRING","BY_TARIFF","TO_PAYMENTS","SELECT_PAYMENTS_TYPE","CARD_TYPE","PAYMENT_INVOICE_TYPE","OPERATION_CANCELLED","invoice","LABEL_DESCRIPTION","TITLE_SUCCESS","LABEL_SUCCESS","UNDERSTAND_BTN","confirmEmail","BTN_RESEND","LINK_GO_HOME","MSG_INVALID_LINK","MSG_RESEND_COMPLETED","MSG_RESEND_FAILED","MSG_SEND_COMPLETED","TITLE_ERROR","TITLE_PLEASE_CONFIRM","passwordReset","BTN_RESET","BTN_RESET_REQUESTED","BTN_RETRY","ERROR_PASSWORDS_MISMATCH","ERROR_PHONE_NUMBER_INCORRECT","ERROR_RESET_FAILED_NOT_FOUND","ERROR_RESET_FAILED","LINK_RESET","MSG_CHECK_EMAIL","MSG_COMPLETED","MSG_NEW_PASSWORD","MSG_WELCOME","TITLE_CHECK_EMAIL","TITLE_COMPLETED","TITLE_RESET","ERROR_INVALID_PASSWORD_LENGTH","ERROR_INVALID_PASSWORD_SYMBOL","ERROR_INVALID_PASSWORD_UPPERCASE","ERROR_INVALID_PASSWORD_NUMBER","d3locale","formatLocale","decimal","thousands","grouping","currency","d3format","format","HTTP_METHOD","_getFetchError","_getFetchError2","response","contentType","_yield$response$json","_message","headers","get","includes","json","errorStatusCode","details","status","GENERIC_ACCESS_DENIED","text","_x3","_request","url","options","_sessionStorage$getIt","_ref2","_ref2$method","method","data","keepalive","isCorsRequest","_ref2$raw","returnRawResponse","params","adminViewUserId","GET","raw","credentials","mode","HubSessionId","sessionStorage","getItem","ADMIN_VIEW_STORAGE_KEY","ReplacedUserId","body","JSON","stringify","fetch","ok","bytes2str","bytes","concat","bytes2gb","bytes2mb","getCurrentTab","tabs","query","tabQuery","_isValidTab","sortByDateAsc","a","b","createdAt","sortByDateDesc","sortBy","keys","_step","_iterator","key","aValue","bValue","isValidFileType","file","search","hasCloneVideo","videos","findIndex","_ref","isClone","declOfNum","text_arr","n1","Math","abs","AUTH_STATE","getUserData","ACCOUNT","getUsers","USER_LIST","login","createAsyncThunk","_ref3","email","password","user","availableUsers","LOGIN","POST","isAdmin","_objectSpread","logout","_ref5","history","redirectTo","_ref6","dispatch","LOGOUT","removeItem","actions","reset","loadUserData","_ref7","throwOnFailure","initialState","authState","NONE","handleAuthFailed","state","action","authErrorMsg","LOGIN_FAILED","NOT_FOUND","INVALID_INPUT_DATA","INVALID_PASSWORD","AUTH_INCORRECT_PASSWORD","AUTH_USER_NOT_FOUND","authSlice","createSlice","reducers","clearError","NOT_AUTHENTICATED","extraReducers","builder","addCase","pending","AUTHENTICATING","fulfilled","AUTHENTICATION_COMPLETED","payload","rejected","meta","arg","LOGIN_STARTED","reducer","selectAuthNotInitialized","auth","selectLoginStarted","selectAuthenticated","Boolean","selectUserData","selectLoginError","ARCHIVE_STATE","groupToGroupMap","group","locations","Map","map","id","locationDtoToLocation","_location$title","_location$imagePrevie","title","streams","videoStreamCount","videoFilesCount","thumbnail","imagePreviewUrl","isArchived","ARCHIVED","isRemoved","moment","createAt","archivedAt","removedAt","videoFilesSize","isCameraConnected","processingCount","completedCount","groupDtoToGroup","domain","filter","currentTariffDtoTariffData","_tariff$name","x","min","max","ms","timeBalancePercantage","timeBalance","maxHours","tariffSnapshotId","purchase","timeBalanceHour","floor","timeBalanceString","lastPaymentDate","utc","isSystem","tariffDtoTariffData","_tariff$name2","getLocationGroupsUrl","sliceName","offset","count","URLSearchParams","set","GROUPS","getLocationFilter","groupOrLocation","_groupOrLocation$isRe","_groupOrLocation$isAr","loadGroups","_loadGroups","_wrapAsyncGenerator","chunkSize","groupsDomain","total","groups","_awaitAsyncGenerator","entities","addGroup","_addGroup","newGroup","loadGroup","_x4","_loadGroup","groupId","groupDto","_group$isArchived","_group$isRemoved","GROUP","replace","updateGroup","_updateGroup","NOT_ARCHIVED","PUT","deleteGroup","_deleteGroup","_callee6","_context6","GROUP_BASE","DELETE","addLocation","_x8","_x9","_addLocation","_callee7","newLocation","_context7","locationGroupId","LOCATION","updateLocation","_x10","_updateLocation","_callee8","_context8","deleteLocation","_x11","_deleteLocation","locationId","_context9","LOCATION_BASE","DATA_LOAD_STATE","MAIN_SLICE_NAME","ARCHIVE_SLICE_NAME","TRASH_SLICE_NAME","deleteLocationState","withGroup","callback","LOADED","has","withLocation","setGroupBusy","isBusy","setGroupIdle","setLocationBusy","_action$meta$arg","setLocationIdle","_action$meta$arg2","deleteGroupState","reloadGroupData","sliceNames","rootState","updatedGroup","apiLoadGroup","setGroupState","createVideoSlice","_","thunkApi","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","dataChunk","groupsMap","_asyncIterator","apiLoadGroups","slice","loadData","return","_x5","getState","sliceState","_action$payload","_state$data$get","_action$payload2","_toConsumableArray","authActions","STARTED","FAILED","selectData","Array","from","values","_objectWithoutProperties","_excluded","selectLoaded","selectLoading","selectLocationIds","_step2","locationIds","_iterator2","_step3","_iterator3","selectNotInitialized","selectLoadError","selectIsValidLocation","defaultValue","ensureLocation","analyticsState","uploads","getInitialLocationState","withVideo","videoId","withStream","streamId","selectGroupValues","fromEntries","getLocationValuesSelector","getGroupByLocationSelector","find","getLocationHasAnalyticsSelector","getAnalyticsUpdatedAtSelector","_updatedAt","updatedAt","_i","_arr","analyticsDate","valueOf","getStreamsSelector","locationState","getSourcesSelector","getSourceIdsSelector","getSourceIdsForAnalyticsSelector","dataSource","_ref8","originalVideoFileId","_ref9","getVideosSelector","_ref11","isArray","reduce","res","getUploadsSelector","_ref12","getNotInitializedSelector","_ref13","getLoadedSelector","_ref14","_state$data$get2","getLocationSelector","_ref15","_ref16","_locations","_location","apiDeleteGroup","apiDeleteLocation","restoreLocation","apiUpdateLocation","restoreGroup","_group$isRemoved2","apiUpdateGroup","unarchiveGroup","unarchiveLocation","renameGroup","_group$isTmp","update","_update$title","isTmp","apiAddGroup","renameLocation","_location$isTmp","apiAddLocation","archiveGroup","archiveLocation","_ref10","moveGroupToTrash","moveLocationToTrash","_x12","moveLocationsToTrash","_ref18","_ref17","_ref19","_x15","_x13","_x14","updateGroupState","_createVideoSlice","groupMap","_action$meta$arg3","_action$meta$arg4","createTmpLocation","defaultTitle","uuid","countries","registerLocale","countriesRu","DEFAULT_COUNTRY","COUNTRY_LIST","tz","getName","select","sort","getTimeZoneList","country","zonesForCountry","timezone","now","getDefaultTimeZone","_tzList$find","tzList","defaultOffset","guess","VIDEO_STATE","UPLOAD_STATE","VIDEO_PROCESSING_STATE","VIDEO_PREPROCESSING_STATE","streamDtoToStream","dto","line","countingLine","x1","y","y1","x2","y2","ipAddress","thumbnailUrl","timeZone","dateTimeZoneId","connectedAt","connectionDateTime","disconnectedAt","disconnectionDateTime","isConnected","videoProcessingState","videoDtoToData","_dto$url","date","startVideoDateTime","fileName","size","fileSize","duration","videoFileState","isBillingDenied","filePreprocessing","LOCATION_URL","VIDEO_URL","STREAM_URL","startProcessing","_startProcessing","START_MEDIA_PROCESSING","stopProcessing","_stopProcessing","STOP_MEDIA_PROCESSING","subscribeToDashboard","_subscribeToDashboard","DASHBOARD_SUBSCRIBE","unsubscribeFromDashboard","_unsubscribeFromDashboard","ids","append","DASHBOARD","loadVideo","_loadVideo","fileDto","FILE","video","loadStream","_loadStream","streamDto","STREAM","stream","loadVideos","_loadVideos","baseUrl","LOCATION_VIDEOS","loadStreams","_loadStreams","LOCATION_STREAMS","createStream","_createStream","STREAMS","createVideo","_createVideo","_callee10","width","height","fileCreateDto","_context10","FILES","deleteVideos","_deleteVideos","_callee11","videoIds","_context11","deleteStream","_deleteStream","_callee12","streamIds","moveVideos","_moveVideos","_callee13","locationIdReplacing","getLeftTopPoint","updateStream","_updateStream","_callee14","leftTopPoint","rightBottomPoint","streamUpdateDto","_context14","DateTimeZoneId","updateVideo","_x16","_updateVideo","_callee15","autoStart","fileUpdateDto","_context15","isAutoAnalysisEnabled","uploadFile","_uploadFile","onProgress","blockBlobClient","BlockBlobClient","uploadData","saveLine","_step3$value","updateOptions","_iterator4","_step4","_step4$value","_id","_line","_updateOptions","apiUpdateVideo","updateVideoLine","apiUpdateStream","updateStreamLine","_options$forceProcess","forceProcessing","videoProcessingPromises","streamProcessingPromises","videoState","UPLOADED","apiStartProcessing","autoStartProcessing","restartProcessing","stopProcessingPromises","apiStopProcessing","apiDeleteVideos","apiMoveVideos","_locationsState$data$","locationsState","apiCreateStream","apiSubscribeToDashboard","apiUnsubscribeFromDashboard","loadLocation","_iteratorAbruptCompletion2","_didIteratorError2","_iteratorError2","_dataChunk","NOT_STARTED","loadAnalytics","_step6","_iterator6","_loop","_step6$value","time","forEach","removeStream","_actions$payload","removeUpload","setStream","_action$payload3","setVideo","_action$payload4","setUploads","_action$payload5","files","_step7","_iterator7","getUploadId","progress","updateUpload","_action$payload6","_update$fileId","newUploadState","fileId","_action$payload7","_action$payload8","oldLocationId","_action$meta$arg5","_action$meta$arg6","_location$streams$get","_location$streams$get2","uploadId","_yield$createVideo","sasUrl","videoWithLine","setUploadState","CREATING","_ref20","UPLOADING","apiUploadFile","loadedBytes","_x17","_x18","uploadFiles","_ref21","creationPromises","_ref22","isValid","uploadInfo","_x19","_x20","stats","_ref23","streamLocations","cloneIds","_loop2","_i2","_arr2","_step8","_iterator8","_step9","_iterator9","_location$id","_ref24","_x21","_x22","reloadVideoData","jobState","CANCELED","_ref25","_yield$loadVideo","_context16","_x23","_x24","reloadStreamData","_ref26","_callee16","_yield$loadStream","_context17","apiDeleteStream","_x25","_x26","reloadDataById","streamOrVideoId","_ref27","_callee17","_context18","some","_ref28","_ref29","_ref30","_ref31","_x27","_x28","SIGNUP_STATE","CONFIRM_EMAIL_STATE","confirmEmailSlice","started","tokenInfo","resendFailed","resendStarted","RESEND_STARTED","resendCompleted","RESEND_COMPLETED","completed","COMPLETED","failed","requestConfirmation","_authState$user","errorPayload","RESEND_EMAIL_CONFIRMATION","notificationActions","info","template","args","CONFIRM_EMAIL","userEmail","token","selectIsConfirmationCompleted","selectResendStarted","selectResendCompleted","selectConfirmationDetails","selectConfirmationError","PROFILE_CHANGE_STATE","editProfile","profileUpdate","newPassword","CHANGE_PASSWORD","EDIT_ACCOUNT","SAVED","PROFILE_INCORRECT_PASSWORD","selectIsConfirmed","emailConfirmed","selectStarted","profileView","selectError","TARIFF_STATE","INVOICE_FORM_STATE","NOTIFICATION_TYPE","list","msg","type","INFO","ERROR","notificationIndex","splice","_groupMap$isArchived","_groupMap$isArchived2","_groupMap$isRemoved","_groupMap$isRemoved2","_groupMap$isRemoved3","_groupMap$isRemoved4","locationName","selectNotification","notifications","selectAppLoading","archive","trash","SIGNUP_STARTED","tariffListState","LOADING_DATA","selectAppReady","isAuthAttemptFinished","selectAuthFinished","getCurrentTariff","billingUrl","innerUrl","USERS","getTariffs","TARIFFS","loadBillingUrl","SERVER_URL","loadCurrentTariff","userId","currentTariff","loadTariffs","tariffs","t","createInvoicePayment","paymentData","INVOICE_PAYMENT","tariffState","invoiceFormState","tariffSlice","setSelectedTariff","selectedTariff","clearInvoiceFormState","DATA_LOADED","selectBillingUrl","selectUserTariff","selectTariffs","selectIsTariffsLoading","selectIsCurrentTariffError","selectIsLoadingError","getSelectedTariff","selectInvoiceStarted","selectInvoiceSuccessed","DEFAULT_SIGNALR_URL","DEFAULT_CONNECTION_TIMEOUT","MSG_EVENT_NAME","CLASS_ID_RESULT_KEY_MAP","bicycle","bikes","car","cars","men","people","person","SlimLinearProgress","withStyles","root","position","left","right","LinearProgress","DelayedProgress","props","_props$variant","variant","useTranslation","_jsx","style","children","Fade","in","transitionDelay","Typography","COLORS","BLACK","NEW_BLACK","WHITE","ALMOST_WHITE","DEFAULT_BACKGROUND","LIGHT_BLUE","BLUE1","BLUE2","BLUE3","BLUE4","BLUE5","BLUE6","BLUE7","BLUE_MAIN","GREY0","GREY1","GREY2","GREY3","GREY6","GREY7","GREY8","GREY_NEUTRAL","DARK_GREY","GREEN","DARK_GREEN","createMuiTheme","drawerWidth","MuiButtonBase","disableRipple","MuiIconButton","disableTouchRipple","disableFocusRipple","MuiSvgIcon","fontSize","palette","primary","light","dark","secondary","warning","success","grey","black","white","background","default","typography","h2","fontFamily","fontWeight","letterSpacing","h3","lineHeight","h4","h5","body1","body2","button","textTransform","subtitle1","subtitle2","caption","overline","overrides","MuiButton","containedPrimary","boxShadow","borderRadius","backgroundColor","outlinedPrimary","border","MuiFormControl","marginNormal","marginBottom","MuiFormLabel","color","MuiList","padding","display","marginTop","marginLeft","marginRight","minWidth","fill","MuiPaper","transform","elevation8","MuiInputBase","borderColor","input","transitionProperty","MuiOutlinedInput","paddingTop","paddingBottom","paddingLeft","MuiSelect","outlined","MuiTab","maxWidth","paddingRight","labelIcon","minHeight","wrapper","flexDirection","alignItems","MuiTabs","flexContainer","MuiTableCell","fontStyle","borderBottom","MuiFormHelperText","VISIUS_COLORS","useFormStyles","makeStyles","theme","spacing","paper","justifyContent","pageFooter","avatar","divider","form","formFooterActionsProfile","textAlign","formFooterActions","formIntro","labeledInputField","opacity","flexShrink","flexGrow","margin","labeledButtonField","textDecoration","header","loginBtn","whiteSpace","loginBtnLink","formLink","footerLink","useContentStyles","alert","dimmer","content","top","bottom","cardContent","useAppLayoutStyles","drawer","drawerPaper","toolbar","mixins","profileCardContainer","linkButton","onlyForTrashAndArchiveTabs","_defineProperty","breakpoints","between","VisiusLink","rest","Link","component","RouterLink","AuthTemplate","classes","Container","className","_jsxs","to","src","logo","alt","getRequiredValidator","requiredFields","hasChanges","forceValidation","force","field","getConfirmationValidator","passwordField","confirmationField","getRulesValidator","inputString","errors","mapChildrenRecursive","mapper","React","Children","child","isValidElement","nestedChildren","cloneElement","getFormValues","formData","FormData","entries","_slicedToArray","validateForm","_ref7$forceValidation","validator","Form","formRef","useRef","_useState","useState","_useState2","validationErrors","setValidationErrors","_useState3","_useState4","formHasChanges","setFormChanges","ref","noValidate","onSubmit","preventDefault","current","enforcedChanges","validate","focus","_textFieldProps$error","textFieldProps","textFieldName","fieldErrors","validationProps","onChange","target","handleChange","tooltip","shadows","Tooltip","useStyles","textField","endAdornmentError","errorIcon","errorMassages","flexWrap","errorTag","VisiusTextField","_errors$length","_props$defaultValue","_lastErrors$map","externalInputRef","inputRef","errorPosition","useTheme","isSmallScreen","useMediaQuery","down","errorsNumber","hasErrors","isPasswordVisible","_setPasswordVisibility","setValue","_useState5","_useState6","lastErrors","setLastErrors","useCallback","useEffect","arrow","placement","ErrorOutline","TextField","fullWidth","InputProps","endAdornment","_Fragment","disabled","IconButton","onClick","VisibilityOff","Visibility","SignIn","useDispatch","useLocation","isAuthCompleted","useSelector","isLoginPending","loginError","handleSubmit","handleInput","handleValidation","useMemo","_location$state","defaultLocation","pathname","_ref$referrer","referrer","Redirect","signUpLink","required","label","autoComplete","inputProps","autoFocus","Button","VisiusAlert","handleClick","actionCallback","Alert","severity","actionText","actionDisabled","AlertTitle","_path","formatPercentage","container","warn","billing","foreground","titleContainer","INDETERMINATE_PROGRESS_STEP","INDETERMINATE_PROGRESS_TIMEOUT_MS","MAX_PROGRESS","VisiusCircularProgress","subtitle","viewValue","_props$type","titleClass","subtitleClass","progressProps","progressValue","setProgressValue","indeterminateTimeout","setTimeout","nextProgressValue","clearTimeout","Box","CircularProgress","_extends","assign","bind","i","source","hasOwnProperty","this","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","SvgRubleIcon","svgRef","titleId","viewBox","xmlns","fillRule","clipRule","d","ForwardRef","SvgCardIcon","SvgBellIcon","_path2","_path3","SvgSettingsIcon","stroke","strokeWidth","strokeLinecap","strokeLinejoin","SvgExitIcon","onlyMenMode","onlyMenUniteMode","peopleMode","uniq","repeating","setOnlyMenMode","setOnlyMenUniteMode","setPeopleMode","selectIsMenMode","dashboard","selectPeopleMode","selectIsMenUniteMode","appBar","zIndex","appBarBackground","isMenMode","isDashboardTab","isTrashOrArchiveTab","adminUserSelect","alignContent","buyMoreBtn","rightPanel","progressTitle","progressSubtitle","iconsWrapper","columnGap","activeTab","AppBar","styled","MuiAppBar","shouldForwardProp","prop","leftPanelIsOpen","transition","transitions","create","easing","sharp","leavingScreen","enteringScreen","ColorButton","VisiusAppBar","_currentTariff$timeBa","_currentTariff$timeBa2","_currentTariff$timeBa3","_currentTariff$maxHou","_ref2$noDrawer","noDrawer","useHistory","isProfileTab","isLoading","handleLogout","clsx","Toolbar","startIcon","RubleIcon","CircularProgressWithLabel","uploaded","BellIcon","CardIcon","SettingsIcon","ExitIcon","_isRequestValid","ConfirmEmail","_query$get","_query$get2","layoutClasses","confirmationError","isAuthenticated","isConfirmationCompleted","savedTokenInfo","isResendStarted","isResendCompleted","hasError","alertMessage","alertTitle","TIME_RANGE_FORMAT","readDate","queryParam","toDate","readTimeRanges","timeRanges","parse","start","end","startTime","endTime","readResultKey","resultKeys","_query$get3","objectsString","entry","defaultResultKeys","isSortable","chartVariant","getScaleBand","scaleBand","range","round","getter","paddingInner","paddingOuter","getScaleLinear","_options$reverse","isReverseScale","reverse","scaleLinear","formatUserName","autoCompleteList","VisiusAdminViewSelect","deepEqual","availableUserAccounts","_user$availableUsers","aName","toLowerCase","bName","aEmail","bEmail","defaultId","defaultAccount","handleAdminViewSwitch","selectedUser","setItem","Autocomplete","getOptionLabel","ListboxProps","groupBy","renderInput","SvgGlobeIcon","useStyle","drawerButton","progressContainer","progressItem","listLinks","linkButtonSecondary","linkHome","cursor","adminViewDivider","adminViewSelect","btn","devButton","landingLink","openedMixin","overflowX","closedMixin","Drawer","MuiDrawer","boxSizing","VisiusDrawer","selectUploads","selectVideos","notStartedUploads","videosFinishedPreprocessing","uploadProgress","failedUploads","uploadedDataSize","sum","totalUploadsSize","preProcessingVideosProgress","failedPreprocessing","inProgressPreprocessing","PROCESSING","filePreprocessingProgress","_filePreprocessing$pr","inWaitPreprocessing","anchor","handleDrawerToggle","Divider","List","items","link","icon","selected","ListItem","ListItemIcon","ListItemText","disableTypography","buttons","index","isDisabled","_ref13$isDevButton","isDevButton","buttonElem","href","GlobeIcon","MIN_LABELED_BAR_WIDTH","LABEL_BOTTOM_OFFSET","getBarKey","barGroup","bar","VerticalBarGroup","_labels$map$flat$filt","_labels$map$flat$filt2","_labels$map$flat$filt3","hideLabels","_props$maxBarHeight","maxBarHeight","labels","onMouseOver","onMouseLeave","hovered","setHovered","handleMouseOver","isMenUniteMode","regexMen","matchesMen","item","match","flat","regexWomen","matchesWomen","regexUnknown","matchesUnknown","handleMouseLeave","filteredBarGroup","bars","averageX","obj","onlyMenBars","newBar","oldMen","middleMen","youngMen","oldWomen","middleWomen","youngWomen","oldUnknown","middleUnknown","youngUnknown","onlyUniteMenBars","defaultBars","curr","Group","x0","onMouseMove","Bar","rx","ry","Text","textAnchor","verticalAnchor","userSelect","LABEL_LEFT_OFFSET","MIN_LABELED_BAR_HEIGHT","HorizontalBarGroup","_props$hideLabels","averageY","y0","BarGroupView","xScale","yScale","colorScale","_props$opacity","showTooltip","hideTooltip","xGroupScale","bandwidth","getTooltipHandler","datumIndex","event","coords","localPoint","ownerSVGElement","tooltipLeft","tooltipTop","tooltipData","horizontal","BarGroupHorizontal","y0Scale","y1Scale","barGroups","BarGroup","x0Scale","x1Scale","MIN_LABEL_WIDTH","TOTAL_LABEL_OFFSET","BAR_INNER_PADDING","BarLabel","isDark","StackLabel","_ref2$horizontal","isHorizontal","getValue","textProps","blue","indigo","teal","VisiusBarStack","barStack","_props$horizontal","_props$showTotal","showTotal","tooltipHandler","BarStackView","datum","barStackRenderer","barStacks","BarStackHorizontal","BarStack","LinearChartView","_offset$left","xScaleOffset","leftOffset","highlightedDatum","setHighlightedDatum","ax","bx","getNearestDatum","getDatumX","_xScale","getYGetter","_yScale","LinePath","_xScale2","strokeOpacity","strokeDasharray","MarkerCircle","refX","curve","markerMid","markerStart","markerEnd","_xScale3","r","cx","cy","BRUSH_RESIZE_DEBOUNCE_MS","BRUSH_DEBOUNCE_MS","SELECTED_BRUSH_STYLE","VisiusBrush","_baseBrush$current$ge","_baseBrush$current3","_baseBrush$current$ge2","_baseBrush$current4","extent","getX","getMaxY","baseBrush","setWidth","scaleOrdinal","brushPosition","setBrushPosition","useDebounce","brush","getExtent","setState","minX","Infinity","minXValue","maxX","maxXValue","xValue","handleBrushPorisionChange","_baseBrush$current","_baseBrush$current2","brushWidth","getBrushWidth","brushHeight","getBrushHeight","initialBrushPosition","VisiusBarGroup","PatternLines","orientation","Brush","handleSize","resizeTriggerAreas","brushDirection","innerRef","selectedBoxStyle","TickLabel","overflow","dy","INITIAL_BAR_WIDTH","BRUSH_HEIGHT","BRUSH_TOP_OFFSET","BRUSH_BOTTOM_OFFSET","MAX_HORIZONTAL_CHART_HEIGHT","useChartStyles","legend","getTickLabelRenderer","getLabel","formattedValue","tickLabels","DateTickLabel","VisiusChart","_legendRef$current$of","_legendRef$current","_props$height","tickLabelWidth","_props$brush","hasBrushControl","_props$horizontal2","_props$sortOrder","sortOrder","handleHeightChange","onHeightChange","tooltipRenderer","getComparableX","getXLabel","legendHeight","offsetHeight","chartWidth","chartHeight","getChartHeight","filteredData","setFilteredData","brushExtent","setBrushExtent","chartDataset","sortChartData","viewData","_useTooltip","useTooltip","tooltipOpen","_useTooltipInPortal","useTooltipInPortal","detectBounds","scroll","containerRef","TooltipInPortal","chartView","getTickComponent","xAxisProps","scale","tickStroke","tickComponent","tickClassName","yAxisProps","hideAxisLine","hideTicks","xTickValues","v","arr","ceil","increasedFormatTick","formatTick","GridColumns","pointerEvents","GridRows","AxisLeft","AxisBottom","tickFormat","tickValues","defaultTooltipStyles","borderLeftWidth","borderLeftColor","random","SvgWalkerIcon","SvgCarIcon","SvgBicycleIcon","SvgMenIcon","SvgWomenIcon","SvgUnknownIcon","tooltipRow","tooltipContainer","square","tooltipValue","fontHeight","tooltipIcon","maxHeight","summaryRow","ChartTooltip","tooltipDataGetter","WalkerIcon","BicycleIcon","CarIcon","MenIcon","unknownMen","WomenIcon","unknownWomen","UnknownIcon","unknownUnknown","part","generateMaxYGetter","KEY_DATE_FORMAT","xLabelGetter","getTime","ResultAggregationChart","vertical","aggregator","averageDataMap","record","averageData","getTooltip","maxYGetter","isVertical","VisiusBarGroupsChart","avg","_len","_key","AverageNumberChart","ResultGroupChart","MaximumNumberChart","MinimumNumberChart","TIME_FORMAT","ID_FORMAT","getXTickLabel","add","getXTooltipLabel","ObjectDetectionResultBarChart","Chart","TotalNumberChart","analyticsWorker","createWorker","useWorker","LEGEND_GLYPH_SIZE","VisiusLegend","_props$showEtc","showEtc","showMore","setShowMore","handleShowMore","LegendOrdinal","labelFormat","i18nKey","toUpperCase","i18nTpl","visibleLabels","LegendItem","LegendLabel","align","SvgTooltipIcon","SvgAnalyticIcon","SvgLinearIcon","SvgPieIcon","infoIcon","controls","cardHeader","rowGap","buttonGroup","borderRightWidth","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderTopWidth","getChartVariantIcon","LinearIcon","BarIcon","TableChart","PieIcon","SortDescIcon","SortNoneIcon","ChartCardHeader","sortable","variants","onChartVariantChange","onSortOrderChange","handleChartVariantChange","alignSelf","interactive","TooltipIcon","cardWrap","control","ChartCard","_props$defaultSortOrd","setHeight","defaultVariant","setChartVariant","defaultSortOrder","setSortOrder","handleChangeSortOrder","Card","CardContent","ParentSize","parent","formControl","dropDownList","additionalOptions","overflowY","childTitle","labelOfLegend","dayWeekArr","DateRangeRender","_props$range$start","_props$range","_props$range$end","_props$range2","minDate","maxDate","onDayChange","daysOfWeek","focusedInput","setFocusedInput","usePanelStyles","startDate","endDate","dayTagFilter","day","handleDateChange","handleDayChange","dayObj","dayNumber","isDateInvalid","uniqueId","createLabel","parentElem","labelFirst","document","createElement","classList","appendChild","inputDateFirst","querySelector","inputDateLast","parentFirst","parentElement","labelElem","textContent","parentLast","DateRangePicker","numberOfMonths","startDateId","endDateId","onDatesChange","onFocusChange","isOutsideRange","minimumNights","customArrowIcon","hideKeyboardShortcutsPanel","disableScroll","startDatePlaceholderText","endDatePlaceholderText","multiple","option","filterSelectedOptions","PaperComponent","Paper","InputLabelProps","shrink","SvgCheckedCheckbox","SvgUnCheckedCheckbox","Legend","isMen","legendClasses","getTitle","selectedAges","selectedGenders","checked","resultKey","newValue","localeCompare","Grid","FormControlLabel","Checkbox","UnCheckedIcon","checkedIcon","CheckedIcon","listbox","popupIndicator","CreatableSelect","_options$find","_options$find2","loading","setLoading","inputValue","setInputValue","inputHasFocus","setInputHasFocus","createText","noOptionsText","placeHolder","onCreate","resetError","_title","handleInputChange","newInputValue","handleFilter","trim","filtered","optionRenderer","sortedOptions","selectedOption","autoHighlight","filterOptions","forcePopupIcon","freeSolo","loadingText","onInputChange","helperText","onFocus","onBlur","renderOption","selectOnFocus","checkBox","inputLocation","inputLocationAfter","LocationPicker","classesThis","locationError","setLocationError","groupError","setGroupError","selectInitialGroup","initialGroup","setGroupId","selectLocations","verifiedLocationId","isNotInitialized","handleGroupErrorReset","handleLocationErrorReset","withoutLabel","usePanelStyle","rootClose","easeOut","short","drawerWrapper","panelElement","titleWrap","toggleButtonOpen","toggleButtonClose","hide","drawerOpen","drawerClose","drawerPaperClose","timePicker","DateRangePickers","handleFromChange","handleToChange","KeyboardTimePicker","inputVariant","ampm","keyboardIcon","Schedule","autoOk","placeholder","okLabel","cancelLabel","timeRange","inputList","listItem","TimeRangeRender","ranges","startSelect","_React$useState","_React$useState2","cut","setCut","handleChangeCut","newRanges","MuiPickersUtilsProvider","utils","MomentUtils","TimeRange","FormControl","Select","MenuProps","MenuItem","DASHBOARD_URL","DATE_FORMAT","OptionsPanel","_clsx2","menIsChecked","setMenIsChecked","categories","age","gender","checkboxes","getQuery","dateRange","resultFields","initialDateRange","openRightBar","handleLocationChange","newLocationId","PAGE_MAIN","PAGE_LOCATION","_range$start","_range$end","rangeStart","rangeEnd","handleTimeChange","timeQueryObj","handleLegendChange","_filteredCategories$m","filteredCategories","acc","category","selectedCategories","handleClearURL","setHours","NavigateBefore","endIcon","NavigateNext","card","EmptyMsgCard","elevation","PieChart","tTip","innerWidth","innerHeight","radius","donutThickness","etcNumber","pieData","Pie","pieValue","pieSortValues","outerRadius","innerRadius","cornerRadius","pie","arcs","arc","isEtcArc","Arc","startAngle","endAngle","padAngle","_pie$path$centroid","path","centroid","_pie$path$centroid2","PeopleCategoryPercentage","xMax","yMax","valueOfFilteredData","leftAxis","verticalMargin","barWidth","barHeight","barX","barY","ticks","TotalPieCard","hasEtcData","totalData","foundData","DetailStatsCard","_detailData$old","_detailData$middle","_detailData$young","_detailData$unknown","detailData","colorOld","colorMiddle","colorUnknown","colorYoung","old","middle","young","unknown","totalCount","oldPercent","middlePercent","youngPercent","unknownPercent","detailInfo","detailInfoHide","detailItem","gap","detailMenItemSquare","detailItemCount","GenderStats","_props$detailData","_props$detailData2","_props$detailData3","_props$detailData4","_props$detailData5","_props$detailData6","_props$detailData7","_props$detailData8","hideDetails","number","numberWithProgress","titleIcon","StatsCard","setHideDetails","handleHideDetails","isDetailStats","iconComponent","ageJun","ageMiddle","ageSenior","ageUnknown","gMale","gFemale","gUnknown","allkindOfPeople","menContainer","nullData","getDate","hour","oldMenObject","middleMenObject","youngMenObject","unknownMenObject","oldWomenObject","middleWomenObject","youngWomenObject","unknownWomenObject","oldUnknownObject","middleUnknownObject","youngUnknownObject","unknownUnknownObject","oldMenUniq","middleMenUniq","youngMenUniq","unknownMenUniq","oldWomenUniq","middleWomenUniq","youngWomenUniq","unknownWomenUniq","oldUnknownUniq","middleUnknownUniq","youngUnknownUniq","unknownUnknownUniq","oldMenRepeating","middleMenRepeating","youngMenRepeating","unknownMenRepeating","oldWomenRepeating","middleWomenRepeating","youngWomenRepeating","unknownWomenRepeating","oldUnknownRepeating","middleUnknownRepeating","youngUnknownRepeating","unknownUnknownRepeating","oldMenRepeatingObject","middleMenRepeatingObject","youngMenRepeatingObject","unknownMenRepeatingObject","oldWomenRepeatingObject","middleWomenRepeatingObject","youngWomenRepeatingObject","unknownWomenRepeatingObject","oldUnknownRepeatingObject","middleUnknownRepeatingObject","youngUnknownRepeatingObject","unknownUnknownRepeatingObject","itemData","dataForTotalPie","totalMen","totalCars","totalBikes","totalObjects","getDetailData","totals","_$card","_nestedCardContainer","_card","_switcher","cardContainer","headerWrapper","generalInfo","infoItems","buttonActive","nestedCardContainer","flexBasis","MAX_CARD_WIDTH","switcher","emptyMsgCard","StatsContainer","resultKeysURL","totalObjectCount","totalUniqCount","totalRepeatingObjectCount","dashboardClasses","totalDetailMen","totalDetailMenUniq","totalDetailMenRepeatingObject","totalDetailWomen","totalDetailWomenUniq","totalDetailWomenRepeatingObject","totalDetailUnknown","totalDetailUnknownUniq","totalDetailUnknownRepeatingObject","detailMensData","detailWomenData","detailUnknownData","SvgCameraIcon","SvgWebcamIcon","SvgHomeIcon","SvgArchiveIcon","SvgTrashIcon","SvgMovieIcon","SvgAnalyticIconSideBar","chartVariants","DashboardPage","setOpenRightBar","useParams","isValidLocation","hasAnalytics","isDataLoaded","setIsDataLoaded","setViewData","datasetDateRange","setDatasetDateRange","endMoment","diff","property","useGetPropertyTotals","cur","Number","totalRepeatingCount","sourceIdsSelector","sourceIdsForAnalyticsSelector","sourceIdsAnalytics","_useState7","_useState8","subscriptions","setSubscriptions","isLocationNotInitialized","_readDate","_readDate2","startOf","fullWeek","dayQueryString","readDay","resultKeysForLegendURL","_useState9","_useState10","lastLocationId","setLastLocationId","window","addEventListener","removeEventListener","dataset","queryViewData","view","currentDatasetRange","queryDateRange","dataWithZeroValues","previousDate","lastDate","newData","dataForMenMode","newItemData","dataForUniteMenMode","defaultData","rawResultTooltip","totalTooltip","averageTooltip","maxTooltip","minTooltip","dataForChart","HomeIcon","MovieIcon","AnalyticIcon","ArchiveIcon","TrashIcon","CameraIcon","WebcamIcon","FormGroup","Switch","RawResultBarChart","TotalNumberBarChart","AverageNumberBarChart","MaximumNumberBarChart","MinimumNumberBarChart","PanelDrawer","SvgCloseIcon","noticeHidden","btnClose","notice","Notice","isHidden","setHidden","localStorage","Dialog","CloseIcon","DialogTitle","ProgressIndicator","SvgPlusIcon","SvgWebcamError","SvgReadyDataIcon","SvgDownloadDataIcon","SvgDownloadDataError","summary","iconWrapper","dataSuccess","webcamSuccess","UPLOAD_INFO_DISPLAY_INTERVAL","UploadStats","uploadsSelector","progressNumber","failedNumber","completedNumber","displayedUploadInfo","setDisplayedUploadInfo","availableInfo","handler","interval","setInterval","clearInterval","DownloadDataErrorIcon","ReadyDataIcon","DownloadDataIcon","WebcamErrorIcon","useLocationCardStyles","_cardHeader","iconCard","menuContainer","enabled","objectFit","thumbnailContent","actionsButton","clickAwayHandler","stopPropagation","BaseLocationCard","_props$renameMode","renameMode","_props$menuItems","menuItems","anchorEl","setAnchorEl","handleMenuClose","VideocamOffOutlined","Menu","anchorOrigin","getContentAnchorEl","transformOrigin","onClose","CardHeader","subheader","currentTarget","MoreIcon","AddLocationCard","_ref$disabled","handleLocationCreate","PlusIcon","noWrap","SvgPen","SvgOpenedEye","SvgClosedEye","SvgRecoverDataIcon","GroupContextMenu","isTrash","isMain","keepMounted","mouseState","mouseY","anchorReference","anchorPosition","mouseX","onExpand","expanded","ClosedEyeIcon","OpenedEyeIcon","onRename","PenIcon","onArchive","onRestore","RecoverIcon","onDelete","locationsList","locationsContainer","accordion","accordionTitle","textIsGrey","locationIcon","editModeClickHandler","dialog","prohibitedValues","InlineTextField","_props$inputRef","_props$prohibitedValu","onResetError","onCancel","renameError","setRenameError","handleInputBlur","handleKeyDown","_inputElem$value","inputElem","handleResetError","tooltipTitle","onKeyDown","GroupRenameTextField","useGroupStyles","renameInputRef","handleCancel","handleRename","InlineTextEdit","SvgFolderIcon","initialMouseState","LocationGroup","LocationComponent","locationComponent","onRenameCancel","editMode","setEditMode","setExpanded","setMouseState","setTitle","deleteDialogOpen","setDeleteDialogOpen","handleMenuOpen","clientX","clientY","handleExpanded","handleMoveToArchive","handleMoveToTrash","full","handleDeleteGroup","handleDeleteDialog","handleDeleteCancel","handleEditMode","handleRestoreFromArchive","handleRestoreFromTrash","contextMenu","commonProps","locationCards","locationData","prohibitedTitles","Accordion","TransitionProps","unmountOnExit","AccordionSummary","IconButtonProps","expandIcon","ExpandLess","rotateIcon","FolderIcon","AccordionDetails","editable","DialogContent","DialogContentText","DialogActions","trashPaper","locationSummary","LocationSummary","WebkitLineClamp","textOverflow","WebkitBoxOrient","LocationTitle","ArchiveLocationCard","groupState","SvgLocationIcon","filterGroups","recoverIcon","deleteIcon","ArchiveTab","archiveClasses","pageStyles","handleRestore","handleTrash","groupList","numOfLocations","currentItem","numOfVideos","_currentItem$videos","LocationIcon","textInput","LocationRenameTextField","_props$data$isBusy","locationTitle","busyIndicator","VideosLocationCard","_data$isTmp","customClasses","setRenameMode","handleRenameCancel","handleRenameStart","handleLocationClick","LocationContentTitle","LocationContentSummary","MainTab","handleAdd","createTmpGroup","GroupsLocationCard","Add","TrashLocationCard","handleDelete","doDelete","SvgDeleteForeverIcon","TrashTab","trashClasses","locationCount","RecoverDataIcon","DeleteForeverIcon","_getPageTitle","currentTab","_getPageComponent","MainPage","tab","controlsContainerWrap","controlsContainerWrapFirst","controlsContainerWrapSecond","controlsContainer","backgroundRadius","LocationControl","isLocationDisabled","selectedLocation","isDemoLocation","handleGroupCreate","verifiedGroupId","locationDto","handleGroupChange","useWorkFlowStyles","stepperRoot","instructions","stepLabel","borderWidth","borderStyle","COMPLETED_STEPS","WorkFlowConnector","alternativeLabel","active","StepConnector","useWorkFlowIconStyles","circle","WorkFlowStepIcon","Check","VisiusWorkFlow","addLineStep","completedStep","setCompletedStep","isTmpStream","isStreamTab","steps","savedStreams","_ref2$isTmp","hasUploading","hasUploadedVideo","hasUploadingVideo","UPLOAD_TO_SERVER","PICK_DATE_TIME","PICK_LOCATION","START","ADD_VIDEO","START_PROCESSING","Stepper","activeStep","connector","tLabel","Step","StepLabel","StepIconComponent","IMAGE_MARGIN","MARKER_THRESHOLD","MAX_THUMBNAIL_WIDTH","MAX_THUMBNAIL_HEIGHT","touchAction","img","canvas","LineDrawing","imgUrl","_ref$points","points","targetWidth","targetHeight","isDragged","setDragged","setLine","imgSize","setImgSize","thumbnailSize","setThumbnailSize","isImageLoaded","defaultWidth","thumbnailScale","selectedPoint","setSelectedPoint","imgRef","canvasX2image","coordinate","thumbnailX","canvasY2image","thumbnailY","image2canvas","handleImageLoaded","naturalWidth","naturalHeight","aspectRatio","newThumbnailWidth","imgWidth","imgHeight","handleMouseMove","point","hoveredPoint","handleDragStart","_ref3$x","_ref3$y","handleDragMove","_ref4$x","_ref4$y","dx","editablePoint","newPoints","handleDragEnd","canvasWidth","canvasHeight","onLoad","loaded","Drag","resetOnStart","onDragStart","onDragMove","onDragEnd","dragStart","dragEnd","dragMove","onMouseDown","onMouseUp","onTouchStart","onTouchCancel","onTouchEnd","onTouchMove","backButton","workFlowWrap","contentBlock","mainBtn","offsetContentBlock","headerIcon","inputLabel","inputHelper","paragraph","nextStepParagraph","useCustomStyles","submitBtn","LineEditor","WorkFlow","DrawLine","LineEditorTab","_useSelector","_clsx","appClasses","selectStream","getStreamSelector","selectVideo","getVideoSelector","isLoaded","savedLine","handleLineChange","handleLineSave","lineTarget","ModalVideoPlayer","videoElemRef","hls","Hls","urlObj","URL","useHls","test","handleLoad","videoElem","loadSource","attachMedia","handleUnload","pause","stopLoad","detachMedia","onEntered","onExit","autoPlay","table","processingError","processing","connected","disconnected","tdLinks","streamTitle","StreamsList","videoOpened","setVideoOpened","videoUrl","setVideoUrl","handleCopyLink","_closest","closest","navigator","clipboard","writeText","handleVideoOpen","_closest2","handleVideoClose","TableContainer","Table","TableHead","TableRow","TableCell","TableBody","_stream$disconnectedA","_stream$disconnectedA2","_stream$disconnectedA3","processingState","streamNoHasProcessing","STOPPED","streamHasConnected","streamHasProcessingError","NOTIFICATION_ERROR","PREPARING_INFRASTRUCTURE_ERROR","STOPPING_ERROR","RadioButtonChecked","scope","hours","LinkIcon","PlayArrow","TimeZoneSelect","_props$timeZone","setCountry","tzInputValue","setTzInputValue","handleCountryChange","handleTimeZoneChange","StreamCreator","setUrl","handleUrlSave","handleUrlChange","handleTimezoneChange","handleStreamConnect","StreamsTab","showTitle","isContentLoaded","visibleTabs","handleTabChange","selectStreams","tmpStream","handleCreateTmpStream","handleDeleteTmpStream","hasSavedStream","streamWithoutLine","streamWithLine","everyStream","handleRestartProcessing","handleStopProcessing","stepsControl","isDrawLineBtnAvailable","hasNotYetPreProcessedStream","_streamWithoutLine$id","drawLine","streamNotInProcessing","streamInProcessing","streamIsConnected","streamConnected","VideocamOutlined","Tabs","indicatorColor","textColor","Tab","Close","datePicker","dialogPaper","dialogDateTimeContainer","dialogBtn","DateTimePicker","_dialogDate$isValid","_dialogTime$isValid","DEFAULT_DIALOG_DATE","currentDate","setCurrentDate","dialogDate","setDialogDate","dialogTime","setDialogTime","setOpen","defaultDate","dateByUTC","handleOpenDatePicker","handleCloseDatePicker","handleSelectDate","resultDate","isDialogDateValid","isDialogTimeValid","KeyboardDatePicker","disableFuture","InputAdornmentProps","invalidDateMessage","InsertInvitationOutlined","KeyboardButtonProps","maxDateMessage","minDateMessage","DialogProps","PaperProps","DateCalendar","join","notStarted","failedUploadStatus","tdPadding","tdWide","WIDE_COLUMN_MIN_WIDTH","tdIcon","videoTitle","fileTooltip","fileTooltipIcon","UploadsList","onRemove","getDateChangeHandler","createObjectURL","videoWidth","videoHeight","getRemoveHandler","handleRemoveAll","hasRemoveAllBtn","Cancel","isNotValidFileType","CloudUploadOutlined","CloudOffOutlined","LocalizationProvider","dateAdapter","AdapterMoment","TableFooter","ContextMenu","SvgForwardIcon","tr","tdDate","uploading","readyData","locationControl","dialogActions","dialogTitle","dialogContent","deleteButton","replaceButtonIcon","getIcon","_Typography7","_Typography","_Typography4","_Typography2","_Typography3","_Typography5","_Typography6","upload","isTransferActive","isTransferFailed","CloudQueueOutlined","PENDING","FINISHED","CloudDoneOutlined","VideosList","Set","setChecked","highlighted","setHighlighted","menuState","setMenuState","replaceDialogOpen","setReplaceDialogOpen","_useState11","_useState12","isDisabledLocation","setDisabledLocation","_useState13","_useState14","setNewLocationId","_useState15","_useState16","_useState17","_useState18","isCanNotBeDeleted","videoHasPreprocessing","SCHEDULED","selectLocation","handleLinksClick","handleCheckAllVideos","allIds","handleCheckVideo","checkedVideos","handleContextMenu","handleDeleteDialogShow","handleReplaceDialogShow","handleReplaceCancel","handleReplaceVideo","isNotReplaced","totalSeconds","totalDuration","parseInt","minutes","seconds","hoursStr","padStart","minutesStr","secondsStr","dialogOpen","returnValue","ForwardIcon","UncheckBoxIcon","CheckBoxIcon","_video$duration","videoUpload","durationStr","sizeStr","onContextMenu","rel","Launch","VideosTab","isNotDemoLocation","handleAddFiles","click","handleRemove","handleFilesSelected","inputFiles","handleUpload","visibleUploads","showUploadsList","nextStepControl","isUploadDisabled","videoWithoutLine","editLineAvailable","pendingVideo","showVideosList","addFilesButton","accept","pageHeader","pageContent","fixedHeader","analyticIcon","_getCurrentLocationTab","queryString","hasStreams","hasVideos","showPageTitle","StreamTab","LocationPage","groupsLoaded","selectGroupsLoaded","selectLocationLoaded","isLocationLoaded","tabIndex","handleLocationChanged","PAGE","gotoAnalyticsBtn","isBtnDisabled","AUTOHIDE_TIMEOUT","ANIMATION_TIMEOUT","NotificationSnack","notification","handleClose","reason","Snackbar","autoHideDuration","PASSWORD_RESET_STATE","requestStarted","REQUEST_STARTED","requestCheckEmail","REQUEST_CHECK_EMAIL","resetStarted","RESET_STARTED","resetCompleted","RESET_COMPLETED","resetFailed","requestReset","FORGOT_PASSWORD","resetPassword","RESET_PASSWORD","resetToken","selectIsPasswordResetRequested","selectIsPasswordResetStarted","selectPasswordResetError","selectEmail","selectIsResetCompleted","ResetRequestForm","isResetStarted","SignInTextField","_onChange","ResetPassword","isResetCompleted","isResetRequested","resetEmail","ResetForm","RequestForm","innerCard","grid","flexContent","leftBtn","featureRow","feature","currentBox","col","tariffRow","tariffPurchase","tariffName","TariffsList","cardClasses","tariffClasses","tariffStyles","selectedTariffId","setSelectedTariffId","onTariffSelectClick","_currentTariff$id","_currentTariff$id2","checkIcon","onMouseEnter","Cached","goBack","changeLink","tariffInfo","selectPayment","paymentsType","typeName","banksLogo","invoiceIcon","checkbox","ConfirmPayments","InvoiceForm","formClasses","userData","submitStarted","isSubmitCompleted","invoiceForm","phoneNumber","navigateBack","InputLabel","InvoiceSuccessInfo","col1","linearProgressBar","progressBarSuccessColor","progressBarWarningColor","progressBarErrorColor","TariffTab","_currentTariff$lastPa","_currentTariff$name","_currentTariff$purcha","progressBarColor","barColorPrimary","local","Update","buttonWrapper","saveButton","ProfileTab","pageClasses","profileError","isConfirmed","companyName","Save","saveBtn","passwordsMatch","setPasswordsMatch","changePasswordClasses","getElementsByName","confirmation","currentPassword","NotYetImplementedTab","SvgArrowLeft","getTabInnerComponent","tabInnerQuery","innerComponent","ChangePasswordTab","ProfilePage","ArrowLeftIcon","signupStarted","signupFailed","SIGNUP_FAILED","DUPLICATE_USER_NAME","DUPLICATE_USER_EMAIL","INVALID_EMAIL","INVALID_USER_NAME","SIGNUP","selectIsSignUpStarted","selectSignUpError","SignUp","_signUpError$firstNam","_signUpError$email","_signUpError$phoneNum","_signUpError$password","isSignUpStarted","signUpError","signInLink","firstName","phoneNumberField","_values$phoneNumberFi","_values$phoneNumberFi2","licenseLink","App","setLeftPaneIsOpen","isAuthNotInitialized","isAppReady","useAnalyticsWorker","isTariffError","isCurrentTariffError","worker","hubSessionId","connection","signalR","withUrl","build","connect","on","VideoFileId","State","Progress","VideoFileName","errorMessage","ErrorMessage","VideoStreamIpAddress","VideoStreamId","analyticsEntries","Objects","_entry$AdditionalCoun","_entry$AdditionalCoun2","_entry$AdditionalCoun3","_entry$AdditionalCoun4","ClassId","videoOrStreamId","StreamId","Count","Time","Gender","Age","additionalInfo","AdditionalCountInfo","objectsCount","ObjectsCount","repeatingCount","RepeatingCount","repeatingObjectsCount","RepeatingObjectsCount","uniqueCount","UniqueCount","saveAnalyticsData","off","catch","initSignalR","tariffUpdateInterval","ThemeProvider","CssBaseline","Router","Route","exact","render","GroupsPage","Location","Profile","Notification","STRINGS","translation","_translation","locale","resources","ru","RU","i18n","use","initReactI18next","init","lng","keySeparator","interpolation","escapeValue","createLogger","actionTransformer","stateTransformer","enableMapSet","middlewares","thunk","configureStore","middleware","archiveReducer","authReducer","confirmEmailReducer","locationsReducer","notificationsReducer","resetPasswordReducer","profileViewReducer","signUpReducer","tariffReducer","trashReducer","videoDataReducer","dashBoardReducer","hostname","config","ReactDOM","Provider","getElementById","serviceWorker","ready","then","registration","unregister"],"mappings":"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,iBACA,sBACA,4BACA,gBACA,sBACA,oBACA,yBACA,+BACA,eACA,qBACA,mBACA,wBACA,8BACA,iBACA,uBACA,qBACA,0BACA,iCAGWC,GAAe,SAACr7E,GAEzB,OAAQA,GACN,IAAK,OACH,MAAO,CACL,aACA,gBACA,eACA,iBACA,eACA,kBACA,iBACA,mBACA,iBACA,oBACA,mBACA,sBAEJ,IAAK,YACH,MAAO,CACL,kBACA,qBACA,oBACA,sBACA,oBACA,uBACA,sBACA,wBACA,sBACA,yBACA,wBACA,2BAEJ,IAAK,SACH,MAAO,CACL,eACA,kBACA,iBACA,mBACA,iBACA,oBACA,mBACA,qBACA,mBACA,sBACA,qBACA,wBAEJ,IAAK,kBACH,MAAO,CACL,wBACA,2BACA,0BACA,4BACA,0BACA,6BACA,4BACA,8BACA,4BACA,+BACA,8BACA,iCAEJ,QACE,MAAO,CACL,SACA,YACA,WACA,aACA,WACA,cACA,aACA,eACA,aACA,gBACA,eACA,kBAIV,EAEas7E,GAAW,SAACC,EAAiBC,GAAY,MAAM,CAC1D77C,KAAM,IAAItlC,KAAKkhF,EAAUC,GACzBpvC,KAAM,EACNF,MAAO,EACPG,IAAK,EAEL6lB,OAAQ,EACRC,UAAW,EACXC,SAAU,EACVqP,WAAY,EACZpP,SAAU,EACVC,YAAa,EACbC,WAAY,EACZoP,aAAc,EACdnP,WAAY,EACZC,cAAe,EACfC,aAAc,EACdmP,eAAgB,EAEhB4Z,aAAc,EACdC,gBAAiB,EACjBC,eAAgB,EAChBC,iBAAkB,EAClBC,eAAgB,EAChBC,kBAAmB,EACnBC,iBAAkB,EAClBC,mBAAoB,EACpBC,iBAAkB,EAClBC,oBAAqB,EACrBC,mBAAoB,EACpBC,qBAAsB,EAEtBC,WAAY,EACZC,cAAe,EACfC,aAAc,EACdC,eAAgB,EAChBC,aAAc,EACdC,gBAAiB,EACjBC,eAAgB,EAChBC,iBAAkB,EAClBC,eAAgB,EAChBC,kBAAmB,EACnBC,iBAAkB,EAClBC,mBAAoB,EAEpBC,gBAAiB,EACjBC,mBAAoB,EACpBC,kBAAmB,EACnBC,oBAAq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","file":"static/js/main.25f19c63.chunk.js","sourcesContent":["\n\t\t\t\tvar addMethods = require(\"../../../../node_modules/workerize-loader/dist/rpc-wrapper.js\")\n\t\t\t\tvar methods = [\"queryViewData\",\"queryDateRange\",\"saveAnalyticsData\"]\n\t\t\t\tmodule.exports = function() {\n\t\t\t\t\tvar w = new Worker(__webpack_public_path__ + \"9855fd75bd9b89a522e3.worker.js\", { name: \"[hash].worker.js\" })\n\t\t\t\t\taddMethods(w, methods)\n\t\t\t\t\t\n\t\t\t\t\treturn w\n\t\t\t\t}\n\t\t\t","import FakeIndexedDB from \"fake-indexeddb\";\nimport FakeIDBKeyRange from \"fake-indexeddb/lib/FDBKeyRange\";\nimport { DateRange } from \"../components/DateRangePicker\";\nimport { RawResult } from \"../features/dashboard/charts/RawResult\";\nimport { ISODateString } from \"../features/groups/data-types\";\nimport { StreamId, VideoId } from \"../features/location/data-mapper\";\n\ninterface AnalyticsQuery {\n sourceIds: Array;\n startDate?: Date;\n endDate?: Date;\n}\n\ninterface DateRangeQuery {\n sourceIds: Array;\n}\n\ninterface IndexedDBShim {\n indexedDB: IDBFactory;\n IDBKeyRange: IDBKeyRange;\n}\n\ninterface QueryGetterOptions {\n db: IDBDatabase;\n sourceId: StreamId | VideoId;\n startDate?: Date;\n endDate?: Date;\n}\n\ntype AnalyticsPayload = Map<\n VideoId | StreamId,\n Map>\n>;\n\nconst ANALYTICS_STORE_NAME = \"analytics\";\nconst DB_NAME = \"visius-data\";\nconst DB_VERSION = 1;\n// JS allows dates in a range ... \nconst MIN_JS_DATE: Date = new Date(-0.1e9 * 1000 * 60 * 60 * 24);\nconst MAX_JS_DATE: Date = new Date(0.1e9 * 1000 * 60 * 60 * 24);\n\n// eslint-disable-next-line no-restricted-globals\nlet indexedDB = self.indexedDB;\n// eslint-disable-next-line no-restricted-globals\nlet IDBKeyRange = self.IDBKeyRange;\nlet dbInstance: IDBDatabase | undefined;\n\n/**\n * Creates analytics data store within the given IndexedDB database\n * @param {IDBDatabase} db - IDBDatabase instance\n * @returns {void}\n */\nasync function _createResultsStore(db: IDBDatabase): Promise {\n const store = db.createObjectStore(ANALYTICS_STORE_NAME, {\n keyPath: [\"sourceId\", \"time\"],\n });\n store.createIndex(\"query\", [\"sourceId\", \"time\"], { unique: true });\n store.createIndex(\"sourceId\", \"sourceId\");\n\n return await new Promise((resolve, reject) => {\n store.transaction.oncomplete = () => resolve();\n store.transaction.onerror = () => reject(store.transaction.error.message);\n });\n}\n\n/**\n * Deletes indexedDB database for the analytics data\n * @returns {Promise}\n */\nexport async function deleteDatabase(): Promise {\n await new Promise((resolve, reject) => {\n const request = indexedDB.deleteDatabase(DB_NAME);\n request.onerror = () => {\n reject(new Error(request.error?.message));\n };\n request.onsuccess = () => resolve();\n request.onblocked = (evt: Event) => {\n console.log(evt);\n };\n });\n}\n\n/**\n * Opens IndexedDB database for the analytics data, creates required stores\n * @param {Promise} shim - indexedDB shim description\n */\nasync function openDb(shim?: IndexedDBShim): Promise {\n if (shim !== undefined) {\n // eslint-disable-next-line no-native-reassign, no-global-assign\n indexedDB = shim.indexedDB;\n // @ts-expect-error we're going to replace native IDBKeyRange with a fake one\n // eslint-disable-next-line no-native-reassign, no-global-assign\n IDBKeyRange = shim.IDBKeyRange;\n }\n\n return await new Promise((resolve, reject) => {\n const request = indexedDB.open(DB_NAME, DB_VERSION);\n request.onerror = () => {\n reject(new Error(request.error?.message));\n };\n request.onsuccess = () => {\n const db = request.result;\n // Register event listener for the 'versionchange' event\n // in order to be able to close existing DB connections when DB is updated/deleted\n db.onversionchange = () => {\n db.close();\n dbInstance = undefined;\n };\n resolve(db);\n };\n request.onupgradeneeded = async function (evt: IDBVersionChangeEvent) {\n try {\n const db = request.result;\n db.onversionchange = () => {\n db.close();\n dbInstance = undefined;\n };\n const upgradePromises = [];\n\n // initialize DB if not exists with a single 'results' store\n if (evt.oldVersion === 0) {\n upgradePromises.push(_createResultsStore(db));\n }\n\n // new stores might be added here in future DB versions:\n // if (evt.oldVersion...) {\n // ...\n // }\n\n if (upgradePromises.length > 0) {\n await Promise.all(upgradePromises);\n }\n\n resolve(db);\n } catch (err) {\n reject(err);\n }\n };\n });\n}\n\n/**\n * Returns IndexedDB-API compatible DB instance\n * @returns {Promise} - indexedDB instance\n */\nexport async function getDb(): Promise {\n if (dbInstance === undefined) {\n try {\n dbInstance = await openDb();\n } catch (err) {\n dbInstance = await openDb({\n indexedDB: FakeIndexedDB,\n IDBKeyRange: FakeIDBKeyRange,\n });\n }\n }\n\n return dbInstance;\n}\n\n/**\n * Returns date range of the stored analytics data\n * @param {Array} sourceIds - list of video/stream IDs to query\n * @returns {Promise} - dataset date range\n */\nexport async function getSourceDateRange({\n sourceIds,\n}: DateRangeQuery): Promise {\n const db = await getDb();\n const promises: Array> = [];\n const transaction = db.transaction([ANALYTICS_STORE_NAME], \"readonly\");\n const index = transaction.objectStore(ANALYTICS_STORE_NAME).index(\"query\");\n\n for (const sourceId of sourceIds) {\n const keyRange = IDBKeyRange.bound(\n [sourceId, MIN_JS_DATE],\n [sourceId, MAX_JS_DATE]\n );\n\n for (const direction of [\"prev\", \"next\"]) {\n promises.push(\n new Promise((resolve, reject) => {\n const request = index.openCursor(\n keyRange,\n direction as \"prev\" | \"next\"\n );\n request.onerror = function () {\n reject(new Error(request.error?.message));\n };\n request.onsuccess = function () {\n const cursor = request.result;\n if (cursor === null) {\n return resolve(undefined);\n }\n\n resolve(cursor.value.time as Date);\n };\n })\n );\n }\n }\n\n const res = await Promise.all(promises);\n const dates = res\n .filter((date) => date !== undefined)\n .sort((a, b) => (a as Date).getTime() - (b as Date).getTime()) as Date[];\n\n return dates.length > 0\n ? {\n start: dates[0],\n end: dates[dates.length - 1],\n }\n : undefined;\n}\n\n/**\n * Returns DB cursor to query analytics dataset for given Sources and date range\n * @param {IDBDatabase} db - db instance\n * @param {VideoId|StreamId} sourceId - source media ID\n * @param {Date|undefined} startDate - date range start\n * @param {Date|undefined} endDate - date range end\n * @returns {IDBRequest} - cursor request\n */\nfunction getQueryCursor({\n db,\n sourceId,\n startDate,\n endDate,\n}: QueryGetterOptions): IDBRequest {\n const transaction = db.transaction([ANALYTICS_STORE_NAME], \"readonly\");\n if (startDate === undefined || endDate === undefined) {\n const queryCursor = IDBKeyRange.only(sourceId);\n return transaction\n .objectStore(ANALYTICS_STORE_NAME)\n .index(\"sourceId\")\n .openCursor(queryCursor);\n }\n\n const upperBound = new Date(endDate);\n // TODO: add support for Timezones\n upperBound.setHours(23, 59, 59);\n const queryCursor = IDBKeyRange.bound(\n [sourceId, startDate],\n [sourceId, upperBound]\n );\n return transaction\n .objectStore(ANALYTICS_STORE_NAME)\n .index(\"query\")\n .openCursor(queryCursor);\n}\n\n/**\n * Returns analytics data for the given Sources within the given date range\n * @param {Array} sourceIds - list of video/stream IDs to query\n * @param {Date|undefined} startDate - start date\n * @param {Date|undefined} endDate - end date\n *\n * @returns {Promise} - analytics dataset\n */\nexport async function queryAnalytics({\n sourceIds,\n startDate,\n endDate,\n}: AnalyticsQuery): Promise {\n const db = await getDb();\n const viewData: Map = new Map();\n const promises: Array> = [];\n for (const sourceId of sourceIds) {\n promises.push(\n new Promise((resolve, reject) => {\n const request = getQueryCursor({ db, sourceId, startDate, endDate });\n request.onerror = function () {\n reject(new Error(request.error?.message));\n };\n request.onsuccess = function () {\n const cursor = request.result;\n if (cursor === null) {\n return resolve();\n }\n\n if (viewData.has(cursor.value.time)) {\n const {\n men,\n cars,\n bikes,\n\n oldMen,\n middleMen,\n youngMen,\n unknownMen,\n oldWomen,\n middleWomen,\n youngWomen,\n unknownWomen,\n oldUnknown,\n middleUnknown,\n youngUnknown,\n unknownUnknown,\n\n oldMenObject,\n middleMenObject,\n youngMenObject,\n unknownMenObject,\n oldWomenObject,\n middleWomenObject,\n youngWomenObject,\n unknownWomenObject,\n oldUnknownObject,\n middleUnknownObject,\n youngUnknownObject,\n unknownUnknownObject,\n\n oldMenUniq,\n middleMenUniq,\n youngMenUniq,\n unknownMenUniq,\n oldWomenUniq,\n middleWomenUniq,\n youngWomenUniq,\n unknownWomenUniq,\n oldUnknownUniq,\n middleUnknownUniq,\n youngUnknownUniq,\n unknownUnknownUniq,\n\n oldMenRepeating,\n middleMenRepeating,\n youngMenRepeating,\n unknownMenRepeating,\n oldWomenRepeating,\n middleWomenRepeating,\n youngWomenRepeating,\n unknownWomenRepeating,\n oldUnknownRepeating,\n middleUnknownRepeating,\n youngUnknownRepeating,\n unknownUnknownRepeating,\n\n oldMenRepeatingObject,\n middleMenRepeatingObject,\n youngMenRepeatingObject,\n unknownMenRepeatingObject,\n oldWomenRepeatingObject,\n middleWomenRepeatingObject,\n youngWomenRepeatingObject,\n unknownWomenRepeatingObject,\n oldUnknownRepeatingObject,\n middleUnknownRepeatingObject,\n youngUnknownRepeatingObject,\n unknownUnknownRepeatingObject,\n } = viewData.get(cursor.value.time) as RawResult;\n viewData.set(cursor.value.time, {\n time: cursor.value.time,\n cars: Math.max(cars, cursor.value.cars),\n bikes: Math.max(bikes, cursor.value.bikes),\n men: Math.max(men, cursor.value.men),\n\n oldMen: Math.max(oldMen, cursor.value.oldMen),\n middleMen: Math.max(middleMen, cursor.value.middleMen),\n youngMen: Math.max(youngMen, cursor.value.youngMen),\n unknownMen: Math.max(unknownMen, cursor.value.unknownMen),\n oldWomen: Math.max(oldWomen, cursor.value.oldWomen),\n middleWomen: Math.max(middleWomen, cursor.value.middleWomen),\n youngWomen: Math.max(youngWomen, cursor.value.youngWomen),\n unknownWomen: Math.max(unknownWomen, cursor.value.unknownWomen),\n oldUnknown: Math.max(oldUnknown, cursor.value.oldUnknown),\n middleUnknown: Math.max(\n middleUnknown,\n cursor.value.middleUnknown\n ),\n youngUnknown: Math.max(youngUnknown, cursor.value.youngUnknown),\n unknownUnknown: Math.max(\n unknownUnknown,\n cursor.value.unknownUnknown\n ),\n\n oldMenObject: Math.max(oldMenObject, cursor.value.oldMenObject),\n middleMenObject: Math.max(\n middleMenObject,\n cursor.value.middleMenObject\n ),\n youngMenObject: Math.max(youngMenObject, cursor.value.youngMenObject),\n unknownMenObject: Math.max(\n unknownMenObject,\n cursor.value.unknownMenObject\n ),\n oldWomenObject: Math.max(oldWomenObject, cursor.value.oldWomenObject),\n middleWomenObject: Math.max(\n middleWomenObject,\n cursor.value.middleWomenObject\n ),\n youngWomenObject: Math.max(\n youngWomenObject,\n cursor.value.youngWomenObject\n ),\n unknownWomenObject: Math.max(\n unknownWomenObject,\n cursor.value.unknownWomenObject\n ),\n oldUnknownObject: Math.max(\n oldUnknownObject,\n cursor.value.oldUnknownObject\n ),\n middleUnknownObject: Math.max(\n middleUnknownObject,\n cursor.value.middleUnknownObject\n ),\n youngUnknownObject: Math.max(\n youngUnknownObject,\n cursor.value.youngUnknownObject\n ),\n unknownUnknownObject: Math.max(\n unknownUnknownObject,\n cursor.value.unknownUnknownObject\n ),\n\n oldMenUniq: Math.max(oldMenUniq, cursor.value.oldMenUniq),\n middleMenUniq: Math.max(\n middleMenUniq,\n cursor.value.middleMenUniq\n ),\n youngMenUniq: Math.max(youngMenUniq, cursor.value.youngMenUniq),\n unknownMenUniq: Math.max(\n unknownMenUniq,\n cursor.value.unknownMenUniq\n ),\n oldWomenUniq: Math.max(oldWomenUniq, cursor.value.oldWomenUniq),\n middleWomenUniq: Math.max(\n middleWomenUniq,\n cursor.value.middleWomenUniq\n ),\n youngWomenUniq: Math.max(\n youngWomenUniq,\n cursor.value.youngWomenUniq\n ),\n unknownWomenUniq: Math.max(\n unknownWomenUniq,\n cursor.value.unknownWomenUniq\n ),\n oldUnknownUniq: Math.max(\n oldUnknownUniq,\n cursor.value.oldUnknownUniq\n ),\n middleUnknownUniq: Math.max(\n middleUnknownUniq,\n cursor.value.middleUnknownUniq\n ),\n youngUnknownUniq: Math.max(\n youngUnknownUniq,\n cursor.value.youngUnknownUniq\n ),\n unknownUnknownUniq: Math.max(\n unknownUnknownUniq,\n cursor.value.unknownUnknownUniq\n ),\n\n oldMenRepeating: Math.max(\n oldMenRepeating,\n cursor.value.oldMenRepeating\n ),\n middleMenRepeating: Math.max(\n middleMenRepeating,\n cursor.value.middleMenRepeating\n ),\n youngMenRepeating: Math.max(\n youngMenRepeating,\n cursor.value.youngMenRepeating\n ),\n unknownMenRepeating: Math.max(\n unknownMenRepeating,\n cursor.value.unknownMenRepeating\n ),\n oldWomenRepeating: Math.max(\n oldWomenRepeating,\n cursor.value.oldWomenRepeating\n ),\n middleWomenRepeating: Math.max(\n middleWomenRepeating,\n cursor.value.middleWomenRepeating\n ),\n youngWomenRepeating: Math.max(\n youngWomenRepeating,\n cursor.value.youngWomenRepeating\n ),\n unknownWomenRepeating: Math.max(\n unknownWomenRepeating,\n cursor.value.unknownWomenRepeating\n ),\n oldUnknownRepeating: Math.max(\n oldUnknownRepeating,\n cursor.value.oldUnknownRepeating\n ),\n middleUnknownRepeating: Math.max(\n middleUnknownRepeating,\n cursor.value.middleUnknownRepeating\n ),\n youngUnknownRepeating: Math.max(\n youngUnknownRepeating,\n cursor.value.youngUnknownRepeating\n ),\n unknownUnknownRepeating: Math.max(\n unknownUnknownRepeating,\n cursor.value.unknownUnknownRepeating\n ),\n\n oldMenRepeatingObject: Math.max(\n oldMenRepeatingObject,\n cursor.value.oldMenRepeatingObject\n ),\n middleMenRepeatingObject: Math.max(\n middleMenRepeatingObject,\n cursor.value.middleMenRepeatingObject\n ),\n youngMenRepeatingObject: Math.max(\n youngMenRepeatingObject,\n cursor.value.youngMenRepeatingObject\n ),\n unknownMenRepeatingObject: Math.max(\n unknownMenRepeatingObject,\n cursor.value.unknownMenRepeatingObject\n ),\n oldWomenRepeatingObject: Math.max(\n oldWomenRepeatingObject,\n cursor.value.oldWomenRepeatingObject\n ),\n middleWomenRepeatingObject: Math.max(\n middleWomenRepeatingObject,\n cursor.value.middleWomenRepeatingObject\n ),\n youngWomenRepeatingObject: Math.max(\n youngWomenRepeatingObject,\n cursor.value.youngWomenRepeatingObject\n ),\n unknownWomenRepeatingObject: Math.max(\n unknownWomenRepeatingObject,\n cursor.value.unknownWomenRepeatingObject\n ),\n oldUnknownRepeatingObject: Math.max(\n oldUnknownRepeatingObject,\n cursor.value.oldUnknownRepeatingObject\n ),\n middleUnknownRepeatingObject: Math.max(\n middleUnknownRepeatingObject,\n cursor.value.middleUnknownRepeatingObject\n ),\n youngUnknownRepeatingObject: Math.max(\n youngUnknownRepeatingObject,\n cursor.value.youngUnknownRepeatingObject\n ),\n unknownUnknownRepeatingObject: Math.max(\n unknownUnknownRepeatingObject,\n cursor.value.unknownUnknownRepeatingObject\n ),\n ageJun: 0,\n ageMiddle: 0,\n ageSenior: 0,\n ageUnknown: 0,\n gMale: 0,\n gFemale: 0,\n gUnknown: 0,\n });\n } else {\n viewData.set(cursor.value.time, cursor.value);\n }\n cursor.continue();\n };\n })\n );\n }\n\n await Promise.all(promises);\n return Array.from(viewData.values());\n}\n\n/**\n * Saves analytics to DB\n *\n * @param {AnalyticsPayload} inputData - data to save\n * @returns {Promise}\n */\nexport async function saveAnalytics(\n inputData: AnalyticsPayload\n): Promise {\n const db = await getDb();\n\n await new Promise((resolve, reject) => {\n const transaction = db.transaction([ANALYTICS_STORE_NAME], \"readwrite\");\n const store = transaction.objectStore(ANALYTICS_STORE_NAME);\n for (const [sourceId, streamData] of inputData.entries()) {\n for (const [, analyticsEntry] of streamData) {\n const key = IDBKeyRange.only([sourceId, analyticsEntry.time as Date]);\n const query = store.get(key);\n query.onerror = () => reject(query.error);\n query.onsuccess = () => {\n const entryTemplate = query.result ?? {\n bikes: 0,\n cars: 0,\n men: 0,\n\n oldMen: 0,\n middleMen: 0,\n youngMen: 0,\n unknownMen: 0,\n oldWomen: 0,\n middleWomen: 0,\n youngWomen: 0,\n unknownWomen: 0,\n oldUnknown: 0,\n middleUnknown: 0,\n youngUnknown: 0,\n unknownUnknown: 0,\n\n oldMenObject: 0,\n middleMenObject: 0,\n youngMenObject: 0,\n unknownMenObject: 0,\n oldWomenObject: 0,\n middleWomenObject: 0,\n youngWomenObject: 0,\n unknownWomenObject: 0,\n oldUnknownObject: 0,\n middleUnknownObject: 0,\n youngUnknownObject: 0,\n unknownUnknownObject: 0,\n\n oldMenUniq: 0,\n middleMenUniq: 0,\n youngMenUniq: 0,\n unknownMenUniq: 0,\n oldWomenUniq: 0,\n middleWomenUniq: 0,\n youngWomenUniq: 0,\n unknownWomenUniq: 0,\n oldUnknownUniq: 0,\n middleUnknownUniq: 0,\n youngUnknownUniq: 0,\n unknownUnknownUniq: 0,\n\n oldMenRepeating: 0,\n middleMenRepeating: 0,\n youngMenRepeating: 0,\n unknownMenRepeating: 0,\n oldWomenRepeating: 0,\n middleWomenRepeating: 0,\n youngWomenRepeating: 0,\n unknownWomenRepeating: 0,\n oldUnknownRepeating: 0,\n middleUnknownRepeating: 0,\n youngUnknownRepeating: 0,\n unknownUnknownRepeating: 0,\n\n oldMenRepeatingObject: 0,\n middleMenRepeatingObject: 0,\n youngMenRepeatingObject: 0,\n unknownMenRepeatingObject: 0,\n oldWomenRepeatingObject: 0,\n middleWomenRepeatingObject: 0,\n youngWomenRepeatingObject: 0,\n unknownWomenRepeatingObject: 0,\n oldUnknownRepeatingObject: 0,\n middleUnknownRepeatingObject: 0,\n youngUnknownRepeatingObject: 0,\n unknownUnknownRepeatingObject: 0,\n\n ageJun: 0,\n ageMiddle: 0,\n ageSenior: 0,\n ageUnknown: 0,\n gMale: 0,\n gFemale: 0,\n gUnknown: 0,\n };\n store.put({ ...entryTemplate, ...analyticsEntry, sourceId });\n };\n }\n }\n transaction.onerror = () => reject(transaction.error);\n transaction.oncomplete = () => resolve();\n });\n}\n\n/**\n * Deletes analytics for the given source from the DB\n *\n * @param {Array} sourceIds - source IDs to clear datasets\n * @returns {Promise}\n */\nexport async function deleteAnalytics(\n sourceIds: Array\n): Promise {\n const db = await getDb();\n\n const promises = [];\n const transaction = db.transaction([ANALYTICS_STORE_NAME], \"readwrite\");\n const store = transaction.objectStore(ANALYTICS_STORE_NAME);\n\n for (const sourceId of sourceIds) {\n const keyRange = IDBKeyRange.bound(\n [sourceId, MIN_JS_DATE],\n [sourceId, MAX_JS_DATE]\n );\n\n promises.push(\n new Promise((resolve, reject) => {\n const request = store.delete(keyRange);\n request.onerror = () => reject(new Error(request.error?.message));\n request.onsuccess = () => resolve();\n })\n );\n }\n await Promise.all(promises);\n}\n","export enum AUTH_URL {\n ACCOUNT = '/api/account/info',\n CHANGE_PASSWORD = '/api/account/reset-password',\n CONFIRM_EMAIL = '/api/account/email-confirmation',\n EDIT_ACCOUNT = '/api/account/update',\n FORGOT_PASSWORD = '/api/account/forgot-password',\n LOGIN = '/api/auth/login',\n LOGOUT = '/api/auth/logout',\n RESEND_EMAIL_CONFIRMATION = '/api/account/resend-confirmation-email',\n RESET_PASSWORD = '/api/account/reset-password-by-token',\n SIGNUP = '/api/account/register',\n USER_LIST = '/api/admin/users'\n}\n\nexport enum MAIN_URL {\n GROUPS = '/api/location-groups',\n GROUP = '/api/location-groups/{id}',\n GROUP_BASE = '/api/location-groups',\n LOCATION = '/api/locations/{id}',\n LOCATION_BASE = '/api/locations'\n}\n\nexport enum BILLING_URL {\n SERVER_URL = '/api/account/billing/url',\n USERS = '/billingApi/users/currentTariff/{id}',\n TARIFFS = '/billingApi/tariffs',\n INVOICE_PAYMENT = '/billingApi/payments/invoicePayment',\n}\n","import { SerializedError } from '@reduxjs/toolkit'\n\nexport enum ERROR_CODE {\n // userName === email\n INVALID_INPUT_DATA = '100000000',\n NOT_FOUND = '100000001',\n UNKNOWN_ERROR = '100000002',\n INVALID_PASSWORD = '100000003',\n DUPLICATE_USER_NAME = '1010',\n DUPLICATE_USER_EMAIL = '1011',\n INVALID_USER_NAME = ' 1008',\n INVALID_EMAIL = '1009',\n\n AUTH_USER_NOT_FOUND = '1',\n AUTH_INCORRECT_PASSWORD = '5',\n\n PROFILE_INCORRECT_PASSWORD = '1025',\n\n GENERIC_ACCESS_DENIED = 'GENERIC_ACCESS_DENIED'\n}\n\nexport class ErrorPayload extends Error implements SerializedError {\n code: string\n\n constructor (code: ERROR_CODE, message: string) {\n super(message) // 'Error' breaks prototype chain here\n Object.setPrototypeOf(this, new.target.prototype) // restore prototype chain\n\n this.code = code.toString()\n this.message = message\n }\n}\n\nexport class RequestError extends Error {\n code: ERROR_CODE\n\n constructor (code: ERROR_CODE, message?: string) {\n super(message) // 'Error' breaks prototype chain here\n Object.setPrototypeOf(this, new.target.prototype) // restore prototype chain\n\n this.code = code\n }\n}\n\nexport function getErrorPayload (err: RequestError|Error): ErrorPayload {\n return new ErrorPayload(\n ('code' in err) ? err.code : ERROR_CODE.UNKNOWN_ERROR,\n err.message\n )\n}\n","const I18N = {\n chart: {\n DATE_RANGE_LABEL_DAYS_OF_WEEK: 'chart.dateRange.daysOfWeek',\n DATE_RANGE_LABEL_DATE_FROM: 'chart.dateRange.date.from',\n DATE_RANGE_LABEL_DATE_TO: 'chart.dateRange.date.to',\n DATE_RANGE_TITLE: 'chart.dateRange.title',\n\n LEGEND_YOUNG: 'chart.legend.young',\n LEGEND_MIDDLE: 'chart.legend.middle',\n LEGEND_OLD: 'chart.legend.old',\n LEGEND_UNKNOWN_AGE: 'chart.legend.unknownAge',\n \n LEGEND_FEMALE: 'chart.legend.female',\n LEGEND_MALE: 'chart.legend.male',\n LEGEND_UNKNOWN_GENDER: 'chart.legend.unknownGender',\n\n LEGEND_MEN: 'chart.legend.people',\n LEGEND_YOUNGMEN: 'chart.legend.youngMen',\n LEGEND_MIDDLEMEN: 'chart.legend.middelMen',\n LEGEND_OLDMEN: 'chart.legend.oldMen',\n LEGEND_UNKNOWNMEN: 'chart.legend.unknownMen',\n LEGEND_YOUNGWOMEN: 'chart.legend.youngWomen',\n LEGEND_MIDDLEWOMEN: 'chart.legend.middelWomen',\n LEGEND_OLDWOMEN: 'chart.legend.oldWomen',\n LEGEND_UNKNOWNWOMEN: 'chart.legend.unknownWomen',\n LEGEND_YOUNGUNKNOWN: 'chart.legend.youngUnknown',\n LEGEND_MIDDLEUNKNOWN: 'chart.legend.middelUnknown',\n LEGEND_OLDUNKNOWN: 'chart.legend.oldUnknown',\n LEGEND_UNKNOWNUNKNOWN: 'chart.legend.unknownUnknown',\n\n LEGEND_CARS: 'chart.legend.car',\n LEGEND_BIKES: 'chart.legend.bikes',\n LEGEND_ETC: 'chart.legend.etc',\n LEGEND_TITLE: 'chart.legend.title',\n\n LOCATION_PICKER_CHECKBOX_LABEL: 'chart.locationPicker.checkbox.label',\n\n OPTIONS_PANEL_TITLE: 'chart.optionsPanel.title',\n OPTIONS_PANEL_SHOW_BUTTON: 'chart.optionsPanel.showbutton',\n OPTIONS_PANEL_BUTTON: 'chart.optionsPanel.button',\n OPTIONS_PANEL_TOGGLE_BUTTON: 'chart.optionsPanel.toggleButton',\n\n MSG_EMPTY_QUERY_RESULT: 'chart.msg.emptyQuery',\n MSG_LOADING: 'chart.msg.loading',\n MSG_SELECT_LOCATION: 'chart.msg.selectLocation',\n\n TIME_RANGE_LABEL_TIME_FROM: 'chart.timeRange.time.from',\n TIME_RANGE_LABEL_TIME_TO: 'chart.timeRange.time.to',\n TIME_RANGE_LABEL_SELECT: 'chart.timeRange.select.label',\n TIME_RANGE_LABEL_SELECT_VALUE_MINUTE: 'chart.timeRange.select.minute',\n TIME_RANGE_LABEL_SELECT_VALUE_HOUR: 'chart.timeRange.select.hour',\n TIME_RANGE_LABEL_SELECT_VALUE_DAY: 'chart.timeRange.select.day',\n TIME_RANGE_LABEL_SELECT_VALUE_WEEK: 'chart.timeRange.select.week',\n TIME_RANGE_LABEL_SELECT_VALUE_MONTH: 'chart.timeRange.select.month',\n\n TITLE: 'chart.title.main',\n TITLE_RAW_RESULT_CHART_TITLE: 'chart.title.rawResult{{from}}{{to}}',\n TITLE_RELATIVE_CHART: 'chart.title.relativeData',\n TITLE_RELATIVE_WALKERS_CHART: 'chart.title.relativeWalkersData',\n TITLE_AVERAGE_CHART: 'chart.title.average',\n TITLE_MIN_CHART: 'chart.title.min',\n TITLE_MAX_CHART: 'chart.title.max',\n TITLE_SUM_CHART: 'chart.title.sum',\n\n TOOLTIP_AVERAGE: ['chart.tooltip.average1', 'chart.tooltip.average2'],\n TOOLTIP_AVERAGE_SUMMARY: 'chart.tooltip.averageSummary',\n TOOLTIP_MAX: ['chart.tooltip.max1', 'chart.tooltip.max2'],\n TOOLTIP_MAX_SUMMARY: 'chart.tooltip.maxSummary',\n TOOLTIP_MIN: ['chart.tooltip.min1', 'chart.tooltip.min2'],\n TOOLTIP_MIN_SUMMARY: 'chart.tooltip.minSummary',\n TOOLTIP_TOTAL_PIE: ['chart.tooltip.tPie1', 'chart.tooltip.tPie2'],\n TOOLTIP_TOTAL_PIE_SUMMARY: 'chart.tooltip.tPieSummary',\n TOOLTIP_RAW: ['chart.tooltip.raw1', 'chart.tooltip.raw2'],\n TOOLTIP_RAW_SUMMARY: 'chart.tooltip.rawSummary',\n TOOLTIP_RELATIVE: ['chart.tooltip.relative1', 'chart.tooltip.relative2'],\n TOOLTIP_RELATIVE_SUMMARY: 'chart.tooltip.relativeSummary',\n TOOLTIP_SUM: ['chart.tooltip.sum1', 'chart.tooltip.sum2'],\n TOOLTIP_SUM_SUMMARY: 'chart.tooltip.sumSummary'\n },\n common: {\n ERROR_FIELD_REQUIRED: 'common.err.fieldrequired',\n ERROR_UNKNOWN: 'common.err.unknown',\n LINK_ANALYTICS: 'common.link.analytics',\n LINK_CREATE_ACCOUNT: 'common.link.noAccountSignUp',\n LINK_FORGOT_PASSWORD: 'common.link.forgotPassword',\n LINK_HELP: 'common.link.help',\n LINK_HOME: 'common.link.home',\n LINK_LOGIN: 'common.link.signIn',\n LINK_LOGOUT: 'common.link.logout',\n LINK_LOCATION: 'common.link.location',\n LINK_MAIN: 'common.link.main',\n LINK_PAYMENTS: 'common.link.payments',\n LINK_PROFILE: 'common.link.profile',\n LINK_SUPPORT: 'common.link.support',\n OK: 'common.ok',\n CANCEL: 'common.cancel',\n PLEASE_WAIT: 'common.msg.pleaseWait',\n SELECT_ADMIN_VIEW: 'common.select.adminView',\n TITLE_MY_ACCOUNT: 'common.title.myAccount',\n TITLE_OTHER_ACCOUNTS: 'common.title.otherAccounts',\n VALIDATION_DATE_INVALID: 'common.validation.dateInvalid',\n VALIDATION_DATE_TOO_EARLY: 'common.validation.dateToEarly',\n VALIDATION_DATE_TOO_FAR: 'common.validation.dateToFar',\n BTN_BACK: 'common.btn.back',\n BTN_CONTINUE: 'common.btn.continue',\n BTN_CHANGE: 'common.btn.change',\n BTN_SENT: 'common.btn.sent'\n },\n location: {\n BTN_ADD_FILES: 'location.btn.addFiles',\n BTN_ADD_STREAM: 'location.btn.addStream',\n BTN_DELETE_VIDEO: 'location.btn.deleteVideo',\n BTN_MOVE_VIDEO: 'location.btn.moveVideo',\n BTN_SAVE_LINE: 'location.btn.saveLine',\n BTN_STEP_BACK: 'location.btn.stepBack',\n BTN_STEP_CONNECT_STREAM: 'location.btn.stepConnectStream',\n BTN_STEP_DRAW_LINE: 'location.btn.drawLine',\n BTN_STEP_START_ANALYSIS: 'location.btn.startAnalysis',\n BTN_STEP_CONNECT_CAMERA: 'location.btn.connectCamera',\n BTN_STEP_DISABLE_CAMERA: 'location.btn.disableCamera',\n BTN_STEP_UPLOAD: 'location.btn.upload',\n BTN_WATCH: 'location.btn.watch',\n BTN_VIEW_ANALYTICS: 'location.btn.viewAnalytics',\n DLG_DELETE_VIDEOS: 'location.dlg.deleteVideos{{count}}',\n DLG_REPLACE_VIDEOS: 'location.dlg.replaceVideos',\n MSG_CREATE_GROUP: 'location.msg.createGroup',\n MSG_CREATE_LOCATION: 'location.msg.createLocation',\n MSG_DELETE_VIDEOS: 'location.msg.deleteVideos',\n MSG_DELETE_VIDEOS_1: 'location.msg.deleteVideos1',\n MSG_DELETE_VIDEOS_2: 'location.msg.deleteVideos2',\n MSG_DELETE_VIDEOS_TITLE: 'location.msg.deleteVideosTitle',\n MSG_EDIT_LINE: 'location.msg.editLine',\n MSG_EDIT_LINE_TWO: 'location.msg.editLineTwo',\n MSG_ENTER_STREAM_URL: 'location.msg.enterStreamUrl',\n MSG_EMPTY: 'location.msg.empty',\n MSG_UPLOAD_NOT_VALID_FILE: 'location.msg.upload.notValidFile',\n MSG_LOCATION_REQUIRED: 'location.msg.required',\n MSG_NUM_FILES: 'location.msg.numFiles{{count}}',\n MSG_SELECT_LOCATION: 'location.msg.selectLocation',\n MSG_SELECT_EMPTY_LOCATIONS: 'location.msg.selectEmptyLocation',\n MSG_SELECT_EMPTY_GROUPS: 'location.msg.selectEmptyGroup',\n MSG_SELECT_GROUP: 'location.msg.selectGroup',\n MSG_SELECT_TZ: 'location.msg.selectTz',\n MSG_SET_DATE_TIME: 'location.msg.setDateTime',\n MSG_STREAM_IS_CONNECTED: 'location.msg.streamIsConnected',\n MSG_STREAM_TIME: 'location.msg.streamTime',\n MSG_STREAM_URL_SAMPLES: 'location.msg.streamUrlSamples',\n MSG_TIMEZONE_WARNING_L1: 'location.msg.timezoneWarning1',\n MSG_TIMEZONE_WARNING_L2: 'location.msg.timezoneWarning2',\n MSG_UPLOADING: 'location.msg.uploading',\n MSG_UPLOAD_PROCESSING: 'location.msg.uploadProcessing',\n MSG_UPLOAD_COMPLETED: 'location.msg.uploadCompleted',\n MSG_UPLOAD_FAILED: 'location.msg.uploadFailed',\n MSG_BILLING_FAILED: 'location.msg.billingFailed',\n MSG_VIDEO_BUSY: 'location.msg.videoBusy',\n MSG_VIDEO_NOT_FOUND: 'location.msg.videoNotFound',\n MSG_WAIT_CREATION: 'location.msg.waitCreation',\n MSG_WAIT_UPLOADS: 'location.msf.waitUploads',\n NOTIFY_PROCESSING_REQUESTED: 'location.notification.processingRequested',\n NOTIFY_PROCESSING_PENDING: 'location.notification.processingPending',\n NOTIFY_PROCESSING_PREPARING_INFRASTRUCTURE: 'location.notification.processingPreparingInfrastructure',\n NOTIFY_PROCESSING_PREPARING_INFRASTRUCTURE_ERROR: 'location.notification.processingPreparingInfrastructureError',\n NOTIFY_PROCESSING_ANALYSIS: 'location.notification.processingAnalysis',\n NOTIFY_PROCESSING_INFRASTRUCTURE_PREPARED: 'location.notification.processingInfrastructurePrepared',\n NOTIFY_PROCESSING_STOPPING: 'location.notification.processingStopping',\n NOTIFY_PROCESSING_STOPPING_ERROR: 'location.notification.processingStoppingError',\n NOTIFY_PROCESSING_STOPPED: 'location.notification.processingStopped',\n NOTIFY_PROCESSING_FINISHED: 'location.notification.processingFinished',\n NOTIFY_STREAM_REMOVED: 'location.notification.streamRemoved{{url}}',\n NOTIFY_STREAM_PREPARED: 'location.notification.streamPrepared{{url}}',\n NOTIFY_STREAM_PREPARED_ERROR: 'location.notification.streamPreparedError{{url}}{{errorMessage}}',\n NOTIFY_STREAM_SAVED: 'location.notification.streamSaved',\n NOTIFY_STREAM_SAVE_ERROR: 'location.notification.streamSaveError',\n NOTIFY_VIDEO_PREPARED: 'location.notification.videoPrepared{{file}}',\n NOTIFY_VIDEO_PREPARED_ERROR: 'location.notification.videoPreparedError{{file}}{{errorMessage}}',\n NOTIFY_VIDEO_REMOVED: 'location.notification.videoRemoved{{file}}',\n NOTIFY_VIDEO_SAVED: 'location.notification.videoSaved',\n NOTIFY_VIDEO_SAVE_ERROR: 'location.notification.videoSaveError',\n NOTIFY_LINE_SAVED: 'location.notification.lineSaved',\n NOTIFY_START_PROCESSING_SUCCESS: 'location.notification.startProcessingSuccess',\n NOTIFY_START_PROCESSING_ERROR: 'location.notification.startProcessingError',\n SELECT_GROUPS: 'location.select.groups',\n SELECT_LOCATION: 'location.select.locations',\n TAB_FILES: 'location.tab.files',\n TAB_STREAMS: 'location.tab.streams',\n TABLE_FILE_NAME: 'location.table.fileName',\n TABLE_DATE: 'location.table.date',\n TABLE_DURATION: 'location.table.duration',\n TABLE_SIZE: 'location.table.size',\n TABLE_STREAM_URL: 'location.table.streamUrl',\n TABLE_STREAM_CREATED_AT: 'location.table.streamConnectedAt',\n TABLE_STREAM_DISCONNECTED_AT: 'location.table.streamDisconnectedAt',\n TITLE_LOCATION_PAGE: 'location.title.page',\n TITLE_STREAM: 'location.title.stream',\n TITLE_VIDEO: 'location.title.video',\n TITLE_UPLOADS: 'location.title.uploads',\n WORKFLOW_PICK_LOCATION: 'location.workflow.pickLocation',\n WORKFLOW_ADD_VIDEOS: 'location.workflow.addVideos',\n WORKFLOW_ADD_VIDEO_LINK: 'location.workflow.addVideoLink',\n WORKFLOW_PICK_DATE_TIME: 'location.workflow.pickDateAndTime',\n WORKFLOW_PICK_TIME_ZONE: 'location.workflow.pickTimeZone',\n WORKFLOW_UPLOAD_TO_SERVER: 'location.workflow.loadOnServer',\n WORKFLOW_SEND_TO_SERVER: 'location.workflow.sendOnServer',\n WORKFLOW_ADD_LINE: 'location.workflow.addLine',\n WORKFLOW_START_PROCESSING: 'location.workflow.pickLocationAnalysis'\n },\n main: {\n common: {\n MSG_LOADING_PROGRESS: 'main.common.msg.loadingProgress'\n },\n videoData: {\n MSG_EMPTY: 'main.videoData.msg.empty'\n },\n BTN_ADD_GROUP: 'main.btn.addGroup',\n BTN_ADD_STREAM: 'main.btn.addStream',\n BTN_ADD_VIDEO: 'main.btn.setVideo',\n BTN_ARCHIVE_GROUP: 'main.btn.archiveGroup',\n BTN_ARCHIVE_LOCATION: 'main.btn.archiveLocation',\n BTN_DELETE_ALL: 'main.btn.deleteAll',\n BTN_DELETE_GROUP: 'main.btn.deleteGroup',\n BTN_DELETE_LOCATION: 'main.btn.deleteLocation',\n BTN_DELETE_PERM_LOCATION: 'main.btn.deletePermanentlyLocation',\n BTN_HIDE_GROUP: 'main.btn.hideGroup',\n BTN_RENAME_GROUP: 'main.btn.renameGroup',\n BTN_RENAME_LOCATION: 'main.btn.renameLocation',\n BTN_RESTORE_ALL: 'main.btn.restoreAll',\n BTN_RESTORE_FROM_TRASH_ALL: 'main.btn.restoreTrashAll',\n BTN_RESTORE_LOCATION: 'main.btn.restoreLocation',\n BTN_SHOW_GROUP: 'main.btn.showGroup',\n BTN_TRASH_ALL: 'main.btn.trashAll',\n BTN_TRASH_GROUP: 'main.btn.trashGroup',\n DLG_CANCEL: 'main.dlg.cancel',\n DLG_DELETE_GROUP_CONFIRM: 'main.dlg.deleteGroupConfirm',\n DLG_DELETE_GROUP_LOCATIONS_SUMMARY: 'main.dlg.deleteGroupLocationsSummary{{title}}',\n DLG_DELETE_GROUP_LOCATIONS: 'main.dlg.deleteGroupLocations',\n DLG_DELETE_GROUP_SUMMARY: 'main.dlg.deleteGroupSummary{{title}}',\n DLG_DELETE_GROUP: 'main.dlg.deleteGroup',\n DLG_DELETE_LOCATION_CONFIRM: 'main.dlg.deleteLocationConfirm',\n DLG_DELETE_LOCATION_SUMMARY: 'main.dlg.deleteLocationSummary{{title}}',\n DLG_DELETE_LOCATION: 'main.dlg.deleteLocation',\n DLG_EMPTY_TRASH_SUMMARY: 'main.dlg.emptyTrashSummary{{count}}',\n DLG_EMPTY_TRASH: 'main.dlg.emptyTrash',\n ERROR_INVALID_DATA: 'main.err.invalidData',\n ERROR_LOCATION_EXISTS: 'main.err.locationExists',\n ERROR_LOCATION_NAME_REQUIRED: 'main.err.locationNameRequired',\n LINK_ADD_LOCATION: 'main.link.addLocation',\n LINK_ARCHIVE: 'main.link.tabArchive',\n LINK_TRASH: 'main.link.tabTrash',\n LINK_VIDEOS: 'main.link.tabVideo',\n LINK_TARIFF: 'main.link.tabTariff',\n MSG_EMPTY_GROUP: 'main.msg.emptyGroup',\n MSG_PREPROCESSING_PROGRESS: 'main.msg.preProcessing',\n MSG_UPLOAD_COMPLETED: 'main.msg.uploadCompleted',\n MSG_UPLOAD_FAILED: 'main.msg.uploadFailed{{count}}',\n MSG_PREPROCESSING_FAILED: 'main.msg.preprocessingFailed{{count}}',\n MSG_UPLOAD_PROGRESS: 'main.msg.uploadProgress{{uploaded}}{{total}}',\n MSG_VIDEO_FILES_NUMBER: 'main.msg.videoNumber{{count}}',\n MSG_VIDEO_NONE: 'main.msg.videoNone',\n MSG_VIDEO_STREAM: 'main.msg.videoStream',\n NOTIFY_ARCHIVE_GROUP_FAILED: 'main.notification.archiveGroupFailed{{group}}',\n NOTIFY_ARCHIVE_GROUP: 'main.notification.archiveGroup{{group}}',\n NOTIFY_ARCHIVE_LOCATION_FAILED: 'main.notification.archiveLocationFailed{{location}}',\n NOTIFY_ARCHIVE_LOCATION: 'main.notification.archiveLocation{{location}}',\n NOTIFY_ERROR_CREATE: 'main.notification.errorCreate{{group}}',\n NOTIFY_ERROR_RENAME: 'main.notification.errorRename{{group}}',\n NOTIFY_DELETE_GROUP_FAILED: 'main.notification.deleteGroupFailed{{group}}',\n NOTIFY_DELETE_GROUP: 'main.notification.deleteGroup{{group}}',\n NOTIFY_DELETE_LOCATION_FAILED: 'main.notification.deleteLocationFailed{{location}}',\n NOTIFY_DELETE_LOCATION: 'main.notification.deleteLocation{{location}}',\n NOTIFY_DELETE_MULTIPLE_LOCATIONS_FAILED: 'main.notification.deleteMultipleLocationsFailed{{location}}',\n NOTIFY_DELETE_MULTIPLE_LOCATIONS: 'main.notification.deleteMultipleLocations{{location}}',\n NOTIFY_LOCATION_SAVE_FAILED: 'main.notification.locationSaveFailed{{location}}',\n NOTIFY_MOVE_VIDEOS: 'main.notification.moveVideos{{location}}',\n NOTIFY_MOVE_VIDEOS_FAILED: 'main.notification.moveVideosFailed{{location}}',\n NOTIFY_RESTORE_GROUP_FAILED: 'main.notification.restoreGroupFailed{{group}}',\n NOTIFY_RESTORE_GROUP: 'main.notification.restoreGroup{{group}}',\n NOTIFY_RESTORE_LOCATION_FAILED: 'main.notification.restoreLocationFailed{{location}}',\n NOTIFY_RESTORE_LOCATION: 'main.notification.restoreLocation{{location}}',\n NOTIFY_RESTORE_MULTIPLE_LOCATIONS_FAILED: 'main.notification.restoreMultipleLocationsFailed{{location}}{{count}}',\n NOTIFY_RESTORE_MULTIPLE_LOCATIONS: 'main.notification.restoreMultipleLocations{{location}}{{count}}',\n NOTIFY_TRASH_GROUP_FAILED: 'main.notification.trashGroupFailed{{group}}',\n NOTIFY_TRASH_GROUP: 'main.notification.trashGroup{{group}}',\n NOTIFY_TRASH_LOCATION_FAILED: 'main.notification.trashLocationFailed{{location}}',\n NOTIFY_TRASH_LOCATION: 'main.notification.trashLocation{{location}}',\n NOTIFY_TRASH_MULTIPLE_LOCATIONS_FAILED: 'main.notification.trashMultipleLocationsFailed{{group}}{{count}}',\n NOTIFY_TRASH_MULTIPLE_LOCATIONS: 'main.notification.trashMultipleLocations{{group}}{{count}}',\n SUBTITLE_ARCHIVE: 'main.subtitle.archive',\n SUBTITLE_COMPLETED_UPLOADS: 'main.subtitle.uploadsCompleted{{count}}',\n SUBTITLE_FAILED_UPLOADS: 'main.subtitle.uploadsFailed{{count}}',\n SUBTITLE_PROGRESS_UPLOADS: 'main.subtitle.uploadsProgress{{count}}',\n SUBTITLE_TRASH: 'main.subtitle.trash',\n SUBTITLE_VIDEO: 'main.subtitle.groupsAndLocations',\n TITLE_ARCHIVE: 'main.title.archive',\n TITLE_BELONGS_TO: 'main.title.belongsTo',\n TITLE_PREPROCESSING_PROGRESS: 'main.title.preProcessing',\n TITLE_WAIT_START_PREPROCESSING: 'main.title.waitPreProcessing',\n TITLE_TRASH: 'main.title.trash',\n TITLE_UPLOAD_PROGRESS: 'main.title.uploadProgress',\n TITLE_VIDEO: 'main.title.video',\n TMP_GROUP_TITLE: 'main.const.newGroup',\n TMP_LOCATION_TITLE: 'main.const.newLocation'\n },\n profile: {\n BTN_BACK: 'profile.btn.back',\n BTN_CONFIRM_EMAIL: 'profile.btn.confirmEmail',\n BTN_CHANGE_PASSWORD: 'profile.btn.changePassword',\n BTN_EDIT_PROFILE: 'profile.btn.saveChanges',\n ERROR_INCORRECT_PASSWORD: 'profile.error.incorrectPassword',\n ERROR_UNKNOWN: 'profile.err.unknown',\n LABEL_COMPANY: 'profile.label.company',\n LABEL_CONFIRMATION: 'profile.label.confirmPassword',\n LABEL_EMAIL: 'profile.label.email',\n LABEL_NAME: 'profile.label.name',\n LABEL_NEW_PASSWORD: 'profile.label.newPassword',\n LABEL_OLD_PASSWORD: 'profile.label.oldPassword',\n LABEL_PASSWORD: 'profile.label.password',\n LABEL_PHONE: 'profile.label.phone',\n LINK_NOTIFICATIONS: 'profile.link.notifications',\n LINK_PAYMENTS: 'profile.link.payments',\n LINK_PROFILE: 'profile.link.profile',\n MSG_NOT_IMPLEMENTED: 'profile.msg.notImplemented',\n NOTIFY_PROFILE_SAVED: 'profile.notification.saved',\n NOTIFY_PROFILE_SAVE_ERROR: 'profile.notification.saveError',\n PLACEHOLDER_COMPANY: 'profile.placeholder.company',\n PLACEHOLDER_CONFIRMATION: 'profile.placeholder.confirmation',\n PLACEHOLDER_EMAIL: 'profile.placeholder.email',\n PLACEHOLDER_NAME: 'profile.placeholder.name',\n PLACEHOLDER_PASSWORD: 'profile.placeholder.password',\n PLACEHOLDER_NEW_PASSWORD: 'profile.placeholder.newPassword',\n PLACEHOLDER_OLD_PASSWORD: 'profile.placeholder.oldPassword',\n PLACEHOLDER_PHONE: 'profile.placeholder.phone',\n TITLE_CHANGE_PASSWORD: 'profile.title.changePassword',\n TITLE_NOTIFICATIONS: 'profile.title.notifications',\n TITLE_PAYMENTS: 'profile.title.payments',\n TITLE_PROFILE: 'profile.title.profile',\n TITLE_TARIFF_SELECT: 'profile.title.tariffSelect'\n },\n signIn: {\n BTN_LOGIN: 'signIn.btn.login',\n ERROR_INVALID_INPUT_DATA: 'signIn.err.invalidEmailPassword',\n ERROR_NOT_FOUND: 'signIn.err.userNotFound',\n ERROR_UNKNOWN: 'signIn.err.unknown',\n LABEL_PASSWORD: 'signIn.label.password',\n LINK_SIGN_UP: 'signUp.link.signUp',\n MSG_NO_ACCOUNT: 'signUp.msg.noAccount',\n TITLE_SIGN_IN: 'signIn.title'\n },\n signUp: {\n BTN_SIGNUP: 'signUp.btn',\n ERROR_INVALID_INPUT_DATA: 'signUp.err.invalidInputData',\n ERROR_DUPLICATE_USER_EMAIL: 'signUp.err.duplicateUserEmail',\n ERROR_INVALID_USER_EMAIL: 'signUp.err.invalidUserEmail',\n ERROR_AUTH_FAILED: 'signUp.err.authFailed',\n LABEL_CONFIRMATION: 'signUp.label.confirmPassword',\n LABEL_NAME: 'signUp.label.name',\n LABEL_PASSWORD: 'signUp.label.password',\n LINK_LICENSE_AGREEMENT: 'signUp.link.licenseAgreement',\n LINK_SIGN_IN: 'signUp.link.login',\n MSG_HAS_ACCOUNT: 'signUp.msg.hasAccount',\n MSG_LICENSE_AGREEMENT: 'signUp.msg.licenseAgreement',\n TITLE_BASIC: 'signUp.title.'\n },\n tariff: {\n CURRENT_TITLE: 'tariff.current.title',\n CURRENT_STRING: 'tariff.current.string',\n PAYMENT_DATE: 'tariff.payment.date',\n HOUR_LIMIT: 'tariff.hour.limit',\n HOUR_BALANCE: 'tariff.hour.balance',\n CHANGE_TARIFF: 'tariff.change.tariff',\n RESUME_SUBSCRIBE: 'tariff.resume.subscribe',\n CHOOSE_TARIFF: 'tariff.choose.tariff',\n SELECT_TARIFF: 'tariff.select.tariff',\n RESUME_TARIFF: 'tariff.resume.tariff',\n COMMON_TITLE: 'tariff.common.title',\n COMMON_FEATURE1: 'tariff.common.feature1',\n COMMON_FEATURE2: 'tariff.common.feature2',\n COMMON_FEATURE3: 'tariff.common.feature3',\n PROCESSING_HOURS: 'tariff.processing.hour',\n NOTIFY_TIME_OVER: 'tariff.notify.timeOver',\n BUY_MORE: 'tariff.buy.more',\n HOUR_BALANCE_TITLE: 'tariff.hourBalance.title',\n HOUR_BALANCE_SUBTITLE: 'tariff.hourBalance.subtitle'\n },\n payments: {\n CONFIRM_TITLE: 'payments.confirm.title',\n SELECTED_STRING: 'payments.selected.string',\n BY_TARIFF: 'payments.by.tariff',\n TO_PAYMENTS: 'payments.to.payments',\n SELECT_PAYMENTS_TYPE: 'payments.select.type',\n CARD_TYPE: 'payments.card.type',\n PAYMENT_INVOICE_TYPE: 'payments.invoice.type',\n OPERATION_CANCELLED: 'payments.operation.cancelled'\n },\n invoice: {\n LABEL_DESCRIPTION: 'invoice.label.description',\n LABEL_NAME: 'invoice.label.name',\n LABEL_PHONE: 'invoice.label.phone',\n TITLE_SUCCESS: 'invoice.title.success',\n LABEL_SUCCESS: 'invoice.label.success',\n UNDERSTAND_BTN: 'invoice.understand.btn'\n },\n confirmEmail: {\n BTN_RESEND: 'confirmEmail.btn.resend',\n LINK_GO_HOME: 'confirmEmail.link.home',\n MSG_INVALID_LINK: 'confirmEmail.msg.invalidLink',\n MSG_RESEND_COMPLETED: 'confirmEmail.msg.resendCompleted',\n MSG_RESEND_FAILED: 'confirmEmail.msg.resendFailed',\n MSG_SEND_COMPLETED: 'confirmEmail.msg.sendCompleted',\n TITLE_BASIC: 'confirmEmail.title.basic',\n TITLE_ERROR: 'confirmEmail.title.error',\n TITLE_PLEASE_CONFIRM: 'confirmEmail.title.pleaseConfirm',\n TITLE_SUCCESS: 'confirmEmail.title.success'\n },\n passwordReset: {\n BTN_BACK: 'passwordReset.btn.back',\n BTN_CHANGE_PASSWORD: 'passwordReset.btn.changePassword',\n BTN_RESET: 'passwordReset.btn.reset',\n BTN_RESET_REQUESTED: 'passwordReset.btn.requested',\n BTN_RETRY: 'passwordReset.btn.retry',\n ERROR_PASSWORDS_MISMATCH: 'passwordReset.err.passwordsMismatch',\n ERROR_PHONE_NUMBER_INCORRECT: 'passwordReset.err.phoneNumberIncorrect',\n ERROR_RESET_FAILED_NOT_FOUND: 'passwordReset.err.userNotFound',\n ERROR_RESET_FAILED: 'passwordReset.err.resetFailed',\n LABEL_CONFIRMATION: 'passwordReset.label.confirmation',\n LABEL_NEW_PASSWORD: 'passwordReset.label.newPassword',\n LINK_RESET: 'passwordReset.link.forgotPassword',\n MSG_CHECK_EMAIL: 'passwordReset.msg.checkEmail{{email}}',\n MSG_COMPLETED: 'passwordReset.msg.completed',\n MSG_NEW_PASSWORD: 'passwordReset.msg.enterNewPassword',\n MSG_WELCOME: 'passwordReset.msg.welcome',\n TITLE_BASIC: 'passwordReset.title.basic',\n TITLE_CHECK_EMAIL: 'passwordReset.title.checkEmail',\n TITLE_COMPLETED: 'passwordReset.title.completed',\n TITLE_RESET: 'passwordReset.title.reset',\n ERROR_INVALID_PASSWORD_LENGTH: 'passwordReset.err.invalidPasswordLength',\n ERROR_INVALID_PASSWORD_SYMBOL: 'passwordReset.err.invalidPasswordSymbol',\n ERROR_INVALID_PASSWORD_UPPERCASE: 'passwordReset.err.invalidPasswordUppercase',\n ERROR_INVALID_PASSWORD_NUMBER: 'passwordReset.err.invalidPasswordNumber'\n }\n}\n\nexport default I18N\n","import { formatLocale } from 'd3-format'\n\nexport const d3locale = formatLocale({\n decimal: ',',\n thousands: '\\xa0',\n grouping: [3],\n currency: ['', ' руб.']\n})\n\nexport const d3format = d3locale.format(',.2~f')\n","import { Moment } from 'moment'\nimport { ADMIN_VIEW_STORAGE_KEY } from '../features/auth/authSlice'\nimport { VideoData } from '../features/location/data-mapper'\nimport { ERROR_CODE, RequestError } from './errors'\nimport { d3format } from './i18n/d3'\nimport I18N from './i18n/strings'\n\nexport enum HTTP_METHOD {\n DELETE = 'DELETE',\n GET = 'GET',\n PATCH = 'PATCH',\n POST = 'POST',\n PUT = 'PUT'\n}\n\ninterface RequestOptions {\n method?: HTTP_METHOD\n data?: Record|Array>\n raw?: boolean\n keepalive?: boolean\n isCorsRequest?: boolean\n}\n\n/**\n * Returns new RequestError object that represents Fetch error\n *\n * @param {Response} response - fetch response\n * @returns {RequestError} - error\n */\nasync function _getFetchError (response: Response): Promise {\n const contentType = response.headers.get('content-type')\n if (contentType?.includes('application/json') === true) {\n const { errorStatusCode: code, details: message } = await response.json()\n return new RequestError(code, message)\n }\n\n if (response.status === 401) {\n return new RequestError(ERROR_CODE.GENERIC_ACCESS_DENIED)\n }\n\n const message = await response.text()\n return new RequestError(ERROR_CODE.UNKNOWN_ERROR,\n message === '' ? I18N.common.ERROR_UNKNOWN : message)\n}\n\n/**\n * Send async request to the given URL\n *\n * @param {string} url - URL address\n * @param {RequestOptions} options - additional request options\n */\nexport async function request (url: string, options?: RequestOptions): Promise {\n const {\n method = HTTP_METHOD.GET,\n data,\n keepalive,\n isCorsRequest,\n raw: returnRawResponse = false\n } = options ?? {}\n\n const params: RequestInit = {\n method,\n credentials: 'include',\n keepalive\n }\n\n if (isCorsRequest === true) params.mode = 'cors'\n\n // `HubSessionId` header uniquely identifies a browser Tab\n // `ReplacedUserId` is used to load other users data for admins\n params.headers = {\n HubSessionId: sessionStorage.getItem('HUB_SESSION_ID') ?? ''\n }\n const adminViewUserId = sessionStorage.getItem(ADMIN_VIEW_STORAGE_KEY)\n if (adminViewUserId !== null) {\n params.headers.ReplacedUserId = adminViewUserId\n }\n if (data !== undefined) {\n params.headers['Content-Type'] = 'application/json'\n params.body = JSON.stringify(data)\n }\n\n const response = await fetch(url, params)\n if (!response.ok) {\n const error = await _getFetchError(response)\n throw error\n }\n\n if (returnRawResponse) {\n return response\n }\n\n if (response.status === 204) {\n return null\n }\n\n return await response.json() as T\n}\n\nexport function bytes2gb (bytes: number): number {\n return bytes / 0.1e10\n}\n\nexport function bytes2mb (bytes: number): number {\n return bytes / 0.1e7\n}\n\n/**\n * Returns MB representation for less then 100,000,000 bytes, GB - otherwise\n *\n * @param {number} bytes - bytes\n * @returns {string} - ` MB` or ` GB`\n */\nexport function bytes2str (bytes: number): string {\n if (bytes > 0.1e9) {\n return `${d3format(bytes2gb(bytes))} ГБ`\n }\n\n return `${d3format(bytes2mb(bytes))} МБ`\n}\n\nfunction _isValidTab (tabs: T[], name: string): name is T {\n return (tabs as string[]).includes(name)\n}\n\n/**\n * Returns current tab ID based on\n * - `tab` query param within a given URL\n * - given list of possible tab IDs\n *\n * @param tabs\n * @param query\n */\nexport function getCurrentTab (tabs: T[], query: URLSearchParams): T {\n const tabQuery = query.get('tab')\n if (tabQuery === null || !_isValidTab(tabs, tabQuery)) {\n return tabs[0]\n }\n\n return tabQuery\n}\n\ninterface DateSortableObj {\n createdAt: Moment\n}\n\nexport function sortByDateAsc (a: DateSortableObj, b: DateSortableObj): -1|0|1 {\n if (a.createdAt < b.createdAt) { return -1 }\n if (a.createdAt > b.createdAt) { return 1 }\n return 0\n}\n\nexport function sortByDateDesc (a: DateSortableObj, b: DateSortableObj): -1|0|1 {\n if (a.createdAt > b.createdAt) { return -1 }\n if (a.createdAt < b.createdAt) { return 1 }\n return 0\n}\n\nexport const sortBy = (keys: string[]) => (a: Record, b: Record): -1|0|1 => {\n for (const key of keys) {\n const aValue = a[key]\n const bValue = b[key]\n if (typeof aValue !== 'string' && typeof aValue !== 'number') {\n return 0\n }\n if (typeof bValue !== 'string' && typeof bValue !== 'number') {\n return 0\n }\n\n if (aValue < bValue) { return -1 }\n if (aValue > bValue) { return 1 }\n }\n return 0\n}\n\n/**\n * Checks that video file has a supported extension.\n *\n * @param {File} file - downloadable file\n * @returns {boolean} - true/false (valid/not valid)\n */\n\nexport function isValidFileType (file: File): boolean {\n const regExp = /\\.(flv|mxf|gxf|ts|ps|3gp|3gpp|mpg|wmv|asf|avi|isma|ismv|dvr-ms|mkv|wav|mov|mp4|m4a|m4v)/i\n const isValid = file.name.search(regExp) !== -1\n return isValid\n}\n\n/**\n * Checks if the location has video clones.\n *\n * @param {videos} videoData[] - videos from location\n * @returns {boolean} - true/false (hasClone or not)\n */\n\nexport function hasCloneVideo (videos: VideoData[]): boolean {\n const hasClone = videos.findIndex(({ isClone }) => {\n return isClone\n }) !== -1\n return hasClone\n}\n\nexport function hourToMilliseconds (hours: number): number {\n return hours * 60 * 60 * 1000\n}\n\nexport function hourFromMilliseconds (ms: number): number {\n return Math.floor(ms / (60 * 60 * 1000))\n}\n\nexport function clamp (x: number, min: number, max: number): number {\n return Math.max(Math.min(x, max), min)\n}\n\nexport function declOfNum(n:number, text_arr: string[]) {\n n = Math.abs(n) % 100\n const n1 = n % 10\n if(n > 10 && n < 20) {\n return text_arr[2]\n }\n\n if(n1 > 1 && n1 < 5) {\n return text_arr[1]\n }\n\n if(n1 === 1) {\n return text_arr[0]\n }\n\n return text_arr[2]\n}\n","export enum AUTH_STATE {\n NONE, // App is loading\n AUTHENTICATING, // Querying the current user from the API server\n NOT_AUTHENTICATED, // Not authenticated at the API server\n AUTHENTICATION_COMPLETED, // Successfully authenticated at the API server\n\n LOGIN_STARTED, // Currently trying to log in using email/password\n LOGIN_FAILED, // Log in attempt failed\n}\n\nexport interface UserDto {\n id: string\n email: string\n emailConfirmed: boolean\n name: string\n isAdmin: boolean\n phoneNumber?: string\n companyName?: string\n}\n\nexport interface UserProfile extends UserDto {\n availableUsers: UserDto[]\n}\n\nexport interface FormError {\n email?: string[]\n password?: string[]\n}\n\nexport interface AuthState {\n authState: AUTH_STATE\n error?: FormError\n user?: UserProfile\n users?: UserProfile[]\n}\n","import { createAsyncThunk, createSlice, PayloadAction, SerializedError } from '@reduxjs/toolkit'\nimport { History } from 'history'\nimport { AUTH_URL } from '../../app/api-url'\nimport { deleteDatabase } from '../../app/db'\nimport { ERROR_CODE, getErrorPayload, RequestError } from '../../app/errors'\nimport I18N from '../../app/i18n/strings'\nimport { AppThunk, RootState } from '../../app/store'\nimport { HTTP_METHOD, request } from '../../app/utils'\nimport {\n AUTH_STATE,\n AuthState,\n FormError,\n UserProfile,\n UserDto\n} from './authTypes'\n\nexport const ADMIN_VIEW_STORAGE_KEY = 'ADMIN_VIEW_USER_ID'\n\nexport const getUserData = async (): Promise => {\n const data = await request(AUTH_URL.ACCOUNT)\n return data as UserDto\n}\n\nexport const getUsers = async (): Promise => {\n const data = await request(AUTH_URL.USER_LIST) as UserDto[]\n return data\n}\n\ninterface LoginOptions {\n email: string\n password: string\n}\n\n/**\n * Try to login using given email/password\n * @param {string} email - email\n * @param {string} password - email\n */\nexport const login = createAsyncThunk(\n 'auth/login',\n async ({ email, password }) => {\n try {\n await request(AUTH_URL.LOGIN, { method: HTTP_METHOD.POST, data: { email, password } })\n const user = await getUserData()\n const availableUsers = user.isAdmin\n ? await getUsers()\n : [user]\n\n return { ...user, availableUsers }\n } catch (err) {\n const errorPayload = getErrorPayload(err)\n throw errorPayload\n }\n }\n)\n\ninterface LogoutOptions {\n redirectTo: string\n history: History\n}\n\n/**\n * Ends current user session.\n * Resets app state, clears IndexedDB, redirects to a given page\n */\nexport const logout = ({ history, redirectTo }: LogoutOptions): AppThunk => async (dispatch) => {\n try {\n try {\n await request(AUTH_URL.LOGOUT, { raw: true })\n } catch (err) {\n if ((err as RequestError).code !== ERROR_CODE.GENERIC_ACCESS_DENIED) {\n throw err\n }\n }\n\n await deleteDatabase()\n sessionStorage.removeItem(ADMIN_VIEW_STORAGE_KEY)\n dispatch(actions.reset())\n history.push(redirectTo)\n } catch (err) {\n console.error(err)\n }\n}\n\n/**\n * Try to get user profile data.\n * Succeeds if user is authenticated, fails and throws error otherwise.\n *\n * @param {boolean} throwOnFailure - set to `true` in order to throw login error on request failure\n */\nexport const loadUserData = createAsyncThunk(\n 'auth/loadUserProfile',\n async (throwOnFailure?: boolean) => {\n try {\n const user = await getUserData()\n const availableUsers = user.isAdmin\n ? await getUsers()\n : [user]\n\n return { ...user, availableUsers }\n } catch (err) {\n if (throwOnFailure === true) {\n const errorPayload = getErrorPayload(err)\n throw errorPayload\n }\n\n throw new Error('Not authorized')\n }\n }\n)\n\nexport const initialState: AuthState = {\n authState: AUTH_STATE.NONE\n}\n\ntype AuthRejectedAction = PayloadAction<\nunknown,\nstring,\n{ requestId: string },\nSerializedError>\n\nconst handleAuthFailed = (\n state: AuthState,\n action: AuthRejectedAction,\n authErrorMsg = I18N.signIn.ERROR_INVALID_INPUT_DATA\n): void => {\n state.authState = AUTH_STATE.LOGIN_FAILED\n switch (action.error.code) {\n case ERROR_CODE.NOT_FOUND:\n case ERROR_CODE.INVALID_INPUT_DATA:\n case ERROR_CODE.INVALID_PASSWORD:\n case ERROR_CODE.AUTH_INCORRECT_PASSWORD:\n case ERROR_CODE.AUTH_USER_NOT_FOUND:\n case ERROR_CODE.GENERIC_ACCESS_DENIED: {\n state.error = {\n email: [authErrorMsg]\n }\n break\n }\n\n case ERROR_CODE.UNKNOWN_ERROR:\n default: {\n state.error = {\n email: [I18N.signIn.ERROR_UNKNOWN]\n }\n }\n }\n}\n\nconst authSlice = createSlice({\n name: 'auth',\n initialState,\n reducers: {\n reset () { return initialState },\n clearError (state: AuthState) {\n delete state.error\n state.authState = AUTH_STATE.NOT_AUTHENTICATED\n }\n },\n extraReducers: builder => {\n builder\n .addCase(loadUserData.pending, (state, action) => {\n state.authState = AUTH_STATE.AUTHENTICATING\n })\n .addCase(loadUserData.fulfilled, (state, action) => {\n state.authState = AUTH_STATE.AUTHENTICATION_COMPLETED\n state.user = action.payload\n })\n .addCase(loadUserData.rejected, (state, action) => {\n if (action.meta.arg !== true) {\n state.authState = AUTH_STATE.NOT_AUTHENTICATED\n return\n }\n\n // TODO: supply error message as a #loadUserData argument?\n handleAuthFailed(state, action, I18N.signUp.ERROR_AUTH_FAILED)\n })\n .addCase(login.pending, (state, action) => {\n state.authState = AUTH_STATE.LOGIN_STARTED\n })\n .addCase(login.fulfilled, (state, action) => {\n state.authState = AUTH_STATE.AUTHENTICATION_COMPLETED\n state.user = action.payload\n })\n .addCase(login.rejected, handleAuthFailed)\n }\n})\n\nexport const {\n actions,\n reducer\n} = authSlice\n\n// The function below is called a selector and allows us to select a value from\n// the state. Selectors can also be defined inline where they're used instead of\n// in the slice file. For example: `useSelector((state: RootState) => state.counter.value)`\nexport const selectAuthNotInitialized = (state: RootState): boolean => state.auth.authState === AUTH_STATE.NONE\nexport const selectAuthenticating = (state: RootState): boolean => state.auth.authState === AUTH_STATE.AUTHENTICATING\nexport const selectLoginStarted = (state: RootState): boolean => state.auth.authState === AUTH_STATE.LOGIN_STARTED\nexport const selectAuthenticated = (state: RootState): boolean => Boolean(state.auth.user)\nexport const selectAuthFinished = (state: RootState): boolean => {\n return state.auth.authState === AUTH_STATE.AUTHENTICATION_COMPLETED ||\n state.auth.authState === AUTH_STATE.NOT_AUTHENTICATED ||\n state.auth.authState === AUTH_STATE.LOGIN_STARTED ||\n state.auth.authState === AUTH_STATE.LOGIN_FAILED\n}\nexport const selectUserData = (state: RootState): UserProfile|undefined => {\n return state.auth.user\n}\nexport const selectLoginError = (state: RootState): FormError|undefined => {\n if (state.auth.authState !== AUTH_STATE.LOGIN_FAILED) {\n return\n }\n\n return state.auth.error\n}\n","import { Moment } from 'moment'\n\nexport type LocationId = string\nexport type GroupId = string\nexport type ISODateString = string\n\nexport enum ARCHIVE_STATE {\n NOT_ARCHIVED = 0,\n ARCHIVED = 1\n}\n\nexport type SliceName = 'videoData'|'archive'|'trash'\n\n// API response formats\nexport interface LocationPreviewDto {\n archivedAt: ISODateString|null\n createAt: ISODateString\n id: LocationId\n imagePreviewUrl: string|null\n isRemoved: boolean\n removedAt: ISODateString|null\n state: ARCHIVE_STATE\n title: string|null\n isCameraConnected: boolean|null\n processingCount: number\n completedCount: number\n videoFilesSize: number\n videoFilesCount: number\n videoStreamCount: number\n}\n\nexport interface LocationDto extends LocationPreviewDto {\n locationGroupId: GroupId\n}\n\nexport interface GroupDto {\n archivedAt: ISODateString|null\n createAt: ISODateString\n id: GroupId\n isRemoved: boolean\n locations: LocationPreviewDto[]\n removedAt: ISODateString|null\n state: ARCHIVE_STATE\n title: string\n}\n\n// API request formats\n// DTO: Resource creation\nexport interface LocationGroupCreateDto {\n title: string\n}\n\nexport interface LocationCreateDto {\n title: string\n locationGroupId: GroupId\n}\n\n// DTO: Resource updates\nexport interface UpdateGroupRequestDto {\n title: string\n state: ARCHIVE_STATE|null\n isRemoved: boolean|null\n}\n\nexport interface UpdateLocationRequestDto {\n title: string\n locationGroupId: GroupId\n state: ARCHIVE_STATE|null\n isRemoved: boolean\n}\n\n/*\n * FRONTEND data formats.\n *\n * Location groups data is represented in two ways across the App:\n * - Array of groups with each group containing an array of locations (to render UI)\n * - HashMap of groups with each groups containing a HashMap of locations (to use in Redux Store)\n*/\nexport interface LocationData {\n id: LocationId\n title: string\n videos: number\n streams: number\n createdAt: Moment\n \n videoFilesSize?: number\n isCameraConnected?: boolean|null\n processingCount?: number\n completedCount?: number\n error?: string\n archivedAt?: Moment\n removedAt?: Moment\n thumbnail?: string\n isRemoved?: boolean\n isArchived?: boolean\n isTmp?: boolean\n isBusy?: boolean\n}\n\nexport interface PureGroup {\n id: GroupId\n createdAt: Moment\n title: string\n\n error?: string\n archivedAt?: Moment\n removedAt?: Moment\n isArchived?: boolean\n isRemoved?: boolean\n isTmp?: boolean\n isBusy?: boolean\n}\n\nexport interface GroupData extends PureGroup {\n locations: LocationData[]\n}\n\nexport interface GroupMap extends PureGroup {\n locations: Map\n}\n\nexport type GroupsMap = Map\n","import { ARCHIVE_STATE, GroupData, GroupDto, GroupMap, GroupsMap, LocationData, LocationPreviewDto } from './data-types'\nimport moment from 'moment'\nimport { TariffData, UserTariffData } from '../profile/tariffs/tariffHelper'\nimport { TariffDto, UserTariffDto } from '../profile/tariffs/tariffTypes'\nimport { clamp, hourFromMilliseconds, hourToMilliseconds } from '../../app/utils'\n\nexport const groupToGroupMap = (group: GroupData): GroupMap => {\n return {\n ...group,\n locations: new Map(group.locations.map(location => [\n location.id,\n location\n ]))\n }\n}\n\n/**\n * Converts an Array of location groups into a HashMap\n * @param groups {GroupData[]} - list of location groups\n * @returns GroupsMap - HashMap of location groups\n */\nexport const groupsArrayToMap = (groups: GroupData[]): GroupsMap => {\n return new Map(groups.map(group => [\n group.id,\n {\n ...group,\n locations: new Map(group.locations.map(location => [\n location.id,\n location\n ]))\n }\n ]))\n}\n\n/**\n * Converts HashMap of location groups into an Array\n * @param groups\n */\nexport const groupsMapToArray = (groups: GroupsMap): GroupData[] => {\n return Array\n .from(groups.values())\n .map(({ locations, ...group }: GroupMap) => ({\n ...group,\n locations: Array.from(locations.values())\n }))\n}\n\nexport const locationDtoToLocation = (location: LocationPreviewDto): LocationData => {\n return {\n id: location.id,\n title: location.title ?? 'n/a',\n streams: location.videoStreamCount,\n videos: location.videoFilesCount,\n thumbnail: location.imagePreviewUrl ?? undefined,\n isArchived: location.state === ARCHIVE_STATE.ARCHIVED,\n isRemoved: location.isRemoved,\n createdAt: moment(location.createAt),\n archivedAt: location.archivedAt !== null ? moment(location.archivedAt) : undefined,\n removedAt: location.removedAt !== null ? moment(location.removedAt) : undefined,\n videoFilesSize: location.videoFilesSize,\n isCameraConnected: location.isCameraConnected,\n processingCount: location.processingCount,\n completedCount: location.completedCount\n }\n}\n\nexport const groupDtoToGroup = (domain: GroupDto, filter?: GroupOrLocationFilter): GroupData => {\n const locations = domain.locations.map(locationDtoToLocation)\n return {\n id: domain.id,\n createdAt: moment(domain.createAt),\n title: domain.title,\n isArchived: domain.state === ARCHIVE_STATE.ARCHIVED,\n isRemoved: domain.isRemoved,\n locations: filter !== undefined\n ? locations.filter(filter)\n : locations\n }\n}\n\nexport const currentTariffDtoTariffData = (tariff: UserTariffDto): UserTariffData => {\n const timeBalancePercantage = tariff.timeBalance / hourToMilliseconds(tariff.maxHours) * 100\n const elem = {\n id: tariff.tariffSnapshotId,\n name: tariff.name ?? '-',\n maxHours: tariff.maxHours,\n purchase: tariff.purchase,\n timeBalanceHour: hourFromMilliseconds(tariff.timeBalance),\n timeBalancePercantage: clamp(timeBalancePercantage, 0, 100),\n timeBalanceString: tariff.timeBalanceString,\n lastPaymentDate: tariff.lastPaymentDate !== null ? moment.utc(tariff.lastPaymentDate) : null,\n isSystem: tariff.isSystem\n }\n\n return elem\n}\n\nexport const tariffDtoTariffData = (tariff: TariffDto): TariffData => {\n return {\n id: tariff.id,\n tariffSnapshotId: tariff.tariffSnapshotId,\n name: tariff.name ?? '-',\n maxHours: tariff.maxHours,\n purchase: tariff.purchase,\n isSystem: tariff.isSystem\n }\n}\n\ntype GroupOrLocationFilter = (group: LocationData|GroupData) => boolean\n","import { MAIN_URL } from \"../../app/api-url\";\nimport { HTTP_METHOD, request } from \"../../app/utils\";\nimport { groupDtoToGroup, locationDtoToLocation } from \"./data-mapper\";\nimport { LocationGroupsResponseDto } from \"./data-mock\";\nimport {\n ARCHIVE_STATE,\n GroupData,\n GroupDto,\n LocationGroupCreateDto,\n UpdateGroupRequestDto,\n GroupId,\n GroupMap,\n LocationData,\n LocationDto,\n LocationCreateDto,\n UpdateLocationRequestDto,\n LocationId,\n SliceName,\n} from \"./data-types\";\nimport { LocationArgs } from \"./slice-utils\";\n\nconst getLocationGroupsUrl = (\n sliceName: SliceName,\n offset: number,\n count: number\n): string => {\n const query = new URLSearchParams({\n offset: offset.toString(),\n count: count.toString(),\n });\n\n switch (sliceName) {\n case \"archive\": {\n query.set(\"archive\", \"true\");\n break;\n }\n case \"trash\": {\n query.set(\"trash\", \"true\");\n break;\n }\n case \"videoData\":\n default: {\n query.set(\"active\", \"true\");\n }\n }\n\n return `${MAIN_URL.GROUPS}?${query.toString()}`;\n};\n\nexport const getLocationFilter =\n (sliceName: SliceName) =>\n (groupOrLocation: LocationData | GroupData): boolean => {\n const { isRemoved = false, isArchived = false } = groupOrLocation;\n switch (sliceName) {\n case \"archive\":\n return !isRemoved && isArchived;\n case \"trash\":\n return isRemoved;\n case \"videoData\":\n default:\n return !isArchived && !isRemoved;\n }\n };\n\n/* Groups API */\n\n/**\n * Loads data for all groups within the given sliceName (archive|trash|videoData)\n */\nexport async function* loadGroups(\n sliceName: SliceName,\n chunkSize = 25\n): AsyncGenerator {\n let offset = 0;\n do {\n const url = getLocationGroupsUrl(sliceName, offset, chunkSize);\n const {\n entities: groupsDomain,\n count,\n total,\n } = (await request(url)) as LocationGroupsResponseDto;\n\n // 2. Ensure that only data of the slice's type is actually loaded\n const groups = await groupsDomain.map((group) =>\n groupDtoToGroup(group, getLocationFilter(sliceName))\n );\n\n // 3. Transform data from Array to Map (for the ease of access)\n yield groups;\n if (count + offset >= total) {\n return;\n }\n\n offset += count;\n } while (true);\n}\n\n/**\n * Saves (adds!) group with given title to the backend\n */\nexport async function addGroup(title: string): Promise {\n const data: LocationGroupCreateDto = { title };\n\n const newGroup = (await request(MAIN_URL.GROUPS, {\n method: HTTP_METHOD.POST,\n data: data as unknown as Record,\n })) as GroupDto;\n\n return newGroup;\n}\n\n/**\n * Load data for a group with the given ID within the given sliceName (archive|trash|videoData)\n */\nexport async function loadGroup(\n groupId: GroupId,\n sliceName?: SliceName\n): Promise {\n const groupDto = (await request(\n MAIN_URL.GROUP.replace(\"{id}\", groupId.toString())\n )) as GroupDto;\n const group = groupDtoToGroup(\n groupDto,\n sliceName !== undefined ? getLocationFilter(sliceName) : undefined\n );\n const { isArchived = false, isRemoved = false } = group;\n\n if (sliceName === \"videoData\" && (isArchived || isRemoved)) {\n return;\n }\n\n if (sliceName === \"archive\" && isRemoved) {\n return;\n }\n\n return group;\n}\n\n/**\n * Load data for a location with the given ID\n * @param locationId - location ID\n */\nexport async function loadLocation(\n locationId: LocationId\n): Promise {\n const url = MAIN_URL.LOCATION.replace(\"{id}\", locationId.toString());\n const locationDto = (await request(url)) as LocationDto;\n return locationDtoToLocation(locationDto);\n}\n\n/**\n * Saves (updates!) groups to the backend\n */\nexport async function updateGroup(group: GroupMap): Promise {\n const data: UpdateGroupRequestDto = {\n title: group.title,\n isRemoved: group.isRemoved !== undefined ? group.isRemoved : null,\n state: null,\n };\n\n if (group.isArchived !== undefined) {\n data.state = group.isArchived\n ? ARCHIVE_STATE.ARCHIVED\n : ARCHIVE_STATE.NOT_ARCHIVED;\n }\n\n await request(MAIN_URL.GROUP.replace(\"{id}\", group.id.toString()), {\n method: HTTP_METHOD.PUT,\n data: data as unknown as Record,\n });\n}\n\n/**\n * Permanently deletes group with the given ID\n */\nexport async function deleteGroup(groupId: GroupId): Promise {\n const query = new URLSearchParams({ id: groupId });\n await request(`${MAIN_URL.GROUP_BASE}?${query.toString()}`, {\n method: HTTP_METHOD.DELETE,\n });\n}\n\n/* Locations API */\n/**\n * Saves (adds!) location to the backend\n */\nexport async function addLocation(\n groupId: GroupId,\n title: string\n): Promise {\n const data: LocationCreateDto = {\n locationGroupId: groupId,\n title: title,\n };\n\n const newLocation = (await request(MAIN_URL.LOCATION.replace(\"{id}\", \"\"), {\n method: HTTP_METHOD.POST,\n data: data as unknown as Record,\n })) as LocationDto;\n return {\n ...newLocation,\n isCameraConnected: null,\n completedCount: 0,\n processingCount: 0,\n videoFilesSize: 0\n };\n}\n\n/**\n * Saves (updates!) location to the backend\n */\nexport async function updateLocation({\n groupId,\n location,\n}: LocationArgs): Promise {\n const data: UpdateLocationRequestDto = {\n title: location.title,\n locationGroupId: groupId,\n state:\n location.isArchived !== undefined\n ? location.isArchived\n ? ARCHIVE_STATE.ARCHIVED\n : ARCHIVE_STATE.NOT_ARCHIVED\n : null,\n isRemoved: Boolean(location.isRemoved),\n };\n\n await request(MAIN_URL.LOCATION.replace(\"{id}\", location.id.toString()), {\n method: HTTP_METHOD.PUT,\n data: data as unknown as Record,\n });\n}\n\n/**\n * Permanently deletes location\n */\nexport async function deleteLocation(locationId: LocationId): Promise {\n const query = new URLSearchParams({ id: locationId });\n await request(`${MAIN_URL.LOCATION_BASE}?${query.toString()}`, {\n method: HTTP_METHOD.DELETE,\n });\n}\n","import {\n ActionReducerMapBuilder,\n AnyAction,\n AsyncThunk,\n createAsyncThunk,\n createSlice,\n PayloadAction,\n Slice,\n ThunkDispatch\n} from '@reduxjs/toolkit'\nimport { ERROR_CODE } from '../../app/errors'\nimport I18N from '../../app/i18n/strings'\nimport { AppThunk, RootState } from '../../app/store'\nimport { actions as authActions } from '../auth/authSlice'\nimport { getLocationFilter, loadGroup as apiLoadGroup, loadGroups as apiLoadGroups } from './api'\nimport { groupsArrayToMap, groupsMapToArray, groupToGroupMap } from './data-mapper'\nimport {\n GroupData,\n GroupId,\n GroupMap,\n GroupsMap,\n LocationData,\n LocationId,\n SliceName\n} from './data-types'\n\nexport enum DATA_LOAD_STATE {\n NONE,\n STARTED,\n FAILED,\n LOADED\n}\n\nexport interface VideoDataState {\n state: DATA_LOAD_STATE\n data: GroupsMap\n error?: string\n}\n\nexport interface LocationArgs {\n groupId: GroupId\n location: LocationData\n}\n\nexport interface LocationUpdateArgs {\n groupId: GroupId\n location: LocationData\n update: {\n [propName in keyof LocationData]?: LocationData[propName]\n }\n}\nexport interface GroupUpdateArgs {\n group: GroupMap\n update: {\n [propName in keyof GroupMap]?: GroupMap[propName]\n }\n}\n\nexport const initialState: VideoDataState = {\n state: DATA_LOAD_STATE.NONE,\n data: new Map()\n}\n\nexport const MAIN_SLICE_NAME: SliceName = 'videoData'\nexport const ARCHIVE_SLICE_NAME: SliceName = 'archive'\nexport const TRASH_SLICE_NAME: SliceName = 'trash'\n\ninterface LocationAction {\n meta: {\n arg: LocationArgs\n }\n}\n\nexport const deleteLocationState = (state: VideoDataState, action: LocationAction): void => {\n const groupId = action.meta.arg.groupId\n const locationId = action.meta.arg.location.id\n withGroup(state, groupId, group => {\n group.locations.delete(locationId)\n })\n}\n\ninterface GroupAction {\n meta: {\n arg: GroupMap\n }\n}\n\nexport const withGroup = (state: VideoDataState, groupId: GroupId, callback: (group: GroupMap) => void): void => {\n if (state.state !== DATA_LOAD_STATE.LOADED) {\n return\n }\n\n if (!state.data.has(groupId)) {\n return\n }\n\n // eslint-disable-next-line\n callback(state.data.get(groupId) as GroupMap)\n}\n\nexport const withLocation = (\n state: VideoDataState,\n groupId: GroupId,\n location: LocationData,\n callback: (location: LocationData) => void\n): void => {\n if (state.state !== DATA_LOAD_STATE.LOADED) {\n return\n }\n if (!state.data.has(groupId) || !(state.data.get(groupId) as GroupMap).locations.has(location.id)) {\n return\n }\n\n // eslint-disable-next-line\n callback((state.data.get(groupId) as GroupMap).locations.get(location.id) as LocationData)\n}\n\nexport const setGroupBusy = (state: VideoDataState, action: { meta: { arg: GroupMap }}): void => {\n const group = action.meta.arg\n withGroup(state, group.id, (group) => {\n group.isBusy = true\n })\n}\n\nexport const setGroupIdle = (state: VideoDataState, action: { meta: { arg: GroupMap }}): void => {\n const group = action.meta.arg\n withGroup(state, group.id, (group) => {\n group.isBusy = false\n })\n}\n\nexport const setLocationBusy = (state: VideoDataState, action: { meta: { arg: LocationArgs }}): void => {\n const { groupId, location } = action.meta.arg\n withLocation(state, groupId, location, (location) => {\n location.isBusy = true\n })\n}\n\nexport const setLocationIdle = (state: VideoDataState, action: { meta: { arg: LocationArgs }}): void => {\n const { groupId, location } = action.meta.arg\n withLocation(state, groupId, location, (location) => {\n location.isBusy = false\n })\n}\n\nexport const deleteGroupState = (state: VideoDataState, action: GroupAction): void => {\n const groupId = action.meta.arg.id\n state.data.delete(groupId)\n}\n\nexport const reloadGroupData = async (groupId: GroupId, sliceNames: SliceName[], rootState: RootState): Promise => {\n const outdatedSlices = sliceNames\n .map(sliceName => rootState[sliceName])\n .filter(({ state }) => state === DATA_LOAD_STATE.LOADED)\n\n if (outdatedSlices.length > 0) {\n const updatedGroup = await apiLoadGroup(groupId) as GroupData\n return updatedGroup\n }\n}\n\nexport const setGroupState = (state: VideoDataState, sliceName: SliceName, group?: GroupData): void => {\n if (group === undefined || state.state !== DATA_LOAD_STATE.LOADED) {\n return\n }\n\n state.data.set(group.id, groupToGroupMap({\n ...group,\n locations: group.locations.filter(getLocationFilter(sliceName))\n }))\n}\n\ninterface VideoSlice extends Slice) => void\n addLocation: (state: VideoDataState, action: PayloadAction) => void\n deleteGroup: (state: VideoDataState, action: PayloadAction) => void\n deleteLocation: (state: VideoDataState, action: PayloadAction<{ groupId: GroupId, locationId: LocationId }>) => void\n loadData: (state: VideoDataState, action: PayloadAction) => void\n reset: () => void\n}> {\n loadGroup: (groupId: GroupId) => AppThunk\n loadGroups: AsyncThunk}>\n selectData: (rootState: RootState) => GroupData[]\n selectLoaded: (rootState: RootState) => boolean\n selectLoading: (rootState: RootState) => boolean\n selectLocationIds: (rootState: RootState) => LocationId[]\n selectNotInitialized: (rootState: RootState) => boolean\n selectLoadError: (rootState: RootState) => string|undefined\n selectIsValidLocation: (locationId?: LocationId) => (rootState: RootState) => boolean|undefined\n}\n\nexport const createVideoSlice = (sliceName: SliceName, extraReducers?: (builder: ActionReducerMapBuilder) => void): VideoSlice => {\n /**\n * Fetches and saves data for all available Groups\n */\n const loadGroups = createAsyncThunk(\n `${sliceName}/loadGroups`,\n async (_, thunkApi) => {\n for await (const dataChunk of apiLoadGroups(sliceName)) {\n const groupsMap = groupsArrayToMap(dataChunk)\n thunkApi.dispatch(slice.actions.loadData(groupsMap))\n }\n }\n )\n\n /**\n * Loads and saves data for a single Group\n */\n const loadGroup = createAsyncThunk(\n `${sliceName}/loadGroup`,\n async (groupId: GroupId, { getState }) => {\n const { [sliceName]: sliceState } = getState() as RootState\n const { state } = sliceState\n if (state === DATA_LOAD_STATE.NONE) {\n return\n }\n\n const group = await apiLoadGroup(groupId, sliceName)\n if (group === undefined) {\n return\n }\n\n return groupToGroupMap(group)\n }\n )\n\n const slice = createSlice({\n initialState,\n name: sliceName,\n reducers: {\n /**\n * Adds Group to the groups list\n */\n addGroup (state: VideoDataState, action: PayloadAction) {\n if (state.state === DATA_LOAD_STATE.NONE) {\n return\n }\n\n state.data.set(action.payload.id, action.payload)\n },\n\n /**\n * Sets Location data\n */\n addLocation (state: VideoDataState, action: PayloadAction) {\n if (state.state === DATA_LOAD_STATE.NONE) {\n return\n }\n\n const {\n groupId,\n location\n } = action.payload\n const group = state.data.get(groupId) as GroupMap\n group.locations.set(location.id, location)\n },\n\n deleteGroup (state: VideoDataState, action: PayloadAction) {\n const groupId = action.payload\n state.data.delete(groupId)\n },\n\n deleteLocation (state: VideoDataState, action: PayloadAction<{ groupId: GroupId, locationId: LocationId }>) {\n const { groupId, locationId } = action.payload\n state.data.get(groupId)?.locations.delete(locationId)\n },\n\n /**\n * Appends given Groups data to the stored list of groups\n */\n loadData (state: VideoDataState, action: PayloadAction) {\n state.data = new Map([\n ...state.data,\n ...action.payload\n ])\n },\n\n reset () {\n return initialState\n }\n },\n extraReducers: (builder) => {\n builder\n .addCase(authActions.reset, () => {\n return initialState\n })\n .addCase(loadGroups.pending, () => {\n return {\n state: DATA_LOAD_STATE.STARTED,\n data: new Map()\n }\n })\n .addCase(loadGroups.fulfilled, (state) => {\n /*\n * Sets the slice's state to LOADED\n * (means the data has been successfully fetched from the backend and saved to the store)\n */\n state.state = DATA_LOAD_STATE.LOADED\n })\n .addCase(loadGroups.rejected, (state, action) => {\n state.state = DATA_LOAD_STATE.FAILED\n if (action.error.code === undefined) {\n return\n }\n\n switch (action.error.code) {\n case ERROR_CODE.INVALID_INPUT_DATA:\n default:\n {\n state.error = I18N.main.ERROR_INVALID_DATA\n }\n }\n })\n .addCase(loadGroup.fulfilled, (state, action) => {\n if (action.payload !== undefined) {\n state.data.set(action.payload.id, action.payload)\n }\n })\n\n if (extraReducers !== undefined) {\n extraReducers(builder)\n }\n }\n })\n\n return {\n ...slice,\n\n loadGroup,\n loadGroups,\n\n selectData: (rootState: RootState): GroupData[] => {\n return groupsMapToArray(rootState[sliceName].data)\n },\n selectLoaded: (rootState: RootState): boolean => {\n return rootState[sliceName].state === DATA_LOAD_STATE.LOADED\n },\n selectLoading: (rootState: RootState): boolean => {\n return rootState[sliceName].state === DATA_LOAD_STATE.STARTED\n },\n selectLocationIds: (rootState: RootState): LocationId[] => {\n const groups = rootState[sliceName].data as GroupsMap\n const locationIds: LocationId[] = []\n for (const { locations } of groups.values()) {\n for (const { id } of locations.values()) {\n locationIds.push(id)\n }\n }\n return locationIds\n },\n\n selectNotInitialized: (rootState: RootState): boolean => {\n return rootState[sliceName].state === DATA_LOAD_STATE.NONE\n },\n selectLoadError: (rootState: RootState): string|undefined => {\n if (rootState[sliceName].state !== DATA_LOAD_STATE.FAILED) {\n return\n }\n\n return rootState[sliceName].error\n },\n selectIsValidLocation: (locationId?: LocationId) => (rootState: RootState): boolean|undefined => {\n if (locationId === undefined) {\n return false\n }\n\n if (rootState[sliceName].state !== DATA_LOAD_STATE.LOADED) {\n return undefined\n }\n\n return Array\n .from((rootState[sliceName].data as GroupsMap).values())\n .findIndex(({ locations }) => locations.has(locationId)) !== -1\n }\n }\n}\n","import { LocationId } from '../groups/data-types'\nimport { DATA_LOAD_STATE } from '../groups/slice-utils'\nimport {\n StreamData,\n StreamId,\n UploadData,\n UploadId,\n VideoData,\n VideoId\n} from './data-mapper'\n\nexport interface LocationState {\n id: LocationId\n state: DATA_LOAD_STATE\n analyticsState: DATA_LOAD_STATE\n videos: Map\n streams: Map\n uploads: Map\n error?: string\n}\n\nexport interface LocationsState {\n data: Map\n}\n\nconst getInitialLocationState = (locationId: LocationId): LocationState => ({\n id: locationId,\n state: DATA_LOAD_STATE.NONE,\n analyticsState: DATA_LOAD_STATE.NONE,\n videos: new Map(),\n streams: new Map(),\n uploads: new Map()\n})\n\nexport function withLocation (\n state: LocationsState,\n locationId: LocationId|undefined,\n callback: (location: LocationState) => ResultType,\n defaultValue?: ResultType\n): ResultType|undefined {\n if (locationId === undefined || !state.data.has(locationId)) {\n return defaultValue\n }\n\n // eslint-disable-next-line\n return callback(state.data.get(locationId) as LocationState)\n}\n\nexport const ensureLocation = (\n state: LocationsState,\n locationId: LocationId,\n callback: (location: LocationState) => void\n): void => {\n if (!state.data.has(locationId)) {\n state.data.set(locationId, getInitialLocationState(locationId))\n }\n\n // eslint-disable-next-line\n callback(state.data.get(locationId) as LocationState)\n}\n\nexport const withVideo = (\n state: LocationsState,\n locationId: LocationId,\n videoId: VideoId,\n callback: (video: VideoData) => void\n): void => {\n if (!state.data.has(locationId)) {\n return\n }\n\n const location = state.data.get(locationId) as LocationState\n if (!location.videos.has(videoId)) {\n return\n }\n\n // eslint-disable-next-line\n callback(location.videos.get(videoId) as VideoData)\n}\n\nexport const withStream = (\n state: LocationsState,\n locationId: LocationId,\n streamId: StreamId,\n callback: (video: StreamData) => void\n): void => {\n if (!state.data.has(locationId)) {\n return\n }\n\n const location = state.data.get(locationId) as LocationState\n if (!location.streams.has(streamId)) {\n return\n }\n\n // eslint-disable-next-line\n callback(location.streams.get(streamId) as StreamData)\n}\n","import { RootState } from \"../../app/store\";\nimport { ResultKeys } from \"../../components/charts/bar/types\";\nimport { RawResult } from \"../dashboard/charts/RawResult\";\nimport {\n GroupId,\n GroupMap,\n ISODateString,\n LocationData,\n LocationId,\n} from \"../groups/data-types\";\nimport { DATA_LOAD_STATE, VideoDataState } from \"../groups/slice-utils\";\nimport {\n StreamData,\n StreamId,\n UploadData,\n VideoData,\n VideoId,\n} from \"./data-mapper\";\nimport { LocationsState, LocationState, withLocation } from \"./locationHepers\";\nimport { Moment } from \"moment\";\n\ninterface LocationSelectValue {\n id: LocationId;\n title: string;\n videoFilesSize?: number\n videos?: number\n}\n\nexport interface GroupSelectValue {\n id?: GroupId;\n title: string;\n locations?: LocationData[]\n}\n\n// Data for data source)\n * @param rootState - Root redux state\n */\nexport const selectGroupValues = (rootState: RootState): GroupSelectValue[] => {\n return Array.from((rootState.videoData as VideoDataState).data.values()).map(\n ({ id, title, locations }) => ({\n id,\n title,\n locations: Object.values(Object.fromEntries(locations)),\n })\n );\n};\n\n/**\n * Returns Locations list (to use as \n \n \n \n );\n}\n","import React, { ReactElement, useCallback } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useLocation } from \"react-router\";\n\nimport moment from \"moment\";\nimport { ScaleOrdinal } from \"d3-scale\";\n\nimport {\n Button,\n Divider,\n Drawer,\n IconButton,\n Typography,\n} from \"@material-ui/core\";\nimport { NavigateBefore, NavigateNext } from \"@material-ui/icons\";\n\nimport clsx from \"clsx\";\n\nimport I18N from \"../../../app/i18n/strings\";\n\nimport { ResultKeys } from \"../../../components/charts/bar/types\";\nimport { TIME_RANGE_FORMAT } from \"../../../components/charts/chart-utils\";\nimport { DateRange } from \"../../../components/DateRangePicker\";\n\nimport DateRangePicker from \"./DateRange\";\nimport Legend, { LegendEntry } from \"./Legend\";\nimport LocationPicker from \"./LocationPicker\";\nimport { usePanelStyle } from \"./optionsPanelStyles\";\nimport TimeRange from \"./TimeRange\";\n\nimport { LocationId } from \"../../groups/data-types\";\nimport { RawResult } from \"../charts/RawResult\";\n\ninterface OptionsPanelProps {\n colorScale: ScaleOrdinal, string>;\n daysOfWeek: number[];\n timeRanges: DateRange[];\n resultFields: Record, LegendEntry>;\n resultKeys: Array>;\n openRightBar: boolean;\n handleDrawerToggle: () => void;\n dateRange?: DateRange;\n initialDateRange?: DateRange;\n locationId?: LocationId;\n}\n\nenum DASHBOARD_URL {\n PAGE_MAIN = \"/location/dashboard/\",\n PAGE_LOCATION = \"/location/{id}/dashboard/\",\n}\n\ninterface ICategories {\n name: string;\n age: string[];\n gender: string[];\n checkboxes: (string | null)[];\n}\n\nconst DATE_FORMAT = \"YYYY-MM-DD\";\n\nexport default function OptionsPanel(props: OptionsPanelProps): ReactElement {\n const [menIsChecked, setMenIsChecked] = React.useState(false);\n\n const categories: ICategories[] = [\n { name: \"oldMen\", age: [\"ageSenior\"], gender: [\"gMale\"], checkboxes: [] },\n {\n name: \"middleMen\",\n age: [\"ageMiddle\"],\n gender: [\"gMale\"],\n checkboxes: [],\n },\n { name: \"youngMen\", age: [\"ageJun\"], gender: [\"gMale\"], checkboxes: [] },\n {\n name: \"unknownMen\",\n age: [\"ageUnknown\"],\n gender: [\"gMale\"],\n checkboxes: [],\n },\n {\n name: \"oldWomen\",\n age: [\"ageSenior\"],\n gender: [\"gFemale\"],\n checkboxes: [],\n },\n {\n name: \"middleWomen\",\n age: [\"ageMiddle\"],\n gender: [\"gFemale\"],\n checkboxes: [],\n },\n {\n name: \"youngWomen\",\n age: [\"ageJun\"],\n gender: [\"gFemale\"],\n checkboxes: [],\n },\n {\n name: \"unknownWomen\",\n age: [\"ageUnknown\"],\n gender: [\"gFemale\"],\n checkboxes: [],\n },\n {\n name: \"oldUnknown\",\n age: [\"ageSenior\", \"ageUnknown\"],\n gender: [\"gUnknown\"],\n checkboxes: [],\n },\n {\n name: \"middleUnknown\",\n age: [\"ageMiddle\", \"ageUnknown\"],\n gender: [\"gUnknown\"],\n checkboxes: [],\n },\n {\n name: \"youngUnknown\",\n age: [\"ageJun\", \"ageUnknown\"],\n gender: [\"gUnknown\"],\n checkboxes: [],\n },\n {\n name: \"unknownUnknown\",\n age: [\"ageUnknown\"],\n gender: [\"gUnknown\"],\n checkboxes: [],\n },\n ];\n\n const classes = usePanelStyle();\n const location = useLocation();\n const history = useHistory();\n const { t } = useTranslation();\n const getQuery = useCallback(\n () => new URLSearchParams(location.search),\n [location.search]\n );\n const {\n colorScale,\n daysOfWeek,\n dateRange,\n timeRanges,\n locationId,\n resultFields,\n resultKeys,\n initialDateRange,\n openRightBar,\n handleDrawerToggle,\n } = props;\n\n React.useEffect(() => {\n if (\n !resultKeys.includes(\"cars\") &&\n resultKeys.includes(\"men\") &&\n !resultKeys.includes(\"bikes\")\n ) {\n setMenIsChecked(true);\n } else {\n setMenIsChecked(false);\n }\n }, [resultKeys]);\n\n // Change string location when use Location picker\n const handleLocationChange = useCallback(\n (newLocationId?: LocationId) => {\n newLocationId === undefined\n ? history.replace(DASHBOARD_URL.PAGE_MAIN)\n : history.replace(\n DASHBOARD_URL.PAGE_LOCATION.replace(\"{id}\", newLocationId)\n );\n },\n [history]\n );\n\n // Date range change handlers\n const handleDateChange = useCallback(\n (range?: DateRange): void => {\n const rangeStart = range?.start ?? initialDateRange?.start ?? undefined;\n const rangeEnd = range?.end ?? initialDateRange?.end ?? undefined;\n const query = getQuery();\n query.set(\n \"startDate\",\n rangeStart !== undefined ? moment(rangeStart).format(DATE_FORMAT) : \"\"\n );\n query.set(\n \"endDate\",\n rangeEnd !== undefined ? moment(rangeEnd).format(DATE_FORMAT) : \"\"\n );\n\n history.replace(`?${query.toString()}`);\n },\n [getQuery, history, initialDateRange]\n );\n\n // DayOfWeek change handlers\n const handleDayChange = useCallback(\n (dayNumber: number[]): void => {\n const query = getQuery();\n query.set(\"day\", JSON.stringify(dayNumber));\n history.replace(`?${query.toString()}`);\n },\n [getQuery, history]\n );\n\n // Time range change handlers\n const handleTimeChange = useCallback(\n (ranges: DateRange[]): void => {\n const query = getQuery();\n const timeQueryObj = ranges.map(({ start, end }) => ({\n start: moment(start).format(TIME_RANGE_FORMAT),\n end: moment(end).format(TIME_RANGE_FORMAT),\n }));\n query.set(\"time\", JSON.stringify(timeQueryObj));\n history.replace(`?${query.toString()}`);\n },\n [getQuery, history]\n );\n\n const handleLegendChange = useCallback(\n (resultKeys: Array>): void => {\n const query = getQuery();\n\n if (!resultKeys.includes(\"cars\") && !resultKeys.includes(\"bikes\")) {\n const selectedAges = [\n resultKeys.includes(\"ageJun\") ? \"ageJun\" : null,\n resultKeys.includes(\"ageMiddle\") ? \"ageMiddle\" : null,\n resultKeys.includes(\"ageSenior\") ? \"ageSenior\" : null,\n resultKeys.includes(\"ageUnknown\") ? \"ageUnknown\" : null,\n ].filter(Boolean);\n\n const selectedGenders = [\n resultKeys.includes(\"gMale\") ? \"gMale\" : null,\n resultKeys.includes(\"gFemale\") ? \"gFemale\" : null,\n resultKeys.includes(\"gUnknown\") ? \"gUnknown\" : null,\n ].filter(Boolean);\n\n const filteredCategories: ICategories[] = categories.reduce(\n (acc: ICategories[], category: ICategories) => {\n if (\n category.age.some((age) => selectedAges.includes(age)) &&\n category.gender.some((gender) => selectedGenders.includes(gender))\n ) {\n acc.push({\n ...category,\n checkboxes: [...selectedAges, ...selectedGenders],\n });\n }\n return acc;\n },\n []\n );\n\n const selectedCategories = [\n ...filteredCategories.map((i) => i.name),\n ...(filteredCategories.map((i) => i.checkboxes)[0] ?? \"\"),\n \"men\",\n ];\n\n if (selectedCategories.length > 0) {\n query.set(\"objects\", JSON.stringify(selectedCategories));\n } else {\n query.set(\"objects\", JSON.stringify([]));\n }\n } else {\n query.set(\"objects\", JSON.stringify(resultKeys));\n }\n\n history.replace(`?${query.toString()}`);\n },\n [getQuery, history, categories]\n );\n\n // Clear panel state = clear URL\n const handleClearURL = useCallback(() => {\n history.push(location.pathname);\n }, [history, location]);\n\n const minDate =\n initialDateRange !== undefined\n ? moment(new Date(initialDateRange.start).setHours(0, 0, 0))\n : undefined;\n const maxDate =\n initialDateRange !== undefined\n ? moment(new Date(initialDateRange.end).setHours(23, 59, 59))\n : undefined;\n return (\n \n \n \n \n \n \n \n \n
\n
\n \n {t(I18N.chart.OPTIONS_PANEL_TITLE)}\n \n }\n color=\"primary\"\n onClick={handleDrawerToggle}\n >\n {t(I18N.chart.OPTIONS_PANEL_TOGGLE_BUTTON)}\n \n
\n \n \n \n \n \n colorScale={colorScale}\n entries={resultFields}\n value={resultKeys}\n onChange={handleLegendChange}\n />\n {menIsChecked && (\n \n colorScale={colorScale}\n entries={resultFields}\n value={resultKeys}\n isMen={menIsChecked}\n onChange={handleLegendChange}\n />\n )}\n
\n\n \n {t(I18N.chart.OPTIONS_PANEL_BUTTON)}\n \n \n \n \n );\n}\n","import React, { ReactElement } from \"react\";\nimport {\n Card,\n CardContent,\n makeStyles,\n Theme,\n Typography,\n} from \"@material-ui/core\";\n\nconst useStyles = makeStyles((theme: Theme) => ({\n card: {\n width: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"center\",\n background: \"transparent\",\n\n \"& .MuiCardContent-root\": {\n padding: theme.spacing(4),\n },\n },\n}));\n\ninterface MsgProps {\n message: string;\n}\n\nexport default function EmptyMsgCard(props: MsgProps): ReactElement {\n const classes = useStyles();\n\n return (\n \n \n \n {props.message}\n \n \n \n );\n}\n","import React, { ReactElement } from \"react\";\n\nimport { Group } from \"@visx/group\";\nimport Arc from \"@visx/shape/lib/shapes/Arc\";\nimport Pie from \"@visx/shape/lib/shapes/Pie\";\nimport { Text } from \"@visx/text\";\n\nimport { ScaleOrdinal } from \"d3-scale\";\nimport { d3locale } from \"../../../app/i18n/d3\";\nimport { COLORS } from \"../../../theme\";\nimport { ResultKeys } from \"../bar/types\";\n\ntype PieInputData = Array<{\n label: ResultKeys | \"etc\";\n value: number;\n}>;\n\nexport interface PieProps {\n width: number;\n height: number;\n resultKeys: Array>;\n colorScale: ScaleOrdinal, string>;\n data: Array<{\n label: ResultKeys;\n value: number;\n }>;\n getTooltipHandler: (\n datumIndex: string\n ) => ((event: MouseEvent) => void) | undefined;\n tTip: false | JSX.Element | undefined;\n hideTooltip: () => void;\n containerRef: (element: HTMLElement | SVGElement | null) => void;\n}\n\nexport default function PieChart({\n width,\n height,\n colorScale,\n data,\n resultKeys,\n getTooltipHandler,\n tTip,\n hideTooltip,\n containerRef,\n}: PieProps): ReactElement | null {\n if (width < 10) {\n return null;\n }\n\n const innerWidth = width;\n const innerHeight = height;\n const radius =\n width <= 220\n ? Math.min(innerWidth, innerHeight) / 2.4\n : Math.min(innerWidth, innerHeight) / 2.8;\n const donutThickness = width <= 220 ? 45 : 60;\n const total = data.reduce((sum, { value }) => sum + value, 0);\n\n const etcNumber = data.reduce((sum, { label, value }) => {\n if (resultKeys.includes(label)) {\n return sum;\n }\n\n return sum + value;\n }, 0);\n\n const pieData: PieInputData = data.filter(({ label }) =>\n resultKeys.includes(label)\n );\n if (etcNumber > 0) {\n pieData.push({ label: \"etc\", value: etcNumber });\n }\n\n return (\n \n \n value}\n pieSortValues={() => -1}\n outerRadius={radius}\n innerRadius={radius - donutThickness}\n cornerRadius={3}\n fill=\"grey\"\n >\n {(pie) => {\n // we use 2 sequential pie.arcs.map cycles to ensure\n // that Text is not overlapped by Arcs\n return (\n \n {pie.arcs.map((arc) => {\n const isEtcArc = arc.data.label === \"etc\";\n return (\n )\n }\n outerRadius={radius}\n innerRadius={radius - donutThickness}\n padAngle={0.05}\n cornerRadius={5}\n onMouseOver={getTooltipHandler(arc.data.label)}\n onMouseLeave={hideTooltip}\n />\n );\n })}\n \n 100%\n \n {pie.arcs.map((arc, index) => {\n const [x, y] = pie.path.centroid(arc);\n if (arc.value / total > 0.08)\n return (\n \n {d3locale.format(\".2~%\")(arc.value / total)}\n \n );\n })}\n \n );\n }}\n \n {tTip}\n \n \n );\n}\n","import React, { useMemo } from \"react\";\nimport { Bar } from \"@visx/shape\";\nimport { Group } from \"@visx/group\";\nimport { AxisLeft } from \"@visx/axis\";\nimport { scaleBand, scaleLinear } from \"@visx/scale\";\nimport { GridRows } from \"@visx/visx\";\nimport { COLORS } from \"../../../theme\";\nimport { ScaleOrdinal } from \"d3-scale\";\n\nimport { ResultKeys } from \"../../../components/charts/bar/types\";\nimport { DataForTotalPie } from \"../constants\";\n\nexport type BarsProps = {\n width: number;\n height: number;\n events?: boolean;\n data: Array;\n};\n\ninterface IProps extends BarsProps {\n getTooltipHandler: (\n datumIndex: string\n ) => ((event: MouseEvent) => void) | undefined;\n tTip: false | JSX.Element | undefined;\n hideTooltip: () => void;\n containerRef: (element: HTMLElement | SVGElement | null) => void;\n resultKeys: Array>;\n colorScale: ScaleOrdinal, string>;\n}\n\nconst black = \"#000000\";\n\nexport default function PeopleCategoryPercentage(props: IProps) {\n const {\n width,\n height,\n data,\n tTip,\n resultKeys,\n containerRef,\n hideTooltip,\n getTooltipHandler,\n } = props;\n const verticalMargin = 120;\n\n const offset = useMemo(\n () => ({\n left: 30,\n top: 60,\n }),\n [data]\n );\n\n const chartWidth = width;\n const chartHeight = height;\n\n // accessors\n const getLabel = (d: DataForTotalPie) => d.label;\n const getValue = (d: DataForTotalPie) => d.value;\n\n // bounds\n const xMax = width - 25;\n const yMax = height - verticalMargin;\n\n // scales, memoize for performance\n const xScale = useMemo(\n () =>\n scaleBand({\n range: [0, xMax],\n round: true,\n domain: data.map(getLabel),\n padding: 0.4,\n }),\n [xMax, data]\n );\n const yScale = useMemo(\n () =>\n scaleLinear({\n range: [yMax, 0],\n round: true,\n domain: [0, Math.max(...data.map(getValue))],\n }),\n [yMax, data]\n );\n\n const valueOfFilteredData: number = data\n .filter((i) => i.value !== 0)\n .reduce((sum, { value }) => sum + value, 0);\n\n const leftAxis = scaleLinear({\n range: [yMax, 0],\n round: true,\n domain: [0, (Math.max(...data.map(getValue)) / valueOfFilteredData) * 100],\n });\n\n const filteredData: DataForTotalPie[] = data.filter(({ label }) =>\n resultKeys.includes(label as ResultKeys)\n );\n\n return width < 10 ? null : (\n \n \n \n {filteredData.map((d, i) => {\n const label = getLabel(d);\n const barWidth = xScale.bandwidth();\n const barHeight = yMax - (yScale(getValue(d)) ?? 0);\n const barX = xScale(label);\n const barY = yMax - barHeight;\n return (\n \n );\n })}\n `${value}%`}\n tickValues={\n data.length === 1 ? [0, 25, 50, 75, 100] : leftAxis.ticks(4)\n }\n stroke={black}\n tickStroke={black}\n />\n {tTip}\n \n \n );\n}\n","import React, { ReactElement, useState, useCallback } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useSelector } from \"react-redux\";\n\nimport {\n Card,\n CardContent,\n makeStyles,\n Theme,\n Typography,\n useTheme,\n} from \"@material-ui/core\";\n\nimport { ParentSize } from \"@visx/responsive\";\nimport {\n defaultStyles as defaultTooltipStyles,\n useTooltip,\n useTooltipInPortal,\n} from \"@visx/tooltip\";\nimport { localPoint } from \"@visx/visx\";\nimport { ScaleOrdinal } from \"d3-scale\";\n\nimport I18N from \"../../../app/i18n/strings\";\nimport { selectIsMenMode, selectIsMenUniteMode } from \"../dashboardSlice\";\n\nimport { ResultKeys } from \"../../../components/charts/bar/types\";\nimport { ChartVariant } from \"../../../components/charts/Chart\";\nimport VisiusLegend from \"../../../components/charts/Legend\";\nimport PieChart from \"../../../components/charts/pie/PieChart\";\n\nimport { AggregationResult } from \"../chart-types\";\nimport ChartTooltip from \"../charts/ChartTooltip\";\nimport PeopleCategoryPercentage from \"../charts/PeopleCategoryPercentage\";\nimport { getX, getXTooltipLabel, RawResult } from \"../charts/RawResult\";\n\nimport ChartCardHeader from \"./ChartCardHeader\";\n\nimport { COLORS } from \"../../../theme\";\nimport { DataForTotalPie } from \"../constants\";\n\ninterface TotalChartProps {\n resultKeys: Array>;\n colorScale: ScaleOrdinal, string>;\n data: Array;\n variants: ChartVariant[];\n}\n\nconst useStyles = makeStyles((theme: Theme) => ({\n cardWrap: {\n boxShadow: \"none\",\n borderRadius: 8,\n border: \"1px solid\",\n borderColor: COLORS.GREY2,\n },\n cardContent: {\n padding: theme.spacing(4, 3),\n },\n legend: {\n display: \"flex\",\n flexWrap: \"wrap\",\n flexDirection: \"row\",\n justifyContent: \"center\",\n alignItems: \"center\",\n paddingTop: theme.spacing(3.5),\n },\n}));\n\nexport default function TotalPieCard(props: TotalChartProps): ReactElement {\n const { data, colorScale, resultKeys } = props;\n const { t } = useTranslation();\n const classes = useStyles();\n const [chartVariant, setChartVariant] = useState(\"pie\");\n const isMenMode = useSelector(selectIsMenMode);\n const isMenUniteMode = useSelector(selectIsMenUniteMode);\n const hasEtcData =\n data.findIndex(({ label, value }) => {\n return !resultKeys.includes(label) && value > 0;\n }) !== -1;\n const theme = useTheme();\n\n const etcNumber = data.reduce((sum, { label, value }) => {\n if (resultKeys.includes(label)) {\n return sum;\n }\n\n return sum + value;\n }, 0);\n\n // Tooltip\n const {\n tooltipData,\n tooltipLeft,\n tooltipTop,\n tooltipOpen,\n\n showTooltip,\n hideTooltip,\n } = useTooltip();\n\n const { containerRef, TooltipInPortal } = useTooltipInPortal({\n // automatically position tooltip with respect to chart bounds\n detectBounds: true,\n // when tooltip containers are scrolled, this will correctly update the Tooltip position\n scroll: true,\n });\n\n const getTooltip = useCallback(\n (totalData: RawResult): ReactElement => {\n return (\n \n getXTooltipLabel(getX(data as RawResult))\n }\n />\n );\n },\n [colorScale, resultKeys]\n );\n\n const getTooltipHandler = useCallback(\n (datumIndex: string) => {\n if (showTooltip === undefined) {\n return;\n }\n\n return (event: MouseEvent): void => {\n const coords = localPoint(\n (event.target as SVGElement).ownerSVGElement as Element,\n event\n );\n\n const foundData = data.find((i) => i.label === datumIndex);\n\n showTooltip({\n tooltipLeft: coords?.x,\n tooltipTop: coords?.y,\n tooltipData: foundData\n ? foundData\n : { label: \"etc\", color: \"F0F0F0\", value: etcNumber },\n });\n };\n },\n [showTooltip, data]\n );\n\n const tTip = getTooltip !== undefined && tooltipOpen && tooltipData && (\n \n {getTooltip(tooltipData as RawResult)}\n \n );\n\n return (\n \n \n \n \n {t(I18N.chart.TOOLTIP_TOTAL_PIE_SUMMARY)}\n \n \n {t(I18N.chart.TOOLTIP_TOTAL_PIE[0])}\n \n \n {t(I18N.chart.TOOLTIP_TOTAL_PIE[1])}\n \n \n }\n />\n \n {(parent): ReactElement | null => {\n if (chartVariant === \"group\") {\n return (\n \n );\n }\n return (\n \n );\n }}\n \n
\n \n
\n
\n
\n );\n}\n","import React from \"react\";\nimport { DetailData } from \"./GenderStats\";\n\nexport type BarStackHorizontalProps = {\n detailData?: DetailData;\n colorOld: string;\n colorMiddle: string;\n colorYoung: string;\n colorUnknown: string;\n};\n\nexport default function DetailStatsCard(props: BarStackHorizontalProps) {\n const { detailData, colorOld, colorMiddle, colorUnknown, colorYoung } = props;\n\n const old = detailData?.old ?? 0;\n const middle = detailData?.middle ?? 0;\n const young = detailData?.young ?? 0;\n const unknown = detailData?.unknown ?? 0;\n\n const totalCount = old + middle + young + unknown;\n\n const oldPercent = (old / totalCount) * 100;\n const middlePercent = (middle / totalCount) * 100;\n const youngPercent = (young / totalCount) * 100;\n const unknownPercent = (unknown / totalCount) * 100;\n\n return (\n
\n \n \n \n \n
\n );\n}\n","import React, { ReactElement } from \"react\";\n\nimport { makeStyles, Theme, Typography } from \"@material-ui/core\";\nimport clsx from \"clsx\";\n\nimport DetailStatsCard from \"./DetailStatsCard\";\n\nexport interface DetailData {\n old: number;\n middle: number;\n young: number;\n unknown: number;\n}\n\ninterface IGenderStats {\n detailData?: DetailData;\n colorOld: string;\n colorMiddle: string;\n colorYoung: string;\n colorUnknown: string;\n hideDetails: boolean;\n}\n\nconst useStyles = (color?: string): ReturnType =>\n makeStyles((theme: Theme) => ({\n detailInfo: {\n display: \"flex\",\n justifyContent: \"space-between\",\n height: \"70px\",\n transition: \"height .3s, opacity .3s\",\n },\n detailInfoHide: {\n height: 0,\n opacity: 0,\n transition: \"height .3s, opacity .3s\",\n },\n detailItem: {\n display: \"flex\",\n gap: \"8px\",\n alignItems: \"center\",\n marginBottom: \"2px\",\n },\n detailMenItemSquare: {\n width: \"10px\",\n height: \"10px\",\n borderRadius: \"2px\",\n },\n detailItemCount: {\n display: \"flex\",\n gap: \"8px\",\n alignItems: \"center\",\n marginBottom: \"2px\",\n justifyContent: \"right\",\n\n \"& .MuiTypography-root\": {\n fontWeight: 500,\n color: theme.palette.text.secondary,\n },\n },\n }));\n\nexport default function GenderStats(props: IGenderStats): ReactElement {\n const classes = useStyles()();\n\n return (\n <>\n \n \n \n \n
\n {props.detailData?.old ? (\n
\n
\n 45+\n
\n ) : null}\n\n {props.detailData?.middle ? (\n
\n
\n 15-45\n \n ) : null}\n {props.detailData?.young ? (\n
\n
\n 0-15\n \n ) : null}\n {props.detailData?.unknown ? (\n
\n
\n Н/О\n \n ) : null}\n \n
\n {props.detailData?.old ? (\n
\n {props.detailData.old}\n
\n ) : null}\n\n {props.detailData?.middle ? (\n
\n {props.detailData.middle}\n
\n ) : null}\n {props.detailData?.young ? (\n
\n {props.detailData.young}\n
\n ) : null}\n {props.detailData?.unknown ? (\n
\n \n {props.detailData.unknown}\n \n
\n ) : null}\n
\n \n \n );\n}\n","import React, { ReactElement, useCallback, useState } from \"react\";\nimport {\n Card,\n CardContent,\n LinearProgress,\n makeStyles,\n SvgIconTypeMap,\n Theme,\n Typography,\n} from \"@material-ui/core\";\nimport { OverridableComponent } from \"@material-ui/core/OverridableComponent\";\nimport { d3format } from \"../../../app/i18n/d3\";\nimport { COLORS } from \"../../../theme\";\nimport GenderStats, { DetailData } from \"./GenderStats\";\n\ninterface StatsCardProps {\n number: number;\n title: string | JSX.Element;\n iconComponent?:\n | OverridableComponent>\n | React.FunctionComponent>;\n color?: string;\n progress?: number;\n isDetailStats?: boolean;\n detailData?: DetailData;\n}\n\nconst useStyles = (color?: string): ReturnType =>\n makeStyles((theme: Theme) => ({\n cardWrap: {\n boxShadow: \"none\",\n borderRadius: 8,\n border: \"1px solid\",\n borderColor: COLORS.GREY2,\n },\n card: {\n padding: theme.spacing(3),\n },\n number: {\n fontSize: 32,\n lineHeight: \"32px\",\n fontWeight: 700,\n },\n numberWithProgress: {\n fontSize: 24,\n fontWeight: 700,\n lineHeight: \"32px\",\n marginBottom: theme.spacing(1),\n },\n progress: {\n height: theme.spacing(1),\n \"&.MuiLinearProgress-colorPrimary\": {\n backgroundColor: COLORS.BLUE1,\n },\n \"& .MuiLinearProgress-barColorPrimary\": {\n backgroundColor: color ?? COLORS.BLUE6,\n },\n },\n title: {\n marginTop: 10,\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n },\n titleIcon: {\n color: color ?? COLORS.BLUE6,\n },\n }));\n\nexport default function StatsCard(props: StatsCardProps): ReactElement {\n const classes = useStyles(props.color)();\n const [hideDetails, setHideDetails] = useState(true);\n\n const handleHideDetails = useCallback(() => {\n setHideDetails((prev) => !prev);\n }, [hideDetails, setHideDetails]);\n\n return (\n \n \n \n {d3format(props.number)}\n \n {props.progress !== undefined &&\n (props.isDetailStats ? (\n <>\n {props.title === \"Мужчины\" ? (\n \n ) : null}\n {props.title === \"Женщины\" ? (\n \n ) : null}\n {props.title === \"Не определено\" ? (\n \n ) : null}\n \n ) : (\n \n ))}\n {props.isDetailStats ? (\n
\n
\n {typeof props.title === \"string\" ? (\n {props.title}\n ) : (\n props.title\n )}\n\n \n {hideDetails ? \"Детали\" : \"Скрыть\"}\n \n
\n {props.iconComponent !== undefined && (\n \n )}\n
\n ) : (\n
\n
\n {props.title}\n
\n {props.iconComponent !== undefined && (\n \n )}\n
\n )}\n
\n
\n );\n}\n","import I18N from \"../../app/i18n/strings\";\nimport { ResultKeys } from \"../../components/charts/bar/types\";\nimport { RawResult } from \"./charts/RawResult\";\nimport { LegendEntry } from \"./components/Legend\";\n\nexport interface DataForTotalPie {\n index: number;\n label: ResultKeys;\n value: number;\n color: string;\n}\n\nexport const resultFields: Record = {\n men: { title: I18N.chart.LEGEND_MEN, color: \"#579EDD\" },\n cars: { title: I18N.chart.LEGEND_CARS, color: \"#AA54B2\" },\n bikes: { title: I18N.chart.LEGEND_BIKES, color: \"#F8981D\" },\n oldMen: { title: I18N.chart.LEGEND_OLDMEN, color: \"#11B0C7\" },\n middleMen: { title: I18N.chart.LEGEND_MIDDLEMEN, color: \"#59C8D8\" },\n youngMen: { title: I18N.chart.LEGEND_YOUNGMEN, color: \"#ACE3EB\" },\n unknownMen: { title: I18N.chart.LEGEND_UNKNOWNMEN, color: \"#DBF3F7\" },\n oldWomen: { title: I18N.chart.LEGEND_OLDWOMEN, color: \"#EE645A\" },\n middleWomen: { title: I18N.chart.LEGEND_MIDDLEWOMEN, color: \"#F3938B\" },\n youngWomen: { title: I18N.chart.LEGEND_YOUNGWOMEN, color: \"#F9C9C5\" },\n unknownWomen: { title: I18N.chart.LEGEND_UNKNOWNWOMEN, color: \"#FCE8E6\" },\n oldUnknown: { title: I18N.chart.LEGEND_OLDUNKNOWN, color: \"#888888\" },\n middleUnknown: { title: I18N.chart.LEGEND_MIDDLEUNKNOWN, color: \"#BBBBBB\" },\n youngUnknown: { title: I18N.chart.LEGEND_YOUNGUNKNOWN, color: \"#E2E0E0\" },\n unknownUnknown: { title: I18N.chart.LEGEND_UNKNOWNUNKNOWN, color: \"#F0F0F0\" },\n ageJun: { title: I18N.chart.LEGEND_YOUNG, color: \"#179EDD\" },\n ageMiddle: { title: I18N.chart.LEGEND_MIDDLE, color: \"#22BD66\" },\n ageSenior: { title: I18N.chart.LEGEND_OLD, color: \"#32BD66\" },\n ageUnknown: { title: I18N.chart.LEGEND_UNKNOWN_AGE, color: \"#42BD66\" },\n gMale: { title: I18N.chart.LEGEND_MALE, color: \"#52BD66\" },\n gFemale: { title: I18N.chart.LEGEND_FEMALE, color: \"#62BD66\" },\n gUnknown: { title: I18N.chart.LEGEND_UNKNOWN_GENDER, color: \"#71BD66\" },\n};\n\nexport const allkindOfPeople: ResultKeys[] = [\n \"oldMen\",\n \"oldMenObject\",\n \"oldMenUniq\",\n \"oldMenRepeating\",\n \"oldMenRepeatingObject\",\n \"middleMen\",\n \"middleMenObject\",\n \"middleMenUniq\",\n \"middleMenRepeating\",\n \"middleMenRepeatingObject\",\n \"youngMen\",\n \"youngMenObject\",\n \"youngMenUniq\",\n \"youngMenRepeating\",\n \"youngMenRepeatingObject\",\n \"unknownMen\",\n \"unknownMenObject\",\n \"unknownMenUniq\",\n \"unknownMenRepeating\",\n \"unknownMenRepeatingObject\",\n \"oldWomen\",\n \"oldWomenObject\",\n \"oldWomenUniq\",\n \"oldWomenRepeating\",\n \"oldWomenRepeatingObject\",\n \"middleWomen\",\n \"middleWomenObject\",\n \"middleWomenUniq\",\n \"middleWomenRepeating\",\n \"middleWomenRepeatingObject\",\n \"youngWomen\",\n \"youngWomenObject\",\n \"youngWomenUniq\",\n \"youngWomenRepeating\",\n \"youngWomenRepeatingObject\",\n \"unknownWomen\",\n \"unknownWomenObject\",\n \"unknownWomenUniq\",\n \"unknownWomenRepeating\",\n \"unknownWomenRepeatingObject\",\n \"oldUnknown\",\n \"oldUnknownObject\",\n \"oldUnknownUniq\",\n \"oldUnknownRepeating\",\n \"oldUnknownRepeatingObject\",\n \"middleUnknown\",\n \"middleUnknownObject\",\n \"middleUnknownUniq\",\n \"middleUnknownRepeating\",\n \"middleUnknownRepeatingObject\",\n \"youngUnknown\",\n \"youngUnknownObject\",\n \"youngUnknownUniq\",\n \"youngUnknownRepeating\",\n \"youngUnknownRepeatingObject\",\n \"unknownUnknown\",\n \"unknownUnknownObject\",\n \"unknownUnknownUniq\",\n \"unknownUnknownRepeating\",\n \"unknownUnknownRepeatingObject\",\n];\n\nexport const menContainer = (value?: string): Partial[] => {\n {\n switch (value) {\n case \"uniq\":\n return [\n \"oldMenUniq\",\n \"middleMenUniq\",\n \"youngMenUniq\",\n \"unknownMenUniq\",\n \"oldWomenUniq\",\n \"middleWomenUniq\",\n \"youngWomenUniq\",\n \"unknownWomenUniq\",\n \"oldUnknownUniq\",\n \"middleUnknownUniq\",\n \"youngUnknownUniq\",\n \"unknownUnknownUniq\",\n ];\n case \"repeating\":\n return [\n \"oldMenRepeating\",\n \"middleMenRepeating\",\n \"youngMenRepeating\",\n \"unknownMenRepeating\",\n \"oldWomenRepeating\",\n \"middleWomenRepeating\",\n \"youngWomenRepeating\",\n \"unknownWomenRepeating\",\n \"oldUnknownRepeating\",\n \"middleUnknownRepeating\",\n \"youngUnknownRepeating\",\n \"unknownUnknownRepeating\",\n ];\n case \"object\":\n return [\n \"oldMenObject\",\n \"middleMenObject\",\n \"youngMenObject\",\n \"unknownMenObject\",\n \"oldWomenObject\",\n \"middleWomenObject\",\n \"youngWomenObject\",\n \"unknownWomenObject\",\n \"oldUnknownObject\",\n \"middleUnknownObject\",\n \"youngUnknownObject\",\n \"unknownUnknownObject\",\n ];\n case \"repeatingObject\":\n return [\n \"oldMenRepeatingObject\",\n \"middleMenRepeatingObject\",\n \"youngMenRepeatingObject\",\n \"unknownMenRepeatingObject\",\n \"oldWomenRepeatingObject\",\n \"middleWomenRepeatingObject\",\n \"youngWomenRepeatingObject\",\n \"unknownWomenRepeatingObject\",\n \"oldUnknownRepeatingObject\",\n \"middleUnknownRepeatingObject\",\n \"youngUnknownRepeatingObject\",\n \"unknownUnknownRepeatingObject\",\n ];\n default:\n return [\n \"oldMen\",\n \"middleMen\",\n \"youngMen\",\n \"unknownMen\",\n \"oldWomen\",\n \"middleWomen\",\n \"youngWomen\",\n \"unknownWomen\",\n \"oldUnknown\",\n \"middleUnknown\",\n \"youngUnknown\",\n \"unknownUnknown\",\n ];\n }\n }\n};\n\nexport const nullData = (getDate: number, hour: number) => ({\n time: new Date(getDate + hour),\n cars: 0,\n bikes: 0,\n men: 0,\n\n oldMen: 0,\n middleMen: 0,\n youngMen: 0,\n unknownMen: 0,\n oldWomen: 0,\n middleWomen: 0,\n youngWomen: 0,\n unknownWomen: 0,\n oldUnknown: 0,\n middleUnknown: 0,\n youngUnknown: 0,\n unknownUnknown: 0,\n\n oldMenObject: 0,\n middleMenObject: 0,\n youngMenObject: 0,\n unknownMenObject: 0,\n oldWomenObject: 0,\n middleWomenObject: 0,\n youngWomenObject: 0,\n unknownWomenObject: 0,\n oldUnknownObject: 0,\n middleUnknownObject: 0,\n youngUnknownObject: 0,\n unknownUnknownObject: 0,\n\n oldMenUniq: 0,\n middleMenUniq: 0,\n youngMenUniq: 0,\n unknownMenUniq: 0,\n oldWomenUniq: 0,\n middleWomenUniq: 0,\n youngWomenUniq: 0,\n unknownWomenUniq: 0,\n oldUnknownUniq: 0,\n middleUnknownUniq: 0,\n youngUnknownUniq: 0,\n unknownUnknownUniq: 0,\n\n oldMenRepeating: 0,\n middleMenRepeating: 0,\n youngMenRepeating: 0,\n unknownMenRepeating: 0,\n oldWomenRepeating: 0,\n middleWomenRepeating: 0,\n youngWomenRepeating: 0,\n unknownWomenRepeating: 0,\n oldUnknownRepeating: 0,\n middleUnknownRepeating: 0,\n youngUnknownRepeating: 0,\n unknownUnknownRepeating: 0,\n\n oldMenRepeatingObject: 0,\n middleMenRepeatingObject: 0,\n youngMenRepeatingObject: 0,\n unknownMenRepeatingObject: 0,\n oldWomenRepeatingObject: 0,\n middleWomenRepeatingObject: 0,\n youngWomenRepeatingObject: 0,\n unknownWomenRepeatingObject: 0,\n oldUnknownRepeatingObject: 0,\n middleUnknownRepeatingObject: 0,\n youngUnknownRepeatingObject: 0,\n unknownUnknownRepeatingObject: 0,\n\n ageJun: 0,\n ageMiddle: 0,\n ageSenior: 0,\n ageUnknown: 0,\n gMale: 0,\n gFemale: 0,\n gUnknown: 0,\n});\n\nexport const itemData: Partial = {\n men: 0,\n oldMen: 0,\n middleMen: 0,\n youngMen: 0,\n unknownMen: 0,\n oldWomen: 0,\n middleWomen: 0,\n youngWomen: 0,\n unknownWomen: 0,\n oldUnknown: 0,\n middleUnknown: 0,\n youngUnknown: 0,\n unknownUnknown: 0,\n cars: 0,\n bikes: 0,\n};\n\nexport const dataForTotalPie = (\n getValue: (label: string) => number,\n totalMen: number,\n totalCars: number,\n totalBikes: number,\n totalObjects: number,\n isMenMode: boolean,\n isMenUniteMode: boolean\n): DataForTotalPie[] =>\n isMenMode && !isMenUniteMode\n ? [\n {\n label: \"oldMen\",\n value: getValue(\"oldMen\"),\n color: \"#11B0C7\",\n index: 4,\n },\n {\n label: \"middleMen\",\n value: getValue(\"middleMen\"),\n color: \"#59C8D8\",\n index: 5,\n },\n {\n label: \"youngMen\",\n value: getValue(\"youngMen\"),\n color: \"#ACE3EB\",\n index: 6,\n },\n {\n label: \"unknownMen\",\n value: getValue(\"unknownMen\"),\n color: \"#DBF3F7\",\n index: 7,\n },\n {\n label: \"oldWomen\",\n value: getValue(\"oldWomen\"),\n color: \"#EE645A\",\n index: 8,\n },\n {\n label: \"middleWomen\",\n value: getValue(\"middleWomen\"),\n color: \"#F3938B\",\n index: 9,\n },\n {\n label: \"youngWomen\",\n value: getValue(\"youngWomen\"),\n color: \"#F9C9C5\",\n index: 10,\n },\n {\n label: \"unknownWomen\",\n value: getValue(\"unknownWomen\"),\n color: \"#FCE8E6\",\n index: 11,\n },\n {\n label: \"oldUnknown\",\n value: getValue(\"oldUnknown\"),\n color: \"#888888\",\n index: 12,\n },\n {\n label: \"middleUnknown\",\n value: getValue(\"middleUnknown\"),\n color: \"#BBBBBB\",\n index: 13,\n },\n {\n label: \"youngUnknown\",\n value: getValue(\"youngUnknown\"),\n color: \"#E2E0E0\",\n index: 14,\n },\n {\n label: \"unknownUnknown\",\n value: getValue(\"unknownUnknown\"),\n color: \"#F0F0F0\",\n index: 15,\n },\n ]\n : isMenMode && isMenUniteMode\n ? [{ label: \"men\", value: totalMen, color: \"#579EDD\", index: 3 }]\n : [\n {\n label: \"men\",\n value: totalMen / totalObjects,\n color: \"#579EDD\",\n index: 0,\n },\n {\n label: \"cars\",\n value: totalCars / totalObjects,\n color: \"#AA54B2\",\n index: 1,\n },\n {\n label: \"bikes\",\n value: totalBikes / totalObjects,\n color: \"#F8981D\",\n index: 2,\n },\n ];\n\nexport function getDetailData(\n gender: string,\n totals: RawResult,\n peopleMode: any\n) {\n const data = {\n old: peopleMode.common\n ? totals[`old${gender}Object` as ResultKeys]\n : peopleMode.uniq\n ? totals[`old${gender}Uniq` as ResultKeys]\n : totals[`old${gender}RepeatingObject` as ResultKeys],\n middle: peopleMode.common\n ? totals[`middle${gender}Object` as ResultKeys]\n : peopleMode.uniq\n ? totals[`middle${gender}Uniq` as ResultKeys]\n : totals[`middle${gender}RepeatingObject` as ResultKeys],\n young: peopleMode.common\n ? totals[`young${gender}Object` as ResultKeys]\n : peopleMode.uniq\n ? totals[`young${gender}Uniq` as ResultKeys]\n : totals[`young${gender}RepeatingObject` as ResultKeys],\n unknown: peopleMode.common\n ? totals[`unknown${gender}Object` as ResultKeys]\n : peopleMode.uniq\n ? totals[`unknown${gender}Uniq` as ResultKeys]\n : totals[`unknown${gender}RepeatingObject` as ResultKeys],\n };\n return data;\n}\n\n","import { Theme, makeStyles } from \"@material-ui/core\";\nimport { MAX_CARD_WIDTH } from \"./Page\";\n\nexport const useStyles = makeStyles((theme: Theme) => ({\n cardContainer: {\n position: \"relative\",\n display: \"flex\",\n flexWrap: \"wrap\",\n padding: theme.spacing(12, 2, 1, 3),\n\n [theme.breakpoints.down(1580)]: {\n padding: (props: { isMenMode: boolean }) =>\n props.isMenMode ? \"140px 16px 8px 24px\" : \"96px 16px 8px 24px\",\n },\n },\n header: {\n position: \"fixed\",\n zIndex: theme.zIndex.appBar,\n top: theme.spacing(16),\n width: `calc(100% - 240px - 368px - 32px - 56px)`,\n display: \"flex\",\n flexDirection: \"column\",\n marginLeft: theme.spacing(4),\n marginRight: theme.spacing(3),\n },\n headerWrapper: {\n display: \"flex\",\n width: \"100%\",\n height: 38,\n alignItems: \"center\",\n justifyContent: \"space-between\",\n marginTop: theme.spacing(0.4),\n position: \"relative\",\n bottom: \"6px\",\n\n [theme.breakpoints.down(1580)]: {\n height: (props: { isMenMode: boolean }) =>\n props.isMenMode ? \"auto\" : \"38px\",\n },\n },\n generalInfo: {\n display: \"flex\",\n alignItems: \"center\",\n\n [theme.breakpoints.down(1580)]: {\n flexDirection: (props: { isMenMode: boolean }) =>\n props.isMenMode ? \"column\" : \"row\",\n alignItems: \"flex-start\",\n },\n },\n infoItems: {\n display: \"flex\",\n },\n button: {\n color: theme.palette.text.secondary,\n textTransform: \"none\",\n padding: theme.spacing(1, 1.5),\n border: `1.5px solid transparent`,\n\n \"& .MuiTypography-root\": {\n fontSize: \"12px\",\n lineHeight: \"15px\",\n fontWeight: 600,\n whiteSpace: \"nowrap\",\n },\n },\n buttonActive: {\n color: theme.palette.primary.main,\n background: \"#eaf0ff\",\n border: `1.5px solid ${theme.palette.primary.main}`,\n borderRadius: theme.spacing(1),\n },\n title: {\n whiteSpace: \"nowrap\",\n marginRight: theme.spacing(3),\n\n [theme.breakpoints.down(1580)]: {\n marginBottom: \"18px\",\n },\n },\n divider: {\n position: \"sticky\",\n zIndex: theme.zIndex.appBar,\n top: \"177px\",\n width: `calc(100% - 16px)`,\n margin: theme.spacing(0, 1, 3, 1),\n\n [theme.breakpoints.down(1580)]: {\n top: (props: { isMenMode: boolean }) =>\n props.isMenMode ? \"220px\" : \"177px\",\n\n marginBottom: (props: { isMenMode: boolean }) =>\n props.isMenMode ? theme.spacing(2) : theme.spacing(3),\n },\n },\n nestedCardContainer: {\n display: \"flex\",\n\n [theme.breakpoints.down(1920)]: {\n flexWrap: \"wrap\",\n gap: theme.spacing(2),\n },\n\n \"& $card\": {\n margin: 0,\n marginRight: theme.spacing(2),\n\n [theme.breakpoints.down(1920)]: {\n margin: 0,\n },\n\n \"&:last-child\": {\n marginRight: 0,\n },\n },\n },\n card: {\n margin: theme.spacing(1),\n flexGrow: 1,\n flexShrink: 1,\n flexBasis: MAX_CARD_WIDTH,\n\n [theme.breakpoints.down(1580)]: {\n flexBasis: 270,\n },\n\n \"& .MuiCard-root\": {\n border: `1px solid ${theme.palette.grey[50]}`,\n borderRadius: theme.spacing(3),\n boxShadow: \"0px 4px 8px rgba(18, 32, 69, 0.05)\",\n },\n\n \"&.fixed\": {\n flexGrow: 0,\n flexShrink: 0,\n },\n\n \"&.full-width\": {\n flexBasis: \"100%\",\n },\n\n \"&.fit\": {\n flexBasis: `calc(100% - ${MAX_CARD_WIDTH + theme.spacing(4)}px)`,\n\n \"&.wide\": {\n minWidth: 700,\n\n [theme.breakpoints.down(1580)]: {\n minWidth: 500,\n },\n },\n },\n },\n switcher: {\n [theme.breakpoints.down(1580)]: {\n alignSelf: \"flex-end\",\n marginLeft: \"8px\",\n },\n\n \"& .MuiFormControlLabel-root\": {\n marginRight: 0,\n },\n \"& .MuiSwitch-root\": {\n padding: \"6px\",\n },\n \"& .MuiSwitch-switchBase\": {\n \"&.Mui-checked\": {\n \"& + .MuiSwitch-track\": {\n background: \"linear-gradient(90deg, #0891F2 0%, #055EEA 99.94%)\",\n opacity: 1,\n },\n },\n },\n \"& .MuiSwitch-track\": {\n borderRadius: theme.spacing(2),\n opacity: 1,\n backgroundColor: \"#D3D3D3 !important\",\n },\n \"& .MuiSwitch-thumb\": {\n marginTop: \"2px\",\n marginLeft: \"2px\",\n width: theme.spacing(2),\n height: theme.spacing(2),\n backgroundColor: \"#fbfbfb\",\n },\n },\n emptyMsgCard: {\n display: \"flex\",\n flexWrap: \"wrap\",\n padding: \"96px 0 8px 24px\",\n marginRight: \"16px\",\n },\n}));\n","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgCameraIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 14,\n viewBox: \"0 0 20 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M3 2C2.73478 2 2.48043 2.10536 2.29289 2.29289C2.10536 2.48043 2 2.73478 2 3V11C2 11.2652 2.10536 11.5196 2.29289 11.7071C2.48043 11.8946 2.73478 12 3 12H11C11.2652 12 11.5196 11.8946 11.7071 11.7071C11.8946 11.5196 12 11.2652 12 11V3C12 2.73478 11.8946 2.48043 11.7071 2.29289C11.5196 2.10536 11.2652 2 11 2H3ZM14 3.38212V3C14 2.20435 13.6839 1.44129 13.1213 0.87868C12.5587 0.31607 11.7956 0 11 0H3C2.20435 0 1.44129 0.31607 0.87868 0.87868C0.31607 1.44129 0 2.20435 0 3V11C0 11.7956 0.31607 12.5587 0.87868 13.1213C1.44129 13.6839 2.20435 14 3 14H11C11.7957 14 12.5587 13.6839 13.1213 13.1213C13.6839 12.5587 14 11.7957 14 11V10.6179L17.1059 12.1705C17.4107 12.3228 17.7495 12.3948 18.09 12.3794C18.4304 12.3641 18.7613 12.262 19.0512 12.0829C19.3411 11.9038 19.5805 11.6536 19.7465 11.356C19.9126 11.0584 19.9998 10.7233 20 10.3825V3.618C19.9998 3.27722 19.9126 2.9416 19.7465 2.64401C19.5805 2.34642 19.3411 2.09619 19.0512 1.91708C18.7613 1.73796 18.4304 1.63589 18.09 1.62056C17.7496 1.60523 17.4108 1.67714 17.106 1.82947L14 3.38212ZM14 5.61809V8.38191L18 10.3815V3.61853L14 5.61809Z\",\n fill: \"#FFFFFF\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCameraIcon);\nexport default __webpack_public_path__ + \"static/media/cameraIcon.2af51853.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { ScaleOrdinal } from \"d3-scale\";\n\nimport {\n selectIsMenMode,\n selectIsMenUniteMode,\n selectPeopleMode,\n} from \"../dashboardSlice\";\nimport StatsCard from \"./StatsCard\";\nimport moment from \"moment\";\nimport { ResultKeys } from \"../../../components/charts/bar/types\";\nimport { RawResult } from \"../charts/RawResult\";\nimport { getDetailData } from \"../constants\";\nimport { useStyles } from \"../styles\";\nimport { DateRange } from \"../../../components/DateRangePicker\";\n\nimport { ReactComponent as WalkerIcon } from \"../../../app/assets/walkerIcon.svg\";\nimport { ReactComponent as CarIcon } from \"../../../app/assets/carIcon.svg\";\nimport { ReactComponent as BicycleIcon } from \"../../../app/assets/bicycleIcon.svg\";\nimport { ReactComponent as MenIcon } from \"../../../app/assets/menIcon.svg\";\nimport { ReactComponent as WomenIcon } from \"../../../app/assets/womenIcon.svg\";\nimport { ReactComponent as UnknownIcon } from \"../../../app/assets/unknownIcon.svg\";\n\ninterface IProps {\n resultKeysURL: Array>;\n totalMen: number;\n totalCars: number;\n totalBikes: number;\n totalCount: number;\n totalObjects: number;\n totalObjectCount: number;\n totalUniqCount: number;\n totalRepeatingObjectCount: number;\n totals: RawResult;\n dateRange: DateRange | undefined;\n colorScale: ScaleOrdinal, string, never>;\n}\n\nexport default function StatsContainer(props: IProps) {\n const {\n resultKeysURL,\n totals,\n totalCount,\n totalMen,\n totalCars,\n totalBikes,\n totalObjects,\n totalObjectCount,\n totalUniqCount,\n totalRepeatingObjectCount,\n dateRange,\n colorScale,\n } = props;\n const isMenMode = useSelector(selectIsMenMode);\n const isMenUniteMode = useSelector(selectIsMenUniteMode);\n const peopleMode = useSelector(selectPeopleMode);\n const dashboardClasses = useStyles({ isMenMode });\n\n const totalDetailMen =\n totals.oldMenObject +\n totals.middleMenObject +\n totals.youngMenObject +\n totals.unknownMenObject;\n\n const totalDetailMenUniq =\n totals.oldMenUniq +\n totals.middleMenUniq +\n totals.youngMenUniq +\n totals.unknownMenUniq;\n\n const totalDetailMenRepeatingObject =\n totals.oldMenRepeatingObject +\n totals.middleMenRepeatingObject +\n totals.youngMenRepeatingObject +\n totals.unknownMenRepeatingObject;\n\n const totalDetailWomen =\n totals.oldWomenObject +\n totals.middleWomenObject +\n totals.youngWomenObject +\n totals.unknownWomenObject;\n\n const totalDetailWomenUniq =\n totals.oldWomenUniq +\n totals.middleWomenUniq +\n totals.youngWomenUniq +\n totals.unknownWomenUniq;\n\n const totalDetailWomenRepeatingObject =\n totals.oldWomenRepeatingObject +\n totals.middleWomenRepeatingObject +\n totals.youngWomenRepeatingObject +\n totals.unknownWomenRepeatingObject;\n\n const totalDetailUnknown =\n totals.oldUnknownObject +\n totals.middleUnknownObject +\n totals.youngUnknownObject +\n totals.unknownUnknownObject;\n\n const totalDetailUnknownUniq =\n totals.oldUnknownUniq +\n totals.middleUnknownUniq +\n totals.youngUnknownUniq +\n totals.unknownUnknownUniq;\n\n const totalDetailUnknownRepeatingObject =\n totals.oldUnknownRepeatingObject +\n totals.middleUnknownRepeatingObject +\n totals.youngUnknownRepeatingObject +\n totals.unknownUnknownRepeatingObject;\n\n const detailMensData = {\n ...getDetailData(\"Men\", totals, peopleMode),\n };\n\n const detailWomenData = {\n ...getDetailData(\"Women\", totals, peopleMode),\n };\n const detailUnknownData = {\n ...getDetailData(\"Unknown\", totals, peopleMode),\n };\n\n return (\n <>\n \n \n Появлений с \n \n {moment(dateRange?.start).format(\"DD.MM.YYYY\")}\n \n  по \n \n {moment(dateRange?.end).format(\"DD.MM.YYYY\")}\n \n \n ) : (\n
\n Появлений всего распознано с \n \n {moment(dateRange?.start).format(\"DD.MM.YYYY\")}\n \n  по \n \n {moment(dateRange?.end).format(\"DD.MM.YYYY\")}\n \n
\n )\n }\n />\n \n {resultKeysURL.includes(\"men\") && !isMenMode && (\n
\n \n
\n )}\n {resultKeysURL.includes(\"men\") && isMenMode && isMenUniteMode && (\n
\n \n
\n )}\n\n {resultKeysURL.includes(\"bikes\") && (\n
\n \n
\n )}\n\n {resultKeysURL.includes(\"cars\") && (\n
\n \n
\n )}\n\n {(resultKeysURL.includes(\"oldMen\") ||\n resultKeysURL.includes(\"middleMen\") ||\n resultKeysURL.includes(\"youngMen\") ||\n resultKeysURL.includes(\"unknownMen\")) &&\n isMenMode &&\n !isMenUniteMode && (\n
\n \n
\n )}\n {(resultKeysURL.includes(\"oldWomen\") ||\n resultKeysURL.includes(\"middleWomen\") ||\n resultKeysURL.includes(\"youngWomen\") ||\n resultKeysURL.includes(\"unknownWomen\")) &&\n isMenMode &&\n !isMenUniteMode && (\n
\n \n
\n )}\n {(resultKeysURL.includes(\"oldUnknown\") ||\n resultKeysURL.includes(\"middleUnknown\") ||\n resultKeysURL.includes(\"youngUnknown\") ||\n resultKeysURL.includes(\"unknownUnknown\")) &&\n isMenMode &&\n !isMenUniteMode && (\n
\n \n
\n )}\n \n );\n}\n","var _path, _path2, _path3;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgWebcamIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10 11C9.44772 11 9 11.4477 9 12C9 12.5523 9.44772 13 10 13H10.01C10.5623 13 11.01 12.5523 11.01 12C11.01 11.4477 10.5623 11 10.01 11H10Z\",\n fill: \"#2C67FF\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M10 7C8.67392 7 7.40215 7.52678 6.46447 8.46447C5.52678 9.40215 5 10.6739 5 12C5 13.3261 5.52678 14.5979 6.46447 15.5355C7.40215 16.4732 8.67392 17 10 17C11.3261 17 12.5979 16.4732 13.5355 15.5355C14.4732 14.5979 15 13.3261 15 12C15 10.6739 14.4732 9.40215 13.5355 8.46447C12.5979 7.52678 11.3261 7 10 7ZM7.87868 9.87868C8.44129 9.31607 9.20435 9 10 9C10.7956 9 11.5587 9.31607 12.1213 9.87868C12.6839 10.4413 13 11.2044 13 12C13 12.7956 12.6839 13.5587 12.1213 14.1213C11.5587 14.6839 10.7956 15 10 15C9.20435 15 8.44129 14.6839 7.87868 14.1213C7.31607 13.5587 7 12.7956 7 12C7 11.2044 7.31607 10.4413 7.87868 9.87868Z\",\n fill: \"#2C67FF\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M2 0C1.46957 0 0.960859 0.210714 0.585786 0.585786C0.210714 0.960859 0 1.46957 0 2V4C0 4.53043 0.210714 5.03914 0.585786 5.41421C0.960859 5.78929 1.46957 6 2 6V12C2 14.1217 2.84285 16.1566 4.34315 17.6569C5.84344 19.1571 7.87827 20 10 20C12.1217 20 14.1566 19.1571 15.6569 17.6569C17.1571 16.1566 18 14.1217 18 12V6C18.5304 6 19.0391 5.78929 19.4142 5.41421C19.7893 5.03914 20 4.53043 20 4V2C20 1.46957 19.7893 0.960861 19.4142 0.585786C19.0391 0.210713 18.5304 0 18 0H2ZM16 6V12C16 13.5913 15.3679 15.1174 14.2426 16.2426C13.1174 17.3679 11.5913 18 10 18C8.4087 18 6.88258 17.3679 5.75736 16.2426C4.63214 15.1174 4 13.5913 4 12V6H16ZM18 4V2H2V4H18Z\",\n fill: \"#2C67FF\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWebcamIcon);\nexport default __webpack_public_path__ + \"static/media/webcamIcon.6af8b752.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgHomeIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M10.7071 0.292893C10.3166 -0.0976311 9.68339 -0.0976311 9.29286 0.292893L0.292863 9.29289C0.00686532 9.57889 -0.0786904 10.009 0.0760906 10.3827C0.230872 10.7564 0.595508 11 0.99997 11H1.99997V17C1.99997 17.7957 2.31604 18.5587 2.87865 19.1213C3.44126 19.6839 4.20432 20 4.99997 20H15C15.7956 20 16.5587 19.6839 17.1213 19.1213C17.6839 18.5587 18 17.7957 18 17V11H19C19.4044 11 19.7691 10.7564 19.9238 10.3827C20.0786 10.009 19.9931 9.57889 19.7071 9.29289L10.7071 0.292893ZM13.9999 18H15C15.2652 18 15.5195 17.8946 15.7071 17.7071C15.8946 17.5196 16 17.2652 16 17V10C16 9.57119 16.2699 9.20542 16.6491 9.0633L9.99997 2.41421L3.35088 9.0633C3.73007 9.20542 3.99997 9.57119 3.99997 10V17C3.99997 17.2652 4.10533 17.5196 4.29286 17.7071C4.4804 17.8946 4.73475 18 4.99997 18H5.99994V13C5.99994 12.2043 6.31601 11.4413 6.87862 10.8787C7.44123 10.3161 8.20429 10 8.99994 10H10.9999C11.7956 10 12.5587 10.3161 13.1213 10.8787C13.6839 11.4413 13.9999 12.2043 13.9999 13V18ZM7.99994 18V13C7.99994 12.7348 8.1053 12.4804 8.29283 12.2929C8.48037 12.1054 8.73472 12 8.99994 12H10.9999C11.2652 12 11.5195 12.1054 11.707 12.2929C11.8946 12.4804 11.9999 12.7348 11.9999 13V18H7.99994Z\",\n fill: \"#888888\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgHomeIcon);\nexport default __webpack_public_path__ + \"static/media/homeIcon.4d3a6fe3.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgArchiveIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 18,\n viewBox: \"0 0 20 18\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M3 2C2.73478 2 2.48043 2.10536 2.29289 2.29289C2.10536 2.48043 2 2.73478 2 3C2 3.26522 2.10536 3.51957 2.29289 3.70711C2.48043 3.89464 2.73478 4 3 4H17C17.2652 4 17.5196 3.89464 17.7071 3.70711C17.8946 3.51957 18 3.26522 18 3C18 2.73478 17.8946 2.48043 17.7071 2.29289C17.5196 2.10536 17.2652 2 17 2H3ZM0.87868 0.87868C1.44129 0.31607 2.20435 0 3 0H17C17.7957 0 18.5587 0.31607 19.1213 0.87868C19.6839 1.44129 20 2.20435 20 3C20 3.79565 19.6839 4.55871 19.1213 5.12132C18.8019 5.44073 18.4179 5.68067 18 5.82843V15C18 15.7957 17.6839 16.5587 17.1213 17.1213C16.5587 17.6839 15.7957 18 15 18H5C4.20435 18 3.44129 17.6839 2.87868 17.1213C2.31607 16.5587 2 15.7956 2 15V5.82843C1.5821 5.68067 1.19808 5.44073 0.87868 5.12132C0.31607 4.55871 0 3.79565 0 3C0 2.20435 0.31607 1.44129 0.87868 0.87868ZM4 6V15C4 15.2652 4.10536 15.5196 4.29289 15.7071C4.48043 15.8946 4.73478 16 5 16H15C15.2652 16 15.5196 15.8946 15.7071 15.7071C15.8946 15.5196 16 15.2652 16 15V6H4ZM7 9C7 8.44772 7.44772 8 8 8H12C12.5523 8 13 8.44772 13 9C13 9.55229 12.5523 10 12 10H8C7.44772 10 7 9.55229 7 9Z\",\n fill: \"#888888\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgArchiveIcon);\nexport default __webpack_public_path__ + \"static/media/archiveIcon.ec7ad77f.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgTrashIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 18,\n height: 20,\n viewBox: \"0 0 18 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.58579 0.585786C5.96086 0.210714 6.46957 0 7 0H11C11.5304 0 12.0391 0.210714 12.4142 0.585786C12.7893 0.960859 13 1.46957 13 2V4H15.9883C15.9953 3.99993 16.0024 3.99993 16.0095 4H17C17.5523 4 18 4.44772 18 5C18 5.55228 17.5523 6 17 6H16.9201L15.9997 17.0458C15.9878 17.8249 15.6731 18.5695 15.1213 19.1213C14.5587 19.6839 13.7957 20 13 20H5C4.20435 20 3.44129 19.6839 2.87868 19.1213C2.32687 18.5695 2.01223 17.8249 2.00035 17.0458L1.07987 6H1C0.447715 6 0 5.55228 0 5C0 4.44772 0.447715 4 1 4H1.99054C1.9976 3.99993 2.00466 3.99993 2.0117 4H5V2C5 1.46957 5.21071 0.960859 5.58579 0.585786ZM3.0868 6L3.99655 16.917C3.99885 16.9446 4 16.9723 4 17C4 17.2652 4.10536 17.5196 4.29289 17.7071C4.48043 17.8946 4.73478 18 5 18H13C13.2652 18 13.5196 17.8946 13.7071 17.7071C13.8946 17.5196 14 17.2652 14 17C14 16.9723 14.0012 16.9446 14.0035 16.917L14.9132 6H3.0868ZM11 4H7V2H11V4ZM7 8C7.55228 8 8 8.44772 8 9V15C8 15.5523 7.55228 16 7 16C6.44772 16 6 15.5523 6 15V9C6 8.44772 6.44772 8 7 8ZM11 8C11.5523 8 12 8.44772 12 9V15C12 15.5523 11.5523 16 11 16C10.4477 16 10 15.5523 10 15V9C10 8.44772 10.4477 8 11 8Z\",\n fill: \"#888888\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgTrashIcon);\nexport default __webpack_public_path__ + \"static/media/trashIcon.3c78c45a.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgMovieIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 18,\n height: 18,\n viewBox: \"0 0 18 18\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M3 2C2.73478 2 2.48043 2.10536 2.29289 2.29289C2.10536 2.48043 2 2.73478 2 3V4H4V2H3ZM3 0C2.20435 0 1.44129 0.31607 0.87868 0.87868C0.31607 1.44129 0 2.20435 0 3V15C0 15.7956 0.31607 16.5587 0.87868 17.1213C1.44129 17.6839 2.20435 18 3 18H15C15.7957 18 16.5587 17.6839 17.1213 17.1213C17.6839 16.5587 18 15.7957 18 15V3C18 2.20435 17.6839 1.44129 17.1213 0.87868C16.5587 0.31607 15.7956 0 15 0H3ZM6 2V8H12V2H6ZM14 2V4H16V3C16 2.73478 15.8946 2.48043 15.7071 2.29289C15.5196 2.10536 15.2652 2 15 2H14ZM16 6H14V8H16V6ZM16 10H14V12H16V10ZM16 14H14V16H15C15.2652 16 15.5196 15.8946 15.7071 15.7071C15.8946 15.5196 16 15.2652 16 15V14ZM12 16V10H6V16H12ZM4 16V14H2V15C2 15.2652 2.10536 15.5196 2.29289 15.7071C2.48043 15.8946 2.73478 16 3 16H4ZM2 12H4V10H2V12ZM2 8H4V6H2V8Z\",\n fill: \"#888888\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMovieIcon);\nexport default __webpack_public_path__ + \"static/media/movieIcon.1bc412ea.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgAnalyticIconSideBar(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 1C2 0.447715 1.55228 0 1 0C0.447715 0 0 0.447715 0 1V19C0 19.5523 0.447715 20 1 20H19C19.5523 20 20 19.5523 20 19C20 18.4477 19.5523 18 19 18V16C19 15.4477 18.5523 15 18 15C17.4477 15 17 15.4477 17 16V18H15V14C15 13.4477 14.5523 13 14 13C13.4477 13 13 13.4477 13 14V18H11V11C11 10.4477 10.5523 10 10 10C9.44771 10 9 10.4477 9 11V18H7V14C7 13.4477 6.55228 13 6 13C5.44772 13 5 13.4477 5 14V18H2V9.95402C3.16458 9.84242 4.09794 9.53308 4.87472 9.08494C5.85128 8.52154 6.50764 7.77873 7.03087 7.12469C7.15377 6.97107 7.26611 6.82735 7.37151 6.69253C7.74499 6.21473 8.03114 5.84868 8.39018 5.54947C8.78297 5.22215 9.24663 5 10 5C10.7534 5 11.217 5.22215 11.6098 5.54947C11.9689 5.84868 12.255 6.21473 12.6285 6.69252C12.7339 6.82733 12.8462 6.97109 12.9691 7.12469C13.4924 7.77873 14.1487 8.52154 15.1253 9.08494C16.1127 9.65462 17.3532 10 19 10C19.5523 10 20 9.55228 20 9C20 8.44772 19.5523 8 19 8C17.6468 8 16.7623 7.72038 16.1247 7.35256C15.4763 6.97846 15.0076 6.47127 14.5309 5.87531C14.4484 5.77218 14.3626 5.66191 14.2734 5.54716C13.885 5.04775 13.4306 4.46341 12.8902 4.01303C12.158 3.40285 11.2466 3 10 3C8.75337 3 7.84203 3.40285 7.10982 4.01303C6.56937 4.4634 6.11497 5.04775 5.72662 5.54715C5.63741 5.66188 5.55161 5.7722 5.46913 5.87531C4.99236 6.47127 4.52372 6.97846 3.87528 7.35256C3.41025 7.62085 2.81383 7.84221 2 7.94236V1Z\",\n fill: \"#888888\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAnalyticIconSideBar);\nexport default __webpack_public_path__ + \"static/media/analyticIconSideBar.fca32119.svg\";\nexport { ForwardRef as ReactComponent };","import React, {\n ReactElement,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useLocation, useParams } from \"react-router\";\n\nimport {\n Button,\n Divider,\n FormControlLabel,\n FormGroup,\n Typography,\n} from \"@material-ui/core\";\nimport Switch from \"@mui/material/Switch\";\n\nimport { scaleOrdinal } from \"@visx/scale\";\nimport deepEqual from \"deep-equal\";\nimport moment from \"moment\";\n\nimport I18N from \"../../app/i18n/strings\";\nimport { useAppLayoutStyles } from \"../../app/styles\";\n\nimport VisiusAppBar from \"../../components/AppBar\";\nimport { ResultKeys } from \"../../components/charts/bar/types\";\nimport { ChartVariant } from \"../../components/charts/Chart\";\nimport {\n readDate,\n readDay,\n readResultKey,\n readTimeRanges,\n} from \"../../components/charts/chart-utils\";\nimport { DateRange } from \"../../components/DateRangePicker\";\nimport VisiusDrawer from \"../../components/Drawer\";\n\nimport { LocationId } from \"../groups/data-types\";\nimport { selectIsValidLocation } from \"../groups/main/videoSlice\";\n\nimport { unsubscribeFromDashboard as apiUnsubscribeFromDashboard } from \"../location/api\";\nimport { StreamId, VideoId } from \"../location/data-mapper\";\n\nimport {\n loadLocation,\n subscribeToDashboard,\n unsubscribeFromDashboard,\n} from \"../location/locationSlice\";\nimport {\n actions,\n selectIsMenMode,\n selectIsMenUniteMode,\n selectPeopleMode,\n} from \"../dashboard/dashboardSlice\";\n\nimport AverageNumberBarChart from \"./charts/AverageNumber\";\nimport MaximumNumberBarChart from \"./charts/MaximumNumber\";\nimport MinimumNumberBarChart from \"./charts/MinimumNumber\";\nimport RawResultBarChart, { RawResult } from \"./charts/RawResult\";\nimport TotalNumberBarChart from \"./charts/TotalNumber\";\n\nimport { useWorker } from \"./worker/useAnalyticsWorker\";\n\nimport ChartCard from \"./components/ChartCard\";\nimport PanelDrawer from \"./components/OptionsPanel\";\nimport EmptyMsgCard from \"./components/EmptyMsg\";\nimport TotalPieCard from \"./components/TotalPieChart\";\nimport StatsContainer from \"./components/StatsContainer\";\n\nimport {\n getAnalyticsUpdatedAtSelector,\n getLocationHasAnalyticsSelector,\n getNotInitializedSelector,\n getSourceIdsSelector,\n getSourceIdsForAnalyticsSelector,\n} from \"../location/selectors\";\n\nimport { PagesProps } from \"../groups/Page\";\n\nimport { ReactComponent as CameraIcon } from \"../../app/assets/cameraIcon.svg\";\nimport { ReactComponent as WebcamIcon } from \"../../app/assets/webcamIcon.svg\";\nimport { ReactComponent as HomeIcon } from \"../../app/assets/homeIcon.svg\";\nimport { ReactComponent as ArchiveIcon } from \"../../app/assets/archiveIcon.svg\";\nimport { ReactComponent as TrashIcon } from \"../../app/assets/trashIcon.svg\";\nimport { ReactComponent as MovieIcon } from \"../../app/assets/movieIcon.svg\";\nimport { ReactComponent as AnalyticIcon } from \"../../app/assets/analyticIconSideBar.svg\";\n\nimport clsx from \"clsx\";\nimport {\n itemData,\n menContainer,\n nullData,\n allkindOfPeople,\n resultFields,\n dataForTotalPie,\n} from \"./constants\";\nimport { useStyles } from \"./styles\";\n\n/* eslint no-void: [\"error\", { \"allowAsStatement\": true }] */\n\nexport const MAX_CARD_WIDTH = 390;\n\nconst colorScale = scaleOrdinal({\n domain: Object.keys(resultFields) as Array>,\n range: Object.values(resultFields).map(({ color }) => color),\n});\n\nexport const defaultResultKeys = Object.keys(resultFields).sort((a, b) =>\n a.localeCompare(b)\n) as Array>;\nconst chartVariants: ChartVariant[] = [\"linear\", \"group\"];\n\nexport default function DashboardPage(props: PagesProps): ReactElement {\n const [openRightBar, setOpenRightBar] = React.useState(true);\n const classes = useAppLayoutStyles();\n const isMenMode = useSelector(selectIsMenMode);\n const dashboardClasses = useStyles({ isMenMode });\n const location = useLocation();\n const { t } = useTranslation();\n const dispatch = useDispatch();\n const analyticsWorker = useWorker();\n const peopleMode = useSelector(selectPeopleMode);\n\n /**\n * Returns new instance of URLSearchParams for the current URL\n */\n const getQuery = useCallback(\n () => new URLSearchParams(location.search),\n [location.search]\n );\n\n // Read and validate Location ID\n const { id } = useParams<{ id?: string }>();\n const isValidLocation = useSelector(selectIsValidLocation(id));\n const locationId = isValidLocation === true ? (id as LocationId) : undefined;\n const hasAnalytics = useSelector(getLocationHasAnalyticsSelector(locationId));\n\n // `isDataLoaded = false` corresponds to the 'Loading...' message in the UI\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [viewData, setViewData] = useState([]);\n const isMenUniteMode = useSelector(selectIsMenUniteMode);\n\n const handleSwitchToggle = () => {\n dispatch(actions.setOnlyMenUniteMode(!isMenUniteMode));\n };\n\n const handleDrawerToggle = useCallback(\n () => setOpenRightBar(!openRightBar),\n [openRightBar]\n );\n\n const [datasetDateRange, setDatasetDateRange] = useState();\n const initialDateRange: DateRange | undefined = useMemo(() => {\n if (datasetDateRange === undefined) {\n return;\n }\n\n const endMoment = moment(datasetDateRange.end);\n return {\n end: datasetDateRange.end,\n start:\n endMoment.diff(moment(datasetDateRange.start), \"d\") > 7\n ? moment(datasetDateRange.end).add(-7, \"d\").toDate()\n : datasetDateRange.start,\n };\n }, [datasetDateRange]);\n\n function useGetPropertyTotals>(viewData: T[]) {\n return useMemo(() => {\n const totals = {} as RawResult;\n\n allkindOfPeople.forEach((property: ResultKeys) => {\n totals[property] = viewData.reduce(\n (sum, item) => sum + item[property],\n 0\n );\n });\n\n return totals;\n }, [viewData]);\n }\n\n const totals = useGetPropertyTotals(viewData);\n\n const totalMen = useMemo(() => {\n return menContainer().reduce((sum, cur) => {\n return sum + Number(totals[cur]);\n }, 0);\n }, [viewData]);\n\n const totalBikes = useMemo(\n () => viewData.reduce((sum, { bikes }) => sum + bikes, 0),\n [viewData]\n );\n const totalCars = useMemo(\n () => viewData.reduce((sum, { cars }) => sum + cars, 0),\n [viewData]\n );\n\n const totalObjects = useMemo(\n () =>\n viewData.reduce(\n (\n sum,\n {\n oldMen,\n middleMen,\n youngMen,\n unknownMen,\n oldWomen,\n middleWomen,\n youngWomen,\n unknownWomen,\n oldUnknown,\n middleUnknown,\n youngUnknown,\n unknownUnknown,\n cars,\n bikes,\n }\n ) => {\n return (\n sum +\n oldMen +\n middleMen +\n youngMen +\n unknownMen +\n oldWomen +\n middleWomen +\n youngWomen +\n unknownWomen +\n oldUnknown +\n middleUnknown +\n youngUnknown +\n unknownUnknown +\n bikes +\n cars\n );\n },\n 0\n ),\n [viewData]\n );\n\n const totalCount = useMemo(() => {\n switch (true) {\n case peopleMode.repeating:\n return menContainer(\"repeating\").reduce((sum, cur) => {\n return sum + Number(totals[cur]);\n }, 0);\n case peopleMode.uniq:\n return menContainer(\"uniq\").reduce((sum, cur) => {\n return sum + Number(totals[cur]);\n }, 0);\n default:\n return menContainer().reduce((sum, cur) => {\n return sum + Number(totals[cur]);\n }, 0);\n }\n }, [totals, peopleMode, menContainer]);\n\n const totalObjectCount = useMemo(() => {\n return menContainer(\"object\").reduce((sum, cur) => {\n return sum + Number(totals[cur]);\n }, 0);\n }, [viewData]);\n\n const totalUniqCount = useMemo(() => {\n return menContainer(\"uniq\").reduce((sum, cur) => {\n return sum + Number(totals[cur]);\n }, 0);\n }, [viewData]);\n\n const totalRepeatingCount = useMemo(() => {\n return menContainer(\"repeating\").reduce((sum, cur) => {\n return sum + Number(totals[cur]);\n }, 0);\n }, [viewData]);\n\n const totalRepeatingObjectCount = useMemo(() => {\n return menContainer(\"repeatingObject\").reduce((sum, cur) => {\n return sum + Number(totals[cur]);\n }, 0);\n }, [viewData]);\n\n const resultKeysURL: Array> = useMemo(\n () => readResultKey(getQuery()),\n [getQuery]\n ).filter(\n (i) =>\n i !== \"ageJun\" &&\n i !== \"ageMiddle\" &&\n i !== \"ageSenior\" &&\n i !== \"ageUnknown\" &&\n i !== \"gMale\" &&\n i !== \"gUnknown\" &&\n i !== \"gFemale\"\n );\n\n const getValue = useCallback(\n (label: string) => {\n switch (true) {\n case peopleMode.repeating:\n return (\n totals[(label + \"RepeatingObject\") as ResultKeys] /\n totalRepeatingObjectCount\n );\n case peopleMode.uniq:\n return (\n totals[(label + \"Uniq\") as ResultKeys] / totalUniqCount\n );\n default:\n return (\n totals[(label + \"Object\") as ResultKeys] /\n totalObjectCount\n );\n }\n },\n [peopleMode, totals]\n );\n\n const sourceIdsSelector = useMemo(\n () => getSourceIdsSelector(locationId),\n [locationId]\n );\n const sourceIds = useSelector(sourceIdsSelector, deepEqual);\n\n const sourceIdsForAnalyticsSelector = useMemo(\n () => getSourceIdsForAnalyticsSelector(locationId),\n [locationId]\n );\n const sourceIdsAnalytics = useSelector(\n sourceIdsForAnalyticsSelector,\n deepEqual\n );\n\n const [subscriptions, setSubscriptions] = useState>(\n []\n );\n const updatedAt = useSelector(getAnalyticsUpdatedAtSelector(locationId));\n\n // Read necessary location data\n const isLocationNotInitialized = useSelector(\n getNotInitializedSelector(locationId)\n );\n\n // Read Analytics options from the URL\n const dateRange: DateRange | undefined = useMemo(() => {\n const query = getQuery();\n if (datasetDateRange === undefined || initialDateRange === undefined) {\n return undefined;\n }\n const start = readDate(query, \"startDate\") ?? initialDateRange.start;\n const end = readDate(query, \"endDate\") ?? initialDateRange.end;\n\n const dateRangeStartRound = moment(datasetDateRange.start)\n .startOf(\"day\")\n .toDate();\n\n if (\n start < dateRangeStartRound ||\n start > datasetDateRange.end ||\n start > end\n ) {\n return initialDateRange;\n }\n\n return { start, end };\n }, [getQuery, datasetDateRange, initialDateRange]);\n const daysOfWeek: number[] = useMemo(() => readDay(getQuery()), [getQuery]);\n\n const resultKeysForLegendURL: Array> = useMemo(\n () => readResultKey(getQuery()),\n [getQuery]\n );\n\n const timeRanges: DateRange[] = useMemo(\n () => readTimeRanges(getQuery()),\n [getQuery]\n );\n\n const [lastLocationId, setLastLocationId] = useState();\n\n useEffect(() => {\n if (!isMenMode) dispatch(actions.setPeopleMode(\"common\"));\n }, [isMenMode, dispatch]);\n\n useEffect(() => {\n if (locationId !== undefined && isLocationNotInitialized === true) {\n dispatch(loadLocation(locationId));\n }\n }, [dispatch, locationId, isLocationNotInitialized]);\n\n // Subscribe (Unsubscribe) to dahsboard dataset when location has been changed\n useEffect(() => {\n if (deepEqual(sourceIds, subscriptions)) {\n return;\n }\n dispatch(subscribeToDashboard(sourceIds));\n setSubscriptions(sourceIds);\n }, [dispatch, lastLocationId, sourceIds, subscriptions]);\n\n useEffect(() => {\n const callback = (): void => {\n void apiUnsubscribeFromDashboard(subscriptions);\n };\n window.addEventListener(\"unload\", callback);\n return () => window.removeEventListener(\"unload\", callback);\n }, [subscriptions]);\n useEffect(() => {\n if (\n subscriptions.length === 0 ||\n lastLocationId === undefined ||\n locationId === undefined ||\n lastLocationId === locationId\n ) {\n return;\n }\n dispatch(unsubscribeFromDashboard(subscriptions));\n }, [dispatch, locationId, lastLocationId, subscriptions]);\n\n useEffect(() => {\n dispatch(\n actions.setOnlyMenMode(\n !resultKeysURL.includes(\"cars\") && !resultKeysURL.includes(\"bikes\")\n )\n );\n if (resultKeysURL.includes(\"cars\") || resultKeysURL.includes(\"bikes\")) {\n dispatch(actions.setOnlyMenUniteMode(false));\n }\n }, [dispatch, resultKeysURL]);\n\n // Filter dashboard data when filters changed or new data received\n useEffect(() => {\n if (\n lastLocationId !== locationId ||\n hasAnalytics === false ||\n isValidLocation === false\n ) {\n // Set data loading status when location changed\n setIsDataLoaded(hasAnalytics === false || isValidLocation === false);\n setViewData([]);\n setLastLocationId(locationId);\n }\n\n if (hasAnalytics !== true) {\n return;\n }\n\n void (async () => {\n console.log(`Load analytics (${updatedAt ?? \"initial dataset\"})`);\n const dataset = await analyticsWorker.queryViewData({\n sourceIds: sourceIdsAnalytics,\n dateRange,\n timeRanges,\n daysOfWeek,\n view: \"hour\",\n });\n\n setViewData(dataset);\n setIsDataLoaded(true);\n })();\n }, [\n sourceIdsAnalytics,\n peopleMode,\n analyticsWorker,\n dateRange,\n daysOfWeek,\n isValidLocation,\n hasAnalytics,\n lastLocationId,\n locationId,\n sourceIds,\n timeRanges,\n updatedAt,\n ]);\n\n // Load dashboard data when filters changed or new data received\n useEffect(() => {\n void (async () => {\n const currentDatasetRange = await analyticsWorker.queryDateRange({\n sourceIds: sourceIdsAnalytics,\n });\n\n if (deepEqual(currentDatasetRange, datasetDateRange)) {\n return;\n }\n console.log(\n `Load analytics date range (${updatedAt ?? \"initial dataset\"})`\n );\n setDatasetDateRange(currentDatasetRange);\n })();\n }, [\n sourceIdsAnalytics,\n analyticsWorker,\n datasetDateRange,\n updatedAt,\n sourceIds,\n ]);\n\n const dataWithZeroValues = useMemo(() => {\n const data: RawResult[] = [];\n\n for (let i = 0; i < viewData.length; i++) {\n if (viewData.length - 1 === i) {\n data.push(viewData[i]);\n break;\n }\n data.push(viewData[i]);\n\n let previousDate = new Date(viewData[i].time).valueOf();\n const lastDate = new Date(viewData[i + 1].time).valueOf();\n\n const hour = 60 * 60 * 1000;\n while (lastDate - previousDate > hour) {\n const getDate = new Date(data[data.length - 1].time).valueOf();\n const newData: RawResult = nullData(getDate, hour);\n\n data.push(newData);\n previousDate += hour;\n }\n }\n\n return data;\n }, [viewData]);\n\n const dataForMenMode = useMemo(() => {\n const data: RawResult[] = [];\n\n if (peopleMode.common) {\n dataWithZeroValues.forEach((i) => {\n const newItemData: Partial = {\n time: i.time,\n ...itemData,\n };\n menContainer().forEach((key) => {\n if (key === \"time\") return;\n newItemData[key] = i[key];\n });\n\n data.push(newItemData as RawResult);\n });\n }\n if (peopleMode.uniq) {\n dataWithZeroValues.forEach((i) => {\n const newItemData: Partial = {\n time: i.time,\n ...itemData,\n };\n menContainer().forEach((key) => {\n if (key === \"time\") return;\n newItemData[key] = i[`${key}Uniq` as keyof Omit];\n });\n\n data.push(newItemData as RawResult);\n });\n }\n if (peopleMode.repeating) {\n dataWithZeroValues.forEach((i) => {\n const newItemData: Partial = {\n time: i.time,\n ...itemData,\n };\n menContainer().forEach((key) => {\n if (key === \"time\") return;\n newItemData[key] =\n i[`${key}Repeating` as keyof Omit];\n });\n\n data.push(newItemData as RawResult);\n });\n }\n return data;\n }, [viewData, peopleMode, menContainer]);\n\n const dataForUniteMenMode = useMemo(() => {\n const data: RawResult[] = [];\n\n if (peopleMode.common) {\n dataWithZeroValues.forEach((i) => {\n const newItemData = {\n time: i.time,\n ...itemData,\n };\n\n newItemData.men =\n i.oldMen +\n i.middleMen +\n i.youngMen +\n i.unknownMen +\n i.oldWomen +\n i.middleWomen +\n i.youngWomen +\n i.unknownWomen +\n i.oldUnknown +\n i.middleUnknown +\n i.youngUnknown +\n i.unknownUnknown;\n\n data.push(newItemData as RawResult);\n });\n }\n if (peopleMode.uniq) {\n dataWithZeroValues.forEach((i) => {\n const newItemData = {\n time: i.time,\n ...itemData,\n };\n\n newItemData.men =\n i.oldMenUniq +\n i.middleMenUniq +\n i.youngMenUniq +\n i.unknownMenUniq +\n i.oldWomenUniq +\n i.middleWomenUniq +\n i.youngWomenUniq +\n i.unknownWomenUniq +\n i.oldUnknownUniq +\n i.middleUnknownUniq +\n i.youngUnknownUniq +\n i.unknownUnknownUniq;\n\n data.push(newItemData as RawResult);\n });\n }\n if (peopleMode.repeating) {\n dataWithZeroValues.forEach((i) => {\n const newItemData = {\n time: i.time,\n ...itemData,\n };\n\n newItemData.men =\n i.oldMenRepeating +\n i.middleMenRepeating +\n i.youngMenRepeating +\n i.unknownMenRepeating +\n i.oldWomenRepeating +\n i.middleWomenRepeating +\n i.youngWomenRepeating +\n i.unknownWomenRepeating +\n i.oldUnknownRepeating +\n i.middleUnknownRepeating +\n i.youngUnknownRepeating +\n i.unknownUnknownRepeating;\n\n data.push(newItemData as RawResult);\n });\n }\n return data;\n }, [viewData]);\n\n const defaultData = useMemo(() => {\n const data: RawResult[] = [];\n\n dataWithZeroValues.forEach((i) => {\n const newItemData = {\n time: i.time,\n ...itemData,\n };\n\n newItemData.cars = i.cars;\n newItemData.bikes = i.bikes;\n\n newItemData.men =\n i.oldMen +\n i.middleMen +\n i.youngMen +\n i.unknownMen +\n i.oldWomen +\n i.middleWomen +\n i.youngWomen +\n i.unknownWomen +\n i.oldUnknown +\n i.middleUnknown +\n i.youngUnknown +\n i.unknownUnknown;\n\n data.push(newItemData as RawResult);\n });\n return data;\n }, [viewData]);\n\n // Tooltips\n const rawResultTooltip = useMemo(\n () => (\n
\n \n {t(I18N.chart.TOOLTIP_RAW_SUMMARY)}\n \n \n {t(I18N.chart.TOOLTIP_RAW[0])}\n \n \n {t(I18N.chart.TOOLTIP_RAW[1])}\n \n
\n ),\n [t]\n );\n const totalTooltip = useMemo(\n () => (\n
\n \n {t(I18N.chart.TOOLTIP_SUM_SUMMARY)}\n \n \n {t(I18N.chart.TOOLTIP_SUM[0])}\n \n \n {t(I18N.chart.TOOLTIP_SUM[1])}\n \n
\n ),\n [t]\n );\n const averageTooltip = useMemo(\n () => (\n
\n \n {t(I18N.chart.TOOLTIP_AVERAGE_SUMMARY)}\n \n \n {t(I18N.chart.TOOLTIP_AVERAGE[0])}\n \n \n {t(I18N.chart.TOOLTIP_AVERAGE[1])}\n \n
\n ),\n [t]\n );\n const maxTooltip = useMemo(\n () => (\n
\n \n {t(I18N.chart.TOOLTIP_MAX_SUMMARY)}\n \n \n {t(I18N.chart.TOOLTIP_MAX[0])}\n \n \n {t(I18N.chart.TOOLTIP_MAX[1])}\n \n
\n ),\n [t]\n );\n const minTooltip = useMemo(\n () => (\n
\n \n {t(I18N.chart.TOOLTIP_MIN_SUMMARY)}\n \n \n {t(I18N.chart.TOOLTIP_MIN[0])}\n \n \n {t(I18N.chart.TOOLTIP_MIN[1])}\n \n
\n ),\n [t]\n );\n\n const dataForChart =\n isMenMode && !isMenUniteMode\n ? dataForMenMode\n : isMenMode && isMenUniteMode\n ? dataForUniteMenMode\n : defaultData;\n\n return (\n
\n \n },\n {\n title: I18N.common.LINK_LOCATION,\n link:\n locationId !== undefined\n ? `/location/${locationId}`\n : \"/location\",\n icon: ,\n },\n {\n title: I18N.common.LINK_ANALYTICS,\n link: \"#\",\n icon: ,\n selected: true,\n },\n {\n title: I18N.main.LINK_ARCHIVE,\n link: \"/main?tab=archive\",\n icon: ,\n },\n {\n title: I18N.main.LINK_TRASH,\n link: \"/main?tab=trash\",\n icon: ,\n },\n ]}\n open={props.leftPanelIsOpen}\n handleDrawerToggle={props.handleDrawerToggle}\n buttons={[\n {\n title: I18N.main.BTN_ADD_VIDEO,\n link: \"/location?tab=video\",\n icon: ,\n },\n {\n title: I18N.main.BTN_ADD_STREAM,\n link: \"/location?tab=stream\",\n icon: ,\n },\n ]}\n />\n
\n
\n
\n
\n
\n
\n \n {t(I18N.chart.TITLE)}\n \n\n {isMenMode && (\n
\n dispatch(actions.setPeopleMode(\"common\"))}\n variant=\"text\"\n >\n \n {`Все появления: ${totalMen}/${totalObjectCount} пешеходов`}\n \n \n\n dispatch(actions.setPeopleMode(\"uniq\"))}\n variant=\"text\"\n >\n \n {`Единственные ${totalUniqCount}/${totalUniqCount} пешеходов`}\n \n \n\n \n dispatch(actions.setPeopleMode(\"repeating\"))\n }\n variant=\"text\"\n >\n \n {`Множественные ${totalRepeatingCount}/${totalRepeatingObjectCount} пешеходов`}\n \n \n
\n )}\n
\n {isMenMode && (\n \n \n }\n label={\n \n Объединить\n \n }\n />\n \n )}\n
\n
\n {viewData.length > 0 ? (\n
\n \n\n \n \n
\n\n
\n \n Кол-во появлений в \n час\n  за период с \n \n {moment(dateRange?.start).format(\"DD.MM.YYYY\")}\n \n  по \n \n {moment(dateRange?.end).format(\"DD.MM.YYYY\")}\n \n \n }\n tooltip={rawResultTooltip}\n chart={RawResultBarChart}\n colorScale={colorScale}\n data={dataForChart}\n height={350}\n variants={chartVariants}\n defaultVariant=\"group\"\n resultKeys={resultKeysURL}\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","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgCloseIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.3 5.7102C18.1131 5.52295 17.8595 5.41771 17.595 5.41771C17.3305 5.41771 17.0768 5.52295 16.89 5.7102L12 10.5902L7.10997 5.7002C6.92314 5.51295 6.66949 5.40771 6.40497 5.40771C6.14045 5.40771 5.8868 5.51295 5.69997 5.7002C5.30997 6.0902 5.30997 6.7202 5.69997 7.1102L10.59 12.0002L5.69997 16.8902C5.30997 17.2802 5.30997 17.9102 5.69997 18.3002C6.08997 18.6902 6.71997 18.6902 7.10997 18.3002L12 13.4102L16.89 18.3002C17.28 18.6902 17.91 18.6902 18.3 18.3002C18.69 17.9102 18.69 17.2802 18.3 16.8902L13.41 12.0002L18.3 7.1102C18.68 6.7302 18.68 6.0902 18.3 5.7102Z\",\n fill: \"#888888\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCloseIcon);\nexport default __webpack_public_path__ + \"static/media/closeIcon.eff935bb.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useEffect, useState } from \"react\";\nimport {\n Dialog,\n DialogTitle,\n makeStyles,\n Theme,\n Typography,\n} from \"@material-ui/core\";\n\nimport { ReactComponent as CloseIcon } from \"../../src/app/assets/closeIcon.svg\";\n\nconst useStyles = makeStyles((theme: Theme) => ({\n noticeHidden: {\n display: \"none\",\n },\n btnClose: {\n margin: \"6px 6px 0 auto\",\n cursor: \"pointer\",\n position: \"absolute\",\n right: 0,\n\n \"& path\": {\n fill: theme.palette.primary.dark,\n },\n },\n notice: {\n \"& .MuiPaper-root\": {\n borderRadius: 12,\n },\n \"& .MuiTypography-root\": {\n fontSize: 14,\n },\n },\n}));\n\nexport default function Notice() {\n const classes = useStyles();\n const [isHidden, setHidden] = useState(true);\n\n useEffect(() => {\n if (localStorage.getItem(\"isNoticeShown\")) {\n setHidden(false);\n }\n }, []);\n\n const hideNotice = () => {\n setHidden(!isHidden);\n localStorage.setItem(\"isNoticeShown\", \"true\");\n };\n\n return (\n \n \n\n \n \n Сервис находится в режиме бета-тестирования, возможны ошибки. Напишите\n нам на почту info@visius.ai, и мы\n поможем вам.\n \n \n \n );\n}\n","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgPlusIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31 17H17V31C17 31.55 16.55 32 16 32C15.45 32 15 31.55 15 31V17H1C0.45 17 0 16.55 0 16C0 15.45 0.45 15 1 15H15V1C15 0.45 15.45 0 16 0C16.55 0 17 0.45 17 1V15H31C31.55 15 32 15.45 32 16C32 16.55 31.55 17 31 17Z\",\n fill: \"#2C67FF\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPlusIcon);\nexport default __webpack_public_path__ + \"static/media/plusIcon.a3c60ff3.svg\";\nexport { ForwardRef as ReactComponent };","import { CircularProgress, CircularProgressProps, Fade } from '@material-ui/core'\nimport React, { ReactElement } from 'react'\n\nexport default function ProgressIndicator ({\n size,\n ...props\n}: CircularProgressProps): ReactElement {\n return (\n \n \n \n )\n}\n","var _path, _path2;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgWebcamError(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 21,\n viewBox: \"0 0 20 21\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M1.70711 0.292893C1.31658 -0.0976311 0.683417 -0.0976311 0.292893 0.292893C-0.00948223 0.595269 -0.0777342 1.04311 0.0881374 1.41115C0.0308123 1.59749 3.41422e-08 1.7953 3.41422e-08 2V4C3.41422e-08 4.53043 0.210714 5.03914 0.585786 5.41421C0.960859 5.78929 1.46957 6 2 6V11.9997C1.99953 13.7197 2.55344 15.3944 3.5796 16.7749C4.60581 18.1554 6.04967 19.1683 7.697 19.6635C9.34434 20.1587 11.1074 20.1098 12.7247 19.5239C13.9648 19.0747 15.0685 18.3282 15.9432 17.3574L18.2929 19.7071C18.6834 20.0976 19.3166 20.0976 19.7071 19.7071C20.0976 19.3166 20.0976 18.6834 19.7071 18.2929L9.14742 7.73321C9.09714 7.66891 9.03977 7.61189 8.97697 7.56276L1.70711 0.292893ZM6.76913 8.18335L4.58579 6H4V12C3.9996 13.2901 4.41504 14.5463 5.1847 15.5817C5.95436 16.6171 7.03725 17.3768 8.27275 17.7482C9.50825 18.1196 10.8306 18.0829 12.0435 17.6435C13.0065 17.2946 13.8598 16.7068 14.5264 15.9406L13.8163 15.2305C13.5952 15.4913 13.3472 15.7297 13.0756 15.9413C12.4376 16.4384 11.6886 16.7733 10.8927 16.9174C10.0968 17.0614 9.27793 17.0102 8.5062 16.7681C7.73446 16.5261 7.03296 16.1005 6.46187 15.5278C5.89078 14.9551 5.46715 14.2524 5.22731 13.4799C4.98747 12.7075 4.93859 11.8885 5.08486 11.093C5.23113 10.2976 5.56818 9.54945 6.06711 8.91288C6.27657 8.64563 6.51195 8.40137 6.76913 8.18335ZM12.3941 13.8083L10.9439 12.3582C10.7999 12.7335 10.4361 13 10.01 13H10C9.44771 13 9 12.5523 9 12C9 11.5712 9.2699 11.2054 9.64909 11.0633L8.19137 9.60558C7.9862 9.76094 7.80113 9.94261 7.64123 10.1466C7.34187 10.5286 7.13964 10.9774 7.05188 11.4547C6.96412 11.932 6.99345 12.4234 7.13735 12.8869C7.28125 13.3503 7.53543 13.7719 7.87809 14.1156C8.22074 14.4592 8.64164 14.7146 9.10468 14.8598C9.56772 15.005 10.0591 15.0357 10.5366 14.9493C11.0141 14.8629 11.4635 14.6619 11.8463 14.3637C12.0531 14.2026 12.237 14.0157 12.3941 13.8083ZM2.58579 4L2 3.41421V4H2.58579Z\",\n fill: \"#888888\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18 4V2H5C4.44772 2 4 1.55228 4 1C4 0.447715 4.44772 1.19209e-07 5 1.19209e-07H18C18.5304 1.19209e-07 19.0391 0.210713 19.4142 0.585786C19.7893 0.960861 20 1.46957 20 2V4C20 4.53043 19.7893 5.03914 19.4142 5.41421C19.0391 5.78929 18.5304 6 18 6V12C18 12.3668 17.9749 12.7276 17.9269 13.0813C17.8528 13.6285 17.349 14.0121 16.8017 13.9379C16.2545 13.8638 15.8709 13.36 15.9451 12.8127C15.9811 12.5464 16 12.2752 16 12V6H9C8.44772 6 8 5.55228 8 5C8 4.44772 8.44772 4 9 4H18Z\",\n fill: \"#888888\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWebcamError);\nexport default __webpack_public_path__ + \"static/media/webcamError.6dd0c812.svg\";\nexport { ForwardRef as ReactComponent };","import { Theme, Tooltip, withStyles } from \"@material-ui/core\";\n\nexport default withStyles((theme: Theme) => ({\n tooltip: {\n padding: '6px 12px',\n background: \"#122045\",\n borderRadius: \"12px\",\n boxShadow: \"0px 4px 12px rgba(18, 32, 69, 0.1)\",\n\n \"& .MuiTypography-root\": {\n fontWeight: 500,\n },\n },\n}))(Tooltip);\n","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgReadyDataIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 20,\n viewBox: \"0 0 16 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M3 2C2.73478 2 2.48043 2.10536 2.29289 2.29289C2.10536 2.48043 2 2.73478 2 3V17C2 17.2652 2.10536 17.5196 2.29289 17.7071C2.48043 17.8946 2.73478 18 3 18H13C13.2652 18 13.5196 17.8946 13.7071 17.7071C13.8946 17.5196 14 17.2652 14 17V7H11C10.4696 7 9.96086 6.78929 9.58579 6.41421C9.21071 6.03914 9 5.53043 9 5V2H3ZM11 3.41421L12.5858 5H11V3.41421ZM0.87868 0.87868C1.44129 0.31607 2.20435 0 3 0H10C10.2652 0 10.5196 0.105357 10.7071 0.292893L15.7071 5.29289C15.8946 5.48043 16 5.73478 16 6V17C16 17.7957 15.6839 18.5587 15.1213 19.1213C14.5587 19.6839 13.7957 20 13 20H3C2.20435 20 1.44129 19.6839 0.87868 19.1213C0.31607 18.5587 0 17.7957 0 17V3C0 2.20435 0.31607 1.44129 0.87868 0.87868ZM5 9C5.55228 9 6 9.44771 6 10V15C6 15.5523 5.55228 16 5 16C4.44772 16 4 15.5523 4 15V10C4 9.44771 4.44772 9 5 9ZM11 11C11.5523 11 12 11.4477 12 12V15C12 15.5523 11.5523 16 11 16C10.4477 16 10 15.5523 10 15V12C10 11.4477 10.4477 11 11 11ZM8 13C8.55228 13 9 13.4477 9 14V15C9 15.5523 8.55228 16 8 16C7.44772 16 7 15.5523 7 15V14C7 13.4477 7.44772 13 8 13Z\",\n fill: \"#888888\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgReadyDataIcon);\nexport default __webpack_public_path__ + \"static/media/readyDataIcon.a6573ddf.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgDownloadDataIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 23,\n height: 19,\n viewBox: \"0 0 23 19\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12.1368 3.03407C11.531 2.92393 10.9064 2.92224 10.2999 3.02913C9.69334 3.13602 9.12064 3.34867 8.61404 3.65136C7.59036 4.26298 6.91014 5.19513 6.68027 6.21921C6.57779 6.67575 6.17244 7.0002 5.70455 7.0002C4.70805 7.0002 3.76082 7.37926 3.06915 8.04086C2.37899 8.70101 2 9.58664 2 10.5002C2 11.4137 2.37899 12.2994 3.06915 12.9595C3.76082 13.6211 4.70805 14.0002 5.70455 14.0002C6.25683 14.0002 6.70455 14.4479 6.70455 15.0002C6.70455 15.5525 6.25683 16.0002 5.70455 16.0002C4.20559 16.0002 2.75958 15.431 1.68671 14.4048C0.612321 13.3771 0 11.9736 0 10.5002C0 9.0268 0.612321 7.62325 1.68671 6.59557C2.57715 5.74384 3.72463 5.20696 4.94609 5.04901C5.42416 3.76272 6.35946 2.66863 7.58823 1.93446C8.30942 1.50357 9.11304 1.20747 9.95277 1.05948C10.7925 0.911503 11.6557 0.913818 12.4945 1.06633C13.3333 1.21884 14.1351 1.51929 14.8536 1.95417C15.5723 2.38913 16.1957 2.95148 16.6841 3.61351C17.1726 4.27587 17.5157 5.02436 17.6882 5.8172C17.7733 6.20816 17.8158 6.60489 17.8157 7.00157C18.9689 7.03002 20.0688 7.50052 20.8865 8.31822C21.7304 9.16213 22.2045 10.3067 22.2045 11.5002C22.2045 12.6937 21.7304 13.8383 20.8865 14.6822C20.0426 15.5261 18.898 16.0002 17.7045 16.0002H16.7045C16.1523 16.0002 15.7045 15.5525 15.7045 15.0002C15.7045 14.4479 16.1523 14.0002 16.7045 14.0002H17.7045C18.3676 14.0002 19.0035 13.7368 19.4723 13.268C19.9412 12.7991 20.2045 12.1632 20.2045 11.5002C20.2045 10.8372 19.9412 10.2013 19.4723 9.73243C19.0035 9.26359 18.3676 9.0002 17.7045 9.0002H16.7045C16.4009 9.0002 16.1136 8.86219 15.9238 8.62509C15.7341 8.38799 15.6623 8.0775 15.7288 7.78118C15.8429 7.27315 15.8446 6.7509 15.7339 6.24238C15.6233 5.73359 15.4011 5.24339 15.0746 4.80073C14.7478 4.35775 14.3223 3.97039 13.818 3.66518C13.3136 3.35988 12.7425 3.1442 12.1368 3.03407ZM9.99744 8.29309C10.388 7.90256 11.0211 7.90256 11.4117 8.29309L14.4117 11.2931C14.8022 11.6836 14.8022 12.3168 14.4117 12.7073C14.0211 13.0978 13.388 13.0978 12.9974 12.7073L11.7045 11.4144V18.0002C11.7045 18.5525 11.2568 19.0002 10.7045 19.0002C10.1523 19.0002 9.70455 18.5525 9.70455 18.0002V11.4144L8.41165 12.7073C8.02113 13.0978 7.38796 13.0978 6.99744 12.7073C6.60691 12.3168 6.60691 11.6836 6.99744 11.2931L9.99744 8.29309Z\",\n fill: \"#888888\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDownloadDataIcon);\nexport default __webpack_public_path__ + \"static/media/downloadDataIcon.baadf615.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgDownloadDataError(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 23,\n height: 20,\n viewBox: \"0 0 23 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M0.997893 0.292893C1.38842 -0.0976311 2.02158 -0.0976311 2.41211 0.292893L20.4121 18.2929C20.8026 18.6834 20.8026 19.3166 20.4121 19.7071C20.0216 20.0976 19.3884 20.0976 18.9979 19.7071L16.2908 17H5.705C2.59719 17 0 14.5788 0 11.5C0 8.67552 2.18579 6.40453 4.94639 6.04858C4.98152 5.95404 5.01911 5.8606 5.05909 5.76831L0.997893 1.70711C0.607369 1.31658 0.607369 0.683417 0.997893 0.292893ZM6.64153 7.35075L14.2908 15H5.705C3.6168 15 2 13.3912 2 11.5C2 9.60883 3.6168 8 5.705 8C6.12651 8 6.49724 7.7367 6.64153 7.35075ZM14.2942 4.99639C13.062 4.01552 11.3058 3.68633 9.70712 4.17099L9.70435 4.17183C9.39729 4.26394 9.10658 4.38409 8.83452 4.52798C8.34631 4.78619 7.74122 4.59973 7.48302 4.11152C7.22481 3.62331 7.41127 3.01822 7.89948 2.76002C8.285 2.55612 8.69583 2.38642 9.12827 2.25659C11.3289 1.58994 13.7718 2.02466 15.5391 3.43105C16.9865 4.57928 17.8175 6.25069 17.8166 8.0014C18.7062 8.02354 19.5702 8.30905 20.2987 8.82302C21.0576 9.35843 21.6322 10.1155 21.9438 10.9905C22.2553 11.8654 22.2885 12.8153 22.0388 13.7098C21.7891 14.6044 21.2688 15.3998 20.5491 15.9869C20.1212 16.336 19.4913 16.2721 19.1421 15.8441C18.793 15.4162 18.8569 14.7863 19.2849 14.4371C19.6847 14.111 19.9738 13.6691 20.1125 13.1721C20.2512 12.6752 20.2327 12.1474 20.0597 11.6614C19.8866 11.1753 19.5673 10.7547 19.1457 10.4572C18.7242 10.1598 18.2209 10.0001 17.705 10C17.705 10 17.7049 10 17.7049 10H16.705C16.4013 10 16.1141 9.862 15.9243 9.62491C15.7345 9.38782 15.6628 9.07734 15.7293 8.78103C16.0362 7.41344 15.5202 5.96868 14.2956 4.99751L14.2942 4.99639Z\",\n fill: \"#888888\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDownloadDataError);\nexport default __webpack_public_path__ + \"static/media/downloadDataError.6c9a2979.svg\";\nexport { ForwardRef as ReactComponent };","import React, { ReactElement, useEffect, useMemo, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\n\nimport Typography from \"@material-ui/core/Typography\";\nimport { makeStyles, Theme } from \"@material-ui/core/styles\";\n\nimport { LocationData, LocationId } from \"../data-types\";\nimport { getUploadsSelector } from \"../../location/selectors\";\nimport { UPLOAD_STATE } from \"../../location/data-mapper\";\n\nimport { VISIUS_COLORS } from \"../../../app/styles\";\nimport { VISIUS_CARD_TEXT1_COLOR } from \"../../../theme\";\n\nimport Tooltip from \"./Tooltip\";\nimport { ReactComponent as WebcamErrorIcon } from \"../../../app/assets/webcamError.svg\";\nimport { ReactComponent as ReadyDataIcon } from \"../../../app/assets/readyDataIcon.svg\";\nimport { ReactComponent as WebcamIcon } from \"../../../app/assets/webcamIcon.svg\";\nimport { ReactComponent as DownloadDataIcon } from \"../../../app/assets/downloadDataIcon.svg\";\nimport { ReactComponent as DownloadDataErrorIcon } from \"../../../app/assets/downloadDataError.svg\";\n\nexport const useStyles = makeStyles((theme: Theme) => ({\n container: {\n display: \"flex\",\n position: \"relative\",\n color: VISIUS_CARD_TEXT1_COLOR,\n marginTop: theme.spacing(-1),\n },\n summary: {\n fontWeight: 500,\n },\n iconWrapper: {\n display: \"flex\",\n alignItems: \"center\",\n height: 24,\n marginRight: theme.spacing(1),\n paddingRight: theme.spacing(1),\n border: \"1px solid black\",\n borderRadius: theme.spacing(1),\n\n \"& $icon\": {\n border: \"none\",\n margin: 0,\n },\n\n \"& .MuiTypography-root\": {\n fontWeight: 500,\n },\n },\n icon: {\n height: 24,\n width: 32,\n padding: \"3px 8px\",\n border: \"1px solid grey\",\n borderRadius: theme.spacing(1),\n marginRight: theme.spacing(1),\n fontSize: 18,\n },\n warn: {\n color: VISIUS_COLORS.WARN,\n background: `rgba(241, 185, 13, 0.1)`,\n border: \"1px solid rgba(241, 185, 13, 0.5)\",\n\n \"& path\": {\n fill: `${VISIUS_COLORS.WARN} !important`,\n },\n },\n error: {\n color: VISIUS_COLORS.ERROR,\n background: `rgba(255, 61, 0, 0.1)`,\n border: \"1px solid rgba(255, 61, 0, 0.5)\",\n\n \"& path\": {\n fill: `${VISIUS_COLORS.ERROR} !important`,\n },\n },\n dataSuccess: {\n color: VISIUS_COLORS.SUCCESS,\n background: `rgba(44, 103, 255, 0.1)`,\n border: \"1px solid rgba(44, 103, 255, 0.5)\",\n },\n webcamSuccess: {\n color: VISIUS_COLORS.CAM_SUCCESS,\n background: `rgba(53, 189, 110, 0.1)`,\n border: \"1px solid rgba(53, 189, 110, 0.5)\",\n\n \"& path\": {\n fill: `${VISIUS_COLORS.CAM_SUCCESS} !important`,\n },\n },\n}));\n\nexport interface LocationUploadStatsProps {\n locationId: LocationId;\n data: LocationData;\n}\n\ntype UploadInfo = \"failed\" | \"progress\" | \"completed\" | null;\nconst UPLOAD_INFO_DISPLAY_INTERVAL = 10000;\n\nexport default function UploadStats(\n props: LocationUploadStatsProps\n): ReactElement | null {\n const classes = useStyles();\n const { locationId, data } = props;\n const uploadsSelector = useMemo(\n () => getUploadsSelector(locationId),\n [locationId]\n );\n const uploads = useSelector(uploadsSelector);\n\n const progressNumber = uploads.filter(\n ({ state }) => state === UPLOAD_STATE.UPLOADING\n ).length;\n const failedNumber = uploads.filter(\n ({ state }) => state === UPLOAD_STATE.FAILED\n ).length;\n const completedNumber = uploads.filter(\n ({ state }) => state === UPLOAD_STATE.UPLOADED\n ).length;\n\n const [displayedUploadInfo, setDisplayedUploadInfo] = useState<\n UploadInfo | UploadInfo[]\n >(null);\n\n /* Switch between available upload statuses once in ms */\n useEffect(() => {\n const availableInfo: UploadInfo[] = [];\n if (progressNumber > 0) {\n availableInfo.push(\"progress\");\n }\n if (failedNumber > 0) {\n availableInfo.push(\"failed\");\n }\n if (completedNumber > 0) {\n availableInfo.push(\"completed\");\n }\n\n const handler = (): void => {\n if (availableInfo.length === 0) {\n return setDisplayedUploadInfo(null);\n }\n setDisplayedUploadInfo(availableInfo);\n };\n\n handler();\n const interval = setInterval(handler, UPLOAD_INFO_DISPLAY_INTERVAL);\n return () => clearInterval(interval);\n }, [setDisplayedUploadInfo, progressNumber, failedNumber, completedNumber]);\n\n // status for non-stream location\n if (data.id === locationId && data.streams === 0)\n return (\n
\n {displayedUploadInfo?.includes(\"failed\") && (\n
\n {`Не загружено ${failedNumber} видео`}\n }\n >\n \n \n\n \n {failedNumber}\n \n
\n )}\n {data.processingCount !== 0 || data.completedCount !== 0 ? (\n <>\n {data.videos === data.completedCount ? (\n Отчёт готов}\n >\n \n \n ) : (\n
\n \n Отчёт готов частично\n \n }\n >\n \n \n \n {`${data.completedCount} из ${data.videos}`}\n \n
\n )}\n \n ) : null}\n {displayedUploadInfo?.includes(\"progress\") && (\n
\n {`Загружается ${progressNumber} видео`}\n }\n >\n \n \n\n \n {progressNumber}\n \n
\n )}\n
\n );\n\n // status for stream location\n if (\n data.id === locationId &&\n data.streams !== 0 &&\n data.isCameraConnected !== null\n )\n return (\n
\n {data.isCameraConnected ? (\n Камера подключена}\n >\n \n \n ) : (\n Камера отключена}\n >\n \n \n )}\n {data.completedCount === data.streams ? (\n Отчёт готов}\n >\n \n \n ) : null}\n
\n );\n\n return null;\n}\n","import React, {\n MouseEvent,\n ReactElement,\n useState,\n PropsWithChildren,\n} from \"react\";\n\nimport { MenuItem } from \"@material-ui/core\";\nimport Card from \"@material-ui/core/Card\";\nimport CardContent from \"@material-ui/core/CardContent\";\nimport CardHeader from \"@material-ui/core/CardHeader\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport Menu from \"@material-ui/core/Menu\";\nimport { makeStyles, Theme } from \"@material-ui/core/styles\";\nimport { VideocamOffOutlined } from \"@material-ui/icons\";\nimport MoreIcon from \"@material-ui/icons/MoreHoriz\";\n\nimport { VISIUS_CARD_HEIGHT, VISIUS_CARD_WIDTH } from \"../../../theme\";\nimport { GroupId, LocationData } from \"../data-types\";\nimport UploadStats from \"./UploadStats\";\n\nexport const useLocationCardStyles = makeStyles((theme: Theme) => ({\n /* Location card */\n card: {\n position: \"relative\",\n display: \"flex\",\n justifyContent: \"center\",\n columnGap: \"12px\",\n width: VISIUS_CARD_WIDTH,\n height: VISIUS_CARD_HEIGHT,\n cursor: \"pointer\",\n color: theme.palette.text.secondary,\n marginBottom: theme.spacing(3),\n padding: theme.spacing(1),\n transition: \"border-color 0.5s ease, color 0.5s ease\",\n border: `1px solid ${theme.palette.grey[50]}`,\n borderRadius: \"24px\",\n boxShadow: \"0px 4px 8px rgba(18, 32, 69, 0.05)\",\n\n [theme.breakpoints.between(\"md\", \"lg\")]: {\n width: 349,\n },\n\n \"&.inactive\": {\n cursor: \"default\",\n \"&:hover $thumbnail\": {\n transform: \"none\",\n },\n },\n \"& .MuiCardHeader-menuItems\": {\n position: \"relative\",\n zIndex: 1,\n },\n },\n cardContent: {\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"center\",\n gap: theme.spacing(1),\n width: `calc(100% - 134px - 16px)`,\n padding: 0,\n marginTop: theme.spacing(3),\n bottom: 0,\n // .last-child isn't required, but we use it here to override material styles\n \"&:last-child\": {\n paddingBottom: theme.spacing(2),\n },\n },\n cardHeader: {\n position: \"absolute\",\n width: \"220px\",\n right: 0,\n alignItems: \"center\",\n padding: \"16px 16px 0 0\",\n top: 0,\n [theme.breakpoints.between(\"md\", \"lg\")]: {\n width: \"190px\",\n },\n\n \"& svg path\": {\n fill: theme.palette.primary.main,\n },\n },\n\n /* \"Add location\" card */\n iconCard: {\n color: theme.palette.text.secondary,\n transition: \"opacity 0.5s ease\",\n \"&$enabled:hover\": {\n borderColor: theme.palette.primary.main,\n color: theme.palette.primary.main,\n },\n \"&:hover $thumbnail\": {\n transform: \"none\",\n },\n \"&::before\": {\n display: \"none\",\n },\n },\n disabled: {\n opacity: 0.5,\n },\n menuContainer: {\n \"& .MuiPaper-root\": {\n borderRadius: \"16px\",\n background: theme.palette.common.white,\n boxShadow: \"0px 4px 12px rgba(18, 32, 69, 0.1)\",\n\n \"& .MuiList-root .MuiButtonBase-root:last-of-type\": {\n color: theme.palette.error.main,\n\n \"& svg path\": {\n fill: theme.palette.error.main,\n },\n },\n\n \"& svg \": {\n maxWidth: 13,\n \"& path\": {\n fill: \"#676666\",\n },\n },\n\n \"& .MuiListItem-root\": {\n padding: \"10px 16px\",\n maxHeight: \"16px\",\n boxSizing: \"content-box\",\n\n \"& .MuiListItemIcon-root\": {\n minWidth: \"30px\",\n },\n\n \"& .MuiTypography-root\": {\n fontWeight: 500,\n },\n },\n },\n\n \"& .MuiList-padding\": {\n padding: \"5px 0\",\n },\n },\n enabled: {\n opacity: 1,\n background: \"transparent\",\n boxShadow: \"none\",\n border: \"1px solid rgba(44, 103, 255, 0.1)\",\n\n \"& svg path\": {\n fill: theme.palette.primary.main,\n },\n },\n\n /* special element to create dimmed effect on card background */\n dimmer: {\n display: \"flex\",\n alignItems: \"center\",\n },\n\n /* Location thumbnail */\n thumbnail: {\n display: \"flex\",\n objectFit: \"cover\",\n height: theme.spacing(17),\n width: theme.spacing(17),\n borderRadius: \"20px\",\n },\n thumbnailContent: {\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"center\",\n alignItems: \"center\",\n maxWidth: \"140px\",\n marginBottom: theme.spacing(3),\n\n \"& path\": {\n fill: \"rgba(18, 32, 69, 0.25)\",\n },\n },\n\n /* Location title and video/streams number */\n actionsButton: {\n padding: 0,\n },\n\n /* Intercepts 'click' events outside of in rename mode */\n clickAwayHandler: {\n position: \"absolute\",\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n zIndex: 1,\n },\n\n /* Misc */\n icon: {\n marginBottom: \"12px\",\n },\n}));\n\nexport interface LocationCardProps {\n groupId: GroupId;\n data: LocationData;\n\n menuItems?: Array>;\n renameMode?: boolean;\n onClick?: () => void;\n}\n\nexport interface MainLocationCardProps extends LocationCardProps {\n prohibitedTitles: string[];\n}\n\nfunction stopPropagation(evt: MouseEvent): void {\n evt.stopPropagation();\n}\n\nexport default function BaseLocationCard(\n props: PropsWithChildren\n): ReactElement {\n const classes = useLocationCardStyles();\n const { onClick, data, renameMode = false, menuItems = [] } = props;\n\n const [anchorEl, setAnchorEl] = useState(null);\n\n /* Action menu handlers */\n const handleMenuOpen = (event: MouseEvent): void => {\n event.stopPropagation();\n setAnchorEl(event.currentTarget);\n };\n\n const handleMenuClose = (event: MouseEvent): void => {\n event.stopPropagation();\n setAnchorEl(null);\n };\n\n let className = classes.card;\n if (onClick === undefined) {\n className += \" inactive\";\n }\n\n return (\n \n {renameMode && (\n
\n )}\n
\n {data.thumbnail !== undefined ? (\n \n ) : (\n
\n \n
\n )}\n
\n {menuItems.length > 0 && (\n <>\n \n {props.menuItems}\n \n }\n action={\n \n \n \n }\n />\n \n )}\n \n {props.children}\n \n \n );\n}\n","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgPen(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 18,\n height: 18,\n viewBox: \"0 0 18 18\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M10.7929 1.79271C11.5109 1.07474 12.4846 0.671387 13.5 0.671387C14.5154 0.671387 15.4891 1.07474 16.2071 1.79271C16.9251 2.51068 17.3284 3.48445 17.3284 4.49981C17.3284 5.51518 16.9251 6.48895 16.2071 7.20692L5.70711 17.7069C5.51957 17.8945 5.26522 17.9998 5 17.9998H1C0.447715 17.9998 0 17.5521 0 16.9998V12.9998C0 12.7346 0.105357 12.4802 0.292893 12.2927L9.79271 2.79289L10.7929 1.79271ZM10.5 4.91403L2 13.414V15.9998H4.58579L13.0858 7.49981L10.5 4.91403ZM14.5 6.0856L11.9142 3.49981L12.2071 3.20692C12.55 2.86402 13.0151 2.67139 13.5 2.67139C13.9849 2.67139 14.45 2.86402 14.7929 3.20692C15.1358 3.54982 15.3284 4.01488 15.3284 4.49981C15.3284 4.98474 15.1358 5.44981 14.7929 5.79271L14.5 6.0856Z\",\n fill: \"#888888\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPen);\nexport default __webpack_public_path__ + \"static/media/pen.03e26ab7.svg\";\nexport { ForwardRef as ReactComponent };","import React, { ReactElement, useCallback } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Card from \"@material-ui/core/Card\";\nimport CardContent from \"@material-ui/core/CardContent\";\nimport Typography from \"@material-ui/core/Typography\";\n\nimport { GroupId } from \"../data-types\";\nimport { createTmpLocation } from \"./videoSlice\";\n\nimport I18N from \"../../../app/i18n/strings\";\nimport { ReactComponent as PlusIcon } from \"../../../app/assets/plusIcon.svg\";\nimport { useLocationCardStyles } from \"../components/BaseLocationCard\";\n\nexport interface LocationProps {\n title: string;\n}\n\ninterface CardProps {\n groupId: GroupId;\n disabled?: boolean;\n}\n\nexport default function AddLocationCard({\n groupId,\n disabled = false,\n}: CardProps): ReactElement {\n const classes = useLocationCardStyles();\n const { t } = useTranslation();\n const dispatch = useDispatch();\n const handleLocationCreate = useCallback(() => {\n dispatch(createTmpLocation(groupId, t(I18N.main.TMP_LOCATION_TITLE)));\n }, [dispatch, t, groupId]);\n\n return (\n \n \n
\n
\n \n \n {t(I18N.main.LINK_ADD_LOCATION)}\n \n
\n
\n
\n \n );\n}\n","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgOpenedEye(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 22,\n height: 16,\n viewBox: \"0 0 22 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M2.15986 8C4.65779 12.1305 7.61278 14 11 14C14.3872 14 17.3422 12.1305 19.8401 8C17.3422 3.86948 14.3872 2 11 2C7.61278 2 4.65779 3.86948 2.15986 8ZM0.131768 7.50384C2.9072 2.64709 6.51999 0 11 0C15.48 0 19.0928 2.64709 21.8682 7.50384C22.0439 7.81128 22.0439 8.18871 21.8682 8.49616C19.0928 13.3529 15.48 16 11 16C6.51999 16 2.9072 13.3529 0.131768 8.49616C-0.0439228 8.18871 -0.0439228 7.81128 0.131768 7.50384ZM8.87868 5.87868C9.44129 5.31607 10.2043 5 11 5C11.7957 5 12.5587 5.31607 13.1213 5.87868C13.6839 6.44129 14 7.20435 14 8C14 8.79565 13.6839 9.55871 13.1213 10.1213C12.5587 10.6839 11.7957 11 11 11C10.2043 11 9.44129 10.6839 8.87868 10.1213C8.31607 9.55871 8 8.79565 8 8C8 7.20435 8.31607 6.44129 8.87868 5.87868ZM11 7C10.7348 7 10.4804 7.10536 10.2929 7.29289C10.1054 7.48043 10 7.73478 10 8C10 8.26522 10.1054 8.51957 10.2929 8.70711C10.4804 8.89464 10.7348 9 11 9C11.2652 9 11.5196 8.89464 11.7071 8.70711C11.8946 8.51957 12 8.26522 12 8C12 7.73478 11.8946 7.48043 11.7071 7.29289C11.5196 7.10536 11.2652 7 11 7Z\",\n fill: \"#888888\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgOpenedEye);\nexport default __webpack_public_path__ + \"static/media/openedEye.345fef6e.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgClosedEye(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 22,\n height: 20,\n viewBox: \"0 0 22 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M2.70711 0.292893C2.31658 -0.0976311 1.68342 -0.0976311 1.29289 0.292893C0.902369 0.683417 0.902369 1.31658 1.29289 1.70711L4.12712 4.54134C2.63697 5.77716 1.30973 7.44312 0.131824 9.5038C-0.0439215 9.81126 -0.0439426 10.1887 0.131768 10.4962C2.9072 15.353 6.51999 18.0001 11 18.0001C12.8653 18.0001 14.6047 17.5368 16.2061 16.6203L19.2929 19.7071C19.6834 20.0976 20.3166 20.0976 20.7071 19.7071C21.0976 19.3166 21.0976 18.6834 20.7071 18.2929L17.1353 14.7211C17.0896 14.6643 17.0386 14.6136 16.9836 14.5693L2.70711 0.292893ZM14.7281 15.1423L12.2939 12.7081C11.8928 12.9002 11.4501 13.0026 10.9969 13.0024C10.2012 13.0021 9.43813 12.6857 8.87564 12.1229C8.31316 11.56 7.99731 10.7967 7.99759 10.0009C7.99775 9.54846 8.10012 9.10656 8.29188 8.7061L5.54865 5.96286C4.34566 6.92596 3.21221 8.26129 2.15993 10.0002C4.65785 14.1306 7.61281 16.0001 11 16.0001C12.3253 16.0001 13.5639 15.7158 14.7281 15.1423ZM10.2904 10.7091C10.2714 10.6902 10.2533 10.6705 10.236 10.6503L10.3497 10.764C10.3293 10.7466 10.3095 10.7283 10.2904 10.7091Z\",\n fill: \"#888888\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.63803 4.32649C9.40487 4.10713 10.1989 3.99723 10.9965 4.00005L11 4.00006C14.3872 4.00006 17.3422 5.86951 19.8401 9.99996C19.1793 11.0921 18.486 12.0266 17.7626 12.8093C17.3878 13.2149 17.4127 13.8476 17.8182 14.2224C18.2238 14.5973 18.8565 14.5724 19.2314 14.1668C20.1827 13.1375 21.0598 11.9105 21.8682 10.4963C22.0439 10.1889 22.0439 9.81139 21.8682 9.5039C19.0932 4.64779 15.481 2.00076 11.0018 2.00006C10.0164 1.99674 9.0354 2.1326 8.08797 2.40362C7.55698 2.55552 7.24967 3.10911 7.40157 3.64009C7.55346 4.17108 8.10705 4.47839 8.63803 4.32649Z\",\n fill: \"#888888\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgClosedEye);\nexport default __webpack_public_path__ + \"static/media/closedEye.c9fb50d0.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgRecoverDataIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 18,\n viewBox: \"0 0 20 18\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M3 2C2.73478 2 2.48043 2.10536 2.29289 2.29289C2.10536 2.48043 2 2.73478 2 3C2 3.26522 2.10536 3.51957 2.29289 3.70711C2.48043 3.89464 2.73478 4 3 4H17C17.2652 4 17.5196 3.89464 17.7071 3.70711C17.8946 3.51957 18 3.26522 18 3C18 2.73478 17.8946 2.48043 17.7071 2.29289C17.5196 2.10536 17.2652 2 17 2H3ZM0.87868 0.87868C1.44129 0.31607 2.20435 0 3 0H17C17.7957 0 18.5587 0.31607 19.1213 0.87868C19.6839 1.44129 20 2.20435 20 3C20 3.79565 19.6839 4.55871 19.1213 5.12132C18.8019 5.44073 18.4179 5.68067 18 5.82843V15C18 15.7957 17.6839 16.5587 17.1213 17.1213C16.5587 17.6839 15.7957 18 15 18H5C4.20435 18 3.44129 17.6839 2.87868 17.1213C2.31607 16.5587 2 15.7956 2 15V5.82843C1.5821 5.68067 1.19808 5.44073 0.87868 5.12132C0.31607 4.55871 0 3.79565 0 3C0 2.20435 0.31607 1.44129 0.87868 0.87868ZM4 6V15C4 15.2652 4.10536 15.5196 4.29289 15.7071C4.48043 15.8946 4.73478 16 5 16H15C15.2652 16 15.5196 15.8946 15.7071 15.7071C15.8946 15.5196 16 15.2652 16 15V6H4Z\",\n fill: \"#888888\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M9.29289 7.29289C9.68342 6.90237 10.3166 6.90237 10.7071 7.29289L12.7071 9.29289C13.0976 9.68342 13.0976 10.3166 12.7071 10.7071C12.3166 11.0976 11.6834 11.0976 11.2929 10.7071L11 10.4142V13C11 13.5523 10.5523 14 10 14C9.44772 14 9 13.5523 9 13V10.4142L8.70711 10.7071C8.31658 11.0976 7.68342 11.0976 7.29289 10.7071C6.90237 10.3166 6.90237 9.68342 7.29289 9.29289L9.29289 7.29289Z\",\n fill: \"#888888\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgRecoverDataIcon);\nexport default __webpack_public_path__ + \"static/media/recoverDataIcon.c3fbb3c8.svg\";\nexport { ForwardRef as ReactComponent };","import React, { ReactElement } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n ListItemIcon,\n ListItemText,\n Menu,\n MenuItem,\n Typography,\n} from \"@material-ui/core\";\n\nimport I18N from \"../../../app/i18n/strings\";\nimport { SliceName } from \"../data-types\";\nimport { useLocationCardStyles } from \"./BaseLocationCard\";\n\nimport { ReactComponent as PenIcon } from \"../../../app/assets/pen.svg\";\nimport { ReactComponent as ArchiveIcon } from \"../../../app/assets/archiveIcon.svg\";\nimport { ReactComponent as TrashIcon } from \"../../../app/assets/trashIcon.svg\";\nimport { ReactComponent as OpenedEyeIcon } from \"../../../app/assets/openedEye.svg\";\nimport { ReactComponent as ClosedEyeIcon } from \"../../../app/assets/closedEye.svg\";\nimport { ReactComponent as RecoverIcon } from \"../../../app/assets/recoverDataIcon.svg\";\n\nexport interface MouseState {\n mouseX?: number;\n mouseY?: number;\n}\n\ntype Callback = () => void;\ninterface GroupMenuProps {\n expanded: boolean;\n mouseState: MouseState;\n variant: SliceName;\n onExpand: Callback;\n onClose: Callback;\n\n onArchive?: Callback;\n onRename?: Callback;\n onRestore?: Callback;\n onDelete?: Callback;\n}\nexport default function GroupContextMenu(props: GroupMenuProps): ReactElement {\n const { t } = useTranslation();\n const classes = useLocationCardStyles();\n\n const isArchive = props.variant === \"archive\";\n const isTrash = props.variant === \"trash\";\n const isMain = props.variant === \"videoData\";\n return (\n \n \n \n {props.expanded ? : }\n \n \n {t(I18N.main.BTN_HIDE_GROUP)}\n \n ) : (\n \n {t(I18N.main.BTN_SHOW_GROUP)}\n \n )\n }\n />\n \n {isMain && (\n \n \n \n \n \n {t(I18N.main.BTN_RENAME_GROUP)}\n \n }\n />\n \n )}\n {isMain && (\n \n \n \n \n \n {t(I18N.main.BTN_ARCHIVE_GROUP)}\n \n }\n />\n \n )}\n {!isMain && (\n \n \n {isArchive ? : }\n \n \n {t(I18N.main.BTN_RESTORE_LOCATION)}\n \n }\n />\n \n )}\n \n \n \n \n \n {t(I18N.main.BTN_DELETE_GROUP)}\n \n ) : (\n \n {t(I18N.main.BTN_TRASH_GROUP)}\n \n )\n }\n />\n \n \n );\n}\n","import { makeStyles, Theme } from '@material-ui/core'\nimport { COLORS } from '../../../theme'\n\nexport default makeStyles((theme: Theme) => ({\n locationsList: {\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap',\n gap: theme.spacing(2, 2)\n },\n locationsContainer: {\n padding: theme.spacing(0, 0, 0, 4)\n },\n accordion: {\n background: 'transparent',\n border: 'none',\n padding: 0,\n marginTop: theme.spacing(1),\n '&:first-child': {\n marginTop: theme.spacing(0)\n },\n '&::before': {\n display: 'none'\n },\n '&.Mui-expanded': {\n margin: theme.spacing(1, 0, 0)\n }\n },\n accordionTitle: {\n width: 'max-content',\n padding: 0,\n marginBottom: theme.spacing(2.5),\n\n '& .MuiTypography-root': {\n marginRight: theme.spacing(1),\n },\n\n '&.Mui-focused': {\n background: 'transparent'\n },\n '&:hover': {\n backgroundColor: 'rgba(0, 0, 0, 0.04)'\n },\n '&.MuiButtonBase-root': {\n justifyContent: 'left'\n },\n '& .MuiAccordionSummary-content': {\n flexGrow: 0,\n margin: 0,\n alignItems: 'center'\n },\n '&.Mui-expanded': {\n minHeight: 0\n },\n '& .Mui-expanded': {\n margin: 0,\n\n '&:active': {\n fill: theme.palette.primary.main,\n },\n\n '& svg path': {\n fill: theme.palette.primary.main\n }\n }\n },\n textIsGrey: {\n color: COLORS.GREY_NEUTRAL\n },\n locationIcon: {\n display: 'flex',\n width: '2rem',\n height: '1.5rem',\n alignItems: 'center',\n alignContent: 'flex-start',\n \n '& svg path': {\n fill: COLORS.GREY_NEUTRAL\n }\n },\n editModeClickHandler: {\n position: 'absolute',\n width: '100%',\n height: '100%',\n left: 0,\n top: 0,\n zIndex: 1\n },\n textField: {\n position: 'relative',\n zIndex: 2,\n '& .MuiInputBase-root': {\n borderRadius: 0\n },\n '& .MuiInputBase-input': {\n padding: theme.spacing(0, 1)\n }\n },\n dialog: {\n borderRadius: theme.spacing(1.5),\n\n \"& .MuiDialogActions-root\": {\n padding: theme.spacing(1, 3, 2),\n },\n },\n}))\n","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgFolderIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 17,\n viewBox: \"0 0 20 17\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M3 2C2.73478 2 2.48043 2.10536 2.29289 2.29289C2.10536 2.48043 2 2.73478 2 3V14C2 14.2652 2.10536 14.5196 2.29289 14.7071C2.48043 14.8946 2.73478 15 3 15H17C17.2652 15 17.5196 14.8946 17.7071 14.7071C17.8946 14.5196 18 14.2652 18 14V6C18 5.73478 17.8946 5.48043 17.7071 5.29289C17.5196 5.10536 17.2652 5 17 5H10C9.73478 5 9.48043 4.89464 9.29289 4.70711L6.58579 2H3ZM0.87868 0.87868C1.44129 0.31607 2.20435 0 3 0H7C7.26522 0 7.51957 0.105357 7.70711 0.292893L10.4142 3H17C17.7957 3 18.5587 3.31607 19.1213 3.87868C19.6839 4.44129 20 5.20435 20 6V14C20 14.7957 19.6839 15.5587 19.1213 16.1213C18.5587 16.6839 17.7957 17 17 17H3C2.20435 17 1.44129 16.6839 0.87868 16.1213C0.31607 15.5587 0 14.7956 0 14V3C0 2.20435 0.31607 1.44129 0.87868 0.87868Z\",\n fill: \"#888888\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFolderIcon);\nexport default __webpack_public_path__ + \"static/media/folderIcon.a62044dc.svg\";\nexport { ForwardRef as ReactComponent };","import React, {\n ChangeEvent,\n FocusEvent,\n KeyboardEvent,\n MouseEvent,\n ReactElement,\n RefObject,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { Error } from \"@material-ui/icons\";\nimport { TextField, Typography } from \"@material-ui/core\";\n\nimport I18N from \"../app/i18n/strings\";\nimport Tooltip from \"./Tooltip\";\n/* eslint no-void: [\"error\", { \"allowAsStatement\": true }] */\n\ninterface InlineTextFieldProps {\n defaultValue: string;\n onResetError: () => void;\n onRename: (value: string) => void;\n onCancel: () => void;\n\n className?: string;\n error?: string;\n inputRef?: RefObject;\n prohibitedValues?: string[];\n}\n\nconst stopPropagation = (evt: MouseEvent): void => evt.stopPropagation();\nconst validate = (\n title: string,\n prohibitedValues?: string[]\n): string | undefined => {\n if (title === \"\") {\n return I18N.main.ERROR_LOCATION_NAME_REQUIRED;\n }\n\n return prohibitedValues?.includes(title) === true\n ? I18N.main.ERROR_LOCATION_EXISTS\n : undefined;\n};\n\nexport default function InlineTextField(\n props: InlineTextFieldProps\n): ReactElement {\n const ref = useRef();\n const {\n className,\n defaultValue,\n error,\n inputRef = ref,\n prohibitedValues = [],\n onResetError,\n onRename,\n onCancel,\n } = props;\n\n const { t } = useTranslation();\n const [renameError, setRenameError] = useState();\n\n // Apply changes when focus lost on Enter pressed\n const handleInputBlur = useCallback(\n (evt: FocusEvent) => {\n if (error !== undefined || renameError !== undefined) {\n return;\n }\n\n const target = evt.target as HTMLInputElement;\n onRename(target.value);\n },\n [onRename, error, renameError]\n );\n\n const handleKeyDown = useCallback(\n (evt: KeyboardEvent) => {\n switch (evt.key) {\n case \"Escape\": {\n return onCancel();\n }\n case \"Enter\": {\n if (renameError !== undefined) {\n return;\n }\n const inputElem = inputRef.current as HTMLInputElement;\n return onRename(inputElem.value ?? defaultValue);\n }\n }\n },\n [onRename, onCancel, defaultValue, inputRef, renameError]\n );\n\n // reset rename error when value changes\n const handleResetError = useCallback(\n (evt: ChangeEvent) => {\n setRenameError(validate(evt.target.value, prohibitedValues));\n\n if (error === undefined) {\n return;\n }\n\n onResetError();\n },\n [onResetError, error, prohibitedValues]\n );\n\n // Autofocus on the text field\n useEffect(() => {\n const inputElem = inputRef.current as HTMLInputElement;\n inputElem.focus();\n inputElem.select();\n }, [inputRef]);\n\n const hasError = error !== undefined || renameError !== undefined;\n const tooltipTitle = t(error ?? (renameError as string));\n return (\n \n \n {tooltipTitle}\n \n }\n >\n \n \n );\n}\n","/* eslint no-void: [\"error\", { \"allowAsStatement\": true }] */\nimport React, {\n ReactElement,\n useCallback,\n useEffect,\n useRef\n} from 'react'\nimport { useDispatch } from 'react-redux'\nimport { groupToGroupMap } from '../data-mapper'\nimport { GroupData } from '../data-types'\nimport { renameGroup } from '../main/asyncActions'\nimport { actions } from '../main/videoSlice'\nimport useGroupStyles from './groupStyles'\nimport InlineTextEdit from '../../../components/InlineTextEdit'\n\ninterface RenameGroupProps {\n group: GroupData\n onCancel: () => void\n}\n\nexport default function GroupRenameTextField (props: RenameGroupProps): ReactElement {\n const {\n group,\n onCancel\n } = props\n\n const classes = useGroupStyles()\n const renameInputRef = useRef(null)\n const dispatch = useDispatch()\n\n // Edit mode effects: rename logic\n const handleCancel = useCallback(() => {\n if (group.isTmp === true) {\n return dispatch(actions.deleteGroup(group.id))\n }\n\n onCancel()\n }, [dispatch, onCancel, group])\n\n const handleRename = useCallback((title: string) => {\n if (title === group.title && group.isTmp !== true) {\n return onCancel()\n }\n\n const groupMap = groupToGroupMap(group)\n dispatch(renameGroup({\n group: groupMap,\n update: { title }\n }))\n }, [dispatch, onCancel, group])\n\n const handleResetError = useCallback(() => {\n const newGroup = groupToGroupMap({\n ...group,\n error: undefined\n })\n dispatch(actions.addGroup(newGroup))\n }, [dispatch, group])\n\n // Autofocus on the text field in edit mode\n useEffect(() => {\n // Focus on the title field when in Edit mode\n const inputElem = (renameInputRef.current as HTMLInputElement)\n inputElem.focus()\n inputElem.select()\n }, [])\n\n return (\n <>\n
\n \n \n )\n}\n","/* eslint no-void: [\"error\", { \"allowAsStatement\": true }] */\nimport React, {\n MouseEvent,\n ReactElement,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useDispatch } from \"react-redux\";\n\nimport {\n Accordion,\n AccordionDetails,\n AccordionSummary,\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n DialogContentText,\n DialogTitle,\n Divider,\n Typography,\n} from \"@material-ui/core\";\nimport { ExpandLess } from \"@material-ui/icons\";\n\nimport clsx from \"clsx\";\n\nimport I18N from \"../../../app/i18n/strings\";\nimport { sortByDateAsc } from \"../../../app/utils\";\n\nimport ProgressIndicator from \"../../../components/ProgressIndicator\";\nimport { unarchiveGroup } from \"../archive/asyncActions\";\n\nimport { groupToGroupMap } from \"../data-mapper\";\nimport { GroupData, SliceName } from \"../data-types\";\n\nimport AddLocationCard from \"../main/AddLocationCard\";\nimport {\n archiveGroup,\n moveGroupToTrash,\n moveLocationsToTrash,\n} from \"../main/asyncActions\";\nimport { deleteGroup, restoreGroup } from \"../trash/asyncActions\";\nimport { LocationCardProps, MainLocationCardProps } from \"./BaseLocationCard\";\nimport GroupContextMenu from \"./GroupContextMenu\";\nimport GroupRenameTextField from \"./GroupRenameTextField\";\nimport useGroupStyles from \"./groupStyles\";\n\nimport { ReactComponent as FolderIcon } from \"../../../app/assets/folderIcon.svg\";\n\ninterface MouseState {\n mouseX?: number;\n mouseY?: number;\n}\n\ninterface GroupProps {\n data: GroupData;\n locationComponent:\n | React.FC\n | React.FC;\n full: boolean;\n variant: SliceName;\n editable?: boolean;\n editMode?: boolean;\n onRenameCancel?: () => void;\n}\n\nconst initialMouseState: MouseState = {};\n\nexport default function LocationGroup(props: GroupProps): ReactElement {\n const classes = useGroupStyles();\n const dispatch = useDispatch();\n const { t } = useTranslation();\n const {\n data: group,\n locationComponent: LocationComponent,\n onRenameCancel,\n } = props;\n\n const [editMode, setEditMode] = useState(Boolean(group.isTmp));\n const [expanded, setExpanded] = useState(true);\n const [mouseState, setMouseState] = useState(initialMouseState);\n const [title, setTitle] = useState(group.title);\n\n const [deleteDialogOpen, setDeleteDialogOpen] = React.useState(false);\n\n // Context menu lifecycle\n const handleMenuOpen = useCallback(\n (event: MouseEvent): void => {\n setMouseState({\n mouseX: event.clientX - 2,\n mouseY: event.clientY - 4,\n });\n },\n [setMouseState]\n );\n const handleMenuClose = useCallback(() => {\n setMouseState(initialMouseState);\n }, [setMouseState]);\n\n // Context menu actions\n // Toggle Expanded\n const handleExpanded = useCallback(() => {\n setExpanded(!expanded);\n handleMenuClose();\n }, [setExpanded, handleMenuClose, expanded]);\n\n // Move to Archive\n const handleMoveToArchive = useCallback(() => {\n handleMenuClose();\n const groupMap = groupToGroupMap(group);\n return dispatch(archiveGroup(groupMap));\n }, [dispatch, handleMenuClose, group]);\n\n // Move to Trash\n const handleMoveToTrash = useCallback(() => {\n handleMenuClose();\n const groupMap = groupToGroupMap(group);\n if (props.full) {\n return dispatch(moveGroupToTrash(groupMap));\n }\n\n return dispatch(moveLocationsToTrash(groupMap));\n }, [dispatch, handleMenuClose, group, props.full]);\n\n // Delete\n const handleDeleteGroup = useCallback(() => {\n setDeleteDialogOpen(false);\n const groupMap = groupToGroupMap(group);\n return dispatch(deleteGroup(groupMap));\n }, [dispatch, group]);\n const handleDeleteDialog = useCallback(() => {\n setDeleteDialogOpen(true);\n handleMenuClose();\n }, [setDeleteDialogOpen, handleMenuClose]);\n const handleDeleteCancel = useCallback(\n () => setDeleteDialogOpen(false),\n [setDeleteDialogOpen]\n );\n\n // Edit Mode\n const handleEditMode = useCallback(() => {\n setEditMode(true);\n handleMenuClose();\n }, [setEditMode, handleMenuClose]);\n\n const handleRestoreFromArchive = useCallback(() => {\n handleMenuClose();\n const groupMap = groupToGroupMap(group);\n return dispatch(unarchiveGroup(groupMap));\n }, [dispatch, handleMenuClose, group]);\n\n const handleRestoreFromTrash = useCallback(() => {\n handleMenuClose();\n const groupMap = groupToGroupMap(group);\n return dispatch(restoreGroup(groupMap));\n }, [dispatch, handleMenuClose, group]);\n\n useEffect(() => {\n if (group.error !== undefined) {\n setEditMode(true);\n }\n\n if (title !== group.title) {\n setEditMode(false);\n setTitle(group.title);\n }\n }, [setEditMode, setTitle, group.error, title, group.title]);\n\n const contextMenu = useMemo(() => {\n const commonProps = {\n variant: props.variant,\n expanded: expanded,\n mouseState: mouseState,\n onClose: handleMenuClose,\n onExpand: handleExpanded,\n };\n switch (props.variant) {\n case \"videoData\": {\n return (\n \n );\n }\n case \"archive\": {\n return (\n \n );\n }\n case \"trash\": {\n return (\n \n );\n }\n }\n }, [\n handleDeleteDialog,\n handleEditMode,\n handleRestoreFromTrash,\n handleMoveToTrash,\n handleRestoreFromArchive,\n handleMoveToArchive,\n handleMenuClose,\n handleExpanded,\n props.variant,\n expanded,\n mouseState,\n ]);\n\n const locationCards = useMemo(() => {\n return group.locations.sort(sortByDateAsc).map((locationData) => {\n return (\n id !== locationData.id)\n .map(({ title }) => title)}\n />\n );\n });\n }, [group, LocationComponent]);\n\n return (\n <>\n {contextMenu}\n \n \n }\n >\n {props.full ? (\n <>\n
\n {group.isBusy === true ? (\n \n ) : expanded ? (\n \n ) : (\n \n )}\n
\n {editMode ? (\n {\n if (onRenameCancel !== undefined) {\n onRenameCancel();\n }\n setEditMode(false);\n }}\n />\n ) : (\n {group.title}\n )}\n \n ) : (\n <>\n {group.isBusy === true && (\n \n )}\n \n {t(I18N.main.TITLE_BELONGS_TO)}:\n \n  \n \n {group.title}\n \n \n )}\n \n \n
\n {locationCards}\n {props.editable === true && (\n \n )}\n {props.editable !== true && group.locations.length === 0 && (\n {t(I18N.main.MSG_EMPTY_GROUP)}\n )}\n
\n
\n \n {expanded && (\n \n )}\n \n \n \n {t(\n props.full\n ? I18N.main.DLG_DELETE_GROUP\n : I18N.main.DLG_DELETE_GROUP_LOCATIONS\n )}\n \n \n \n \n \n {t(\n props.full\n ? I18N.main.DLG_DELETE_GROUP_SUMMARY\n : I18N.main.DLG_DELETE_GROUP_LOCATIONS_SUMMARY,\n {\n title: group.title,\n count: group.locations.length,\n }\n )}\n \n \n \n \n \n\n \n \n {t(I18N.main.DLG_DELETE_GROUP_CONFIRM)}\n \n \n \n \n \n );\n}\n","import { makeStyles, Theme } from \"@material-ui/core\";\n\nconst drawerWidth = 256;\n\nexport default makeStyles((theme: Theme) => ({\n header: {\n position: \"fixed\",\n zIndex: theme.zIndex.appBar,\n top: theme.spacing(16),\n width: (props: { leftPanelIsOpen?: boolean }) =>\n props.leftPanelIsOpen\n ? `calc(100% - ${drawerWidth}px - 48px)`\n : `calc(100% - 104px - 48px)`,\n display: \"flex\",\n flexDirection: \"column\",\n },\n headerWrapper: {\n display: \"flex\",\n width: \"100%\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n marginBottom: theme.spacing(1.5),\n },\n generalInfo: {\n display: \"flex\",\n },\n infoItems: {\n display: \"flex\",\n columnGap: theme.spacing(1),\n marginLeft: theme.spacing(2),\n\n \"& button\": {\n color: theme.palette.text.secondary,\n textTransform: \"none\",\n\n \"& svg\": {\n transform: \"scale(0.7)\",\n },\n\n \"&:hover\": {\n background: \"transparent\",\n cursor: \"auto\",\n },\n },\n\n \"& .MuiTypography-root\": {\n fontWeight: 500,\n },\n },\n btn: {\n marginLeft: theme.spacing(2),\n fontWeight: 600,\n\n \"&.MuiButton-containedPrimary\": {\n \"&.Mui-disabled\": {\n color: \"#FBFBFB\",\n boxShadow: \"none\",\n background: \"#DFE6FB\",\n },\n },\n\n \"&.MuiButton-outlinedPrimary\": {\n \"&.Mui-disabled\": {\n color: \"#DFE6FB\",\n borderColor: \"#DFE6FB\",\n\n \"& svg path \": {\n fill: \"#DFE6FB\",\n },\n },\n },\n },\n title: {\n flexGrow: 1,\n whiteSpace: \"nowrap\",\n marginRight: theme.spacing(2),\n color: theme.palette.primary.dark,\n },\n divider: {\n width: \"100%\",\n marginBottom: theme.spacing(3),\n },\n trashPaper: {\n borderRadius: 12,\n\n \"& .MuiDialogActions-root\": {\n padding: theme.spacing(1, 3, 2),\n },\n },\n}));\n","import React, { ReactElement } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { makeStyles, Theme, Typography } from \"@material-ui/core\";\n\nimport I18N from \"../../../app/i18n/strings\";\nimport { bytes2str } from \"../../../app/utils\";\nimport { LocationData } from \"../data-types\";\n\ninterface LocationSummaryProps {\n data: LocationData;\n}\n\nconst useStyles = makeStyles((theme: Theme) => ({\n locationSummary: {\n marginTop: \"\",\n color: theme.palette.text.secondary,\n },\n}));\n\nexport default function LocationSummary(\n props: LocationSummaryProps\n): ReactElement {\n const { t } = useTranslation();\n const classes = useStyles();\n const { data } = props;\n\n return (\n <>\n \n {data.videos > 0\n ? t(I18N.main.MSG_VIDEO_FILES_NUMBER, { count: data.videos })\n : data.streams > 0\n ? t(I18N.main.MSG_VIDEO_STREAM)\n : t(I18N.main.MSG_VIDEO_NONE)}\n \n\n {data.streams === 0 && (\n \n {bytes2str(data.videoFilesSize ? data.videoFilesSize : 0)}\n \n )}\n \n );\n}\n","import React, { ReactElement } from 'react'\nimport { makeStyles, Theme, Typography } from '@material-ui/core'\ninterface LocationTitleProps {\n title: string\n}\n\nconst useStyles = makeStyles((theme: Theme) => ({\n text: {\n color: theme.palette.primary.dark,\n // experimental line clipping\n WebkitLineClamp: 2,\n textOverflow: 'ellipsis',\n WebkitBoxOrient: 'vertical',\n overflow: 'hidden',\n lineHeight: 1.25,\n fontWeight: 500\n }\n}))\n\nexport default function LocationTitle (props: LocationTitleProps): ReactElement {\n const classes = useStyles()\n const { title } = props\n\n return (\n \n {title}\n \n )\n}\n","import React, { ReactElement } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useDispatch } from \"react-redux\";\n\nimport {\n ListItemIcon,\n ListItemText,\n MenuItem,\n Typography,\n} from \"@material-ui/core\";\n\nimport I18N from \"../../../app/i18n/strings\";\nimport { moveLocationToTrash } from \"../main/asyncActions\";\nimport { unarchiveLocation } from \"./asyncActions\";\n\nimport BaseLocationCard, {\n LocationCardProps,\n} from \"../components/BaseLocationCard\";\nimport LocationSummary from \"../components/LocationSummary\";\nimport LocationTitle from \"../components/LocationTitle\";\n\nimport { ReactComponent as TrashIcon } from \"../../../app/assets/trashIcon.svg\";\nimport { ReactComponent as RecoverIcon } from \"../../../app/assets/recoverDataIcon.svg\";\n\nexport default function ArchiveLocationCard({\n groupId,\n data,\n}: LocationCardProps): ReactElement {\n const { t } = useTranslation();\n\n const dispatch = useDispatch();\n const _moveToMain = (): void => {\n dispatch(unarchiveLocation({ groupId, location: data }));\n };\n const _moveToTrash = (): void => {\n dispatch(moveLocationToTrash({ groupId, location: data }));\n };\n\n return (\n \n \n \n \n \n {t(I18N.main.BTN_RESTORE_LOCATION)}\n \n }\n />\n ,\n \n \n \n \n \n {t(I18N.main.BTN_DELETE_LOCATION)}\n \n }\n />\n ,\n ]}\n >\n \n \n \n );\n}\n","import { PayloadAction } from '@reduxjs/toolkit'\nimport { GroupData } from '../data-types'\nimport {\n archiveGroup,\n archiveLocation,\n moveGroupToTrash,\n moveLocationsToTrash,\n moveLocationToTrash,\n renameGroup\n} from '../main/asyncActions'\nimport {\n ARCHIVE_SLICE_NAME,\n createVideoSlice,\n deleteGroupState,\n deleteLocationState,\n setGroupBusy,\n setGroupIdle,\n setGroupState,\n setLocationBusy,\n setLocationIdle,\n VideoDataState,\n withGroup\n} from '../slice-utils'\nimport { restoreGroup, restoreLocation } from '../trash/asyncActions'\nimport { unarchiveGroup, unarchiveLocation } from './asyncActions'\n\nconst updateGroupState = (state: VideoDataState, action: PayloadAction): void => {\n setGroupState(state, ARCHIVE_SLICE_NAME, action.payload)\n}\n\nexport const {\n actions,\n reducer,\n\n loadGroup,\n loadGroups,\n selectData,\n selectNotInitialized,\n selectLoadError,\n selectLoading\n} = createVideoSlice(ARCHIVE_SLICE_NAME, builder => {\n builder\n // rename group\n .addCase(renameGroup.fulfilled, (state, action) => {\n const { group, update } = action.meta.arg\n withGroup(state, group.id, groupState => {\n groupState.title = update.title as string\n })\n })\n // add to archive\n .addCase(archiveGroup.fulfilled, updateGroupState)\n .addCase(archiveLocation.fulfilled, updateGroupState)\n // move group to Trash\n .addCase(moveGroupToTrash.pending, setGroupBusy)\n .addCase(moveGroupToTrash.fulfilled, deleteGroupState)\n .addCase(moveGroupToTrash.rejected, setGroupIdle)\n // move location to Trash\n .addCase(moveLocationToTrash.pending, setLocationBusy)\n .addCase(moveLocationToTrash.fulfilled, deleteLocationState)\n .addCase(moveLocationToTrash.rejected, setLocationIdle)\n // move multiple locations to Trash\n .addCase(moveLocationsToTrash.pending, setGroupBusy)\n .addCase(moveLocationsToTrash.fulfilled, deleteGroupState)\n .addCase(moveLocationsToTrash.rejected, setGroupIdle)\n // unarchive Group\n .addCase(unarchiveGroup.pending, setGroupBusy)\n .addCase(unarchiveGroup.fulfilled, deleteGroupState)\n .addCase(unarchiveGroup.rejected, setGroupIdle)\n // unarchive Location\n .addCase(unarchiveLocation.pending, setLocationBusy)\n .addCase(unarchiveLocation.fulfilled, deleteLocationState)\n .addCase(unarchiveLocation.rejected, setLocationIdle)\n // restore from Trash\n .addCase(restoreGroup.fulfilled, updateGroupState)\n .addCase(restoreLocation.fulfilled, updateGroupState)\n})\n","var _path, _path2;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgLocationIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 18,\n height: 21,\n viewBox: \"0 0 18 21\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6 9C6 9.79565 6.31607 10.5587 6.87868 11.1213C7.44129 11.6839 8.20435 12 9 12C9.79565 12 10.5587 11.6839 11.1213 11.1213C11.6839 10.5587 12 9.79565 12 9C12 8.20435 11.6839 7.44129 11.1213 6.87868C10.5587 6.31607 9.79565 6 9 6C8.20435 6 7.44129 6.31607 6.87868 6.87868C6.31607 7.44129 6 8.20435 6 9Z\",\n stroke: \"#888888\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.657 14.6572L10.414 18.9002C10.039 19.2748 9.53059 19.4853 9.0005 19.4853C8.47042 19.4853 7.96202 19.2748 7.587 18.9002L3.343 14.6572C2.22422 13.5384 1.46234 12.1129 1.15369 10.5611C0.845043 9.00922 1.00349 7.40071 1.60901 5.93893C2.21452 4.47714 3.2399 3.22774 4.55548 2.3487C5.87107 1.46967 7.41777 1.00049 9 1.00049C10.5822 1.00049 12.1289 1.46967 13.4445 2.3487C14.7601 3.22774 15.7855 4.47714 16.391 5.93893C16.9965 7.40071 17.155 9.00922 16.8463 10.5611C16.5377 12.1129 15.7758 13.5384 14.657 14.6572Z\",\n stroke: \"#888888\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLocationIcon);\nexport default __webpack_public_path__ + \"static/media/locationIcon.70ec33c5.svg\";\nexport { ForwardRef as ReactComponent };","import React, { ReactElement, useCallback, useEffect, useMemo } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\n\nimport {\n Button,\n Divider,\n makeStyles,\n Theme,\n Typography,\n} from \"@material-ui/core\";\n\nimport deepEqual from \"deep-equal\";\n\nimport I18N from \"../../../app/i18n/strings\";\nimport { declOfNum, sortByDateDesc } from \"../../../app/utils\";\n\nimport DelayedProgress from \"../../../components/DelayedProgress\";\nimport Group from \"../components/Group\";\nimport pageStyles from \"../components/pageStyles\";\n\nimport { groupToGroupMap } from \"../data-mapper\";\nimport { GroupData } from \"../data-types\";\n\nimport { moveGroupToTrash, moveLocationsToTrash } from \"../main/asyncActions\";\nimport ArchiveLocationCard from \"./ArchiveLocationCard\";\nimport {\n loadGroups,\n selectData,\n selectLoading,\n selectNotInitialized,\n} from \"./archiveSlice\";\nimport { unarchiveGroup } from \"./asyncActions\";\n\nimport { ReactComponent as FolderIcon } from \"../../../app/assets/folderIcon.svg\";\nimport { ReactComponent as LocationIcon } from \"../../../app/assets/locationIcon.svg\";\nimport { ReactComponent as MovieIcon } from \"../../../app/assets/movieIcon.svg\";\nimport { ReactComponent as TrashIcon } from \"../../../app/assets/trashIcon.svg\";\nimport { ReactComponent as RecoverIcon } from \"../../../app/assets/recoverDataIcon.svg\";\n\nfunction filterGroups(group: GroupData): boolean {\n return Boolean(group.isArchived) || group.locations.length > 0;\n}\n\nexport const useStyle = makeStyles((theme: Theme) => ({\n generalInfo: {\n display: \"flex\",\n\n [theme.breakpoints.down(1580)]: {\n marginRight: \"auto\",\n marginBottom: theme.spacing(1.5),\n },\n },\n headerWrapper: {\n display: \"flex\",\n width: \"100%\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n marginBottom: theme.spacing(1.5),\n\n [theme.breakpoints.down(1580)]: {\n flexDirection: \"column\",\n alignItems: \"flex-end\",\n marginBottom: theme.spacing(1),\n },\n },\n recoverIcon: {\n margin: \"0 7px 0 7px\",\n\n \"& path\": {\n fill: theme.palette.common.white,\n },\n },\n deleteIcon: {\n margin: \"0 7px 0 7px\",\n\n \"& path\": {\n fill: theme.palette.primary.main,\n },\n },\n}));\n\nexport default function ArchiveTab({\n leftPanelIsOpen,\n}: {\n leftPanelIsOpen?: boolean;\n}): ReactElement {\n const groups: GroupData[] = useSelector(selectData, deepEqual);\n const { t } = useTranslation();\n const isLoading = useSelector(selectLoading);\n const isNotInitialized = useSelector(selectNotInitialized);\n const archiveClasses = useStyle();\n const classes = pageStyles({ leftPanelIsOpen });\n const dispatch = useDispatch();\n\n const declensionsOfGroup = [\"группа\", \"группы\", \"групп\"];\n const declensionsOfLocation = [\"локация\", \"локации\", \"локаций\"];\n const declensionsOfVideo = [\"видеофайл\", \"видеофайла\", \"видеофайлов\"];\n\n const handleRestore = useCallback(() => {\n for (const group of groups) {\n const groupMap = groupToGroupMap(group);\n dispatch(unarchiveGroup(groupMap));\n }\n }, [dispatch, groups]);\n\n const handleTrash = useCallback(() => {\n for (const group of groups) {\n const groupMap = groupToGroupMap(group);\n if (group.isArchived === true) {\n dispatch(moveGroupToTrash(groupMap));\n } else {\n dispatch(moveLocationsToTrash(groupMap));\n }\n }\n }, [dispatch, groups]);\n\n useEffect(() => {\n if (isNotInitialized) {\n dispatch(loadGroups());\n }\n }, [dispatch, isNotInitialized]);\n\n const data = useMemo(() => groups.filter(filterGroups), [groups]);\n const groupList = useMemo(() => {\n if (isLoading || isNotInitialized) {\n return ;\n }\n if (data.length === 0) {\n return {t(\"Архив пуст\")};\n }\n return data.sort(sortByDateDesc).map((group) => {\n return (\n \n );\n });\n }, [t, data, isLoading, isNotInitialized]);\n\n const numOfLocations: number = data.reduce((total, currentItem) => {\n total += currentItem.locations.length;\n return total;\n }, 0);\n\n const numOfVideos: number = data\n .map((item) => item.locations)\n .flat()\n .reduce((total, currentItem) => {\n total += currentItem.videos ?? 0;\n return total;\n }, 0);\n\n return (\n <>\n
\n
\n
\n \n {t(I18N.main.SUBTITLE_ARCHIVE)}\n \n\n
\n \n\n \n\n \n
\n
\n\n
\n }\n disabled={data.length === 0}\n onClick={handleTrash}\n >\n {t(I18N.main.BTN_TRASH_ALL)}\n \n\n }\n disabled={data.length === 0}\n onClick={handleRestore}\n >\n {t(I18N.main.BTN_RESTORE_ALL)}\n \n
\n
\n \n
\n
{groupList}
\n \n );\n}\n","import React, { ReactElement, useCallback, useEffect, useRef } from \"react\";\nimport { useDispatch } from \"react-redux\";\n\nimport { makeStyles, Theme } from \"@material-ui/core/styles\";\n\nimport { renameLocation } from \"./asyncActions\";\nimport { actions } from \"./videoSlice\";\n\nimport { GroupId, LocationData } from \"../data-types\";\nimport InlineTextEdit from \"../../../components/InlineTextEdit\";\n\nexport const useLocationCardStyles = makeStyles((theme: Theme) => ({\n /* \"Rename\" field */\n textInput: {\n // place above the clickAwayHandler\n position: \"relative\",\n zIndex: 2,\n\n \"& .MuiInputBase-root\": {\n background: theme.palette.common.white,\n padding: theme.spacing(0.25, 1),\n borderRadius: 0,\n\n \"& .MuiInputBase-input\": {\n fontWeight: 500,\n fontSize: 14,\n },\n\n \"& .MuiOutlinedInput-inputMarginDense\": {\n padding: 0,\n fontSize: 14,\n },\n },\n\n \"& .MuiFormHelperText-root\": {\n lineHeight: 1.15,\n marginLeft: theme.spacing(0),\n color: theme.palette.common.white,\n position: \"absolute\",\n transform: \"translateY(-100%)\",\n marginTop: theme.spacing(-0.5),\n },\n },\n}));\n\nexport interface LocationCardProps {\n groupId: GroupId;\n data: LocationData;\n prohibitedTitles: string[];\n onCancel: () => void;\n}\n\nexport default function LocationRenameTextField(\n props: LocationCardProps\n): ReactElement {\n const { data, groupId, prohibitedTitles, onCancel } = props;\n\n const classes = useLocationCardStyles();\n const dispatch = useDispatch();\n const renameInputRef = useRef(null);\n const isBusy = props.data.isBusy ?? false;\n\n const handleCancel = useCallback(() => {\n if (data.isTmp === true) {\n return dispatch(\n actions.deleteLocation({\n groupId,\n locationId: data.id,\n })\n );\n }\n\n onCancel();\n }, [dispatch, onCancel, data, groupId]);\n\n const handleRename = useCallback(\n (title: string) => {\n if (title === data.title && data.isTmp !== true) {\n return onCancel();\n }\n\n dispatch(\n renameLocation({\n groupId,\n location: data,\n update: { title },\n })\n );\n },\n [dispatch, onCancel, data, groupId]\n );\n\n const handleResetError = useCallback(() => {\n dispatch(\n actions.addLocation({\n groupId,\n location: {\n ...data,\n error: undefined,\n },\n })\n );\n }, [dispatch, data, groupId]);\n\n // Focus on the title text field when in Edit mode\n useEffect(() => {\n if (isBusy) {\n return;\n }\n\n const inputElem = renameInputRef.current as HTMLInputElement;\n inputElem.focus();\n inputElem.select();\n }, [isBusy]);\n\n return (\n \n );\n}\n","import React, { ReactElement, useCallback, useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useDispatch } from \"react-redux\";\nimport { useHistory } from \"react-router\";\n\nimport {\n ListItemIcon,\n ListItemText,\n makeStyles,\n MenuItem,\n Theme,\n Typography,\n} from \"@material-ui/core\";\n\nimport I18N from \"../../../app/i18n/strings\";\n\nimport ProgressIndicator from \"../../../components/ProgressIndicator\";\nimport BaseLocationCard, {\n MainLocationCardProps,\n} from \"../components/BaseLocationCard\";\nimport LocationContentSummary from \"../components/LocationSummary\";\nimport LocationContentTitle from \"../components/LocationTitle\";\n\nimport { archiveLocation, moveLocationToTrash } from \"./asyncActions\";\nimport LocationRenameTextField from \"./LocationRenameTextField\";\n\nimport { ReactComponent as PenIcon } from \"../../../app/assets/pen.svg\";\nimport { ReactComponent as ArchiveIcon } from \"../../../app/assets/archiveIcon.svg\";\nimport { ReactComponent as TrashIcon } from \"../../../app/assets/trashIcon.svg\";\n\nconst useStyles = makeStyles((theme: Theme) => ({\n locationTitle: {\n display: \"flex\",\n alignItems: \"flex-start\",\n },\n busyIndicator: {\n position: \"relative\",\n width: theme.spacing(4),\n height: 16,\n paddingLeft: theme.spacing(1),\n paddingTop: 3,\n },\n}));\n\nexport default function VideosLocationCard(\n props: MainLocationCardProps\n): ReactElement {\n const { groupId, data, prohibitedTitles } = props;\n const customClasses = useStyles();\n const { t } = useTranslation();\n const dispatch = useDispatch();\n const history = useHistory();\n\n // activate rename mode when creating a new location\n const [renameMode, setRenameMode] = useState(Boolean(data.isTmp));\n\n // Move to Trash/Archive logic\n const handleMoveToTrash = useCallback(() => {\n dispatch(moveLocationToTrash({ groupId, location: data }));\n }, [dispatch, data, groupId]);\n\n const handleMoveToArchive = useCallback(() => {\n dispatch(archiveLocation({ groupId, location: data }));\n }, [dispatch, data, groupId]);\n\n // Rename logic\n const handleRenameCancel = useCallback(() => {\n setRenameMode(false);\n }, [setRenameMode]);\n\n const handleRenameStart = useCallback(\n () => setRenameMode(true),\n [setRenameMode]\n );\n\n const handleLocationClick = useCallback(() => {\n history.push(`/location/${data.id}`);\n }, [history, data.id]);\n\n const [title, setTitle] = useState(data.title);\n useEffect(() => {\n if (data.error !== undefined) {\n setRenameMode(true);\n }\n\n if (title !== data.title) {\n setRenameMode(false);\n setTitle(data.title);\n }\n }, [setRenameMode, setTitle, title, data.error, data.title]);\n\n return (\n \n \n \n \n \n {t(I18N.main.BTN_RENAME_LOCATION)}\n \n }\n />\n ,\n \n \n \n \n \n {t(I18N.main.BTN_ARCHIVE_LOCATION)}\n \n }\n />\n ,\n \n \n \n \n \n {t(I18N.main.BTN_DELETE_LOCATION)}\n \n }\n />\n ,\n ]\n }\n >\n {renameMode ? (\n
\n \n
\n {data.isBusy === true && }\n
\n
\n ) : (\n <>\n \n \n )}\n \n \n );\n}\n","import React, { ReactElement, useCallback, useEffect, useMemo } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\n\nimport deepEqual from \"deep-equal\";\nimport {\n actions,\n createTmpGroup,\n loadGroups,\n selectData,\n selectLoading,\n selectNotInitialized,\n} from \"./videoSlice\";\n\nimport { Add } from \"@material-ui/icons\";\nimport { Button, Divider, Typography } from \"@material-ui/core\";\n\nimport I18N from \"../../../app/i18n/strings\";\nimport { declOfNum, sortByDateDesc } from \"../../../app/utils\";\n\nimport Group from \"../components/Group\";\nimport pageStyles from \"../components/pageStyles\";\nimport DelayedProgress from \"../../../components/DelayedProgress\";\n\nimport { GroupData } from \"../data-types\";\nimport GroupsLocationCard from \"./MainLocationCard\";\n\nimport { ReactComponent as FolderIcon } from \"../../../app/assets/folderIcon.svg\";\nimport { ReactComponent as LocationIcon } from \"../../../app/assets/locationIcon.svg\";\nimport { ReactComponent as MovieIcon } from \"../../../app/assets/movieIcon.svg\";\n\nexport default function MainTab({\n leftPanelIsOpen,\n}: {\n leftPanelIsOpen?: boolean;\n}): ReactElement {\n const { t } = useTranslation();\n\n const dispatch = useDispatch();\n const groups: GroupData[] = useSelector(selectData, deepEqual);\n const isLoading = useSelector(selectLoading);\n const isNotInitialized = useSelector(selectNotInitialized);\n const declensionsOfGroup = [\"группа\", \"группы\", \"групп\"];\n const declensionsOfLocation = [\"локация\", \"локации\", \"локаций\"];\n const declensionsOfVideo = [\"видеофайл\", \"видеофайла\", \"видеофайлов\"];\n const classes = pageStyles({ leftPanelIsOpen });\n\n const numOfLocations: number = groups.reduce((total, currentItem) => {\n total += currentItem.locations.length;\n return total;\n }, 0);\n\n const numOfVideos = groups\n .map((item) => item.locations)\n .flat()\n .reduce((total, currentItem) => {\n total += currentItem.videos ?? 0;\n return total;\n }, 0);\n\n const handleAdd = useCallback(() => {\n dispatch(createTmpGroup(t(I18N.main.TMP_GROUP_TITLE)));\n }, [dispatch, t]);\n\n useEffect(() => {\n if (isNotInitialized) {\n dispatch(loadGroups());\n }\n }, [dispatch, isNotInitialized]);\n\n const groupList = useMemo(() => {\n if (isLoading || isNotInitialized) {\n return ;\n }\n if (groups.length === 0) {\n return (\n \n {t(I18N.main.videoData.MSG_EMPTY)}\n \n );\n }\n return groups.sort(sortByDateDesc).map((group) => {\n return (\n {\n if (group.isTmp === true) {\n dispatch(actions.deleteGroup(group.id));\n }\n }}\n variant=\"videoData\"\n // Main page only could have Groups in \"full\" control mode\n full\n />\n );\n });\n }, [dispatch, t, isLoading, groups, isNotInitialized]);\n\n return (\n <>\n
\n
\n
\n \n {t(I18N.main.SUBTITLE_VIDEO)}\n \n
\n \n\n \n\n \n
\n
\n
\n }\n onClick={handleAdd}\n >\n {t(I18N.main.BTN_ADD_GROUP)}\n \n
\n
\n \n
\n
{groupList}
\n \n );\n}\n","import { PayloadAction } from '@reduxjs/toolkit'\nimport { unarchiveGroup } from '../archive/asyncActions'\nimport { GroupData } from '../data-types'\nimport {\n archiveGroup,\n moveGroupToTrash,\n moveLocationsToTrash,\n moveLocationToTrash,\n renameGroup\n} from '../main/asyncActions'\nimport {\n createVideoSlice,\n deleteGroupState,\n deleteLocationState,\n setGroupBusy,\n setGroupIdle,\n setGroupState,\n setLocationBusy,\n setLocationIdle,\n TRASH_SLICE_NAME,\n VideoDataState,\n withGroup\n} from '../slice-utils'\nimport {\n deleteGroup,\n deleteLocation,\n restoreGroup,\n restoreLocation\n} from './asyncActions'\n\nconst updateGroupState = (state: VideoDataState, action: PayloadAction): void => {\n setGroupState(state, TRASH_SLICE_NAME, action.payload)\n}\n\nexport const {\n actions,\n reducer,\n\n loadGroup,\n loadGroups,\n selectData,\n selectNotInitialized,\n selectLoadError,\n selectLoading\n} = createVideoSlice(TRASH_SLICE_NAME, builder => {\n builder\n // rename/archive/unarchive: update Group when attributes changes\n .addCase(renameGroup.fulfilled, (state, action) => {\n const { group, update } = action.meta.arg\n if (update.title === undefined) {\n return\n }\n\n withGroup(state, group.id, (groupState) => {\n groupState.title = update.title as string\n })\n })\n .addCase(archiveGroup.fulfilled, updateGroupState)\n .addCase(unarchiveGroup.fulfilled, updateGroupState)\n // move to Trash: reload Group with changed removed Locations\n .addCase(moveGroupToTrash.fulfilled, updateGroupState)\n .addCase(moveLocationToTrash.fulfilled, updateGroupState)\n .addCase(moveLocationsToTrash.fulfilled, updateGroupState)\n // delete permanently\n .addCase(deleteGroup.pending, setGroupBusy)\n .addCase(deleteGroup.fulfilled, deleteGroupState)\n .addCase(deleteGroup.rejected, setGroupIdle)\n .addCase(deleteLocation.pending, setLocationBusy)\n .addCase(deleteLocation.fulfilled, deleteLocationState)\n .addCase(deleteLocation.rejected, setLocationIdle)\n // restore from Trash\n .addCase(restoreLocation.pending, setLocationBusy)\n .addCase(restoreLocation.fulfilled, deleteLocationState)\n .addCase(restoreLocation.rejected, setLocationIdle)\n .addCase(restoreGroup.pending, setGroupBusy)\n .addCase(restoreGroup.fulfilled, deleteGroupState)\n .addCase(restoreGroup.rejected, setGroupIdle)\n})\n","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgDeleteForeverIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 18,\n height: 20,\n viewBox: \"0 0 18 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.58579 0.585786C5.96086 0.210714 6.46957 0 7 0H11C11.5304 0 12.0391 0.210714 12.4142 0.585786C12.7893 0.960859 13 1.46957 13 2V4H15.9883C15.9953 3.99993 16.0024 3.99993 16.0095 4H17C17.5523 4 18 4.44772 18 5C18 5.55228 17.5523 6 17 6H16.9201L15.9997 17.0458C15.9878 17.8249 15.6731 18.5695 15.1213 19.1213C14.5587 19.6839 13.7957 20 13 20H5C4.20435 20 3.44129 19.6839 2.87868 19.1213C2.32687 18.5695 2.01223 17.8249 2.00035 17.0458L1.07987 6H1C0.447715 6 0 5.55228 0 5C0 4.44772 0.447715 4 1 4H1.99054C1.9976 3.99993 2.00466 3.99993 2.0117 4H5V2C5 1.46957 5.21071 0.960859 5.58579 0.585786ZM3.0868 6L3.99655 16.917C3.99885 16.9446 4 16.9723 4 17C4 17.2652 4.10536 17.5196 4.29289 17.7071C4.48043 17.8946 4.73478 18 5 18H13C13.2652 18 13.5196 17.8946 13.7071 17.7071C13.8946 17.5196 14 17.2652 14 17C14 16.9723 14.0012 16.9446 14.0035 16.917L14.9132 6H3.0868ZM11 4H7V2H11V4ZM6.29289 10.7071C5.90237 10.3166 5.90237 9.68342 6.29289 9.29289C6.68342 8.90237 7.31658 8.90237 7.70711 9.29289L9 10.5858L10.2929 9.29289C10.6834 8.90237 11.3166 8.90237 11.7071 9.29289C12.0976 9.68342 12.0976 10.3166 11.7071 10.7071L10.4142 12L11.7071 13.2929C12.0976 13.6834 12.0976 14.3166 11.7071 14.7071C11.3166 15.0976 10.6834 15.0976 10.2929 14.7071L9 13.4142L7.70711 14.7071C7.31658 15.0976 6.68342 15.0976 6.29289 14.7071C5.90237 14.3166 5.90237 13.6834 6.29289 13.2929L7.58579 12L6.29289 10.7071Z\",\n fill: \"#888888\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDeleteForeverIcon);\nexport default __webpack_public_path__ + \"static/media/deleteForeverIcon.360e2524.svg\";\nexport { ForwardRef as ReactComponent };","import React, { ReactElement, useCallback } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n DialogContentText,\n DialogTitle,\n ListItemIcon,\n ListItemText,\n MenuItem,\n Theme,\n Typography,\n makeStyles,\n} from \"@material-ui/core\";\n\nimport I18N from \"../../../app/i18n/strings\";\nimport BaseLocationCard, {\n LocationCardProps,\n} from \"../components/BaseLocationCard\";\nimport LocationSummary from \"../components/LocationSummary\";\nimport LocationTitle from \"../components/LocationTitle\";\n\nimport { deleteLocation, restoreLocation } from \"./asyncActions\";\n\nimport { ReactComponent as TrashIcon } from \"../../../app/assets/trashIcon.svg\";\nimport { ReactComponent as RecoverIcon } from \"../../../app/assets/recoverDataIcon.svg\";\n\nexport const useStyle = makeStyles((theme: Theme) => ({\n dialog: {\n borderRadius: theme.spacing(1.5),\n\n \"& .MuiDialogActions-root\": {\n padding: theme.spacing(1, 3, 2),\n },\n },\n}));\n\nexport default function TrashLocationCard({\n groupId,\n data,\n}: LocationCardProps): ReactElement {\n const { t } = useTranslation();\n const dispatch = useDispatch();\n const classes = useStyle();\n const [deleteDialogOpen, setDeleteDialogOpen] = React.useState(false);\n\n const handleRestore = useCallback(() => {\n dispatch(restoreLocation({ groupId, location: data }));\n }, [dispatch, data, groupId]);\n const handleDelete = useCallback(() => {\n setDeleteDialogOpen(true);\n }, [setDeleteDialogOpen]);\n const handleDeleteCancel = useCallback(() => {\n setDeleteDialogOpen(false);\n }, [setDeleteDialogOpen]);\n const doDelete = useCallback(() => {\n setDeleteDialogOpen(false);\n dispatch(deleteLocation({ groupId, location: data }));\n }, [dispatch, groupId, data]);\n\n return (\n <>\n \n \n \n \n \n {t(I18N.main.BTN_RESTORE_LOCATION)}\n \n }\n />\n ,\n \n \n \n \n \n {t(I18N.main.BTN_DELETE_PERM_LOCATION)}\n \n }\n />\n ,\n ]}\n >\n \n \n \n \n \n \n {t(I18N.main.DLG_DELETE_LOCATION)}\n \n \n \n \n \n {t(I18N.main.DLG_DELETE_LOCATION_SUMMARY, { title: data.title })}\n \n \n \n \n \n \n \n {t(I18N.main.DLG_DELETE_LOCATION_CONFIRM)}\n \n \n \n \n \n );\n}\n","import React, { ReactElement, useCallback, useEffect, useMemo } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\n\nimport {\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n DialogContentText,\n DialogTitle,\n Divider,\n makeStyles,\n Theme,\n Typography,\n} from \"@material-ui/core\";\n\nimport deepEqual from \"deep-equal\";\nimport {\n loadGroups,\n selectData,\n selectLoading,\n selectNotInitialized,\n} from \"./trashSlice\";\n\nimport I18N from \"../../../app/i18n/strings\";\nimport { declOfNum, sortByDateDesc } from \"../../../app/utils\";\n\nimport DelayedProgress from \"../../../components/DelayedProgress\";\nimport Group from \"../components/Group\";\nimport pageStyles from \"../components/pageStyles\";\n\nimport { groupToGroupMap } from \"../data-mapper\";\nimport { GroupData } from \"../data-types\";\nimport { deleteGroup, restoreGroup } from \"./asyncActions\";\nimport TrashLocationCard from \"./TrashLocationCard\";\n\nimport { ReactComponent as FolderIcon } from \"../../../app/assets/folderIcon.svg\";\nimport { ReactComponent as LocationIcon } from \"../../../app/assets/locationIcon.svg\";\nimport { ReactComponent as MovieIcon } from \"../../../app/assets/movieIcon.svg\";\nimport { ReactComponent as RecoverDataIcon } from \"../../../app/assets/recoverDataIcon.svg\";\nimport { ReactComponent as DeleteForeverIcon } from \"../../../app/assets/deleteForeverIcon.svg\";\n\nfunction filterGroups(group: GroupData): boolean {\n return Boolean(group.isRemoved) || group.locations.length > 0;\n}\n\nexport const useStyle = makeStyles((theme: Theme) => ({\n generalInfo: {\n display: \"flex\",\n\n [theme.breakpoints.down(1580)]: {\n marginRight: \"auto\",\n marginBottom: theme.spacing(1.5),\n },\n },\n headerWrapper: {\n display: \"flex\",\n width: \"100%\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n marginBottom: theme.spacing(1.5),\n\n [theme.breakpoints.down(1580)]: {\n flexDirection: \"column\",\n alignItems: \"flex-end\",\n marginBottom: theme.spacing(1),\n },\n },\n recoverIcon: {\n margin: \"0 7px 0 7px\",\n\n \"& path\": {\n fill: theme.palette.primary.main,\n },\n },\n deleteIcon: {\n margin: \"0 7px 0 7px\",\n\n \"& path\": {\n fill: theme.palette.common.white,\n },\n },\n}));\n\nexport default function TrashTab({\n leftPanelIsOpen,\n}: {\n leftPanelIsOpen?: boolean;\n}): ReactElement {\n const groups: GroupData[] = useSelector(selectData, deepEqual);\n const { t } = useTranslation();\n const isLoading = useSelector(selectLoading);\n const isNotInitialized = useSelector(selectNotInitialized);\n const trashClasses = useStyle();\n const classes = pageStyles({ leftPanelIsOpen });\n const dispatch = useDispatch();\n const [deleteDialogOpen, setDeleteDialogOpen] = React.useState(false);\n\n const declensionsOfGroup = [\"группа\", \"группы\", \"групп\"];\n const declensionsOfLocation = [\"локация\", \"локации\", \"локаций\"];\n const declensionsOfVideo = [\"видеофайл\", \"видеофайла\", \"видеофайлов\"];\n\n const handleRestore = useCallback(() => {\n for (const group of groups) {\n const groupMap = groupToGroupMap(group);\n dispatch(restoreGroup(groupMap));\n }\n }, [dispatch, groups]);\n\n const doDelete = useCallback(() => {\n setDeleteDialogOpen(false);\n for (const group of groups) {\n const groupMap = groupToGroupMap(group);\n dispatch(deleteGroup(groupMap));\n }\n }, [dispatch, groups]);\n\n const handleDelete = useCallback(() => {\n setDeleteDialogOpen(true);\n }, [setDeleteDialogOpen]);\n const handleDeleteCancel = useCallback(() => {\n setDeleteDialogOpen(false);\n }, [setDeleteDialogOpen]);\n\n useEffect(() => {\n if (isNotInitialized) {\n dispatch(loadGroups());\n }\n }, [dispatch, isNotInitialized]);\n\n const data = useMemo(() => groups.filter(filterGroups), [groups]);\n const groupList = useMemo(() => {\n if (isLoading || isNotInitialized) {\n return ;\n }\n if (data.length === 0) {\n return {t(\"Корзина пуста\")};\n }\n return data.sort(sortByDateDesc).map((group) => {\n return (\n \n );\n });\n }, [t, data, isLoading, isNotInitialized]);\n const locationCount = useMemo(() => {\n return data.reduce((total, { locations }) => total + locations.length, 0);\n }, [data]);\n\n const numOfLocations: number = data.reduce((total, currentItem) => {\n total += currentItem.locations.length;\n return total;\n }, 0);\n\n const numOfVideos: number = data\n .map((item) => item.locations)\n .flat()\n .reduce((total, currentItem) => {\n total += currentItem.videos ?? 0;\n return total;\n }, 0);\n\n return (\n <>\n
\n
\n
\n \n {t(I18N.main.SUBTITLE_TRASH)}\n \n\n
\n \n\n \n\n \n
\n
\n\n
\n \n }\n disabled={data.length === 0}\n onClick={handleRestore}\n >\n {t(I18N.main.BTN_RESTORE_FROM_TRASH_ALL)}\n \n\n \n }\n disabled={data.length === 0}\n onClick={handleDelete}\n >\n {t(I18N.main.BTN_DELETE_ALL)}\n \n
\n
\n \n
\n\n
{groupList}
\n \n \n \n {t(I18N.main.DLG_EMPTY_TRASH)}\n \n \n \n \n \n {t(I18N.main.DLG_EMPTY_TRASH_SUMMARY, { count: locationCount })}\n \n \n \n \n \n \n \n {t(I18N.main.DLG_DELETE_LOCATION_CONFIRM)}\n \n \n \n \n \n );\n}\n","import React, { ReactElement } from \"react\";\nimport { useLocation } from \"react-router\";\nimport { useTranslation } from \"react-i18next\";\n\nimport I18N from \"../../app/i18n/strings\";\nimport { useAppLayoutStyles } from \"../../app/styles\";\nimport { getCurrentTab } from \"../../app/utils\";\n\nimport Notice from \"../../components/Notice\";\nimport VisiusDrawer from \"../../components/Drawer\";\nimport VisiusAppBar from \"../../components/AppBar\";\nimport ArchiveTab from \"./archive/ArchiveTab\";\nimport MainTab from \"./main/VideoTab\";\nimport TrashTab from \"./trash/TrashTab\";\n\nimport { ReactComponent as HomeIcon } from \"../../app/assets/homeIcon.svg\";\nimport { ReactComponent as ArchiveIcon } from \"../../app/assets/archiveIcon.svg\";\nimport { ReactComponent as TrashIcon } from \"../../app/assets/trashIcon.svg\";\nimport { ReactComponent as CameraIcon } from \"../../app/assets/cameraIcon.svg\";\nimport { ReactComponent as WebcamIcon } from \"../../app/assets/webcamIcon.svg\";\nimport { ReactComponent as MovieIcon } from \"../../app/assets/movieIcon.svg\";\nimport { ReactComponent as AnalyticIcon } from \"../../app/assets/analyticIconSideBar.svg\";\n\nexport interface PagesProps {\n leftPanelIsOpen?: boolean;\n handleDrawerToggle?: () => void;\n}\n\nexport type TabId = \"video\" | \"archive\" | \"trash\";\nexport const tabs: TabId[] = [\"video\", \"archive\", \"trash\"];\n\nconst _getPageTitle = (currentTab: TabId): string => {\n switch (currentTab) {\n case \"video\": {\n return I18N.main.TITLE_VIDEO;\n }\n case \"archive\": {\n return I18N.main.TITLE_ARCHIVE;\n }\n case \"trash\": {\n return I18N.main.TITLE_TRASH;\n }\n }\n};\n\nconst _getPageComponent = (\n currentTab: TabId,\n leftPanelIsOpen?: boolean\n): ReactElement => {\n switch (currentTab) {\n case \"video\": {\n return ;\n }\n case \"archive\": {\n return ;\n }\n case \"trash\": {\n return ;\n }\n }\n};\n\nexport default function MainPage(props: PagesProps): ReactElement {\n const classes = useAppLayoutStyles();\n const { t } = useTranslation();\n const location = useLocation();\n\n const query = new URLSearchParams(location.search);\n const tab = getCurrentTab(tabs, query);\n\n return (\n
\n \n \n\n ,\n selected: tab === \"video\",\n },\n {\n title: I18N.common.LINK_LOCATION,\n link: \"/location\",\n icon: ,\n },\n {\n title: I18N.common.LINK_ANALYTICS,\n link: \"/location/dashboard\",\n icon: ,\n },\n {\n title: I18N.main.LINK_ARCHIVE,\n link: \"?tab=archive\",\n icon: ,\n selected: tab === \"archive\",\n },\n {\n title: I18N.main.LINK_TRASH,\n link: \"?tab=trash\",\n icon: ,\n selected: tab === \"trash\",\n },\n ]}\n buttons={[\n {\n title: I18N.main.BTN_ADD_VIDEO,\n link: \"/location?tab=video\",\n icon: ,\n },\n {\n title: I18N.main.BTN_ADD_STREAM,\n link: \"/location?tab=stream\",\n icon: ,\n },\n ]}\n open={props.leftPanelIsOpen}\n handleDrawerToggle={props.handleDrawerToggle}\n />\n\n
\n
\n \n {_getPageComponent(tab, props.leftPanelIsOpen)}\n \n
\n
\n );\n}\n","import { makeStyles, Theme } from \"@material-ui/core\";\nimport React, {\n ReactElement,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\n\nimport I18N from \"../../../app/i18n/strings\";\n\nimport { addGroup, addLocation } from \"../../groups/api\";\nimport { GroupId, LocationId } from \"../../groups/data-types\";\nimport { loadGroup } from \"../../groups/main/videoSlice\";\nimport {\n getGroupByLocationSelector,\n getLocationValuesSelector,\n selectGroupValues,\n} from \"../selectors\";\nimport CreatableSelect from \"../../../components/CreatableSelect\";\n\nimport { ReactComponent as LocationIcon } from \"../../../app/assets/locationIcon.svg\";\nimport { ReactComponent as FolderIcon } from \"../../../app/assets/folderIcon.svg\";\n\ninterface LocationControlProps {\n locationId?: LocationId;\n onChange: (locationId?: LocationId) => void;\n className?: string;\n locationName?: string;\n isReplaceAction?: boolean;\n isLocationDisabled?: (value: boolean) => void;\n}\n\nconst useStyles = makeStyles((theme: Theme) => ({\n content: {\n \"& $controlsContainerWrap:first-of-type\": {\n \"& $icon path\": {\n fill: theme.palette.primary.main,\n },\n },\n \"& $controlsContainerWrap:last-of-type\": {\n \"& $icon path\": {\n stroke: theme.palette.primary.main,\n },\n },\n \"& $controlsContainerWrapFirst\": {\n \"& $icon path\": {\n fill: theme.palette.primary.main,\n },\n },\n \"& $controlsContainerWrapSecond\": {\n \"& $icon path\": {\n stroke: theme.palette.primary.main,\n },\n },\n },\n controlsContainerWrap: {\n marginRight: theme.spacing(4),\n },\n controlsContainerWrapFirst: {\n margin: 0,\n },\n controlsContainerWrapSecond: {\n marginTop: theme.spacing(2),\n },\n controlsContainer: {\n display: \"flex\",\n alignContent: \"start\",\n alignItems: \"flex-start\",\n flexGrow: 1,\n maxWidth: 356, // the value is taken from the UI design\n },\n control: {\n flexShrink: 0,\n flexGrow: 1,\n marginRight: theme.spacing(1),\n minWidth: 320, // the value should be enough for a placeholder\n\n \"& .MuiFormLabel-root\": {\n fontWeight: 400,\n fontSize: \"14px\",\n\n \"&.Mui-disabled\": {\n color: \"#DFE6FB\",\n },\n },\n\n \"& .MuiInputBase-root\": {\n borderRadius: \"12px\",\n boxShadow: \"0px 4px 8px rgba(18, 32, 69, 0.05)\",\n background: theme.palette.common.white,\n padding: \"20px\",\n\n \"& .MuiInputBase-input\": {\n color: \"#122045\",\n },\n\n \"&:not(.Mui-focused):not(.Mui-disabled):hover fieldset\": {\n border: \"1px solid #DFE6FB\",\n },\n\n \"&.Mui-disabled\": {\n color: \"#DFE6FB\",\n boxShadow: \"none\",\n },\n\n \"&.Mui-focused fieldset\": {\n border: \"1px solid #2C67FF\",\n },\n\n \"& fieldset\": {\n border: \"none \",\n },\n },\n },\n icon: {\n marginTop: theme.spacing(1.5),\n marginRight: 18,\n marginBottom: theme.spacing(0.75),\n fontSize: 24,\n transform: \"scale(2)\",\n display: \"flex\",\n },\n\n listbox: {\n background: \"red\",\n backgroundRadius: \"16px\",\n },\n}));\n\nexport default function LocationControl(\n props: LocationControlProps\n): ReactElement {\n const classes = useStyles();\n const dispatch = useDispatch();\n const { t } = useTranslation();\n const { locationId, className, onChange, isLocationDisabled } = props;\n const [locationError, setLocationError] = useState();\n const [groupError, setGroupError] = useState();\n\n // load Groups list\n const groups = useSelector(selectGroupValues);\n\n // load initial Group\n const selectInitialGroup = useMemo(\n () =>\n locationId !== undefined\n ? getGroupByLocationSelector(locationId)\n : () => undefined,\n [locationId]\n );\n const initialGroup = useSelector(selectInitialGroup);\n const [groupId, setGroupId] = useState(initialGroup?.id);\n\n // load current group's Locations\n const selectLocations = useMemo(() => {\n if (groupId === undefined) {\n return () => [];\n }\n return getLocationValuesSelector(groupId);\n }, [groupId]);\n const locations = useSelector(selectLocations);\n\n // unset Location Select value when Group has been changed\n const verifiedLocationId =\n locations.findIndex(({ id }) => locationId === id) !== -1\n ? locationId\n : undefined;\n\n const selectedLocation = locations.find((item) => {\n if (verifiedLocationId !== undefined && verifiedLocationId === item.id) {\n return item;\n }\n return false;\n });\n\n const isDemoLocation =\n selectedLocation?.videos === 10 &&\n selectedLocation?.videoFilesSize === 9328394240;\n\n useEffect(() => {\n if (isLocationDisabled) {\n isLocationDisabled(isDemoLocation);\n }\n }, [isDemoLocation, verifiedLocationId]);\n\n const handleGroupCreate = useCallback(\n async (title: string) => {\n try {\n const groupDto = await addGroup(title);\n await dispatch(loadGroup(groupDto.id));\n setGroupId(groupDto.id);\n onChange();\n } catch (err) {\n setGroupError(err.message);\n }\n },\n [dispatch, setGroupId, onChange]\n );\n\n const handleLocationCreate = useCallback(\n async (title: string) => {\n try {\n const verifiedGroupId = groupId as GroupId;\n const locationDto = await addLocation(verifiedGroupId, title);\n await dispatch(loadGroup(verifiedGroupId));\n onChange(locationDto.id);\n } catch (err) {\n setLocationError(err.message);\n }\n },\n [dispatch, onChange, groupId]\n );\n\n const handleGroupChange = useCallback(\n (groupId: GroupId) => {\n setGroupId(groupId);\n onChange();\n },\n [onChange, setGroupId]\n );\n\n const handleGroupErrorReset = useCallback(\n () => setGroupError(undefined),\n [setGroupError]\n );\n const handleLocationErrorReset = useCallback(\n () => setLocationError(undefined),\n [setLocationError]\n );\n\n // in case Groups data isn't available from start,\n // set group ID once Groups data has been loaded\n useEffect(() => {\n if (groupId === undefined && initialGroup !== undefined) {\n setGroupId(initialGroup.id);\n }\n }, [setGroupId, groupId, initialGroup]);\n\n return (\n \n \n
\n \n \n
\n
\n\n \n
\n \n \n
\n
\n
\n );\n}\n","import { makeStyles, Theme } from \"@material-ui/core\";\nimport { COLORS } from \"../../../theme\";\n\nexport const useWorkFlowStyles = makeStyles((theme: Theme) => ({\n root: {\n display: \"flex\",\n width: \"100%\",\n padding: 0,\n },\n button: {\n marginRight: theme.spacing(1),\n },\n stepperRoot: {\n padding: 0,\n background: \"transparent\",\n width: \"100%\",\n\n \"& .MuiStep-root\": {\n \"& .MuiStepConnector-root\": {\n maxWidth: \"265px\",\n },\n },\n },\n instructions: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1),\n },\n stepLabel: {\n \"& .MuiStepLabel-iconContainer\": {\n borderWidth: 8,\n borderRadius: 48,\n borderColor: COLORS.BLUE1,\n backgroundColor: COLORS.BLUE1,\n borderStyle: \"solid\",\n },\n \"& .MuiStepIcon-root\": {\n width: theme.spacing(4),\n height: theme.spacing(4),\n color: COLORS.BLUE1,\n borderWidth: 0,\n borderRadius: 48,\n borderColor: COLORS.BLUE1,\n backgroundColor: COLORS.BLUE1,\n borderStyle: \"solid\",\n },\n \"& .MuiStepIcon-text\": {\n fill: COLORS.GREY7,\n },\n \"& .MuiStepLabel-active\": {\n color: COLORS.BLUE5,\n },\n },\n}));\n","import React, { ReactElement, useEffect, useState, useMemo } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { useLocation } from \"react-router\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { Check } from \"@material-ui/icons\";\nimport {\n withStyles,\n StepConnector,\n makeStyles,\n StepIconProps,\n} from \"@material-ui/core\";\n\nimport Stepper from \"@material-ui/core/Stepper\";\nimport Step from \"@material-ui/core/Step\";\nimport StepLabel from \"@material-ui/core/StepLabel\";\n\nimport { LocationId } from \"../../groups/data-types\";\nimport { getUploadsSelector, getVideosSelector } from \"../selectors\";\nimport { StreamData, UPLOAD_STATE, VIDEO_STATE } from \"../data-mapper\";\n\nimport I18N from \"../../../app/i18n/strings\";\nimport { hasCloneVideo } from \"../../../app/utils\";\n\nimport { useWorkFlowStyles } from \"./workflowStyle\";\n\nimport clsx from \"clsx\";\nimport { COLORS } from \"../../../theme\";\n\ninterface WorkFlowProps {\n locationId?: LocationId;\n addLineStep?: boolean;\n streams?: StreamData[];\n}\n\nenum COMPLETED_STEPS {\n START,\n PICK_LOCATION,\n ADD_VIDEO,\n PICK_DATE_TIME,\n UPLOAD_TO_SERVER,\n ADD_LINE,\n START_PROCESSING,\n}\n\nconst WorkFlowConnector = withStyles({\n alternativeLabel: {\n top: 16,\n left: \"calc(-50% + 8px)\",\n right: \"calc(50% + 8px)\",\n borderWidth: 4,\n borderRadius: 16,\n borderColor: COLORS.BLUE1,\n backgroundColor: COLORS.BLUE1,\n borderStyle: \"solid\",\n maxWidth: 184,\n },\n active: {\n \"& $line\": {\n borderColor: COLORS.BLUE5,\n },\n },\n completed: {\n \"& $line\": {\n borderColor: COLORS.BLUE5,\n },\n },\n disabled: {\n \"& $line\": {\n backgroundColor: COLORS.BLUE1,\n borderColor: COLORS.BLUE1,\n },\n },\n line: {\n backgroundColor: COLORS.BLUE1,\n borderColor: COLORS.BLUE1,\n borderWidth: 8,\n borderRadius: 1,\n },\n})(StepConnector);\n\nconst useWorkFlowIconStyles = makeStyles({\n root: {\n zIndex: 5,\n color: COLORS.BLUE1,\n display: \"flex\",\n alignItems: \"center\",\n borderWidth: 8,\n borderRadius: 32,\n borderColor: COLORS.BLUE5,\n borderStyle: \"solid\",\n backgroundColor: COLORS.BLUE5,\n },\n text: {\n color: COLORS.WHITE,\n zIndex: 1,\n fontSize: 18,\n },\n active: {\n color: COLORS.BLUE1,\n },\n circle: {\n width: 16,\n height: 16,\n borderRadius: \"50%\",\n backgroundColor: COLORS.BLUE1,\n },\n completed: {\n backgroundColor: COLORS.BLUE5,\n color: COLORS.WHITE,\n zIndex: 1,\n fontSize: 18,\n },\n});\n\nfunction WorkFlowStepIcon(props: StepIconProps): ReactElement {\n const classes = useWorkFlowIconStyles();\n const { active, completed } = props;\n\n return (\n \n {completed === true ? (\n \n ) : (\n
\n )}\n
\n );\n}\n\nfunction getStepsVideos(): string[] {\n return [\n I18N.location.WORKFLOW_PICK_LOCATION,\n I18N.location.WORKFLOW_ADD_VIDEOS,\n I18N.location.WORKFLOW_PICK_DATE_TIME,\n I18N.location.WORKFLOW_UPLOAD_TO_SERVER,\n I18N.location.WORKFLOW_ADD_LINE,\n I18N.location.WORKFLOW_START_PROCESSING,\n ];\n}\n\nfunction getStepsStream(): string[] {\n return [\n I18N.location.WORKFLOW_PICK_LOCATION,\n I18N.location.WORKFLOW_ADD_VIDEO_LINK,\n I18N.location.WORKFLOW_PICK_TIME_ZONE,\n I18N.location.WORKFLOW_SEND_TO_SERVER,\n I18N.location.WORKFLOW_ADD_LINE,\n I18N.location.WORKFLOW_START_PROCESSING,\n ];\n}\n\nexport default function VisiusWorkFlow(\n props: WorkFlowProps\n): ReactElement | null {\n const { t } = useTranslation();\n const { locationId, streams, addLineStep } = props;\n const classes = useWorkFlowStyles();\n const [completedStep, setCompletedStep] = useState(0);\n\n const isTmpStream = streams?.find(({ isTmp }) => isTmp);\n\n const location = useLocation();\n const selectVideos = useMemo(\n () => getVideosSelector(locationId),\n [locationId]\n );\n const selectUploads = useMemo(\n () => getUploadsSelector(locationId),\n [locationId]\n );\n const videos = useSelector(selectVideos);\n const uploads = useSelector(selectUploads);\n\n const query = new URLSearchParams(location.search);\n const isStreamTab = query.get(\"tab\") === \"stream\" && videos.length === 0;\n const steps = isStreamTab ? getStepsStream() : getStepsVideos();\n\n const isDemoLocation = useMemo(() => hasCloneVideo(videos), [videos]);\n const savedStreams = streams?.filter(({ isTmp = false }) => !isTmp);\n\n useEffect(() => {\n const isDateInvalid =\n uploads.findIndex(({ date }) => {\n return date === null || !date.isValid();\n }) !== -1;\n const hasUploading =\n uploads.findIndex(({ state }) => {\n return state !== UPLOAD_STATE.UPLOADED && state !== UPLOAD_STATE.FAILED;\n }) !== -1;\n const hasUploadedVideo =\n videos.findIndex(({ state }) => {\n return state === VIDEO_STATE.UPLOADED;\n }) !== -1;\n const hasUploadingVideo =\n videos.findIndex(({ state }) => {\n return state === VIDEO_STATE.UPLOADING;\n }) !== -1;\n\n const videoWithLine = videos.find(({ line }) => line !== undefined);\n\n // Это пригодится позже\n // const isStartProcessing = videos.find(({ videoProcessingState }) => {\n // console.log(videoProcessingState)\n // return videoProcessingState > 0\n // }) !== undefined\n\n if (locationId !== undefined && !isStreamTab) {\n if (addLineStep) {\n return setCompletedStep(COMPLETED_STEPS.UPLOAD_TO_SERVER);\n }\n\n if (hasUploading && isDateInvalid) {\n return setCompletedStep(COMPLETED_STEPS.ADD_VIDEO);\n }\n\n if (hasUploading || hasUploadingVideo) {\n return setCompletedStep(COMPLETED_STEPS.PICK_DATE_TIME);\n }\n\n if (hasUploadedVideo && videoWithLine === undefined) {\n return setCompletedStep(COMPLETED_STEPS.UPLOAD_TO_SERVER);\n }\n\n // здесь будет нормальная проверка через статус обработки - isStartProcessing\n // if (!uploadHasVideo && !isVideoUploading && isVideoUploaded &&\n // (!videoHasNotLine || videoWithLine !== undefined)) {\n // return setActiveStep(COMPLETED_STEPS.ADD_LINE)\n // }\n\n if (hasUploadedVideo && videoWithLine !== undefined) {\n return setCompletedStep(COMPLETED_STEPS.START_PROCESSING);\n }\n\n return setCompletedStep(COMPLETED_STEPS.PICK_LOCATION);\n }\n if (locationId !== undefined && isStreamTab && streams !== undefined) {\n if (addLineStep) {\n return setCompletedStep(COMPLETED_STEPS.UPLOAD_TO_SERVER);\n }\n\n if (savedStreams && savedStreams.length > 0) {\n return setCompletedStep(COMPLETED_STEPS.PICK_DATE_TIME);\n }\n\n if (\n isTmpStream !== undefined &&\n isTmpStream?.url.length !== 0 &&\n isTmpStream?.timeZone.length !== 0\n ) {\n return setCompletedStep(COMPLETED_STEPS.PICK_DATE_TIME);\n }\n\n // if (hasUploadedVideo && videoWithLine !== undefined) {\n // return setCompletedStep(COMPLETED_STEPS.START_PROCESSING);\n // }\n\n return setCompletedStep(COMPLETED_STEPS.PICK_LOCATION);\n }\n return setCompletedStep(COMPLETED_STEPS.START);\n }, [\n uploads,\n videos,\n locationId,\n streams,\n isStreamTab,\n completedStep,\n isTmpStream,\n ]);\n\n if (completedStep === COMPLETED_STEPS.START_PROCESSING || isDemoLocation) {\n return null;\n }\n return (\n
\n }\n >\n {steps.map((label, id) => {\n const tLabel = t(label);\n return (\n \n \n {tLabel}\n \n \n );\n })}\n \n
\n );\n}\n","import React, {\n MouseEvent,\n ReactElement,\n SyntheticEvent,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport { makeStyles, Theme } from \"@material-ui/core\";\nimport { Drag } from \"@visx/drag\";\nimport { localPoint } from \"@visx/event\";\nimport { MarkerCircle } from \"@visx/marker\";\nimport { LinePath } from \"@visx/shape\";\n\nimport clsx from \"clsx\";\nimport ProgressIndicator from \"../../../../components/ProgressIndicator\";\n\ninterface Point {\n x: number;\n y: number;\n}\nexport type Line = Point[];\n\nexport interface LineDrawingProps {\n width: number;\n imgUrl: string;\n onChange: (line: Line) => void;\n\n points?: Line;\n targetWidth?: number;\n targetHeight?: number;\n}\n\n// left/right/top/down margin to make it possible to attach line endings to edges of the image\nconst IMAGE_MARGIN = 0;\n// threshold for selecting active point\nconst MARKER_THRESHOLD = 7;\n// maximum image width (in the UI)\nconst MAX_THUMBNAIL_WIDTH = 720;\n// maximum image height (in the UI)\nconst MAX_THUMBNAIL_HEIGHT = 390;\n\nconst useStyles = makeStyles((theme: Theme) => ({\n container: {\n touchAction: \"none\",\n position: \"relative\",\n overflow: \"hidden\",\n },\n img: {\n position: \"absolute\",\n top: IMAGE_MARGIN,\n left: IMAGE_MARGIN,\n pointerEvents: \"none\",\n userSelect: \"none\",\n },\n loading: {\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n transform: \"translate(-50%, -50%)\",\n },\n canvas: {\n position: \"relative\",\n zIndex: 1,\n \"&.loaded\": {\n cursor: \"crosshair\",\n },\n },\n}));\n\nexport default function LineDrawing({\n width,\n imgUrl,\n onChange,\n points = [],\n targetWidth,\n targetHeight,\n}: LineDrawingProps): ReactElement | null {\n const classes = useStyles();\n // dragged = true => one of line points is currently being dragged, i.e. line is being modified\n const [isDragged, setDragged] = useState(false);\n const [line, setLine] = useState(points ?? []);\n\n // imgSize - actual image size (img.naturalWidth)\n // thumbnailSize - width/height of a scaled image thumbnail as shown to the user\n // isImageLoaded - true if the image has been loaded and rendered\n // thumbnailScale - /\n const [imgSize, setImgSize] = useState({ width: 0, height: 0 });\n const [thumbnailSize, setThumbnailSize] = useState({ width: 0, height: 0 });\n const isImageLoaded = imgSize.width > 0;\n useEffect(() => {\n if (thumbnailSize.width === 0 && width > 0) {\n const defaultWidth = Math.min(width - IMAGE_MARGIN * 2, 480);\n setThumbnailSize({\n width: defaultWidth,\n height: (defaultWidth / 16) * 9,\n });\n }\n }, [width, thumbnailSize]);\n const thumbnailScale = thumbnailSize.width / imgSize.width;\n\n const [selectedPoint, setSelectedPoint] = useState(-1);\n const imgRef = useRef(null);\n\n /**\n * Converts X coords from Canvas space to Image space\n */\n const canvasX2image = useCallback(\n (coordinate: number): number => {\n const thumbnailX = Math.min(\n Math.max(coordinate - IMAGE_MARGIN, 0),\n thumbnailSize.width\n );\n\n // round result to prevent values greater than image actual size\n return Math.ceil(thumbnailX / thumbnailScale);\n },\n [thumbnailSize.width, thumbnailScale]\n );\n\n /**\n * Converts Y coords from Canvas space to Image space\n */\n const canvasY2image = useCallback(\n (coordinate: number): number => {\n const thumbnailY = Math.min(\n Math.max(coordinate - IMAGE_MARGIN, 0),\n thumbnailSize.height\n );\n\n // round result to prevent values greater than image actual size\n return Math.ceil(thumbnailY / thumbnailScale);\n },\n [thumbnailSize.height, thumbnailScale]\n );\n\n /**\n * Converts coords (both X and Y) from Image space to Canvas space\n */\n const image2canvas = useCallback(\n (coordinate: number): number => {\n if (imgRef.current === null) {\n return 0;\n }\n\n return coordinate * thumbnailScale + IMAGE_MARGIN;\n },\n [thumbnailScale]\n );\n\n const handleImageLoaded = useCallback(\n (evt: SyntheticEvent) => {\n const img = evt.target as HTMLImageElement;\n const { naturalWidth, naturalHeight } = img;\n const aspectRatio = naturalWidth / naturalHeight;\n\n const newThumbnailWidth = Math.min(\n aspectRatio >= 1\n ? targetWidth! - IMAGE_MARGIN * 2\n : MAX_THUMBNAIL_HEIGHT,\n aspectRatio < 1 ? targetHeight! - IMAGE_MARGIN * 2 : MAX_THUMBNAIL_WIDTH\n );\n\n const imgWidth =\n aspectRatio >= 1\n ? Math.min(targetWidth ?? naturalWidth, naturalWidth)\n : newThumbnailWidth;\n const imgHeight =\n aspectRatio < 1\n ? Math.min(targetHeight ?? naturalHeight, naturalHeight)\n : imgWidth / aspectRatio;\n\n setImgSize({ width: imgWidth, height: imgHeight });\n setThumbnailSize({\n width: newThumbnailWidth,\n height: (imgHeight * newThumbnailWidth) / imgWidth,\n });\n },\n [setImgSize, setThumbnailSize, width, targetWidth, targetHeight]\n );\n\n /**\n * Selects point under the cursor on hover\n */\n const handleMouseMove = useCallback(\n (evt: MouseEvent) => {\n if (isDragged) {\n return;\n }\n\n const point = localPoint(evt);\n if (point === null) {\n if (selectedPoint !== -1) {\n setSelectedPoint(-1);\n }\n\n return;\n }\n\n const hoveredPoint = line.findIndex(({ x, y }) => {\n return (\n Math.abs(point.x - image2canvas(x)) < MARKER_THRESHOLD &&\n Math.abs(point.y - image2canvas(y)) < MARKER_THRESHOLD\n );\n });\n setSelectedPoint(hoveredPoint);\n },\n [image2canvas, setSelectedPoint, isDragged, line, selectedPoint]\n );\n\n /**\n * Creates a new line using the current coords as a starting point\n */\n const handleDragStart = useCallback(\n ({ x = 0, y = 0 }) => {\n setDragged(true);\n if (selectedPoint === -1) {\n //\n setLine([\n {\n x: canvasX2image(x),\n y: canvasY2image(y),\n },\n ]);\n }\n },\n [setLine, canvasX2image, canvasY2image, setDragged, selectedPoint]\n );\n\n /**\n * Modifies coordinates for the line start or line end\n */\n const handleDragMove = useCallback(\n ({\n x = 0,\n y = 0,\n dx,\n dy,\n }: {\n x?: number;\n y?: number;\n dx: number;\n dy: number;\n }) => {\n const editablePoint = selectedPoint === -1 ? 1 : selectedPoint;\n const newPoints = [...line];\n newPoints[editablePoint] = {\n x: canvasX2image(x + dx),\n y: canvasY2image(y + dy),\n };\n if (editablePoint !== selectedPoint) {\n setSelectedPoint(editablePoint);\n }\n\n setLine(newPoints);\n },\n [setLine, canvasX2image, canvasY2image, selectedPoint, line]\n );\n\n /**\n * Finalizes point move mode\n */\n const handleDragEnd = useCallback(() => {\n if (isDragged) {\n setDragged(false);\n if (line.length < 2) {\n setLine([]);\n onChange([]);\n } else {\n onChange(line);\n }\n }\n }, [onChange, setDragged, isDragged, line]);\n\n const canvasWidth = thumbnailSize.width + IMAGE_MARGIN * 2;\n const canvasHeight = thumbnailSize.height + IMAGE_MARGIN * 2;\n\n return width === 0 ? null : (\n \n \n {!isImageLoaded && (\n
\n \n
\n )}\n \n \n {isImageLoaded && (\n <>\n \n image2canvas(d.x)}\n y={(d) => image2canvas(d.y)}\n />\n image2canvas(d.x)}\n y={(d) => image2canvas(d.y)}\n markerStart=\"url(#marker-circle)\"\n markerEnd=\"url(#marker-circle)\"\n />\n {/* decorate the point currently being dragged */}\n {selectedPoint !== -1 && line[selectedPoint] && (\n \n )}\n \n {({ dragStart, dragEnd, dragMove }) => (\n \n {/* drag and drop area */}\n \n \n )}\n \n \n )}\n \n \n );\n}\n","import { makeStyles, Theme } from \"@material-ui/core\";\n\nexport default makeStyles((theme: Theme) => ({\n backButton: {\n marginRight: theme.spacing(2),\n },\n workFlowWrap: {\n width: \"100%\",\n marginBottom: theme.spacing(4),\n },\n tab: {\n fontWeight: 600,\n color: \"#122045\",\n textTransform: \"none\",\n\n \"& svg path\": {\n fill: \"#122045\",\n },\n },\n // content\n contentBlock: {\n marginTop: theme.spacing(3),\n \"& + $header\": {\n marginTop: theme.spacing(4),\n },\n\n \"& button\": {\n fontWeight: 600,\n textTransform: \"none\",\n },\n\n \"& .MuiButton-containedPrimary .Mui-disabled\": {\n marginRight: theme.spacing(2),\n },\n },\n mainBtn: {\n marginRight: theme.spacing(2),\n \"&.Mui-disabled\": {\n background: \"#DFE6FB\",\n color: \"white\",\n },\n },\n offsetContentBlock: {\n marginTop: theme.spacing(2),\n },\n steps: {\n marginTop: \"auto\",\n\n \"& > .MuiTypography-root\": {\n margin: theme.spacing(2, 0),\n },\n },\n\n // content header\n header: {\n display: \"flex\",\n alignItems: \"center\",\n height: 52,\n\n \"& + $contentBlock\": {\n marginTop: 0, // theme.spacing(1) // <-- not sure what's better\n },\n\n \"& svg\": {\n marginRight: 18,\n\n \"& path\": {\n fill: theme.palette.primary.main,\n },\n },\n },\n headerIcon: {\n marginRight: theme.spacing(2),\n },\n\n // text/controls within block content\n input: {\n margin: 0,\n\n \"& .MuiFormLabel-root\": {\n fontWeight: 400,\n fontSize: \"14px\",\n transform: \"translate(12px, 20px) scale(1)\",\n color: \"#888888\",\n\n \"&.Mui-disabled\": {\n color: \"#DFE6FB\",\n },\n },\n\n \"& .MuiInputBase-root\": {\n margin: \"4px 0 24px\",\n borderRadius: \"12px\",\n boxShadow: \"0px 4px 8px rgba(18, 32, 69, 0.05)\",\n width: \"640px\",\n background: \"#FFFFFF\",\n padding: \"5px 0\",\n\n \"& .MuiInputBase-input\": {\n color: \"#122045\",\n },\n\n \"&:not(.Mui-focused):not(.Mui-disabled):hover fieldset\": {\n border: \"1px solid #DFE6FB\",\n },\n\n \"& fieldset\": {\n border: \"none \",\n },\n },\n },\n inputLabel: {\n marginBottom: theme.spacing(2),\n fontWeight: 600,\n },\n inputHelper: {\n marginBottom: theme.spacing(4),\n fontSize: \"14px\",\n fontWeight: 400,\n },\n paragraph: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1),\n },\n nextStepParagraph: {\n color: theme.palette.grey[600],\n },\n}));\n","import React, {\n ReactElement,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory, useLocation } from \"react-router\";\n\nimport {\n Button,\n Container,\n makeStyles,\n Theme,\n Typography,\n} from \"@material-ui/core\";\n\nimport { ParentSize } from \"@visx/responsive\";\n\nimport { startProcessing } from \"../locationSlice\";\nimport {\n getLoadedSelector,\n getStreamSelector,\n getVideoSelector,\n} from \"../selectors\";\nimport deepEqual from \"deep-equal\";\n\nimport I18N from \"../../../app/i18n/strings\";\nimport { useAppLayoutStyles } from \"../../../app/styles\";\n\nimport WorkFlow from \"../workflow/WorkFlow\";\nimport { LocationId } from \"../../groups/data-types\";\nimport VisiusLink from \"../../../components/Link\";\nimport DrawLine, { Line } from \"./components/DrawLine\";\n\nimport useStyles from \"../styles\";\nimport clsx from \"clsx\";\n\n/* Line coords for Videos must be converted to the following dimansions */\nconst VIDEO_LINE_TARGET_WIDTH = 1280;\nconst VIDEO_LINE_TARGET_HEIGHT = 720;\n\ninterface TabProps {\n locationId?: LocationId;\n}\n\nconst useCustomStyles = makeStyles((theme: Theme) => ({\n container: {\n margin: \"auto\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n },\n workFlowWrap: {\n width: \"100%\",\n marginBottom: theme.spacing(4),\n },\n message: {\n marginBottom: theme.spacing(2),\n textAlign: \"center\",\n },\n submitBtn: {\n marginTop: theme.spacing(2),\n },\n}));\n\ninterface LineEditorProps {\n url: string;\n onChange: (line: Line) => void;\n\n line?: Line;\n targetWidth?: number;\n targetHeight?: number;\n locationId?: string;\n}\n\nfunction LineEditor(props: LineEditorProps): ReactElement {\n const classes = useCustomStyles();\n const { t } = useTranslation();\n const { line, url, targetWidth, targetHeight, locationId, onChange } = props;\n\n return (\n \n {(parent) => (\n <>\n
\n \n
\n \n \n {t(I18N.location.MSG_EDIT_LINE)}\n
\n {t(I18N.location.MSG_EDIT_LINE_TWO)}\n
\n \n
\n \n )}\n
\n );\n}\n\nexport default function LineEditorTab(props: TabProps): ReactElement {\n const { locationId } = props;\n const appClasses = useAppLayoutStyles();\n const classes = useStyles();\n const { t } = useTranslation();\n const location = useLocation();\n const query = new URLSearchParams(location.search);\n const videoId = query.get(\"video\") ?? undefined;\n const streamId = query.get(\"stream\") ?? undefined;\n const dispatch = useDispatch();\n const [line, setLine] = useState();\n const history = useHistory();\n\n const selectLoaded = useMemo(\n () => getLoadedSelector(locationId),\n [locationId]\n );\n const selectStream = useMemo(\n () => getStreamSelector(locationId, streamId),\n [locationId, streamId]\n );\n const selectVideo = useMemo(\n () => getVideoSelector(locationId, videoId),\n [locationId, videoId]\n );\n\n const isLoaded = useSelector(selectLoaded) ?? false;\n const stream = useSelector(selectStream);\n const video = useSelector(selectVideo);\n\n useEffect(() => {\n const savedLine = (video ?? stream)?.line;\n if (savedLine !== undefined && !deepEqual(savedLine, line)) {\n setLine(savedLine);\n }\n }, [setLine, video, stream, line]);\n\n /**\n * Save tmp line changes to the Store\n */\n const handleLineChange = useCallback(\n (line: Line) => {\n setLine(line);\n },\n [setLine]\n );\n\n /**\n * Save line to the backend\n */\n const handleLineSave = useCallback(() => {\n dispatch(\n startProcessing({\n locationId: locationId as LocationId,\n line: line as Line,\n streamId: stream?.id,\n videoId: video?.id,\n redirectTo: `/location/${locationId as LocationId}`,\n history: history,\n })\n );\n }, [dispatch, line, stream, video, locationId, history]);\n\n const lineTarget = video ?? stream;\n\n if (!isLoaded) {\n return {t(I18N.main.common.MSG_LOADING_PROGRESS)};\n }\n\n if (lineTarget === undefined) {\n return {t(I18N.location.MSG_VIDEO_NOT_FOUND)};\n }\n\n return (\n <>\n \n
\n
\n \n \n {t(I18N.location.BTN_STEP_BACK)}\n \n \n\n \n {t(I18N.location.BTN_STEP_START_ANALYSIS)}\n \n
\n
\n \n );\n}\n","import { Dialog } from '@material-ui/core'\nimport Hls from 'hls.js'\nimport React, { ReactElement, useCallback, useRef } from 'react'\n\ninterface VideoDialogProps {\n open: boolean\n url: string\n useHls?: boolean\n\n onClose: () => void\n}\n\nexport default function ModalVideoPlayer ({ open, url, onClose }: VideoDialogProps): ReactElement|null {\n const videoElemRef = useRef(null)\n const { current: hls } = useRef(new Hls())\n const urlObj = new URL(url)\n const useHls = /\\.m3u8$/.test(urlObj.pathname)\n const src = useHls ? undefined : url\n\n const handleLoad = useCallback(() => {\n const videoElem = videoElemRef.current as HTMLVideoElement\n if (useHls) {\n hls.loadSource(url)\n hls.attachMedia(videoElem)\n }\n }, [hls, url, useHls])\n\n const handleUnload = useCallback(() => {\n const videoElem = videoElemRef.current as HTMLVideoElement\n videoElem.pause()\n if (useHls) {\n hls.stopLoad()\n hls.detachMedia()\n }\n }, [hls, useHls])\n\n return (\n \n \n )\n}\n","import React, { ReactElement, useCallback, MouseEvent, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\n\nimport moment from \"moment\";\n\nimport {\n IconButton,\n Link,\n makeStyles,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TableRow,\n Theme,\n} from \"@material-ui/core\";\nimport {\n Link as LinkIcon,\n PlayArrow,\n RadioButtonChecked,\n} from \"@material-ui/icons\";\n\nimport { selectUserData } from \"../../../auth/authSlice\";\nimport { actions as notificationActions } from \"../../../notifications/notificationsSlice\";\nimport { StreamData, VIDEO_PROCESSING_STATE } from \"../../data-mapper\";\n\nimport I18N from \"../../../../app/i18n/strings\";\nimport { VISIUS_COLORS } from \"../../../../app/styles\";\nimport ModalVideoPlayer from \"../../../../components/ModalVideoPlayer\";\n/* eslint no-void: [\"error\", { \"allowAsStatement\": true }] */\n\nconst MAX_ROW_TITLE_WIDTH = 300;\ninterface StreamListProps {\n streams: StreamData[];\n}\n\nconst useStyles = makeStyles((theme: Theme) => ({\n table: {\n width: \"auto\",\n },\n icon: {\n display: \"block\",\n },\n processingError: {\n color: VISIUS_COLORS.ERROR,\n },\n processing: {\n color: VISIUS_COLORS.WARN,\n },\n connected: {\n color: VISIUS_COLORS.SUCCESS,\n },\n disconnected: {\n color: VISIUS_COLORS.lightGrey,\n },\n tdLinks: {\n whiteSpace: \"nowrap\",\n },\n streamTitle: {\n [theme.breakpoints.down(1580)]: {\n whiteSpace: \"nowrap\",\n maxWidth: MAX_ROW_TITLE_WIDTH,\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n },\n },\n}));\n\nexport default function StreamsList(props: StreamListProps): ReactElement {\n const { streams } = props;\n const classes = useStyles();\n const { t } = useTranslation();\n const user = useSelector(selectUserData);\n const isAdmin = user?.isAdmin === true;\n const dispatch = useDispatch();\n\n const [videoOpened, setVideoOpened] = useState(false);\n const [videoUrl, setVideoUrl] = useState();\n\n const handleCopyLink = useCallback(\n (evt: MouseEvent) => {\n evt.preventDefault();\n const url = (evt.target as HTMLElement).closest(\"a\")?.href;\n void (async () => {\n try {\n if (url === undefined) {\n throw new Error(\"Link not found\");\n }\n\n await navigator.clipboard.writeText(url);\n dispatch(\n notificationActions.info({\n template: \"Ссылка скопирована в буфер обмена\",\n })\n );\n } catch (err) {\n console.error(err);\n }\n })();\n },\n [dispatch]\n );\n\n const handleVideoOpen = useCallback(\n (evt: MouseEvent) => {\n evt.preventDefault();\n evt.stopPropagation();\n const url = (evt.target as HTMLElement).closest(\"a\")?.href;\n if (url !== undefined) {\n setVideoUrl(url);\n setVideoOpened(true);\n }\n },\n [setVideoUrl, setVideoOpened]\n );\n\n const handleVideoClose = useCallback(\n () => setVideoOpened(false),\n [setVideoOpened]\n );\n\n return (\n <>\n \n \n \n \n \n {t(I18N.location.TABLE_STREAM_URL)}\n {t(I18N.location.TABLE_STREAM_CREATED_AT)}\n \n {t(I18N.location.TABLE_STREAM_DISCONNECTED_AT)}\n \n {t(I18N.location.TABLE_DURATION)}\n {isAdmin && }\n \n \n \n {streams.map((stream) => {\n const processingState = stream.videoProcessingState;\n\n const streamNoHasProcessing =\n processingState === VIDEO_PROCESSING_STATE.NOT_STARTED ||\n processingState === VIDEO_PROCESSING_STATE.STOPPED;\n const streamHasConnected =\n processingState === VIDEO_PROCESSING_STATE.PROCESSING;\n const streamHasProcessingError =\n processingState === VIDEO_PROCESSING_STATE.NOTIFICATION_ERROR ||\n processingState ===\n VIDEO_PROCESSING_STATE.PREPARING_INFRASTRUCTURE_ERROR ||\n processingState === VIDEO_PROCESSING_STATE.STOPPING_ERROR;\n\n const getIndicatorClass = (): string => {\n if (streamNoHasProcessing) {\n return classes.disconnected;\n }\n\n if (streamHasConnected) {\n return classes.connected;\n }\n\n if (streamHasProcessingError) {\n return classes.processingError;\n }\n\n return classes.processing;\n };\n\n return (\n \n \n \n \n \n {stream.url}\n \n \n {stream.connectedAt !== undefined\n ? stream.connectedAt.format()\n : \"\"}\n \n \n {streamNoHasProcessing\n ? stream.disconnectedAt?.format() ?? \"\"\n : t(I18N.location.MSG_STREAM_IS_CONNECTED)}\n \n \n {streamNoHasProcessing\n ? t(I18N.location.MSG_STREAM_TIME, {\n hours: `${(stream.disconnectedAt ?? moment()).diff(\n stream.connectedAt,\n \"h\"\n )}`,\n })\n : t(I18N.location.MSG_STREAM_IS_CONNECTED)}\n \n {isAdmin && (\n \n \n \n \n \n \n \n \n \n \n \n \n )}\n \n );\n })}\n \n
\n
\n\n {videoUrl !== undefined && (\n \n )}\n \n );\n}\n","import React, { ReactElement, useCallback, useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { makeStyles, TextField, Theme } from \"@material-ui/core\";\nimport { Autocomplete } from \"@material-ui/lab\";\nimport {\n Country,\n COUNTRY_LIST,\n DEFAULT_COUNTRY,\n getDefaultTimeZone,\n getTimeZoneList,\n TimeZone,\n TimeZoneName,\n} from \"../../../../app/timezone\";\n\ninterface TzProps {\n timeZone?: TimeZoneName;\n onChange: (timeZone: TimeZoneName) => void;\n}\n\nconst useStyles = makeStyles((theme: Theme) => ({\n control: {\n flexShrink: 0,\n flexGrow: 0,\n marginRight: theme.spacing(2),\n minWidth: 350,\n\n \"& button:nth-of-type(2) span\": {\n \"& svg\": {\n \"& path\": {\n d: \"path('M0.292893 0.292893C0.683417 -0.0976311 1.31658 -0.0976311 1.70711 0.292893L7 5.58579L12.2929 0.292893C12.6834 -0.0976311 13.3166 -0.0976311 13.7071 0.292893C14.0976 0.683417 14.0976 1.31658 13.7071 1.70711L7.70711 7.70711C7.31658 8.09763 6.68342 8.09763 6.29289 7.70711L0.292893 1.70711C-0.0976311 1.31658 -0.0976311 0.683417 0.292893 0.292893Z')\",\n transform: \"translate(4px, 8px)\",\n },\n },\n },\n\n \"& .MuiFormLabel-root\": {\n fontWeight: 400,\n fontSize: \"14px\",\n\n \"&.Mui-disabled\": {\n color: \"#DFE6FB\",\n },\n },\n\n \"& .MuiInputBase-root\": {\n borderRadius: \"12px\",\n boxShadow: \"0px 4px 8px rgba(18, 32, 69, 0.05)\",\n background: \"#FFFFFF\",\n padding: \"20px\",\n\n \"& .MuiInputBase-input\": {\n color: \"#122045\",\n },\n\n \"&.Mui-disabled\": {\n color: \"#DFE6FB\",\n boxShadow: \"none\",\n },\n\n \"&.Mui-focused fieldset\": {\n border: \"1px solid #2C67FF\",\n },\n\n \"& fieldset\": {\n border: \"none \",\n },\n },\n },\n}));\n\nexport default function TimeZoneSelect(props: TzProps): ReactElement {\n const { timeZone = getDefaultTimeZone(), onChange } = props;\n const classes = useStyles();\n const { t } = useTranslation();\n const [country, setCountry] = useState(DEFAULT_COUNTRY);\n const [inputValue, setInputValue] = useState(\"\");\n const [tzInputValue, setTzInputValue] = useState(\"\");\n\n const tzList = useMemo(() => {\n return getTimeZoneList(country);\n }, [country]);\n\n const handleCountryChange = useCallback(\n (_, value: Country | null) => {\n if (value === null) {\n return;\n }\n\n setCountry(value.key);\n onChange(getDefaultTimeZone(value.key) as TimeZoneName);\n },\n [onChange]\n );\n\n const handleTimeZoneChange = useCallback(\n (_, value: TimeZone | null) => {\n if (value === null) {\n return;\n }\n\n onChange(value.name);\n },\n [onChange]\n );\n\n return (\n
\n key === country)}\n inputValue={inputValue}\n onInputChange={(_, newInputValue) => {\n setInputValue(newInputValue);\n }}\n getOptionLabel={(option) => option.title}\n renderInput={(params) => (\n \n )}\n onChange={handleCountryChange}\n />\n name === timeZone)}\n inputValue={tzInputValue}\n onInputChange={(_, newInputValue) => {\n setTzInputValue(newInputValue);\n }}\n getOptionLabel={(option) => `${t(option.name)} (${option.offset})`}\n renderInput={(params) => (\n \n )}\n onChange={handleTimeZoneChange}\n />\n
\n );\n}\n","import React, { ChangeEvent, ReactElement, useCallback, useState } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { Button, Container, TextField, Typography } from \"@material-ui/core\";\n\nimport I18N from \"../../../app/i18n/strings\";\nimport { TimeZoneName } from \"../../../app/timezone\";\n\nimport { actions, createStream } from \"../locationSlice\";\nimport { StreamData } from \"../data-mapper\";\n\nimport { LocationId } from \"../../groups/data-types\";\nimport TimeZoneSelect from \"./components/TimeZoneSelect\";\nimport useStyles from \"../styles\";\n\ninterface StreamCreatorProps {\n locationId?: LocationId;\n stream: StreamData;\n}\n\nexport default function StreamCreator(props: StreamCreatorProps): ReactElement {\n const { locationId, stream } = props;\n const [inputHasFocus, setInputHasFocus] = useState(false);\n const classes = useStyles();\n const { t } = useTranslation();\n const dispatch = useDispatch();\n\n const [url, setUrl] = useState(stream.url);\n\n const regex = /^rtsp/;\n\n // Handlers for changes within the stream options\n const handleUrlSave = useCallback(() => {\n dispatch(\n actions.setStream({\n locationId: locationId as LocationId,\n data: { ...stream, url },\n })\n );\n }, [dispatch, locationId, url, stream]);\n\n const handleUrlChange = useCallback(\n ({ target }: ChangeEvent) => {\n setUrl(target.value);\n },\n [setUrl]\n );\n\n const handleTimezoneChange = useCallback(\n (timeZone: TimeZoneName) => {\n dispatch(\n actions.setStream({\n locationId: locationId as LocationId,\n data: { ...stream, timeZone },\n })\n );\n },\n [dispatch, locationId, stream]\n );\n\n const handleStreamConnect = useCallback(() => {\n dispatch(\n createStream({\n locationId: locationId as LocationId,\n streamId: stream.id,\n })\n );\n }, [dispatch, stream, locationId]);\n\n return (\n \n
\n \n {t(I18N.location.MSG_ENTER_STREAM_URL)}\n \n setInputHasFocus(true)}\n onBlur={() => {\n handleUrlSave();\n setInputHasFocus(false);\n }}\n value={url}\n className={classes.input}\n error={url === \"\"}\n />\n \n {t(I18N.location.MSG_STREAM_URL_SAMPLES)}\n
\n rtsp://192.168.200.01:554/ISAPI/Streaming/Channels/101\n
\n rtsp://admin:12345@192.168.200.01:554/ISAPI/Streaming/Channels/101\n
\n
\n\n
\n \n {t(I18N.location.MSG_SELECT_TZ)}\n \n \n
\n\n
\n \n {t(I18N.location.MSG_TIMEZONE_WARNING_L1)}\n
\n {t(I18N.location.MSG_TIMEZONE_WARNING_L2)}\n \n\n \n {t(I18N.location.BTN_STEP_CONNECT_STREAM)}\n \n
\n
\n );\n}\n","import React, { ReactElement, useCallback, useMemo } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Redirect, useLocation } from \"react-router-dom\";\n\nimport { Button, IconButton, Tab, Tabs, Typography } from \"@material-ui/core\";\nimport {\n Add,\n Close,\n VideocamOutlined,\n VideocamOffOutlined,\n} from \"@material-ui/icons\";\n\nimport deepEqual from \"deep-equal\";\n\nimport { actions, restartProcessing, stopProcessing } from \"../locationSlice\";\nimport { LocationId } from \"../../groups/data-types\";\nimport { StreamData, VIDEO_PROCESSING_STATE } from \"../data-mapper\";\nimport { getStreamsSelector } from \"../selectors\";\n\nimport I18N from \"../../../app/i18n/strings\";\n\nimport { TabId } from \"../Page\";\nimport { Line } from \"../line-editor/components/DrawLine\";\nimport StreamsList from \"./components/StreamsList\";\nimport StreamCreator from \"./StreamCreator\";\nimport WorkFlow from \"../workflow/WorkFlow\";\nimport useStyles from \"../styles\";\n\nimport { ReactComponent as CameraIcon } from \"../../../app/assets/cameraIcon.svg\";\nimport { ReactComponent as WebcamIcon } from \"../../../app/assets/webcamIcon.svg\";\n\ninterface StreamProps {\n locationId?: LocationId;\n showTitle: boolean;\n isContentLoaded?: boolean;\n currentTab: TabId;\n visibleTabs: TabId[];\n handleTabChange?: (evt: any, tabIndex: number) => void;\n}\n\nexport default function StreamsTab(props: StreamProps): ReactElement {\n const {\n locationId,\n showTitle,\n isContentLoaded,\n currentTab,\n visibleTabs,\n handleTabChange,\n } = props;\n const location = useLocation();\n const classes = useStyles();\n const { t } = useTranslation();\n const dispatch = useDispatch();\n\n const selectStreams = useMemo(\n () => getStreamsSelector(locationId),\n [locationId]\n );\n const streams = useSelector(selectStreams, deepEqual);\n const tmpStream = streams.find(({ isTmp }) => isTmp);\n\n const handleCreateTmpStream = useCallback(() => {\n dispatch(actions.createStream(locationId as LocationId));\n }, [dispatch, locationId]);\n\n const handleDeleteTmpStream = useCallback(() => {\n dispatch(\n actions.removeStream({\n // it is safe to assume that locationId tmpStream both exist\n // because that's a precondition for \"Delete\" button to be shown\n locationId: locationId as LocationId,\n streamId: (tmpStream as StreamData).id,\n })\n );\n }, [dispatch, locationId, tmpStream]);\n\n const savedStreams = streams.filter(({ isTmp = false }) => !isTmp);\n const hasSavedStream = savedStreams.length > 0;\n const streamWithoutLine = streams.find(({ line }) => line === undefined);\n const streamWithLine = streams.find(({ line }) => line !== undefined);\n const everyStream = streams.find(({ id }) => id !== undefined);\n\n const handleRestartProcessing = useCallback(() => {\n dispatch(\n restartProcessing({\n locationId: locationId as LocationId,\n line: (streamWithLine as StreamData).line as Line,\n streamId: (everyStream as StreamData).id,\n })\n );\n }, [dispatch, locationId, streamWithLine, everyStream]);\n\n const handleStopProcessing = useCallback(() => {\n dispatch(stopProcessing(locationId as LocationId));\n }, [dispatch, locationId]);\n\n const stepsControl = useMemo((): ReactElement | null => {\n if (!hasSavedStream) {\n return (\n \n }\n variant=\"text\"\n >\n {t(I18N.location.BTN_ADD_STREAM)}\n \n \n );\n }\n // show Line Editor only when:\n // 1. No stream is being created right now\n // 2. There are no streams with line drawn (within the given Location)\n const isDrawLineBtnAvailable =\n tmpStream === undefined &&\n streamWithoutLine !== undefined &&\n streamWithLine === undefined;\n\n const hasNotYetPreProcessedStream = streams.some(\n ({ thumbnailUrl }) => thumbnailUrl === undefined\n );\n\n if (\n isDrawLineBtnAvailable &&\n !hasNotYetPreProcessedStream &&\n streams.length === 1\n ) {\n const drawLine = `${location.pathname}?tab=line&stream=${\n streamWithoutLine?.id ?? \"\"\n }`;\n\n return ;\n }\n\n const streamNotInProcessing =\n streams.find(({ videoProcessingState }) => {\n return (\n videoProcessingState === VIDEO_PROCESSING_STATE.NOT_STARTED ||\n videoProcessingState === VIDEO_PROCESSING_STATE.STOPPED ||\n videoProcessingState ===\n VIDEO_PROCESSING_STATE.PREPARING_INFRASTRUCTURE_ERROR ||\n videoProcessingState === VIDEO_PROCESSING_STATE.STOPPING_ERROR ||\n videoProcessingState === VIDEO_PROCESSING_STATE.NOTIFICATION_ERROR\n );\n }) !== undefined;\n\n const streamInProcessing =\n streams.find(({ videoProcessingState }) => {\n return (\n videoProcessingState !== VIDEO_PROCESSING_STATE.NOT_STARTED &&\n videoProcessingState !== VIDEO_PROCESSING_STATE.STOPPED\n );\n }) !== undefined;\n\n const streamIsConnected =\n streams.find(({ videoProcessingState }) => {\n return videoProcessingState === VIDEO_PROCESSING_STATE.PROCESSING;\n }) !== undefined;\n\n // это проверка будет нужна позднее,\n // когда появится несколько сессий stream\n const streamConnected = streamInProcessing || streamIsConnected;\n if (streamWithLine !== undefined) {\n return (\n
\n
\n {streamNotInProcessing && !streamConnected ? (\n }\n >\n {t(I18N.location.BTN_STEP_CONNECT_CAMERA)}\n \n ) : (\n }\n >\n {t(I18N.location.BTN_STEP_DISABLE_CAMERA)}\n \n )}\n
\n
\n );\n }\n\n return null;\n }, [\n streams,\n streamWithLine,\n streamWithoutLine,\n tmpStream,\n locationId,\n hasSavedStream,\n t,\n handleStopProcessing,\n handleRestartProcessing,\n classes,\n handleCreateTmpStream,\n location,\n ]);\n\n const content = useMemo((): ReactElement => {\n if (streams.length === 0) {\n return (\n <>\n
\n {isContentLoaded && (\n \n )}\n
\n {!showTitle && (\n \n }\n label={{t(I18N.location.TAB_FILES)}}\n />\n }\n />\n \n )}\n \n {t(\n locationId === undefined\n ? I18N.location.MSG_LOCATION_REQUIRED\n : I18N.location.MSG_EMPTY\n )}\n \n \n );\n }\n\n return (\n <>\n
\n {isContentLoaded && !streamWithLine && (\n \n )}\n
\n {!showTitle && (\n \n }\n label={{t(I18N.location.TAB_FILES)}}\n />\n }\n />\n \n )}\n {tmpStream !== undefined && hasSavedStream && (\n
\n \n \n \n {t(I18N.location.TITLE_UPLOADS)}\n
\n )}\n\n {tmpStream !== undefined && (\n \n )}\n\n {hasSavedStream && }\n \n );\n }, [\n streams,\n tmpStream,\n locationId,\n hasSavedStream,\n savedStreams,\n handleDeleteTmpStream,\n t,\n classes,\n ]);\n\n return (\n <>\n {showTitle && (\n
\n \n {t(I18N.location.TITLE_STREAM)}\n
\n )}\n {content}\n {stepsControl}\n \n );\n}\n","import React, { ReactElement, useCallback, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { Error, InsertInvitationOutlined } from \"@material-ui/icons\";\nimport {\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n makeStyles,\n Theme,\n} from \"@material-ui/core\";\nimport {\n KeyboardDatePicker,\n KeyboardTimePicker,\n MuiPickersUtilsProvider,\n} from \"@material-ui/pickers\";\nimport { MaterialUiPickersDate } from \"@material-ui/pickers/typings/date\";\nimport { DateCalendar } from \"@mui/x-date-pickers\";\nimport MomentUtils from \"@date-io/moment\";\nimport moment from \"moment\";\n\nimport I18N from \"../app/i18n/strings\";\n\nconst useStyles = makeStyles((theme: Theme) => ({\n datePicker: {\n \"& .MuiInput-underline:before\": {\n border: 0,\n },\n \"& .MuiInput-underline:not(.Mui-error):after\": {\n border: 0,\n },\n \"& .MuiInput-underline:hover:not(.Mui-disabled)::before\": {\n border: \"none\",\n },\n\n \"& .MuiInputBase-input\": {\n color: theme.palette.text.primary,\n paddingBottom: theme.spacing(0.25),\n marginBottom: theme.spacing(0.25),\n\n \"& .Mui-focused\": {\n border: \"none\",\n },\n },\n },\n\n dialogPaper: {\n maxWidth: 325,\n borderRadius: theme.spacing(3),\n\n \"& .MuiDialogContent-root\": {\n padding: 0,\n },\n\n \"& .MuiDialogContent-root .MuiDateCalendar-root .MuiPickersCalendarHeader-root .MuiPickersCalendarHeader-labelContainer .MuiPickersFadeTransitionGroup-root\":\n {\n fontWeight: 400,\n fontSize: 14,\n fontFamily: \"Inter\",\n\n \"&:first-letter\": {\n textTransform: \"uppercase\",\n },\n },\n },\n\n dialogDateTimeContainer: {\n display: \"flex\",\n paddingLeft: theme.spacing(4),\n paddingRight: theme.spacing(4),\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n \"& .MuiFormControl-root .MuiInputBase-root input\": {\n fontSize: 18,\n fontWeight: 400,\n },\n \"& .MuiFormControl-root:first-of-type .MuiInputBase-root input\": {\n textAlign: \"right\",\n },\n },\n\n timePicker: {\n marginLeft: theme.spacing(2),\n flexGrow: 0,\n flexShrink: 0,\n flexBasis: \"40%\",\n },\n\n dialogBtn: {\n marginLeft: \"40px !important\",\n textTransform: \"none\",\n },\n}));\n\ninterface DateTimePickerProps {\n date: MaterialUiPickersDate;\n onChange: (date: MaterialUiPickersDate) => void;\n}\n\nexport default function DateTimePicker(\n props: DateTimePickerProps\n): ReactElement {\n const { onChange, date } = props;\n const DEFAULT_DIALOG_DATE = date ?? moment(\"00:00\", \"HH:mm\");\n const classes = useStyles();\n const { t } = useTranslation();\n const [currentDate, setCurrentDate] = useState(date);\n const [dialogDate, setDialogDate] =\n useState(DEFAULT_DIALOG_DATE);\n const [dialogTime, setDialogTime] =\n useState(DEFAULT_DIALOG_DATE);\n const [open, setOpen] = useState(false);\n\n const handleDateChange = useCallback(\n (date: MaterialUiPickersDate) => {\n const defaultDate = date ?? moment(\"00:00\", \"HH:mm\");\n const dateByUTC =\n date !== null\n ? moment.utc(defaultDate.format(\"YYYY.MM.DD HH:mm\"))\n : null;\n setCurrentDate(dateByUTC);\n onChange(dateByUTC);\n },\n [onChange, setCurrentDate]\n );\n\n const handleOpenDatePicker = useCallback(() => {\n setDialogDate(DEFAULT_DIALOG_DATE);\n setDialogTime(DEFAULT_DIALOG_DATE);\n setOpen(true);\n }, [setDialogDate, setOpen, DEFAULT_DIALOG_DATE]);\n\n const handleCloseDatePicker = useCallback(() => {\n setOpen(false);\n }, [setOpen]);\n\n const handleSelectDate = useCallback(() => {\n const resultDate =\n dialogDate !== null && dialogTime !== null\n ? moment.utc(\n `${dialogDate.format(\"YYYY.MM.DD\")} ${dialogTime.format(\"HH:mm\")}`,\n \"YYYY.MM.DD HH:mm\"\n )\n : null;\n handleDateChange(resultDate);\n setOpen(false);\n }, [handleDateChange, setOpen, dialogDate, dialogTime]);\n\n const hasError = currentDate === null || !currentDate.isValid();\n const isDialogDateValid = dialogDate?.isValid() ?? false;\n const isDialogTimeValid = dialogTime?.isValid() ?? false;\n\n return (\n \n \n ) : (\n \n )\n }\n KeyboardButtonProps={{ size: \"small\" }}\n maxDateMessage={t(I18N.common.VALIDATION_DATE_TOO_FAR)}\n minDateMessage={t(I18N.common.VALIDATION_DATE_TOO_EARLY)}\n onChange={handleDateChange}\n value={currentDate}\n okLabel={t(I18N.common.OK)}\n cancelLabel={t(I18N.common.CANCEL)}\n DialogProps={{\n open: false,\n style: { display: \"none\" },\n }}\n />\n \n \n \n
\n ,\n }}\n />\n ,\n }}\n InputAdornmentProps={{\n position: \"start\",\n }}\n KeyboardButtonProps={{\n disabled: true,\n style: { display: \"none\" },\n }}\n />\n
\n
\n \n \n Назад\n \n \n Выбрать\n \n \n
\n
\n );\n}\n","import React, { ReactElement, useCallback } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useDispatch } from \"react-redux\";\n\nimport { Moment } from \"moment\";\n\nimport {\n IconButton,\n makeStyles,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableFooter,\n TableHead,\n TableRow,\n Theme,\n Typography,\n} from \"@material-ui/core\";\nimport {\n Cancel,\n CloudOffOutlined,\n CloudUploadOutlined,\n ErrorOutline,\n} from \"@material-ui/icons\";\nimport { MaterialUiPickersDate } from \"@material-ui/pickers/typings/date\";\nimport { AdapterMoment } from \"@mui/x-date-pickers/AdapterMoment\";\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\n\nimport { actions, getUploadId } from \"../../locationSlice\";\nimport { LocationId } from \"../../../groups/data-types\";\nimport { UPLOAD_STATE, UploadData } from \"../../data-mapper\";\n\nimport I18N from \"../../../../app/i18n/strings\";\nimport { VISIUS_COLORS } from \"../../../../app/styles\";\nimport { bytes2str, isValidFileType } from \"../../../../app/utils\";\n\nimport DateTimePicker from \"../../../../components/DateTimePicker\";\nimport Tooltip from \"../../../../components/Tooltip\";\n\nconst WIDE_COLUMN_MIN_WIDTH = 270;\nconst MAX_ROW_TITLE_WIDTH = 300;\n\nexport interface FileDateChangeArgs {\n file: File;\n date: Moment | null;\n}\n\ninterface UploadListProps {\n uploads: UploadData[];\n locationId: LocationId;\n onRemove: (file: File) => void;\n}\n\nconst useStyles = makeStyles((theme: Theme) => ({\n table: {\n width: \"auto\",\n marginBottom: theme.spacing(1),\n },\n icon: {\n display: \"block\",\n },\n notStarted: {\n color: VISIUS_COLORS.lightGrey,\n },\n progress: {\n color: theme.palette.warning.light,\n },\n completed: {\n color: theme.palette.success.light,\n },\n failed: {\n color: theme.palette.error.light,\n },\n failedUploadStatus: {\n display: \"flex\",\n alignItems: \"center\",\n },\n tdPadding: {\n paddingLeft: theme.spacing(1),\n\n \"& .MuiButtonBase-root span svg\": {\n maxHeight: 16,\n marginRight: 26,\n color: \"#888888\",\n },\n \"& .MuiButtonBase-root \": {\n background: \"transparent\",\n },\n },\n tdWide: {\n minWidth: WIDE_COLUMN_MIN_WIDTH,\n\n [theme.breakpoints.down(\"xl\")]: {\n minWidth: WIDE_COLUMN_MIN_WIDTH - 80,\n },\n },\n tdIcon: {\n // align with icon buttons\n padding: 3,\n },\n videoTitle: {\n whiteSpace: \"nowrap\",\n maxWidth: MAX_ROW_TITLE_WIDTH,\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n\n [theme.breakpoints.down(\"xl\")]: {\n maxWidth: 230,\n },\n },\n datePicker: {\n \"& .MuiInput-underline:hover:not(.Mui-disabled)::before\": {\n borderWidth: 1,\n },\n\n \"& .MuiInputBase-input\": {\n paddingBottom: theme.spacing(0.25),\n marginBottom: theme.spacing(0.25),\n },\n },\n fileTooltip: {\n display: \"flex\",\n },\n fileTooltipIcon: {\n marginRight: theme.spacing(1),\n },\n}));\n\nexport default function UploadsList(props: UploadListProps): ReactElement {\n const { uploads, locationId, onRemove } = props;\n const classes = useStyles();\n const dispatch = useDispatch();\n const { t } = useTranslation();\n\n const getDateChangeHandler = useCallback(\n (file: File, currentDate: MaterialUiPickersDate) => {\n return (date: MaterialUiPickersDate) => {\n if (currentDate === null && (date === null || !date.isValid())) {\n return;\n }\n\n const video = document.createElement(\"video\");\n video.src = URL.createObjectURL(file);\n video.addEventListener(\"canplaythrough\", () => {\n dispatch(\n actions.updateUpload({\n key: getUploadId(file),\n locationId,\n update: {\n date: date?.isValid() === true ? date : null,\n width: video.videoWidth,\n height: video.videoHeight,\n },\n })\n );\n });\n };\n },\n [dispatch, locationId]\n );\n\n const getRemoveHandler = useCallback(\n (file: File) => {\n return () => onRemove(file);\n },\n [onRemove]\n );\n\n const handleRemoveAll = useCallback(() => {\n uploads.forEach(({ file }) => onRemove(file));\n }, [onRemove, uploads]);\n\n const hasRemoveAllBtn =\n uploads.findIndex(({ state }) => {\n return state === UPLOAD_STATE.NONE || state === UPLOAD_STATE.FAILED;\n }) !== -1;\n\n return (\n \n \n Загрузка видео в локацию\n \n \n \n \n \n
\n {hasRemoveAllBtn && (\n \n \n \n )}\n
\n
\n {t(I18N.location.TABLE_FILE_NAME)}\n \n {t(I18N.location.TABLE_DATE)}\n \n {t(I18N.location.TABLE_DURATION)}\n {t(I18N.location.TABLE_SIZE)}\n \n
\n
\n \n {\n // UploadsList is intended to display only uploads with NONE/CREATING/FAILED statuses.\n // I.e. only uploads without a corresponding video entry are supported.\n // Uploads having a corresponding video entry should be displayed in the VideosList\n uploads.map(({ date, file, state, progress }) => {\n const isNotValidFileType = !isValidFileType(file);\n\n return (\n \n \n
\n {state === UPLOAD_STATE.NONE && (\n \n \n \n )}\n {state === UPLOAD_STATE.CREATING && (\n
\n \n
\n )}\n {state === UPLOAD_STATE.FAILED && (\n
\n \n \n \n \n
\n )}\n
\n
\n \n \n \n {t(I18N.location.MSG_UPLOAD_NOT_VALID_FILE)}\n \n \n }\n >\n \n \n {file.name}\n \n \n \n \n \n \n \n \n \n {bytes2str(file.size)}\n \n
\n );\n })\n }\n
\n \n \n \n \n {t(I18N.location.MSG_NUM_FILES, { count: uploads.length })}\n \n \n \n \n {bytes2str(\n uploads.reduce((total, { file }) => total + file.size, 0)\n )}\n \n \n \n \n
\n
\n );\n}\n","import React, { PropsWithChildren, ReactElement } from 'react'\nimport Menu from '@material-ui/core/Menu'\n\ninterface MenuState {\n x?: number\n y?: number\n className?: string\n}\n\nexport const initialState: MenuState = {}\n\ninterface MenuProps extends MenuState {\n onClose: () => void\n}\n\nexport default function ContextMenu (props: PropsWithChildren): ReactElement {\n const { onClose, x, y, className } = props\n\n return (\n \n {props.children}\n \n )\n}\n","import { Theme, Tooltip, withStyles } from \"@material-ui/core\";\n\nexport default withStyles((theme: Theme) => ({\n tooltip: {\n padding: '6px 12px',\n background: \"#122045\",\n borderRadius: \"12px\",\n boxShadow: \"0px 4px 12px rgba(18, 32, 69, 0.1)\",\n\n \"& .MuiTypography-root\": {\n fontWeight: 500,\n },\n },\n}))(Tooltip);","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgForwardIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 18,\n viewBox: \"0 0 20 18\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M10.2347 0.566281C10.6001 0.414941 11.0022 0.375334 11.3901 0.452469C11.778 0.529604 12.1343 0.720017 12.414 0.999636L19.0001 7.58574C19.375 7.9608 19.5858 8.46952 19.5858 8.99985C19.5858 9.53018 19.3752 10.0388 19.0002 10.4138L12.4141 17C12.1344 17.2796 11.778 17.4701 11.3901 17.5472C11.0022 17.6244 10.6001 17.5848 10.2347 17.4334C9.86929 17.2821 9.55697 17.0258 9.3372 16.697C9.11743 16.3682 9.00008 15.9816 9 15.5861V12.9998H7C6.44772 12.9998 6 12.5521 6 11.9998V5.99985C6 5.44757 6.44772 4.99985 7 4.99985H9V2.41385C9.00008 2.01835 9.11743 1.63154 9.3372 1.30272C9.55697 0.973898 9.86929 0.71762 10.2347 0.566281ZM11 2.41406L17.5858 8.99985L11 15.5856V11.9998C11 11.4476 10.5523 10.9998 10 10.9998H8V6.99985H10C10.5523 6.99985 11 6.55213 11 5.99985V2.41406ZM1 4.99985C1.55228 4.99985 2 5.44757 2 5.99985V11.9998C2 12.5521 1.55228 12.9998 1 12.9998C0.447715 12.9998 0 12.5521 0 11.9998V5.99985C0 5.44757 0.447715 4.99985 1 4.99985ZM4 4.99985C4.55228 4.99985 5 5.44757 5 5.99985V11.9998C5 12.5521 4.55228 12.9998 4 12.9998C3.44772 12.9998 3 12.5521 3 11.9998V5.99985C3 5.44757 3.44772 4.99985 4 4.99985Z\",\n fill: \"#888888\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgForwardIcon);\nexport default __webpack_public_path__ + \"static/media/forwardIcon.e0bf156b.svg\";\nexport { ForwardRef as ReactComponent };","import React, {\n MouseEvent,\n ReactElement,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { TFunction } from \"i18next\";\n\nimport {\n Button,\n Checkbox,\n Dialog,\n DialogActions,\n DialogContent,\n DialogContentText,\n DialogTitle,\n IconButton,\n LinearProgress,\n Link,\n ListItemIcon,\n ListItemText,\n makeStyles,\n MenuItem,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableFooter,\n TableHead,\n TableRow,\n Theme,\n Typography,\n} from \"@material-ui/core\";\nimport {\n CloudDoneOutlined,\n CloudOffOutlined,\n CloudQueueOutlined,\n CloudUploadOutlined,\n Launch,\n PlayArrow,\n} from \"@material-ui/icons\";\n\nimport { selectUserData } from \"../../../auth/authSlice\";\nimport { deleteVideos, moveVideos } from \"../../locationSlice\";\nimport { getLocationSelector } from \"../../selectors\";\nimport { LocationId } from \"../../../groups/data-types\";\nimport {\n UPLOAD_STATE,\n UploadData,\n VIDEO_STATE,\n VideoData,\n VideoId,\n VIDEO_PREPROCESSING_STATE,\n VIDEO_PROCESSING_STATE,\n} from \"../../data-mapper\";\n\nimport I18N from \"../../../../app/i18n/strings\";\nimport { bytes2str, hasCloneVideo } from \"../../../../app/utils\";\n\nimport ContextMenu, { initialState } from \"../../../../components/ContextMenu\";\nimport ModalVideoPlayer from \"../../../../components/ModalVideoPlayer\";\nimport LocationControl from \"../../components/LocationControl\";\nimport ProgressIndicator from \"../../../../components/ProgressIndicator\";\nimport Tooltip from \"./Tooltip\";\n\nimport { ReactComponent as UncheckBoxIcon } from \"../../../../app/assets/unCheckedCheckbox.svg\";\nimport { ReactComponent as CheckBoxIcon } from \"../../../../app/assets/checkedCheckbox.svg\";\nimport { ReactComponent as ForwardIcon } from \"../../../../app/assets/forwardIcon.svg\";\nimport { ReactComponent as DeleteForeverIcon } from \"../../../../app/assets/deleteForeverIcon.svg\";\nimport { ReactComponent as ReadyDataIcon } from \"../../../../app/assets/readyDataIcon.svg\";\n\nimport { COLORS } from \"../../../../theme\";\n\nconst MAX_ROW_TITLE_WIDTH = 220;\n\ninterface VideosListProps {\n locationId: LocationId;\n videos: VideoData[];\n uploads: UploadData[];\n}\n\nconst useStyles = makeStyles((theme: Theme) => ({\n main: {\n \"& .MuiPaper-root\": {\n borderRadius: \"16px\",\n background: theme.palette.common.white,\n boxShadow: \"0px 4px 12px rgba(18, 32, 69, 0.1)\",\n\n \"& .MuiList-root .MuiButtonBase-root:last-of-type\": {\n color: theme.palette.error.main,\n\n \"& svg path\": {\n fill: theme.palette.error.main,\n },\n },\n\n \"& svg \": {\n maxWidth: 13,\n \"& path\": {\n fill: \"#676666\",\n },\n },\n\n \"& .MuiListItem-root\": {\n padding: \"10px 16px\",\n maxHeight: \"16px\",\n boxSizing: \"content-box\",\n\n \"& .MuiListItemIcon-root\": {\n minWidth: \"30px\",\n },\n\n \"& .MuiTypography-root\": {\n fontWeight: 500,\n },\n },\n },\n\n \"& .MuiList-padding\": {\n padding: \"5px 0\",\n },\n },\n dialog: {\n \"& .MuiPaper-root\": {\n borderRadius: theme.spacing(3),\n background: theme.palette.grey[400],\n boxShadow: \" 0px 4px 8px rgba(18, 32, 69, 0.05)\",\n border: \"1px solid rgba(44, 103, 255, 0.1)\",\n\n \"& .MuiButton-containedPrimary\": {\n \"& svg path\": {\n fill: theme.palette.common.white,\n },\n\n \"&.Mui-disabled\": {\n background: \"#DFE6FB\",\n color: \"white\",\n\n \"& svg path\": {\n fill: \"white\",\n },\n },\n },\n },\n },\n table: {\n width: \"auto\",\n },\n tr: {\n cursor: \"pointer\",\n\n \"&:hover, &.highlighted\": {\n backgroundColor: COLORS.BLUE1,\n },\n },\n tdPadding: {\n paddingLeft: theme.spacing(2),\n },\n tdLinks: {\n whiteSpace: \"nowrap\",\n },\n tdDate: {\n whiteSpace: \"nowrap\",\n },\n icon: {\n display: \"block\",\n },\n uploading: {\n color: theme.palette.warning.light,\n },\n uploaded: {\n color: theme.palette.success.light,\n },\n videoTitle: {\n whiteSpace: \"nowrap\",\n maxWidth: MAX_ROW_TITLE_WIDTH,\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n },\n failed: {\n color: theme.palette.error.light,\n },\n readyData: {\n transform: \"scale(0.9)\",\n \"& path\": {\n fill: theme.palette.primary.main,\n },\n },\n locationControl: {\n flexWrap: \"wrap\",\n justifyContent: \"center\",\n marginTop: theme.spacing(4),\n },\n dialogActions: {\n padding: theme.spacing(4),\n },\n dialogTitle: {\n padding: \"32px 32px 0 32px\",\n },\n dialogContent: {\n maxWidth: 420,\n paddingBottom: 0,\n paddingTop: 0,\n paddingLeft: theme.spacing(4),\n paddingRight: theme.spacing(4),\n },\n button: {\n marginRight: theme.spacing(4),\n textTransform: \"none\",\n fontWeight: 600,\n },\n deleteButton: {\n background: \"linear-gradient(90deg, #FF5F49 0%, #FF3D00 99.94%)\",\n borderRadius: theme.spacing(1.5),\n textTransform: \"none\",\n\n \"& svg path\": {\n fill: theme.palette.common.white,\n transform: \"scale(0.9)\",\n },\n },\n replaceButtonIcon: {\n marginRight: theme.spacing(1.5),\n },\n}));\n\ninterface IconGetterOptions {\n classes: ReturnType;\n video: VideoData;\n upload?: UploadData;\n t: TFunction;\n}\n\nconst getIcon = ({\n classes,\n video,\n upload,\n t,\n}: IconGetterOptions): ReactElement => {\n const isTransferActive =\n video.state === VIDEO_STATE.UPLOADING &&\n upload?.state === UPLOAD_STATE.UPLOADING;\n const isTransferFailed =\n video.state === VIDEO_STATE.UPLOADING &&\n upload?.state === UPLOAD_STATE.FAILED;\n\n if (video.isBillingDenied) {\n return (\n \n {t(I18N.location.MSG_BILLING_FAILED)}\n \n ) ?? \"\"\n }\n >\n \n \n );\n }\n\n if (video.state === VIDEO_STATE.UPLOADING) {\n if (isTransferActive) {\n return (\n \n {t(I18N.location.MSG_UPLOADING)}\n \n ) ?? \"\"\n }\n >\n \n \n );\n }\n\n if (isTransferFailed) {\n return (\n \n {t(I18N.location.MSG_UPLOAD_FAILED)}\n \n ) ?? \"\"\n }\n >\n \n \n );\n }\n\n return (\n \n {t(I18N.location.MSG_UPLOAD_PROCESSING)}\n \n ) ?? \"\"\n }\n >\n \n \n );\n }\n\n if (video.state === VIDEO_STATE.FAILED) {\n return (\n \n {t(I18N.location.MSG_UPLOAD_FAILED)}\n \n ) ?? \"\"\n }\n >\n \n \n );\n }\n\n if (\n video.videoProcessingState === VIDEO_PROCESSING_STATE.PROCESSING ||\n video.videoProcessingState === VIDEO_PROCESSING_STATE.PENDING\n ) {\n return (\n \n {t(I18N.main.TITLE_PREPROCESSING_PROGRESS)}\n \n ) ?? \"\"\n }\n >\n
\n \n
\n \n );\n }\n\n if (\n video.videoProcessingState === VIDEO_PROCESSING_STATE.STOPPED ||\n video.videoProcessingState === VIDEO_PROCESSING_STATE.FINISHED\n ) {\n return (\n Отчет готов}>\n \n \n );\n }\n\n return (\n \n {t(I18N.location.MSG_UPLOAD_COMPLETED)}\n \n ) ?? \"\"\n }\n >\n \n \n );\n};\n\nexport default function VideosList(props: VideosListProps): ReactElement {\n const classes = useStyles();\n const dispatch = useDispatch();\n const { t } = useTranslation();\n const { locationId, videos, uploads } = props;\n const [checked, setChecked] = useState>(new Set());\n const [highlighted, setHighlighted] = useState(\n undefined\n );\n const [menuState, setMenuState] = useState(initialState);\n const [deleteDialogOpen, setDeleteDialogOpen] = useState(false);\n const [replaceDialogOpen, setReplaceDialogOpen] = useState(false);\n const [isDisabledLocation, setDisabledLocation] = useState(false);\n const [newLocationId, setNewLocationId] = useState();\n const [videoOpened, setVideoOpened] = useState(false);\n const [videoUrl, setVideoUrl] = useState();\n\n const user = useSelector(selectUserData);\n\n const isDemoLocation = useMemo(() => hasCloneVideo(videos), [videos]);\n const isCanNotBeDeleted = useMemo(() => {\n const videoHasPreprocessing = videos.some(({ filePreprocessing }) => {\n return (\n filePreprocessing?.jobState === VIDEO_PREPROCESSING_STATE.SCHEDULED ||\n filePreprocessing?.jobState === VIDEO_PREPROCESSING_STATE.PROCESSING\n );\n });\n return (\n (isDemoLocation && checked.size !== videos.length) ||\n videoHasPreprocessing\n );\n }, [videos, checked, isDemoLocation]);\n\n const selectLocation = useMemo(\n () => getLocationSelector(newLocationId),\n [newLocationId]\n );\n const locationName = useSelector(selectLocation)?.title as string;\n\n const isAdmin = user?.isAdmin === true;\n\n const handleDisableLocation = (value: boolean) => {\n setDisabledLocation(value);\n };\n\n const handleVideoOpen = useCallback(\n (evt: MouseEvent) => {\n evt.preventDefault();\n evt.stopPropagation();\n const url = (evt.target as HTMLElement).closest(\"a\")?.href;\n if (url !== undefined) {\n setVideoUrl(url);\n setVideoOpened(true);\n }\n },\n [setVideoUrl, setVideoOpened]\n );\n const handleVideoClose = useCallback(\n () => setVideoOpened(false),\n [setVideoOpened]\n );\n const handleLinksClick = useCallback(\n (evt: MouseEvent) => evt.stopPropagation(),\n []\n );\n\n const handleCheckAllVideos = useCallback(() => {\n if (checked.size === videos.length) {\n // uncheck all\n return setChecked(new Set());\n }\n\n const allIds = videos.map(({ id }) => id);\n setChecked(new Set(allIds));\n }, [setChecked, checked, videos]);\n\n const handleCheckVideo = useCallback(\n (videoId) => {\n const checkedVideos = new Set(checked);\n if (checked.has(videoId)) {\n checkedVideos.delete(videoId);\n } else {\n checkedVideos.add(videoId);\n }\n\n setChecked(checkedVideos);\n },\n [setChecked, checked]\n );\n\n const handleContextMenu = useCallback(\n (evt: MouseEvent, videoId: VideoId) => {\n evt.preventDefault();\n setHighlighted(checked.size === 0 ? videoId : undefined);\n setMenuState({ x: evt.clientX, y: evt.clientY });\n },\n [setHighlighted, setMenuState, checked]\n );\n\n const handleDelete = useCallback(() => {\n setDeleteDialogOpen(false);\n dispatch(\n deleteVideos({\n locationId,\n videoIds:\n highlighted !== undefined\n ? [highlighted]\n : Array.from(checked.values()),\n })\n );\n }, [dispatch, highlighted, checked, locationId]);\n const handleDeleteDialogShow = useCallback(() => {\n setMenuState(initialState);\n setDeleteDialogOpen(true);\n }, [setDeleteDialogOpen]);\n const handleDeleteCancel = useCallback(() => {\n setDeleteDialogOpen(false);\n }, [setDeleteDialogOpen]);\n\n // Open replace video dialog\n const handleReplaceDialogShow = useCallback(() => {\n setMenuState(initialState);\n setReplaceDialogOpen(true);\n }, [setReplaceDialogOpen]);\n const handleReplaceCancel = useCallback(() => {\n setReplaceDialogOpen(false);\n }, [setReplaceDialogOpen]);\n const handleReplaceVideo = useCallback(() => {\n dispatch(\n moveVideos({\n oldLocationId: locationId,\n locationId: newLocationId as string,\n videoIds:\n highlighted !== undefined\n ? [highlighted]\n : Array.from(checked.values()),\n locationName: locationName,\n })\n );\n }, [dispatch, highlighted, checked, newLocationId, locationId, locationName]);\n\n const isNotReplaced = useMemo(() => {\n const checkReplaced =\n newLocationId === undefined || newLocationId === locationId;\n return checkReplaced;\n }, [newLocationId, locationId]);\n\n const totalSeconds = videos.reduce((totalDuration, { duration }) => {\n const hours = parseInt(duration.slice(0, 2));\n const minutes = parseInt(duration.slice(3, 5));\n const seconds = parseInt(duration.slice(6, 8));\n return totalDuration + hours * 60 * 60 + minutes * 60 + seconds;\n }, 0);\n const hours = Math.floor(totalSeconds / 60 / 60);\n const minutes = Math.floor((totalSeconds - hours * 60 * 60) / 60);\n const seconds = totalSeconds - hours * 60 * 60 - minutes * 60;\n const hoursStr = hours.toString().padStart(2, \"0\");\n const minutesStr = minutes.toString().padStart(2, \"0\");\n const secondsStr = seconds.toString().padStart(2, \"0\");\n\n useEffect(() => {\n const dialogOpen = (event: {\n returnValue: string;\n preventDefault: () => void;\n }): void => {\n const videosHasUploading = uploads.some(\n ({ state }) => state !== UPLOAD_STATE.UPLOADED\n );\n if (videosHasUploading) {\n event.preventDefault();\n event.returnValue =\n \"The upload of the file will be interrupted if you close the page!\";\n }\n };\n\n window.addEventListener(\"beforeunload\", dialogOpen);\n return () => window.removeEventListener(\"beforeunload\", dialogOpen);\n }, [uploads]);\n\n return (\n <>\n {\n setHighlighted(undefined);\n setMenuState(initialState);\n }}\n className={classes.main}\n >\n \n \n \n \n \n {t(I18N.location.BTN_MOVE_VIDEO)}\n \n }\n />\n \n \n \n \n \n \n {t(I18N.location.BTN_DELETE_VIDEO)}\n \n }\n />\n \n \n\n \n \n \n \n \n }\n checkedIcon={}\n onClick={handleCheckAllVideos}\n checked={checked.size === videos.length}\n />\n \n \n {t(I18N.location.TABLE_FILE_NAME)}\n {t(I18N.location.TABLE_DATE)}\n {t(I18N.location.TABLE_DURATION)}\n {t(I18N.location.TABLE_SIZE)}\n {isAdmin && (\n <>\n \n \n )}\n \n \n \n {videos.map((video) => {\n const videoUpload = uploads.find(\n ({ fileId }) => fileId === video.id\n );\n const isTransferActive =\n video.state === VIDEO_STATE.UPLOADING &&\n videoUpload?.state === UPLOAD_STATE.UPLOADING;\n const durationStr = video.duration ?? \"\\u2013\";\n const sizeStr =\n video.state === VIDEO_STATE.UPLOADED\n ? bytes2str(video.size)\n : \"\\u2013\";\n\n return (\n handleContextMenu(evt, video.id)}\n onClick={() => handleCheckVideo(video.id)}\n >\n \n }\n checkedIcon={}\n onClick={(evt) => {\n evt.stopPropagation();\n handleCheckVideo(video.id);\n }}\n />\n \n \n {getIcon({ classes, video, upload: videoUpload, t })}\n \n \n \n {video.name}\n \n {isTransferActive && (\n \n )}\n \n \n {video.date.format(\"YYYY/MM/DD HH:mm\")}\n \n {durationStr}\n {sizeStr}\n {isAdmin && (\n <>\n \n {video.url !== undefined && (\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 {t(I18N.location.MSG_NUM_FILES, { count: videos.length })}\n \n \n {`${hoursStr}:${minutesStr}:${secondsStr}`}\n \n {bytes2str(videos.reduce((total, { size }) => total + size, 0))}\n \n \n \n
\n
\n\n \n \n \n {t(I18N.location.MSG_DELETE_VIDEOS_TITLE)}\n \n \n \n \n \n {t(I18N.location.DLG_DELETE_VIDEOS, {\n count: checked.size > 0 ? checked.size : 1,\n })}\n \n \n {t(I18N.location.MSG_DELETE_VIDEOS, {\n count: checked.size > 0 ? checked.size : 1,\n })}\n \n \n \n \n \n {t(I18N.main.DLG_CANCEL)}\n \n }\n onClick={handleDelete}\n color=\"secondary\"\n variant=\"contained\"\n autoFocus\n className={classes.deleteButton}\n >\n {t(I18N.location.BTN_DELETE_VIDEO)}\n \n \n \n \n \n \n {t(I18N.location.DLG_REPLACE_VIDEOS)}\n \n \n \n \n \n \n \n {t(I18N.main.DLG_CANCEL)}\n \n \n \n {t(I18N.location.BTN_MOVE_VIDEO)}\n \n \n \n\n {videoUrl !== undefined && (\n \n )}\n \n );\n}\n","import { Button, Tab, Tabs, Typography } from \"@material-ui/core\";\nimport { Add } from \"@material-ui/icons\";\nimport React, {\n ChangeEvent,\n ReactElement,\n useCallback,\n useMemo,\n useRef,\n} from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport I18N from \"../../../app/i18n/strings\";\nimport { useAppLayoutStyles } from \"../../../app/styles\";\nimport { hasCloneVideo, isValidFileType } from \"../../../app/utils\";\nimport Link from \"../../../components/Link\";\nimport { LocationId } from \"../../groups/data-types\";\nimport { UPLOAD_STATE, VIDEO_STATE, VideoData } from \"../data-mapper\";\nimport { Line } from \"../line-editor/components/DrawLine\";\nimport {\n actions,\n getUploadId,\n startProcessing,\n uploadFiles,\n} from \"../locationSlice\";\nimport { getUploadsSelector, getVideosSelector } from \"../selectors\";\nimport useStyles from \"../styles\";\nimport UploadsList from \"./components/UploadsList\";\nimport VideosList from \"./components/VideosList\";\nimport WorkFlow from \"../workflow/WorkFlow\";\nimport { TabId } from \"../Page\";\n\nimport { ReactComponent as CameraIcon } from \"../../../app/assets/cameraIcon.svg\";\nimport { ReactComponent as WebcamIcon } from \"../../../app/assets/webcamIcon.svg\";\n\ninterface VideosTabProps {\n locationId?: LocationId;\n showTitle: boolean;\n isContentLoaded?: boolean;\n currentTab: TabId;\n visibleTabs: TabId[];\n handleTabChange?: (evt: any, tabIndex: number) => void;\n}\n\n/**\n * The component provides two lists:\n * - Videos: files that have already been uploaded or at least registered at the backend\n * - Uploads: files that have just been selected by the User, the backend doesn't know about these yet\n *\n * Navigation:\n * - LineEditorTab is available if there are uploaded video files\n */\nexport default function VideosTab(props: VideosTabProps): ReactElement {\n const {\n locationId,\n showTitle,\n isContentLoaded,\n currentTab,\n visibleTabs,\n handleTabChange,\n } = props;\n const inputRef = useRef(null);\n const classes = useStyles();\n const appClasses = useAppLayoutStyles();\n const dispatch = useDispatch();\n const { t } = useTranslation();\n const selectVideos = useMemo(\n () => getVideosSelector(locationId),\n [locationId]\n );\n const selectUploads = useMemo(\n () => getUploadsSelector(locationId),\n [locationId]\n );\n const videos = useSelector(selectVideos);\n const uploads = useSelector(selectUploads);\n\n const isNotDemoLocation = useMemo(() => !hasCloneVideo(videos), [videos]);\n\n /*\n * UI event handlers\n *\n * It's only possible to attach files when locationId is set,\n * so `locationId as LocationId` is valid here\n */\n const handleAddFiles = useCallback(() => {\n if (inputRef.current === null) {\n return;\n }\n inputRef.current.click();\n }, [inputRef]);\n\n const handleRemove = useCallback(\n (file: File) => {\n dispatch(\n actions.removeUpload({\n key: getUploadId(file),\n locationId: locationId as LocationId,\n })\n );\n },\n [dispatch, locationId]\n );\n\n const handleFilesSelected = useCallback(\n (evt: ChangeEvent) => {\n const inputFiles = (evt.target as HTMLInputElement).files;\n if (inputFiles === null || inputFiles.length === 0) {\n return;\n }\n\n dispatch(\n actions.setUploads({\n locationId: locationId as LocationId,\n files: Array.from(inputFiles),\n })\n );\n // reset value to ensure that file-selected event is triggered next time\n // regardless of the files selected\n (evt.target as HTMLInputElement).value = \"\";\n },\n [dispatch, locationId]\n );\n\n const handleUpload = useCallback(async () => {\n dispatch(uploadFiles(locationId as LocationId));\n }, [dispatch, locationId]);\n\n // Not yet started uploads are displayed in a separate list\n const visibleUploads = uploads.filter(({ fileId }) => fileId === undefined);\n const showUploadsList = visibleUploads.length > 0;\n\n const nextStepControl = useMemo((): ReactElement | null => {\n if (showUploadsList) {\n const isUploadDisabled =\n uploads.findIndex(({ date, state, file }) => {\n return (\n date === null ||\n !date.isValid() ||\n state === UPLOAD_STATE.CREATING ||\n !isValidFileType(file)\n );\n }) !== -1;\n return (\n
\n
\n \n {t(I18N.location.BTN_STEP_UPLOAD)}\n \n \n {t(I18N.location.MSG_SET_DATE_TIME)}\n \n
\n
\n );\n }\n\n const videoWithLine = videos.find(({ line }) => line !== undefined);\n const videoWithoutLine = videos.find(\n ({ state, line }) => state === VIDEO_STATE.UPLOADED && line === undefined\n );\n if (videos.length > 0 && videoWithLine === undefined && isNotDemoLocation) {\n const editLineAvailable =\n videoWithLine === undefined && videoWithoutLine !== undefined;\n\n const btn = (\n \n {t(I18N.location.BTN_STEP_DRAW_LINE)}\n \n );\n return (\n
\n
\n {editLineAvailable ? (\n \n {btn}\n \n ) : (\n <>\n \n {showUploadsList\n ? t(I18N.location.MSG_SET_DATE_TIME)\n : t(I18N.location.MSG_WAIT_UPLOADS)}\n \n {btn}\n \n )}\n
\n
\n );\n }\n\n // TODO: show button to start processing of videos without lines.\n // once video processing autostart is implemented it would be possible to get rid of this case\n const pendingVideo = videos.find(\n ({ state, line }) => state === VIDEO_STATE.UPLOADING && line === undefined\n );\n if (\n videoWithLine !== undefined &&\n (videoWithoutLine !== undefined || pendingVideo !== undefined)\n ) {\n const handleStartProcessing = (): void => {\n dispatch(\n startProcessing({\n locationId: locationId as LocationId,\n line: videoWithLine.line as Line,\n videoId: (videoWithoutLine as VideoData).id,\n })\n );\n };\n\n return (\n
\n
\n \n {t(I18N.location.BTN_STEP_START_ANALYSIS)}\n \n
\n
\n );\n }\n\n return null;\n }, [\n t,\n handleUpload,\n dispatch,\n appClasses,\n classes,\n uploads,\n videos,\n showUploadsList,\n locationId,\n isNotDemoLocation,\n ]);\n\n const content = useMemo((): ReactElement => {\n const showVideosList = videos.length > 0;\n const addFilesButton = (\n }\n variant=\"text\"\n >\n {t(I18N.location.BTN_ADD_FILES)}\n \n );\n\n if (locationId === undefined || (!showVideosList && !showUploadsList)) {\n return (\n <>\n
\n {isContentLoaded && }\n
\n {!showTitle && (\n \n }\n label={{t(I18N.location.TAB_FILES)}}\n />\n }\n />\n \n )}\n \n {t(\n locationId === undefined\n ? I18N.location.MSG_LOCATION_REQUIRED\n : I18N.location.MSG_EMPTY\n )}\n \n {/* disabled upload button: just a UI element */}\n
{addFilesButton}
\n \n );\n }\n\n return (\n <>\n
\n {isContentLoaded && }\n
\n {showTitle && (\n
\n \n {t(I18N.location.TITLE_VIDEO)}\n
\n )}\n {!showTitle && (\n \n }\n label={{t(I18N.location.TAB_FILES)}}\n />\n }\n />\n \n )}\n\n {showVideosList && (\n
\n \n
\n )}\n\n {showUploadsList && (\n
\n \n
\n )}\n\n
\n {isNotDemoLocation && addFilesButton}\n
\n \n );\n }, [\n t,\n handleAddFiles,\n handleRemove,\n classes,\n locationId,\n showUploadsList,\n visibleUploads,\n uploads,\n videos,\n isNotDemoLocation,\n ]);\n\n return (\n <>\n {content}\n {nextStepControl}\n \n \n );\n}\n","import React, {\n ReactElement,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory, useLocation, useParams } from \"react-router\";\n\nimport {\n Button,\n Divider,\n makeStyles,\n Paper,\n Theme,\n Typography,\n} from \"@material-ui/core\";\n\nimport { loadLocation } from \"./locationSlice\";\nimport {\n selectIsValidLocation,\n selectLoaded as selectGroupsLoaded,\n} from \"../groups/main/videoSlice\";\nimport {\n getLoadedSelector,\n getNotInitializedSelector,\n getStreamsSelector,\n getVideosSelector,\n} from \"./selectors\";\n\nimport I18N from \"../../app/i18n/strings\";\nimport { useAppLayoutStyles } from \"../../app/styles\";\nimport { getCurrentTab, hasCloneVideo } from \"../../app/utils\";\nimport { LOCATION_URL } from \"./api\";\n\nimport VisiusAppBar from \"../../components/AppBar\";\nimport DelayedProgress from \"../../components/DelayedProgress\";\nimport VisiusDrawer from \"../../components/Drawer\";\nimport VisiusLink from \"../../components/Link\";\nimport LocationControl from \"./components/LocationControl\";\nimport LineEditorTab from \"./line-editor/LineEditorTab\";\n\nimport { LocationId } from \"../groups/data-types\";\nimport { PagesProps } from \"../groups/Page\";\nimport StreamTab from \"./streams/StreamsTab\";\nimport VideosTab from \"./videos/VideosTab\";\n\nimport { ReactComponent as CameraIcon } from \"../../app/assets/cameraIcon.svg\";\nimport { ReactComponent as WebcamIcon } from \"../../app/assets/webcamIcon.svg\";\nimport { ReactComponent as HomeIcon } from \"../../app/assets/homeIcon.svg\";\nimport { ReactComponent as ArchiveIcon } from \"../../app/assets/archiveIcon.svg\";\nimport { ReactComponent as TrashIcon } from \"../../app/assets/trashIcon.svg\";\nimport { ReactComponent as MovieIcon } from \"../../app/assets/movieIcon.svg\";\nimport { ReactComponent as AnalyticIcon } from \"../../app/assets/analyticIconSideBar.svg\";\n\nexport type TabId = \"video\" | \"stream\" | \"line\";\n\ninterface TabGetterOptions {\n queryString: string;\n hasStreams: boolean;\n hasVideos: boolean;\n}\n\nconst tabs: TabId[] = [\"video\", \"stream\", \"line\"];\nconst visibleTabs: TabId[] = [\"video\", \"stream\"];\n\nconst useStyles = makeStyles((theme: Theme) => ({\n root: {\n padding: theme.spacing(4),\n boxSizing: \"border-box\",\n // height: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n backgroundColor: theme.palette.grey[400],\n boxShadow: \"0px 4px 8px rgba(18, 32, 69, 0.05)\",\n borderRadius: theme.spacing(3),\n border: \"1px solid rgba(44, 103, 255, 0.1)\",\n },\n pageHeader: {\n display: \"flex\",\n justifyContent: \"space-between\",\n flexWrap: \"wrap\",\n },\n locationControl: {\n flexGrow: 1,\n marginBottom: theme.spacing(4),\n },\n pageContent: {\n flexGrow: 1,\n display: \"flex\",\n flexDirection: \"column\",\n\n \"& .MuiTabs-root .MuiTabs-fixed .MuiTabs-flexContainer .Mui-selected svg path\":\n {\n fill: theme.palette.primary.main,\n },\n },\n workFlowWrap: {\n width: \"100%\",\n marginBottom: theme.spacing(4),\n },\n fixedHeader: {\n position: \"fixed\",\n zIndex: theme.zIndex.appBar,\n top: theme.spacing(16),\n width: (props: { leftPanelIsOpen?: boolean }) =>\n props.leftPanelIsOpen\n ? `calc(100% - 256px - 48px)`\n : `calc(100% - 104px - 48px)`,\n display: \"flex\",\n flexDirection: \"column\",\n },\n headerWrapper: {\n display: \"flex\",\n width: \"100%\",\n height: 38,\n alignItems: \"center\",\n justifyContent: \"space-between\",\n marginTop: theme.spacing(0.4),\n marginBottom: theme.spacing(1),\n position: \"relative\",\n bottom: \"6px\",\n },\n generalInfo: {\n display: \"flex\",\n alignItems: \"center\",\n },\n title: {\n whiteSpace: \"nowrap\",\n marginRight: theme.spacing(3),\n color: theme.palette.primary.dark,\n },\n divider: {\n width: \"100%\",\n margin: theme.spacing(0, 0, 3, 0),\n },\n tab: {\n fontWeight: 600,\n color: \"#122045\",\n textTransform: \"none\",\n\n \"& svg path\": {\n fill: \"#122045\",\n },\n },\n analyticIcon: {\n transform: \"scale(0.8)\",\n \"& path\": {\n fill: theme.palette.primary.main,\n },\n },\n}));\n\n/**\n * Returns current Tab based on URL + data state\n */\nconst _getCurrentLocationTab = ({\n queryString,\n hasStreams,\n hasVideos,\n}: TabGetterOptions): TabId => {\n const tab = getCurrentTab(tabs, new URLSearchParams(queryString));\n if (tab === \"line\") {\n return \"line\";\n }\n\n if (hasVideos) {\n return \"video\";\n }\n\n if (hasStreams) {\n return \"stream\";\n }\n\n return tab;\n};\n\n/**\n * Returns page content by tab ID\n *\n * @param currentTab - tab ID\n * @param showPageTitle - whether to display page title or not\n * @param locationId - location ID\n * @param locationIdReplacing - location ID\n */\nconst _getPageComponent = (\n currentTab: TabId,\n showPageTitle: boolean,\n locationId?: LocationId,\n isContentLoaded?: boolean,\n handleTabChange?: (evt: any, tabIndex: number) => void\n): ReactElement => {\n switch (currentTab) {\n case \"video\": {\n return (\n \n );\n }\n case \"stream\": {\n return (\n \n );\n }\n case \"line\": {\n return ;\n }\n }\n};\n\nexport default function LocationPage(props: PagesProps): ReactElement {\n const { t } = useTranslation();\n const { leftPanelIsOpen } = props;\n const dispatch = useDispatch();\n const location = useLocation();\n const history = useHistory();\n const appClasses = useAppLayoutStyles();\n const classes = useStyles({ leftPanelIsOpen });\n\n // check :id param from the query for a valid LocationId\n const { id } = useParams<{ id?: string }>();\n const isValidLocation = useSelector(selectIsValidLocation(id));\n const locationId = isValidLocation === true ? (id as LocationId) : undefined;\n\n // Check if the Location already has any Videos\n const groupsLoaded = useSelector(selectGroupsLoaded);\n const selectVideos = useMemo(\n () => getVideosSelector(locationId),\n [locationId]\n );\n const selectStreams = useMemo(\n () => getStreamsSelector(locationId),\n [locationId]\n );\n const selectLocationLoaded = useMemo(\n () => getLoadedSelector(locationId),\n [locationId]\n );\n const selectNotInitialized = useMemo(\n () => getNotInitializedSelector(locationId),\n [locationId]\n );\n const videos = useSelector(selectVideos);\n const streams = useSelector(selectStreams);\n const hasVideos = useSelector(selectVideos).length > 0;\n const hasStreams =\n useSelector(selectStreams).filter(({ isTmp = false }) => !isTmp).length > 0;\n const isLocationNotInitialized = useSelector(selectNotInitialized);\n const isLocationLoaded = useSelector(selectLocationLoaded);\n\n const isDemoLocation = useMemo(() => hasCloneVideo(videos), [videos]);\n\n // Videos isProcessing - здесь будет проверка через состояние\n const videoWithLine =\n videos.find(({ line }) => line !== undefined) !== undefined;\n const streamWithLine =\n streams.find(({ line }) => line !== undefined) !== undefined;\n\n const isContentLoaded =\n groupsLoaded && (isLocationLoaded ?? locationId === undefined);\n // Handle videos/streams tabs change\n const currentTab = _getCurrentLocationTab({\n queryString: location.search,\n hasStreams,\n hasVideos,\n });\n\n const showPageTitle =\n hasVideos || hasStreams || !visibleTabs.includes(currentTab);\n\n const handleTabChange = useCallback(\n (evt, tabIndex: number) => {\n const query = new URLSearchParams(location.search);\n const value: TabId = tabs[tabIndex];\n if (value === currentTab) {\n return;\n }\n\n query.set(\"tab\", value);\n history.push(`?${query.toString()}`);\n },\n [currentTab]\n );\n const handleLocationChanged = useCallback(\n (newLocationId?: LocationId) => {\n const tab = `?tab=${currentTab}`;\n\n if (newLocationId) {\n history.replace(\n LOCATION_URL.PAGE.replace(`{id}`, `${newLocationId}${tab}`)\n );\n } else {\n history.replace(LOCATION_URL.PAGE.replace(`{id}`, `${tab}`));\n }\n },\n [history, location]\n );\n\n // Load data corresponding to the current location ID\n const [lastLocationId, setLastLocationId] = useState();\n useEffect(() => {\n if (locationId !== undefined && lastLocationId !== locationId) {\n setLastLocationId(locationId);\n\n if (isLocationNotInitialized ?? false) {\n dispatch(loadLocation(locationId));\n }\n }\n }, [\n dispatch,\n setLastLocationId,\n isLocationNotInitialized,\n locationId,\n lastLocationId,\n ]);\n\n const gotoAnalyticsBtn = useMemo(() => {\n const isBtnDisabled = locationId === undefined;\n const btn = (\n }\n style={{ whiteSpace: \"nowrap\", fontWeight: 600 }}\n disabled={isBtnDisabled}\n >\n {t(I18N.location.BTN_VIEW_ANALYTICS)}\n \n );\n\n if (isBtnDisabled) {\n return btn;\n }\n\n return (\n \n {btn}\n \n );\n }, [t, locationId]);\n\n return (\n
\n \n },\n {\n title: I18N.common.LINK_LOCATION,\n link: \"#\",\n icon: ,\n selected: true,\n },\n {\n title: I18N.common.LINK_ANALYTICS,\n link:\n locationId !== undefined\n ? `/location/${locationId}/dashboard`\n : \"/location/dashboard\",\n icon: ,\n },\n {\n title: I18N.main.LINK_ARCHIVE,\n link: \"/main?tab=archive\",\n icon: ,\n },\n {\n title: I18N.main.LINK_TRASH,\n link: \"/main?tab=trash\",\n icon: ,\n },\n ]}\n open={props.leftPanelIsOpen}\n handleDrawerToggle={props.handleDrawerToggle}\n buttons={[\n {\n title: I18N.main.BTN_ADD_VIDEO,\n link: \"/location?tab=video\",\n icon: ,\n },\n {\n title: I18N.main.BTN_ADD_STREAM,\n link: \"/location?tab=stream\",\n icon: ,\n },\n ]}\n />\n
\n
\n
\n
\n
\n
\n \n Данные с локации\n \n
\n
\n \n
\n\n \n
\n
\n \n
\n
\n {isContentLoaded &&\n (videoWithLine || streamWithLine || isDemoLocation) &&\n gotoAnalyticsBtn}\n
\n
\n
\n {\n // If groups/videos/streams data is being loaded display DelayedProgress\n isContentLoaded ? (\n <>\n {_getPageComponent(\n currentTab,\n showPageTitle,\n locationId,\n isContentLoaded,\n handleTabChange\n )}\n \n ) : (\n \n )\n }\n
\n
\n
\n
\n
\n );\n}\n","import React, {\n ReactElement,\n SyntheticEvent,\n useCallback,\n useState,\n} from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\n\nimport {\n Button,\n IconButton,\n Snackbar,\n SnackbarCloseReason,\n} from \"@material-ui/core\";\nimport CloseIcon from \"@material-ui/icons/Close\";\n\nimport {\n actions,\n Notification,\n selectNotification,\n} from \"./notificationsSlice\";\n\nconst AUTOHIDE_TIMEOUT = 5000;\nconst ANIMATION_TIMEOUT = 1000;\n\nexport default function NotificationSnack(): ReactElement | null {\n const notification = useSelector(selectNotification);\n const dispatch = useDispatch();\n const { t } = useTranslation();\n const [open, setOpen] = useState(true);\n\n const handleClose = useCallback(\n (_: SyntheticEvent, reason?: SnackbarCloseReason): void => {\n if (reason === \"clickaway\") {\n return;\n }\n\n setOpen(false);\n setTimeout(() => {\n dispatch(actions.close((notification as Notification).id));\n setOpen(true);\n }, ANIMATION_TIMEOUT);\n },\n [dispatch, setOpen, notification]\n );\n\n if (notification === undefined) {\n return null;\n }\n\n return (\n \n {notification.actionText === undefined ? (\n \n ) : null}\n \n \n \n \n }\n />\n );\n}\n","\nexport enum PASSWORD_RESET_STATE {\n NONE, // Interaction hasn't been initialized\n FAILED,\n REQUEST_CHECK_EMAIL,\n REQUEST_STARTED,\n RESET_STARTED,\n RESET_COMPLETED,\n RESET_REQUESTING\n}\n\nexport interface PasswordResetState {\n state: PASSWORD_RESET_STATE\n email?: string\n error?: string\n}\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit'\nimport { AppThunk, RootState } from '../../app/store'\nimport { HTTP_METHOD, request } from '../../app/utils'\nimport { AUTH_URL } from '../../app/api-url'\nimport { PASSWORD_RESET_STATE, PasswordResetState } from './passwordResetTypes'\nimport { ErrorPayload, ERROR_CODE, getErrorPayload } from '../../app/errors'\nimport I18N from '../../app/i18n/strings'\n\nexport const initialState: PasswordResetState = {\n state: PASSWORD_RESET_STATE.NONE\n}\n\nconst authSlice = createSlice({\n name: 'passwordReset',\n initialState,\n reducers: {\n reset () {\n return initialState\n },\n requestStarted (state: PasswordResetState) {\n state.state = PASSWORD_RESET_STATE.REQUEST_STARTED\n },\n requestCheckEmail (state: PasswordResetState, action: PayloadAction) {\n state.state = PASSWORD_RESET_STATE.REQUEST_CHECK_EMAIL\n state.email = action.payload\n },\n resetStarted (state: PasswordResetState) {\n state.state = PASSWORD_RESET_STATE.RESET_STARTED\n },\n resetCompleted (state: PasswordResetState) {\n state.state = PASSWORD_RESET_STATE.RESET_COMPLETED\n },\n resetFailed (state: PasswordResetState, action: PayloadAction) {\n state.state = PASSWORD_RESET_STATE.FAILED\n switch (action.payload.code) {\n case ERROR_CODE.NOT_FOUND: {\n state.error = I18N.passwordReset.ERROR_RESET_FAILED_NOT_FOUND\n return\n }\n case ERROR_CODE.INVALID_INPUT_DATA:\n default: {\n state.error = I18N.passwordReset.ERROR_RESET_FAILED\n }\n }\n }\n }\n})\n\nexport const {\n actions,\n reducer\n} = authSlice\n\nexport const requestReset = (email: string): AppThunk => async (dispatch) => {\n try {\n dispatch(actions.requestStarted())\n await request(`${AUTH_URL.FORGOT_PASSWORD}?userEmail=${email}`,\n { method: HTTP_METHOD.GET })\n dispatch(actions.requestCheckEmail(email))\n } catch (err) {\n const errorPayload = getErrorPayload(err)\n dispatch(actions.resetFailed(errorPayload))\n }\n}\n\nexport const resetPassword = (email: string, token: string, password: string): AppThunk => async (dispatch) => {\n try {\n dispatch(actions.resetStarted())\n await request(AUTH_URL.RESET_PASSWORD, {\n method: HTTP_METHOD.PUT,\n data: {\n email: email,\n resetToken: token,\n newPassword: password\n }\n })\n dispatch(actions.resetCompleted())\n } catch (err) {\n const errorPayload = getErrorPayload(err)\n dispatch(actions.resetFailed(errorPayload))\n }\n}\n\nexport const selectIsPasswordResetRequested = (state: RootState): boolean => state.passwordReset.state === PASSWORD_RESET_STATE.REQUEST_CHECK_EMAIL\nexport const selectIsPasswordResetStarted = (state: RootState): boolean => state.passwordReset.state === PASSWORD_RESET_STATE.RESET_STARTED\nexport const selectPasswordResetError = (state: RootState): string|undefined => {\n if (state.passwordReset.state !== PASSWORD_RESET_STATE.FAILED) {\n return\n }\n\n return state.passwordReset.error\n}\nexport const selectEmail = (state: RootState): string|undefined => {\n if (state.passwordReset.state !== PASSWORD_RESET_STATE.REQUEST_CHECK_EMAIL) {\n return\n }\n\n return state.passwordReset.email\n}\nexport const selectIsResetCompleted = (state: RootState): boolean => state.passwordReset.state === PASSWORD_RESET_STATE.RESET_COMPLETED\n","import { Typography } from '@material-ui/core'\nimport Button from '@material-ui/core/Button'\nimport React, { ReactElement } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useDispatch, useSelector } from 'react-redux'\nimport I18N from '../../app/i18n/strings'\nimport { useFormStyles } from '../../app/styles'\nimport Form, { getRequiredValidator } from '../../components/Form'\nimport VisiusLink from '../../components/Link'\nimport SignInTextField from '../../components/TextField'\nimport {\n actions,\n requestReset,\n selectIsPasswordResetStarted,\n selectPasswordResetError\n} from './passwordResetSlice'\n\ninterface FormData {\n email: string\n}\n\nexport default function ResetRequestForm (): ReactElement {\n const classes = useFormStyles()\n const dispatch = useDispatch()\n const { t } = useTranslation()\n const isResetStarted = useSelector(selectIsPasswordResetStarted)\n const resetError = useSelector(selectPasswordResetError)\n\n const _onSubmit = (data: FormData): void => {\n dispatch(requestReset(data.email))\n }\n\n return (\n \n \n {t(I18N.passwordReset.MSG_WELCOME)}\n \n {\n if (resetError === undefined) {\n return\n }\n dispatch(actions.reset())\n }}\n />\n
\n \n \n {t(I18N.passwordReset.BTN_BACK)}\n \n \n \n {t(I18N.passwordReset.BTN_RESET)}\n \n
\n \n )\n}\n","import { Typography } from '@material-ui/core'\nimport Button from '@material-ui/core/Button'\nimport React, { ReactElement } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useDispatch, useSelector } from 'react-redux'\nimport I18N from '../../app/i18n/strings'\nimport { useFormStyles } from '../../app/styles'\nimport Form, { FormValidatorOptions, getConfirmationValidator, getRequiredValidator } from '../../components/Form'\nimport TextField from '../../components/TextField'\nimport {\n actions,\n resetPassword,\n selectIsPasswordResetStarted,\n selectPasswordResetError\n} from './passwordResetSlice'\n\ninterface FormData {\n password: string\n confirmation: string\n}\n\ninterface FormProps {\n token: string\n email: string\n}\n\nexport default function ResetRequestForm (props: FormProps): ReactElement {\n const classes = useFormStyles()\n const dispatch = useDispatch()\n const { t } = useTranslation()\n const isResetStarted = useSelector(selectIsPasswordResetStarted)\n const resetError = useSelector(selectPasswordResetError)\n\n const _onChange = (): void => {\n if (resetError !== undefined) {\n dispatch(actions.reset())\n }\n }\n\n const _onSubmit = (data: FormData): void => {\n dispatch(resetPassword(props.email, props.token, data.password))\n }\n\n return (\n ) => ({\n ...getRequiredValidator(['password', 'confirmation'])(options),\n ...getConfirmationValidator('password', 'confirmation')(options)\n })}\n >\n \n {t(I18N.passwordReset.MSG_NEW_PASSWORD)}\n \n \n \n
\n \n {t(I18N.passwordReset.BTN_CHANGE_PASSWORD)}\n \n
\n \n )\n}\n","import { Button, Typography } from '@material-ui/core'\nimport React, { ReactElement } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useSelector } from 'react-redux'\nimport { useLocation } from 'react-router'\nimport I18N from '../../app/i18n/strings'\nimport { useFormStyles } from '../../app/styles'\nimport AuthTemplate from '../../components/AuthPage'\nimport VisiusLink from '../../components/Link'\nimport {\n actions,\n selectEmail,\n selectIsPasswordResetRequested,\n selectIsResetCompleted\n} from './passwordResetSlice'\nimport RequestForm from './RequestForm'\nimport ResetForm from './ResetForm'\n\nexport default function ResetPassword (): ReactElement {\n const { t } = useTranslation()\n const classes = useFormStyles()\n const location = useLocation()\n const isResetCompleted = useSelector(selectIsResetCompleted)\n const isResetRequested = useSelector(selectIsPasswordResetRequested)\n const resetEmail = useSelector(selectEmail)\n const query = new URLSearchParams(location.search)\n const token = query.get('token')\n const userEmail = query.get('userEmail')\n\n if (isResetRequested) {\n return (\n \n \n {t(I18N.passwordReset.MSG_CHECK_EMAIL, { email: resetEmail })}\n \n
\n \n actions.reset()}\n >\n {t(I18N.passwordReset.BTN_RESET_REQUESTED)}\n \n \n
\n
\n )\n }\n if (isResetCompleted) {\n return (\n \n \n {t(I18N.passwordReset.MSG_COMPLETED)}\n \n
\n \n \n {t(I18N.signIn.BTN_LOGIN)}\n \n \n
\n
\n )\n }\n\n if (userEmail !== null && token !== null) {\n return (\n \n \n \n )\n }\n\n return (\n \n \n \n )\n}\n","export default __webpack_public_path__ + \"static/media/checkIcon.85027a0b.svg\";","import { makeStyles, Theme } from '@material-ui/core'\nimport { COLORS } from '../../../theme'\nimport { MAX_CARD_WIDTH } from '../../dashboard/Page'\n\nexport const MAX_TARIFF_CARD_WIDTH = 576\n\nexport default makeStyles((theme: Theme) => ({\n card: {\n flexGrow: 1,\n flexShrink: 1,\n flexBasis: MAX_CARD_WIDTH,\n\n '&.fixed': {\n flexGrow: 0,\n flexShrink: 0\n },\n\n '&.full-width': {\n flexBasis: '100%'\n },\n\n '&.fit': {\n flexBasis: `calc(100% - ${MAX_CARD_WIDTH + theme.spacing(4)}px)`,\n\n '&.wide': {\n minWidth: 700\n }\n }\n },\n cardWrap: {\n boxShadow: 'none',\n borderRadius: 8,\n border: '1px solid',\n borderColor: COLORS.GREY2,\n height: '100%',\n\n '& .MuiCardContent-root:last-child': {\n paddingBottom: theme.spacing(6)\n }\n },\n innerCard: {\n padding: theme.spacing(6)\n },\n grid: {\n display: 'flex'\n },\n flexContent: {\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between',\n height: '100%'\n },\n title: {\n marginBottom: theme.spacing(6.5)\n },\n leftBtn: {\n marginLeft: 0\n }\n}))\n","import React, {\n ReactElement, useEffect, useState\n} from 'react'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { useTranslation } from 'react-i18next'\nimport clsx from 'clsx'\n\nimport { actions, getSelectedTariff, loadTariffs, selectIsTariffsLoading, selectTariffs, selectUserTariff } from '../tariffSlice'\n\nimport { Cached } from '@material-ui/icons'\nimport checkIcon from '../../../../app/assets/checkIcon.svg'\nimport { Button, Card, CardContent, makeStyles, Theme, Typography } from '@material-ui/core'\n\nimport pageStyles from '../../../groups/components/pageStyles'\nimport I18N from '../../../../app/i18n/strings'\nimport { COLORS } from '../../../../theme'\nimport { useHistory } from 'react-router'\nimport tariffStyles from '../tariffStyles'\n\nconst useStyles = makeStyles((theme: Theme) => ({\n featureRow: {\n display: 'flex',\n marginBottom: theme.spacing(3)\n },\n feature: {\n marginLeft: theme.spacing(2)\n },\n grid: {\n display: 'flex',\n justifyContent: 'space-evenly'\n },\n currentBox: {\n width: 94,\n height: 25,\n backgroundColor: COLORS.BLUE5,\n color: COLORS.WHITE,\n textAlign: 'center',\n marginTop: -12,\n marginLeft: '62%'\n },\n col: {\n width: '20%',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n marginRight: theme.spacing(2),\n border: '1px solid',\n borderColor: COLORS.GREY2,\n borderRadius: 8\n },\n selected: {\n borderColor: theme.palette.info.light\n },\n tariffRow: {\n display: 'flex',\n alignItems: 'center',\n height: theme.spacing(6.5),\n marginTop: theme.spacing(4),\n '&:first-child': {\n marginTop: theme.spacing(6),\n alignItems: 'flex-end'\n },\n '&:last-child': {\n marginTop: theme.spacing(11.5),\n marginBottom: theme.spacing(4)\n }\n },\n tariffPurchase: {\n fontSize: 22,\n marginBottom: 39\n },\n tariffName: {\n fontSize: 22\n }\n}))\n\nexport default function TariffsList (): ReactElement {\n const { t } = useTranslation()\n const classes = pageStyles()\n const cardClasses = useStyles()\n const tariffClasses = tariffStyles()\n\n const dispatch = useDispatch()\n const history = useHistory()\n\n const selectedTariff = useSelector(getSelectedTariff)\n const currentTariff = useSelector(selectUserTariff)\n const tariffs = useSelector(selectTariffs)\n const isLoading = useSelector(selectIsTariffsLoading)\n\n const [selectedTariffId, setSelectedTariffId] = useState(selectedTariff?.id)\n\n // Вызов как componentDidMount пока нет обновления тарифов по SignalR\n useEffect(() => {\n dispatch(loadTariffs())\n }, [dispatch])\n\n const navigateBack = (): void => {\n history.goBack()\n }\n\n const onTariffSelectClick = (): void => {\n const selectedTariff = tariffs?.find(t => t.id === selectedTariffId)\n dispatch(actions.setSelectedTariff(selectedTariff))\n history.push('?tab=payments&inner=confirmPayment')\n }\n return (\n <>\n
\n \n \n
\n \n {t(I18N.profile.TITLE_TARIFF_SELECT)}\n \n\n {isLoading\n ? ({t(I18N.main.common.MSG_LOADING_PROGRESS)})\n : (\n
\n {tariffs?.map(tariff => {\n return (\n \n {tariff.tariffSnapshotId === (currentTariff?.id ?? '') && (\n
\n \n {t(I18N.tariff.CURRENT_STRING)}\n \n
)}\n\n
\n \n {tariff.name}\n \n
\n\n
\n \n {tariff.maxHours} {t(I18N.tariff.PROCESSING_HOURS)}\n \n
\n\n
\n \n {`${tariff.purchase} р`}\n \n
\n\n
\n
\n \n \n {t(I18N.tariff.COMMON_FEATURE1)}\n \n
\n\n
\n \n \n {t(I18N.tariff.COMMON_FEATURE2)}\n \n
\n\n
\n \n \n {t(I18N.tariff.COMMON_FEATURE3)}\n \n
\n
\n\n
\n setSelectedTariffId(tariff.id)}\n onMouseLeave={() => setSelectedTariffId(undefined)}\n onClick={onTariffSelectClick}\n >\n {tariff.tariffSnapshotId === (currentTariff?.id ?? '')\n ? t(I18N.tariff.RESUME_TARIFF)\n : t(I18N.tariff.SELECT_TARIFF)}\n \n
\n
\n )\n })}\n
\n )}\n
\n\n
\n }\n onClick={navigateBack}\n >\n {t(I18N.common.BTN_BACK)}\n \n
\n\n \n \n
\n \n )\n}\n","export default __webpack_public_path__ + \"static/media/invoiceIcon.31734ccf.svg\";","import React, {\n ReactElement\n} from 'react'\nimport { useSelector } from 'react-redux'\nimport clsx from 'clsx'\n\nimport { useTranslation } from 'react-i18next'\nimport { getSelectedTariff } from '../tariffSlice'\n\nimport { Button, Card, CardContent, Checkbox, makeStyles, Theme, Typography } from '@material-ui/core'\nimport Link from '../../../../components/Link'\n\nimport pageStyles from '../../../groups/components/pageStyles'\nimport I18N from '../../../../app/i18n/strings'\n\nimport invoiceIcon from '../../../../app/assets/invoiceIcon.svg'\n\nimport { COLORS } from '../../../../theme'\nimport tariffStyles, { MAX_TARIFF_CARD_WIDTH } from '../tariffStyles'\nimport { useHistory } from 'react-router'\n\nconst useStyles = makeStyles((theme: Theme) => ({\n card: {\n maxWidth: MAX_TARIFF_CARD_WIDTH\n },\n title: {\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(7)\n },\n changeLink: {\n paddingLeft: 10\n },\n tariffInfo: {\n display: 'flex',\n justifyContent: 'space-between'\n },\n selectPayment: {\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(3),\n color: theme.palette.text.secondary\n },\n paymentsType: {\n width: '100%',\n height: theme.spacing(12),\n display: 'flex',\n border: '1px solid',\n borderColor: COLORS.GREY2,\n borderRadius: 8,\n justifyContent: 'space-between',\n alignItems: 'center',\n marginBottom: theme.spacing(1)\n },\n typeName: {\n display: 'flex',\n alignItems: 'center'\n },\n banksLogo: {\n height: theme.spacing(8),\n marginRight: 10\n },\n invoiceIcon: {\n height: theme.spacing(5),\n marginRight: theme.spacing(9)\n },\n checkbox: {\n marginLeft: theme.spacing(2.5),\n marginRight: theme.spacing(2.5)\n }\n}))\n\nexport default function ConfirmPayments (): ReactElement {\n const { t } = useTranslation()\n const classes = pageStyles()\n const cardClasses = useStyles()\n const tariffClasses = tariffStyles()\n const history = useHistory()\n\n const selectedTariff = useSelector(getSelectedTariff)\n\n const navigateBack = (): void => {\n history.goBack()\n }\n\n const navigateForward = (): void => {\n history.push('?tab=payments&inner=invoiceForm')\n }\n\n return (\n <>\n
\n \n \n\n
\n \n {t(I18N.payments.CONFIRM_TITLE)}\n \n\n {selectedTariff !== undefined && (\n
\n
\n \n {t(I18N.payments.SELECTED_STRING)}\n +{selectedTariff?.maxHours} часов \n {t(I18N.payments.BY_TARIFF)} {selectedTariff?.name}\n \n\n \n \n {t(I18N.common.BTN_CHANGE)}\n \n \n
\n\n \n {t(I18N.payments.TO_PAYMENTS)} {selectedTariff?.purchase} ₽\n \n\n \n {t(I18N.payments.SELECT_PAYMENTS_TYPE)}\n \n\n
\n
\n \n\n \n {t(I18N.payments.PAYMENT_INVOICE_TYPE)}\n \n
\n \n
\n
\n )}\n\n {selectedTariff === undefined && (\n \n {t(I18N.payments.OPERATION_CANCELLED)}\n \n )}\n
\n\n
\n \n {t(I18N.common.BTN_BACK)}\n \n\n \n {t(I18N.common.BTN_CONTINUE)}\n \n
\n\n
\n
\n
\n \n )\n}\n","import React, {\n ReactElement, useCallback\n} from 'react'\nimport { useDispatch, useSelector } from 'react-redux'\nimport clsx from 'clsx'\n\nimport { useTranslation } from 'react-i18next'\nimport {\n createInvoicePayment,\n getSelectedTariff,\n selectInvoiceStarted,\n selectInvoiceSuccessed\n} from '../tariffSlice'\n\nimport { Button, Card, CardContent, InputLabel, makeStyles, TextField, Theme, Typography } from '@material-ui/core'\n\nimport pageStyles from '../../../groups/components/pageStyles'\nimport I18N from '../../../../app/i18n/strings'\nimport Form, { FormValidatorOptions, getRequiredValidator } from '../../../../components/Form'\nimport { InvoiceFormDto } from '../tariffTypes'\nimport { selectUserData } from '../../../auth/authSlice'\nimport { useFormStyles } from '../../../../app/styles'\nimport { Redirect, useHistory } from 'react-router'\nimport tariffStyles, { MAX_TARIFF_CARD_WIDTH } from '../tariffStyles'\n\nconst useStyles = makeStyles((theme: Theme) => ({\n card: {\n maxWidth: MAX_TARIFF_CARD_WIDTH\n },\n title: {\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(7)\n },\n tariffInfo: {\n display: 'flex',\n justifyContent: 'space-between'\n }\n}))\n\ninterface FormData {\n name: string\n phoneNumber: string\n}\n\nexport default function InvoiceForm (): ReactElement {\n const { t } = useTranslation()\n const classes = pageStyles()\n const cardClasses = useStyles()\n const formClasses = useFormStyles()\n const tariffClasses = tariffStyles()\n\n const dispatch = useDispatch()\n\n const userData = useSelector(selectUserData)\n const selectedTariff = useSelector(getSelectedTariff)\n const submitStarted = useSelector(selectInvoiceStarted)\n const isSubmitCompleted = useSelector(selectInvoiceSuccessed)\n const history = useHistory()\n\n const onSubmit = useCallback((data: FormData): void => {\n if (selectedTariff !== undefined && userData !== undefined) {\n const invoiceForm: InvoiceFormDto = {\n name: data.name,\n phoneNumber: data.phoneNumber,\n tariffSnapshotId: selectedTariff.tariffSnapshotId,\n userId: userData.id,\n tariffName: selectedTariff.name,\n email: userData.email\n }\n dispatch(createInvoicePayment(invoiceForm))\n }\n }, [selectedTariff, dispatch, userData])\n\n // Redirect to the initially requested page after a successfull request\n if (isSubmitCompleted) {\n return \n }\n\n const navigateBack = (): void => {\n history.goBack()\n }\n\n return (\n <>\n
\n \n \n\n
\n \n {t(I18N.invoice.LABEL_DESCRIPTION)}\n \n\n {selectedTariff !== undefined && (\n \n onSubmit={onSubmit}\n validate={(options: FormValidatorOptions) => getRequiredValidator(['name', 'phoneNumber'])(options)}\n >\n\n
\n \n {t(I18N.profile.LABEL_NAME)}\n \n \n
\n
\n \n {t(I18N.profile.LABEL_PHONE)}\n \n \n
\n\n
\n \n {t(I18N.common.BTN_BACK)}\n \n\n \n {t(I18N.common.BTN_SENT)}\n \n
\n \n )}\n\n {selectedTariff === undefined && (\n
\n \n {t(I18N.payments.OPERATION_CANCELLED)}\n \n\n
\n \n {t(I18N.common.BTN_BACK)}\n \n
\n
\n )}\n
\n\n
\n
\n
\n \n )\n}\n","import React, {\n ReactElement, useEffect\n} from 'react'\nimport clsx from 'clsx'\n\nimport { useTranslation } from 'react-i18next'\nimport { Button, Card, CardContent, makeStyles, Theme, Typography } from '@material-ui/core'\nimport Link from '../../../../components/Link'\n\nimport I18N from '../../../../app/i18n/strings'\nimport { useFormStyles } from '../../../../app/styles'\nimport { actions } from '../tariffSlice'\nimport { useDispatch } from 'react-redux'\nimport tariffStyles, { MAX_TARIFF_CARD_WIDTH } from '../tariffStyles'\n\nconst useStyles = makeStyles((theme: Theme) => ({\n card: {\n maxWidth: MAX_TARIFF_CARD_WIDTH\n },\n innerCard: {\n padding: theme.spacing(6),\n justifyContent: 'start'\n },\n title: {\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(7)\n }\n}))\n\nexport default function InvoiceSuccessInfo (): ReactElement {\n const { t } = useTranslation()\n const cardClasses = useStyles()\n const formClasses = useFormStyles()\n const tariffClasses = tariffStyles()\n\n const dispatch = useDispatch()\n\n useEffect(() => {\n dispatch(actions.clearInvoiceFormState())\n }, [dispatch])\n\n return (\n <>\n
\n \n \n\n
\n \n {t(I18N.invoice.TITLE_SUCCESS)}\n \n\n \n {t(I18N.invoice.LABEL_SUCCESS)}\n \n
\n\n
\n \n \n {t(I18N.invoice.UNDERSTAND_BTN)}\n \n \n
\n\n
\n
\n
\n \n )\n}\n","import { Button, Card, CardContent, InputLabel, LinearProgress, makeStyles, Theme, Typography } from '@material-ui/core'\nimport React, {\n ReactElement, useEffect, useMemo\n} from 'react'\nimport { useDispatch, useSelector } from 'react-redux'\nimport clsx from 'clsx'\n\nimport { actions, selectUserTariff } from './tariffSlice'\n\nimport { Cached, Update } from '@material-ui/icons'\n\nimport { useTranslation } from 'react-i18next'\nimport I18N from '../../../app/i18n/strings'\nimport Link from '../../../components/Link'\nimport pageStyles from '../../groups/components/pageStyles'\nimport tariffStyles from './tariffStyles'\n\nconst useStyles = makeStyles((theme: Theme) => ({\n card: {\n maxWidth: 800\n },\n col1: {\n marginRight: 59\n },\n tariffRow: {\n display: 'flex',\n alignItems: 'center',\n height: theme.spacing(6.5),\n marginBottom: theme.spacing(4)\n },\n linearProgressBar: {\n width: 200\n },\n progressBarSuccessColor: {\n backgroundColor: theme.palette.success.main\n },\n progressBarWarningColor: {\n backgroundColor: theme.palette.info.main\n },\n progressBarErrorColor: {\n backgroundColor: theme.palette.error.main\n }\n}))\n\nexport default function TariffTab (): ReactElement {\n const { t } = useTranslation()\n const classes = pageStyles()\n const cardClasses = useStyles()\n const tariffClasses = tariffStyles()\n const dispatch = useDispatch()\n\n const currentTariff = useSelector(selectUserTariff)\n\n useEffect(() => {\n if (currentTariff !== undefined) {\n dispatch(actions.setSelectedTariff({\n id: 0,\n tariffSnapshotId: currentTariff.id ?? '',\n name: currentTariff.name ?? '',\n maxHours: currentTariff.maxHours ?? 0,\n purchase: currentTariff.purchase ?? 1,\n isSystem: false\n }))\n }\n }, [dispatch, currentTariff])\n\n const progressBarColor = useMemo(() => {\n if (currentTariff === undefined) return cardClasses.progressBarErrorColor\n\n if (currentTariff?.timeBalancePercantage < 5) {\n return cardClasses.progressBarErrorColor\n }\n\n if (currentTariff?.timeBalancePercantage < 50) {\n return cardClasses.progressBarWarningColor\n }\n\n return cardClasses.progressBarSuccessColor\n }, [currentTariff,\n cardClasses.progressBarErrorColor,\n cardClasses.progressBarWarningColor,\n cardClasses.progressBarSuccessColor\n ])\n\n return (\n <>\n
\n \n \n\n
\n \n {t(I18N.profile.LINK_PAYMENTS)}\n \n
\n\n {currentTariff === undefined\n ? ({t(I18N.main.common.MSG_LOADING_PROGRESS)})\n : (\n
\n
\n
\n
\n \n {t(I18N.tariff.CURRENT_TITLE)}\n \n
\n\n
\n \n {t(I18N.tariff.HOUR_BALANCE)}\n \n
\n\n
\n \n {t(I18N.tariff.HOUR_LIMIT)}\n \n
\n\n
\n \n {t(I18N.tariff.PAYMENT_DATE)}\n \n
\n
\n\n
\n
\n \n {currentTariff?.name}\n \n
\n\n
\n
\n \n {currentTariff?.timeBalanceString}\n \n\n {currentTariff !== undefined && (\n \n )}\n
\n
\n\n
\n \n {currentTariff?.maxHours !== undefined ? `${currentTariff?.maxHours} ч.` : ''}\n \n
\n\n
\n \n {currentTariff?.lastPaymentDate?.local().format('DD.MM.YYYY HH:mm')}\n \n
\n
\n
\n\n
\n \n }\n >\n {t(I18N.tariff.CHANGE_TARIFF)}\n \n \n\n {currentTariff?.isSystem && (\n \n }\n >\n {t(I18N.tariff.RESUME_SUBSCRIBE)}\n \n \n )}\n
\n
\n )}\n
\n
\n
\n \n )\n}\n","import React, { ReactElement } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport {\n Button,\n Card,\n CardContent,\n InputLabel,\n makeStyles,\n Theme,\n Typography,\n} from \"@material-ui/core\";\nimport { Save } from \"@material-ui/icons\";\n\nimport { selectUserData } from \"../auth/authSlice\";\nimport {\n actions,\n editProfile,\n ProfileUpdate,\n selectError,\n selectIsConfirmed,\n selectStarted,\n} from \"./profileSlice\";\n\nimport I18N from \"../../app/i18n/strings\";\nimport { useFormStyles } from \"../../app/styles\";\n\nimport Form, {\n FormValidatorOptions,\n getRequiredValidator,\n} from \"../../components/Form\";\nimport Link from \"../../components/Link\";\nimport TextField from \"../../components/TextField\";\nimport { requestConfirmation } from \"../confirm-email/confirmEmailSlice\";\n\nconst useStyles = makeStyles((theme: Theme) => ({\n root: {\n maxWidth: 800,\n background: \"transparent\",\n \"& .MuiCardContent-root:last-child\": {\n paddingBottom: theme.spacing(6),\n },\n border: 0,\n },\n content: {\n padding: theme.spacing(0, 6, 6, 6),\n },\n title: {\n marginBottom: theme.spacing(3),\n },\n buttonWrapper: {\n display: \"flex\",\n alignItems: \"center\",\n marginTop: theme.spacing(1.5),\n\n \"& .MuiButton-root\": {\n textTransform: \"none\",\n color: theme.palette.primary.main,\n fontWeight: 600,\n },\n },\n saveButton: {\n whiteSpace: \"nowrap\",\n textTransform: \"none\",\n },\n}));\n\ninterface FormData {\n companyName: string;\n name: string;\n phoneNumber: string;\n}\n\nexport default function ProfileTab(): ReactElement {\n const classes = useFormStyles();\n const pageClasses = useStyles();\n const dispatch = useDispatch();\n const { t } = useTranslation();\n const profileError = useSelector(selectError);\n const submitStarted = useSelector(selectStarted);\n const userData = useSelector(selectUserData);\n\n const isConfirmed = useSelector(selectIsConfirmed);\n\n const _onClick = (): void => {\n dispatch(requestConfirmation());\n };\n\n const _onChange = (): void => {\n if (profileError !== undefined) {\n dispatch(actions.reset());\n }\n };\n const _onSubmit = (data: FormData): void => {\n const update: ProfileUpdate = {\n name: data.name,\n companyName: data.companyName,\n phoneNumber: data.phoneNumber,\n };\n dispatch(editProfile(update));\n };\n\n return (\n \n \n \n onSubmit={_onSubmit}\n validate={(options: FormValidatorOptions) =>\n getRequiredValidator([\"name\", \"companyName\", \"phoneNumber\"])(\n options\n )\n }\n >\n \n {t(I18N.profile.TITLE_PROFILE)}\n \n
\n {t(I18N.profile.LABEL_COMPANY)}\n \n
\n
\n {t(I18N.profile.LABEL_NAME)}\n \n
\n
\n {t(I18N.profile.LABEL_PHONE)}\n \n
\n
\n {t(I18N.profile.LABEL_EMAIL)}\n \n {!isConfirmed && (\n
\n \n {t(I18N.profile.BTN_CONFIRM_EMAIL)}\n \n
\n )}\n
\n
\n {t(I18N.profile.LABEL_PASSWORD)}\n \n \n \n {t(I18N.profile.BTN_CHANGE_PASSWORD)}\n \n \n
\n
\n }\n >\n {t(I18N.profile.BTN_EDIT_PROFILE)}\n \n
\n \n
\n
\n );\n}\n","import React, { ReactElement, useCallback, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory } from \"react-router\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n Button,\n Card,\n CardContent,\n InputLabel,\n makeStyles,\n Theme,\n Typography,\n} from \"@material-ui/core\";\nimport { Save } from \"@material-ui/icons\";\n\nimport {\n actions,\n editProfile,\n ProfileUpdate,\n selectError,\n selectStarted,\n} from \"./profileSlice\";\n\nimport I18N from \"../../app/i18n/strings\";\nimport { useFormStyles } from \"../../app/styles\";\n\nimport Form, {\n FormValidatorOptions,\n getConfirmationValidator,\n getRequiredValidator,\n getRulesValidator,\n} from \"../../components/Form\";\nimport TextField from \"../../components/TextField\";\n\nconst useStyles = makeStyles((theme: Theme) => ({\n root: {\n maxWidth: 800,\n background: \"transparent\",\n \"& .MuiCardContent-root:last-child\": {\n paddingBottom: theme.spacing(6),\n },\n border: 0,\n },\n content: {\n padding: theme.spacing(0, 6, 6, 6),\n },\n title: {\n marginBottom: theme.spacing(3),\n },\n saveBtn: {\n marginLeft: theme.spacing(2),\n },\n}));\n\ninterface FormData {\n password: string;\n newPassword: string;\n confirmation: string;\n}\n\nexport default function ProfileTab(): ReactElement {\n const [passwordsMatch, setPasswordsMatch] = useState(false);\n const classes = useFormStyles();\n const changePasswordClasses = useStyles();\n const dispatch = useDispatch();\n const { t } = useTranslation();\n const profileError = useSelector(selectError);\n const submitStarted = useSelector(selectStarted);\n const history = useHistory();\n\n const _onChange = (e: any): void => {\n if (profileError !== undefined) {\n dispatch(actions.reset());\n }\n\n const newPassword = (\n document.getElementsByName(\"newPassword\")[0] as HTMLInputElement\n ).value;\n const confirmation = (\n document.getElementsByName(\"confirmation\")[0] as HTMLInputElement\n ).value;\n setPasswordsMatch(newPassword === confirmation);\n };\n const _onSubmit = (data: FormData): void => {\n const update: ProfileUpdate = {\n currentPassword: data.password,\n newPassword: data.newPassword,\n };\n dispatch(editProfile(update));\n };\n\n const handleValidation = useCallback(\n (options: FormValidatorOptions) => {\n return {\n ...getRequiredValidator([\"password\", \"newPassword\", \"confirmation\"])(\n options\n ),\n ...getConfirmationValidator(\"newPassword\", \"confirmation\")(options),\n ...getRulesValidator(\"newPassword\")(options),\n };\n },\n []\n );\n\n return (\n \n \n onSubmit={_onSubmit} validate={handleValidation}>\n \n {t(I18N.profile.TITLE_CHANGE_PASSWORD)}\n \n
\n {t(I18N.profile.LABEL_OLD_PASSWORD)}\n \n
\n
\n {t(I18N.profile.LABEL_NEW_PASSWORD)}\n \n
\n
\n {t(I18N.profile.LABEL_CONFIRMATION)}\n \n
\n
\n history.goBack()}\n >\n {t(I18N.profile.BTN_BACK)}\n \n }\n >\n {t(I18N.profile.BTN_CHANGE_PASSWORD)}\n \n
\n \n
\n
\n );\n}\n","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgArrowLeft(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 14,\n viewBox: \"0 0 16 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7.70711 0.292893C8.09763 0.683417 8.09763 1.31658 7.70711 1.70711L3.41421 6H15C15.5523 6 16 6.44772 16 7C16 7.55228 15.5523 8 15 8H3.41421L7.70711 12.2929C8.09763 12.6834 8.09763 13.3166 7.70711 13.7071C7.31658 14.0976 6.68342 14.0976 6.29289 13.7071L0.292893 7.70711C-0.0976311 7.31658 -0.0976311 6.68342 0.292893 6.29289L6.29289 0.292893C6.68342 -0.0976311 7.31658 -0.0976311 7.70711 0.292893Z\",\n fill: \"#2C67FF\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgArrowLeft);\nexport default __webpack_public_path__ + \"static/media/arrowLeft.13a3f927.svg\";\nexport { ForwardRef as ReactComponent };","import { Typography } from '@material-ui/core'\nimport React, { ReactElement } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport I18N from '../../app/i18n/strings'\n\nexport default function NotYetImplementedTab (): ReactElement {\n const { t } = useTranslation()\n return (\n \n {t(I18N.profile.MSG_NOT_IMPLEMENTED)}\n \n )\n}\n","import React, { ReactElement } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useLocation } from \"react-router-dom\";\n\nimport I18N from \"../../app/i18n/strings\";\nimport { getCurrentTab } from \"../../app/utils\";\nimport { useAppLayoutStyles } from \"../../app/styles\";\n\nimport TariffsList from \"./tariffs/components/TariffsList\";\nimport ConfirmPayments from \"./tariffs/components/ConfirmPayments\";\nimport InvoiceForm from \"./tariffs/components/InvoiceForm\";\nimport InvoiceSuccessInfo from \"./tariffs/components/InvoiceSuccessInfo\";\nimport TariffTab from \"./tariffs/TariffTab\";\n\nimport MainTab from \"./ProfileTab\";\nimport ChangePasswordTab from \"./ChangePasswordTab\";\nimport VisiusDrawer from \"../../components/Drawer\";\nimport NotYetImplementedTab from \"./NotImplementedTab\";\n\nimport { PagesProps } from \"../groups/Page\";\nimport pageStyles from \"../groups/components/pageStyles\";\nimport VisiusAppBar from \"../../components/AppBar\";\n\nimport { ReactComponent as CameraIcon } from \"../../app/assets/cameraIcon.svg\";\nimport { ReactComponent as WebcamIcon } from \"../../app/assets/webcamIcon.svg\";\nimport { ReactComponent as HomeIcon } from \"../../app/assets/homeIcon.svg\";\nimport { ReactComponent as MovieIcon } from \"../../app/assets/movieIcon.svg\";\nimport { ReactComponent as ArchiveIcon } from \"../../app/assets/archiveIcon.svg\";\nimport { ReactComponent as TrashIcon } from \"../../app/assets/trashIcon.svg\";\nimport { ReactComponent as AnalyticIcon } from \"../../app/assets/analyticIconSideBar.svg\";\nimport { Divider, IconButton, Typography } from \"@material-ui/core\";\n\nimport { ReactComponent as ArrowLeftIcon } from \"../../app/assets/arrowLeft.svg\";\n\ntype TabId = \"main\" | \"payments\" | \"notifications\" | \"chpassw\";\nconst tabs: TabId[] = [\"main\", \"payments\", \"notifications\", \"chpassw\"];\n\nexport type InnerId =\n | \"current\"\n | \"tariffs\"\n | \"confirmPayment\"\n | \"invoiceForm\"\n | \"invoiceSuccess\"\n | \"unknown\";\n\n/**\n * Returns inner component in current tab ID based on\n * - given list of possible tab IDs\n *\n * @param query\n */\nconst getTabInnerComponent = (query: URLSearchParams): InnerId => {\n const tabInnerQuery = query.get(\"inner\");\n if (tabInnerQuery === null) {\n return \"unknown\";\n }\n\n return tabInnerQuery as InnerId;\n};\n\nconst _getPageTitle = (currentTab: TabId, innerComponent: InnerId): string => {\n switch (innerComponent) {\n case \"current\":\n case \"confirmPayment\":\n case \"invoiceForm\":\n case \"invoiceSuccess\": {\n return I18N.profile.TITLE_PAYMENTS;\n }\n case \"tariffs\": {\n return I18N.profile.TITLE_TARIFF_SELECT;\n }\n }\n\n switch (currentTab) {\n case \"main\": {\n return I18N.profile.TITLE_PROFILE;\n }\n case \"payments\": {\n return I18N.profile.TITLE_PAYMENTS;\n }\n case \"notifications\": {\n return I18N.profile.TITLE_NOTIFICATIONS;\n }\n case \"chpassw\":\n return I18N.profile.TITLE_CHANGE_PASSWORD;\n }\n};\n\nconst _getPageComponent = (\n currentTab: TabId,\n innerComponent: InnerId\n): ReactElement => {\n switch (innerComponent) {\n case \"current\":\n return ;\n case \"tariffs\":\n return ;\n case \"confirmPayment\":\n return ;\n case \"invoiceForm\":\n return ;\n case \"invoiceSuccess\":\n return ;\n }\n\n switch (currentTab) {\n case \"chpassw\":\n return ;\n case \"main\":\n return ;\n default: {\n return ;\n }\n }\n};\n\nexport default function ProfilePage(props: PagesProps): ReactElement {\n const layoutClasses = useAppLayoutStyles();\n const { t } = useTranslation();\n const location = useLocation();\n const classes = pageStyles({ leftPanelIsOpen: props.leftPanelIsOpen });\n\n const query = new URLSearchParams(location.search);\n const tab = getCurrentTab(tabs, query);\n const innerComponent = getTabInnerComponent(query);\n const history = useHistory();\n\n const goBack = () => history.goBack();\n\n return (\n
\n \n ,\n },\n {\n title: I18N.common.LINK_LOCATION,\n link: \"/location\",\n icon: ,\n },\n {\n title: I18N.common.LINK_ANALYTICS,\n link: \"/location/dashboard\",\n icon: ,\n },\n {\n title: I18N.main.LINK_ARCHIVE,\n link: \"?tab=archive\",\n icon: ,\n },\n {\n title: I18N.main.LINK_TRASH,\n link: \"?tab=trash\",\n icon: ,\n },\n ]}\n buttons={[\n {\n title: I18N.main.BTN_ADD_VIDEO,\n link: \"/location?tab=video\",\n icon: ,\n },\n {\n title: I18N.main.BTN_ADD_STREAM,\n link: \"/location?tab=stream\",\n icon: ,\n },\n ]}\n open={props.leftPanelIsOpen}\n handleDrawerToggle={props.handleDrawerToggle}\n />\n
\n
\n
\n
\n
\n \n \n \n \n Настройки профиля\n \n
\n \n
\n {_getPageComponent(tab, innerComponent)}\n
\n
\n
\n );\n}\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit'\nimport { AppThunk, RootState } from '../../app/store'\nimport { HTTP_METHOD, request } from '../../app/utils'\nimport { AUTH_URL } from '../../app/api-url'\nimport { SIGNUP_STATE, SignUpState, FormError } from './signUpTypes'\nimport { loadUserData } from '../auth/authSlice'\nimport { ERROR_CODE, ErrorPayload, getErrorPayload } from '../../app/errors'\nimport I18N from '../../app/i18n/strings'\nimport { History } from 'history'\n\nexport const initialState: SignUpState = {\n state: SIGNUP_STATE.NONE\n}\n\nconst authSlice = createSlice({\n name: 'signUp',\n initialState,\n reducers: {\n reset () { return initialState },\n signupStarted (state: SignUpState) {\n state.state = SIGNUP_STATE.SIGNUP_STARTED\n },\n signupFailed (state: SignUpState, action: PayloadAction) {\n state.state = SIGNUP_STATE.SIGNUP_FAILED\n switch (action.payload.code) {\n case ERROR_CODE.DUPLICATE_USER_NAME: {\n state.error = {\n email: [I18N.signUp.ERROR_DUPLICATE_USER_EMAIL]\n }\n break\n }\n case ERROR_CODE.DUPLICATE_USER_EMAIL: {\n state.error = {\n email: [I18N.signUp.ERROR_DUPLICATE_USER_EMAIL]\n }\n break\n }\n case ERROR_CODE.INVALID_EMAIL: {\n state.error = {\n email: [I18N.signUp.ERROR_INVALID_USER_EMAIL]\n }\n break\n }\n case ERROR_CODE.INVALID_USER_NAME: {\n state.error = {\n email: [I18N.signUp.ERROR_INVALID_USER_EMAIL]\n }\n break\n }\n case ERROR_CODE.INVALID_INPUT_DATA:{\n state.error = {\n email: [I18N.signUp.ERROR_INVALID_USER_EMAIL]\n }\n break\n }\n default: {\n state.error = {\n password: [I18N.signUp.ERROR_INVALID_INPUT_DATA]\n }\n }\n }\n }\n }\n})\n\nexport const {\n actions,\n reducer\n} = authSlice\n\ninterface SignUpOptions {\n name: string\n email: string\n phoneNumber: string\n password: string\n history: History\n redirectTo: string\n}\n\nexport const signUp = ({ name, email, phoneNumber, password, history, redirectTo }: SignUpOptions): AppThunk => async (dispatch) => {\n try {\n dispatch(actions.signupStarted())\n await request(AUTH_URL.SIGNUP, { method: HTTP_METHOD.POST, data: { name, email, phoneNumber, password } })\n history.push(redirectTo)\n dispatch(actions.reset())\n } catch (err) {\n const errorPayload = getErrorPayload(err)\n dispatch(actions.signupFailed(errorPayload))\n return\n }\n\n await dispatch(loadUserData(true))\n}\n\nexport const selectIsSignUpStarted = (state: RootState): boolean => state.signUp.state === SIGNUP_STATE.SIGNUP_STARTED\nexport const selectSignUpError = (state: RootState): FormError|undefined => {\n if (state.signUp.state !== SIGNUP_STATE.SIGNUP_FAILED) {\n return\n }\n\n return state.signUp.error\n}\n","import { Typography } from '@material-ui/core'\nimport Button from '@material-ui/core/Button'\nimport React, { ReactElement, useCallback, useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { useHistory } from 'react-router'\nimport I18N from '../../app/i18n/strings'\nimport { useFormStyles } from '../../app/styles'\nimport AuthTemplate from '../../components/AuthPage'\nimport Form, {\n FormValidatorOptions,\n getConfirmationValidator,\n getPhoneValidator,\n getRequiredValidator,\n getRulesValidator\n} from '../../components/Form'\nimport VisiusLink from '../../components/Link'\nimport TextField from '../../components/TextField'\nimport {\n actions,\n selectIsSignUpStarted,\n selectSignUpError,\n signUp\n} from './signUpSlice'\n\ninterface SignUpData {\n firstName: string\n email: string\n phoneNumber: string\n password: string\n confirmation: string\n}\n\nexport default function SignUp (): ReactElement {\n const classes = useFormStyles()\n const dispatch = useDispatch()\n const { t } = useTranslation()\n const history = useHistory()\n\n const isSignUpStarted = useSelector(selectIsSignUpStarted)\n const signUpError = useSelector(selectSignUpError)\n const signInLink = useMemo(() => (\n dispatch(actions.reset())}>\n {t(I18N.signUp.LINK_SIGN_IN)}\n \n ), [t, dispatch])\n\n const handleInput = useCallback((): void => {\n if (signUpError !== undefined) {\n dispatch(actions.reset())\n }\n }, [dispatch, signUpError])\n\n const handleSubmit = useCallback((data: SignUpData): void => {\n dispatch(signUp({\n name: data.firstName,\n email: data.email,\n password: data.password,\n phoneNumber: data.phoneNumber,\n history,\n redirectTo: '/'\n }))\n }, [dispatch, history])\n\n const handleValidation = useCallback((options: FormValidatorOptions) => {\n return {\n ...getRequiredValidator(['firstName', 'email', 'phoneNumber', 'password', 'confirmation'])(options),\n ...getConfirmationValidator('password', 'confirmation')(options),\n ...getRulesValidator('password')(options),\n ...getPhoneValidator('phoneNumber')(options)\n }\n }, [])\n\n const licenseLink = (\n \n {t(I18N.signUp.LINK_LICENSE_AGREEMENT)}\n \n )\n\n return (\n \n \n onSubmit={handleSubmit}\n validate={handleValidation}\n >\n \n {t(I18N.signUp.MSG_HAS_ACCOUNT)} {signInLink}\n \n \n \n \n \n \n
\n \n {t(I18N.signUp.BTN_SIGNUP)}\n \n \n {t(I18N.signUp.MSG_LICENSE_AGREEMENT)} {licenseLink}\n \n
\n \n
\n )\n}\n","import React, { ReactElement, useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport {\n BrowserRouter as Router,\n Redirect,\n Route,\n Switch,\n} from \"react-router-dom\";\n\nimport CssBaseline from \"@material-ui/core/CssBaseline\";\nimport { ThemeProvider } from \"@material-ui/core/styles\";\n\nimport {\n loadUserData,\n selectAuthenticated,\n selectAuthNotInitialized,\n selectUserData,\n} from \"./features/auth/authSlice\";\nimport {\n loadGroups,\n selectNotInitialized,\n} from \"./features/groups/main/videoSlice\";\nimport {\n selectAppLoading,\n selectAppReady,\n} from \"./features/notifications/notificationsSlice\";\nimport {\n loadBillingUrl,\n loadCurrentTariff,\n selectBillingUrl,\n selectIsCurrentTariffError,\n selectIsLoadingError,\n} from \"./features/profile/tariffs/tariffSlice\";\n\nimport initSignalR from \"./features/notifications/signalR\";\n\nimport DelayedProgress from \"./components/DelayedProgress\";\nimport SignIn from \"./features/auth/SignIn\";\nimport ConfirmEmail from \"./features/confirm-email/ConfirmEmail\";\nimport Chart from \"./features/dashboard/Page\";\nimport { useWorker as useAnalyticsWorker } from \"./features/dashboard/worker/useAnalyticsWorker\";\nimport GroupsPage from \"./features/groups/Page\";\nimport Location from \"./features/location/Page\";\nimport Notification from \"./features/notifications/Notification\";\nimport ResetPassword from \"./features/password-reset/PasswordReset\";\nimport Profile from \"./features/profile/Page\";\nimport SignUp from \"./features/signup/SignUp\";\nimport theme from \"./theme\";\n/* eslint no-void: [\"error\", { \"allowAsStatement\": true }] */\n\nconst TARIFF_UPDATING_PERIOD_MS = 60000;\n\nfunction App(): ReactElement {\n const dispatch = useDispatch();\n\n // leftPanelIsOpen => true -- left panel of page is open\n const [leftPanelIsOpen, setLeftPaneIsOpen] = React.useState(true);\n const handleDrawerToggle = () => {\n setLeftPaneIsOpen((prev) => !prev);\n };\n\n // isAuthNotInitialized => true -- authentication hasn't been started yet\n const isAuthNotInitialized = useSelector(selectAuthNotInitialized);\n const isAuthCompleted = useSelector(selectAuthenticated);\n // isAppReady => true -- an attempt to authenticate user using Cookies has been finished\n // regardless of whether authentication succeeded or failed\n const isAppReady = useSelector(selectAppReady);\n // isLoading => true -- some continuous async action (e.g data loading) is underway\n const isLoading = useSelector(selectAppLoading);\n const analyticsWorker = useAnalyticsWorker();\n\n const userData = useSelector(selectUserData);\n const billingUrl = useSelector(selectBillingUrl);\n const isTariffError = useSelector(selectIsLoadingError);\n const isCurrentTariffError = useSelector(selectIsCurrentTariffError);\n\n useEffect(() => {\n dispatch(loadBillingUrl());\n }, [dispatch]);\n\n useEffect(() => {\n if (isAuthNotInitialized) {\n dispatch(loadUserData());\n }\n }, [dispatch, isAuthNotInitialized]);\n\n useEffect(() => {\n if (isAuthCompleted) {\n // #initSignalR returns cleanup function to stop listening to messages\n return initSignalR(dispatch, analyticsWorker);\n }\n }, [dispatch, isAuthCompleted, analyticsWorker]);\n\n // Load Groups/Locations data (it is used on various app pages)\n // if the corresponding slice hasn't been initialized yet\n const isNotInitialized = useSelector(selectNotInitialized);\n useEffect(() => {\n if (isAuthCompleted && isNotInitialized) {\n dispatch(loadGroups());\n }\n }, [dispatch, isAuthCompleted, isNotInitialized]);\n\n useEffect(() => {\n const callback = (): void => {\n if (\n userData !== undefined &&\n billingUrl !== undefined &&\n !isCurrentTariffError\n ) {\n dispatch(loadCurrentTariff(userData.id));\n }\n };\n\n callback();\n const tariffUpdateInterval = setInterval(\n callback,\n TARIFF_UPDATING_PERIOD_MS\n );\n return () => clearInterval(tariffUpdateInterval);\n }, [dispatch, userData, isCurrentTariffError]);\n\n useEffect(() => {\n if (isTariffError) {\n // повторный запрос url сервера биллинга\n dispatch(loadBillingUrl());\n }\n }, [dispatch, isTariffError]);\n\n return (\n \n \n {isAppReady && (\n \n \n \n isAuthCompleted ? (\n \n ) : (\n \n )\n }\n />\n\n \n isAuthCompleted ? (\n \n ) : (\n \n )\n }\n />\n\n \n isAuthCompleted ? (\n \n ) : (\n \n )\n }\n />\n\n \n isAuthCompleted ? (\n \n ) : (\n \n )\n }\n />\n\n \n isAuthCompleted ? (\n \n ) : (\n \n )\n }\n />\n\n \n isAuthCompleted ? (\n \n ) : (\n \n )\n }\n />\n\n \n \n \n \n\n \n \n \n )}\n {\n // if the app is 'ready' progress bar is shown as a part of VisiusAppBar\n !isAppReady && isLoading && \n }\n \n \n );\n}\n\nexport default App;\n","import I18N from './strings'\n\nconst STRINGS = {\n translation: {\n // Charts/Dashboard\n [I18N.chart.DATE_RANGE_LABEL_DAYS_OF_WEEK]: 'Дни недели',\n [I18N.chart.DATE_RANGE_LABEL_DATE_FROM]: 'Период (от)',\n [I18N.chart.DATE_RANGE_LABEL_DATE_TO]: 'Период (до)',\n [I18N.chart.DATE_RANGE_TITLE]: 'Анализируемый период',\n [I18N.chart.LEGEND_BIKES]: 'Велосипедисты',\n [I18N.chart.LEGEND_CARS]: 'Автомобили',\n [I18N.chart.LEGEND_MEN]: 'Пешеходы',\n \n [I18N.chart.LEGEND_YOUNG]: '0-15 лет',\n [I18N.chart.LEGEND_MIDDLE]: '15-45 лет',\n [I18N.chart.LEGEND_OLD]: '45+ лет',\n [I18N.chart.LEGEND_UNKNOWN_AGE]: 'Не определён',\n\n [I18N.chart.LEGEND_FEMALE]: 'Женщины',\n [I18N.chart.LEGEND_MALE]: 'Мужчины',\n [I18N.chart.LEGEND_UNKNOWN_GENDER]: 'Не определён',\n\n [I18N.chart.LEGEND_YOUNGMEN]: 'Мужчины (0-15)',\n [I18N.chart.LEGEND_MIDDLEMEN]: 'Мужчины (15-45)',\n [I18N.chart.LEGEND_OLDMEN]: 'Мужчины (45+)',\n [I18N.chart.LEGEND_UNKNOWNMEN]: 'Мужчины (Н/О)',\n\n [I18N.chart.LEGEND_YOUNGWOMEN]: 'Женщины (0-15)',\n [I18N.chart.LEGEND_MIDDLEWOMEN]: 'Женщины (15-45)',\n [I18N.chart.LEGEND_OLDWOMEN]: 'Женщины (45+)',\n [I18N.chart.LEGEND_UNKNOWNWOMEN]: 'Женщины (Н/О)',\n \n [I18N.chart.LEGEND_YOUNGUNKNOWN]: 'Н/О (0-15)',\n [I18N.chart.LEGEND_MIDDLEUNKNOWN]: 'Н/О (15-45)',\n [I18N.chart.LEGEND_OLDUNKNOWN]: 'Н/О (45+)',\n [I18N.chart.LEGEND_UNKNOWNUNKNOWN]: 'Н/О (45+)',\n\n\n [I18N.chart.LEGEND_ETC]: 'Остальные',\n [I18N.chart.LEGEND_TITLE]: 'Тип анализируемых объектов',\n [I18N.chart.LOCATION_PICKER_CHECKBOX_LABEL]: 'Сравнительный анализ',\n [I18N.chart.OPTIONS_PANEL_TITLE]: 'Настройки',\n [I18N.chart.OPTIONS_PANEL_SHOW_BUTTON]: 'Показать результат',\n [I18N.chart.OPTIONS_PANEL_BUTTON]: 'Сбросить фильтры',\n [I18N.chart.OPTIONS_PANEL_TOGGLE_BUTTON]: 'Свернуть',\n [I18N.chart.MSG_EMPTY_QUERY_RESULT]: 'Не найдено данных, удовлетворяющих заданным фильтрам. Возможно, аналитика еще не готова',\n [I18N.chart.MSG_LOADING]: 'Загрузка данных...',\n [I18N.chart.MSG_SELECT_LOCATION]: 'Выберите Локацию для отображения аналитики',\n [I18N.chart.TIME_RANGE_LABEL_TIME_FROM]: 'Время (от)',\n [I18N.chart.TIME_RANGE_LABEL_TIME_TO]: 'Время (до)',\n [I18N.chart.TIME_RANGE_LABEL_SELECT]: 'Разрез анализа',\n [I18N.chart.TIME_RANGE_LABEL_SELECT_VALUE_MINUTE]: 'Минута',\n [I18N.chart.TIME_RANGE_LABEL_SELECT_VALUE_HOUR]: 'Час',\n [I18N.chart.TIME_RANGE_LABEL_SELECT_VALUE_DAY]: 'День',\n [I18N.chart.TIME_RANGE_LABEL_SELECT_VALUE_WEEK]: 'Неделя',\n [I18N.chart.TIME_RANGE_LABEL_SELECT_VALUE_MONTH]: 'Месяц',\n [I18N.chart.TITLE]: 'Аналитика с локации',\n [I18N.chart.TITLE_RAW_RESULT_CHART_TITLE]: 'Кол-во появлений в час за период с {{from}} — {{to}}',\n [I18N.chart.TITLE_RELATIVE_CHART]: 'Соотношение по типу',\n [I18N.chart.TITLE_RELATIVE_WALKERS_CHART]: 'Соотношение пешеходов по типу',\n [I18N.chart.TITLE_AVERAGE_CHART]: 'Среднее кол-во появлений за день',\n [I18N.chart.TITLE_MAX_CHART]: 'Максимальное кол-во появлений за день',\n [I18N.chart.TITLE_MIN_CHART]: 'Минимальное кол-во появлений за день',\n [I18N.chart.TITLE_SUM_CHART]: 'Суммарное кол-во появлений за день',\n [I18N.chart.TOOLTIP_AVERAGE[0]]: 'Например, в фильтрах анализа в пункте «Разрез анализа» вы выбрали «Час», а временной период поставили «01.01.2020 — 07.01.2020» (7 дней).',\n [I18N.chart.TOOLTIP_AVERAGE[1]]: 'Это значит, что в результатах анализа будет 7 значений, где каждое значение — это среднее количество появлений за 1 час (среднее из 24-х часов) в каждый конкретный день.',\n [I18N.chart.TOOLTIP_AVERAGE_SUMMARY]: 'Сколько появлений было зафиксировано в среднем за час в конкретный день. Анализ отображает весь выбранный период и группируется по дням.',\n [I18N.chart.TOOLTIP_MAX[0]]: 'Например, в фильтрах анализа в пункте «Разрез анализа» вы выбрали «Час», а временной период поставили «01.01.2020 — 07.01.2020» (7 дней).',\n [I18N.chart.TOOLTIP_MAX[1]]: 'Это значит, что в результатах анализа будет 7 значений, где каждое значение — это максимальное количество появлений за 1 час (выбирается час с максимальным количеством появлений) в каждый конкретный день.',\n [I18N.chart.TOOLTIP_MAX_SUMMARY]: 'Какое максимальное количество появлений было зафиксировано за час в конкретный день. Анализ отображает весь выбранный период и группируется по дням.',\n [I18N.chart.TOOLTIP_MIN[0]]: 'Например, в фильтрах анализа в пункте «Разрез анализа» вы выбрали «Час», а временной период поставили «01.01.2020 — 07.01.2020» (7 дней).',\n [I18N.chart.TOOLTIP_MIN[1]]: 'Это значит, что в результатах анализа будет 7 значений, где каждое значение — это минимальное количество появлений за 1 час (выбирается час с минимальным количеством появлений) в каждый конкретный день.',\n [I18N.chart.TOOLTIP_MIN_SUMMARY]: 'Какое минимальное количество появлений было зафиксировано за час в конкретный день. Анализ отображает весь выбранный период и группируется по дням.',\n [I18N.chart.TOOLTIP_RAW[0]]: 'Например, в фильтрах анализа в пункте «Разрез анализа» вы выбрали «Час», ' +\n 'а временной период поставили «01.01.2020 — 07.01.2020» (7 дней). ',\n [I18N.chart.TOOLTIP_RAW[1]]: 'Это значит, что в результатах анализа будет 168 значений (24х7), ' +\n 'где каждое значение — это количество появлений за 1 час.',\n [I18N.chart.TOOLTIP_RAW_SUMMARY]: 'Сколько появлений за час было зафиксировано в конкретный день. Анализ отображает весь выбранный период и группируется по часам.',\n [I18N.chart.TOOLTIP_TOTAL_PIE[0]]: 'Например, в фильтрах анализа в пункте «Разрез анализа» вы выбрали «Час», ' +\n 'а временной период поставили «01.01.2020 — 07.01.2020» (7 дней).',\n [I18N.chart.TOOLTIP_TOTAL_PIE[1]]: 'Это значит, что в результатах анализа будет 168 значений (24х7), где каждое значение — это количество объектов за 1 час.',\n [I18N.chart.TOOLTIP_TOTAL_PIE_SUMMARY]: 'Сколько объектов за час было зафиксировано в конкретный день. Анализ отображает весь выбранный период и группируется по часам.',\n [I18N.chart.TOOLTIP_RELATIVE[0]]: 'Например, в фильтрах анализа в пункте «Разрез анализа» вы выбрали «Час», ' +\n 'а временной период поставили «01.01.2020 — 07.01.2020» (7 дней). ' +\n 'Также вы выбрали несколько объектов для анализа - «Велосипедисты», «Пешеходы» и «Автомобили».',\n [I18N.chart.TOOLTIP_RELATIVE[1]]: 'Это значит, что в результатах анализа будет 3 значения, где каждое значение ' +\n '- это процент или отношение количества конкретного типа объектов к общему количеству всех 3-х типов объектов, ' +\n 'суммарно за все 7 дней по 24 часа.',\n [I18N.chart.TOOLTIP_RELATIVE_SUMMARY]: 'Это процентное соотношение объектов, зафиксированных за выбранный период (если выбрано несколько объектов для анализа).',\n [I18N.chart.TOOLTIP_SUM[0]]: 'Например, в фильтрах анализа в пункте «Разрез анализа» вы выбрали «День» ' +\n '(это означает, что результат будет группироваться по «Дням»), а временной период поставили «01.01.2020 — 07.01.2020» (7 дней).',\n [I18N.chart.TOOLTIP_SUM[1]]: 'Это значит, что в результатах анализа будет 7 значений, где каждое значение — это сумма появлений за 1 день по всем часам.',\n [I18N.chart.TOOLTIP_SUM_SUMMARY]: 'Сколько суммарно появлений было зафиксировано в конкретный день. Анализ отображает весь выбранный период и группируется по дням.',\n\n // Common\n [I18N.common.ERROR_FIELD_REQUIRED]: 'Это обязательное поле',\n [I18N.common.ERROR_UNKNOWN]: 'Неизвестная ошибка',\n [I18N.common.LINK_ANALYTICS]: 'Аналитика',\n [I18N.common.LINK_CREATE_ACCOUNT]: 'Нет аккаунта Visius? Создать',\n [I18N.common.LINK_FORGOT_PASSWORD]: 'Забыли пароль?',\n [I18N.common.LINK_HOME]: 'Главная',\n [I18N.common.LINK_LOCATION]: 'Данные с локации',\n [I18N.common.LINK_LOGIN]: 'Вход в личный кабинет',\n [I18N.common.LINK_LOGOUT]: 'Выход',\n [I18N.common.LINK_MAIN]: 'На главную',\n [I18N.common.LINK_PAYMENTS]: 'Настройки тарифа',\n [I18N.common.LINK_PROFILE]: 'Настройки профиля',\n [I18N.common.LINK_HELP]: 'Помощь',\n [I18N.common.LINK_SUPPORT]: 'Поддержка',\n [I18N.common.OK]: 'OK',\n [I18N.common.CANCEL]: 'Отмена',\n [I18N.common.PLEASE_WAIT]: 'Пожалуйста, подождите...',\n [I18N.common.SELECT_ADMIN_VIEW]: 'Пользователь:',\n [I18N.common.TITLE_MY_ACCOUNT]: 'Мой аккаунт',\n [I18N.common.TITLE_OTHER_ACCOUNTS]: 'Другие пользователи',\n [I18N.common.VALIDATION_DATE_INVALID]: 'Некорректная дата',\n [I18N.common.VALIDATION_DATE_TOO_EARLY]: 'Дата далеко в прошлом',\n [I18N.common.VALIDATION_DATE_TOO_FAR]: 'Дата в будущем',\n [I18N.common.BTN_BACK]: 'Назад',\n [I18N.common.BTN_CONTINUE]: 'Продолжить',\n [I18N.common.BTN_CHANGE]: 'Изменить',\n [I18N.common.BTN_SENT]: 'Отправить',\n\n // Confirm email\n [I18N.confirmEmail.BTN_RESEND]: 'Повторить',\n [I18N.confirmEmail.LINK_GO_HOME]: 'Перейти на главную страницу',\n [I18N.confirmEmail.MSG_INVALID_LINK]: 'Ссылка для подтверждения email недействительна. Попробуйте запросить ссылку еще раз',\n [I18N.confirmEmail.MSG_RESEND_COMPLETED]: 'Повторное письмо для подтверждения email-адреса отправлено на {{email}}',\n [I18N.confirmEmail.MSG_RESEND_FAILED]: 'Не удалось отправить ссылку для подтверждения email: {{ message }}',\n [I18N.confirmEmail.MSG_SEND_COMPLETED]: 'Письмо для подтверждения email-адреса отправлено на {{ email }}',\n [I18N.confirmEmail.TITLE_BASIC]: 'Подтверждение email',\n [I18N.confirmEmail.TITLE_ERROR]: 'Не удалось подтвердить email',\n [I18N.confirmEmail.TITLE_PLEASE_CONFIRM]: 'Подтвердите email',\n [I18N.confirmEmail.TITLE_SUCCESS]: 'Email-адрес подтвержден',\n\n // Reset password\n [I18N.passwordReset.BTN_BACK]: 'Назад',\n [I18N.passwordReset.BTN_CHANGE_PASSWORD]: 'Сменить пароль',\n [I18N.passwordReset.BTN_RESET_REQUESTED]: 'Понятно',\n [I18N.passwordReset.BTN_RESET]: 'Сбросить пароль',\n [I18N.passwordReset.BTN_RETRY]: 'Повторить',\n [I18N.passwordReset.ERROR_PASSWORDS_MISMATCH]: 'Введенные пароли не совпадают',\n [I18N.passwordReset.ERROR_PHONE_NUMBER_INCORRECT]: 'Неверный формат номера. Пожалуйста, используйте формат +Х ХХХ ХХХ ХХХХ',\n [I18N.passwordReset.ERROR_RESET_FAILED_NOT_FOUND]: 'Пользователь с указанным email не найден',\n [I18N.passwordReset.ERROR_RESET_FAILED]: 'Не удалось сбросить пароль',\n [I18N.passwordReset.LABEL_CONFIRMATION]: 'Повторите новый пароль',\n [I18N.passwordReset.LABEL_NEW_PASSWORD]: 'Новый пароль',\n [I18N.passwordReset.LINK_RESET]: 'Забыли пароль?',\n [I18N.passwordReset.MSG_CHECK_EMAIL]: 'Если ваш email зарегистрирован в системе, то в ближайшее время вам поступит письмо со ссылкой для изменение пароля. Перейдите по ссылке и создайте новый пароль',\n [I18N.passwordReset.MSG_COMPLETED]: 'Теперь у вас новый пароль. Не забывайте его!',\n [I18N.passwordReset.MSG_NEW_PASSWORD]: 'Придумайте новый пароль для входа в аккаунт',\n [I18N.passwordReset.MSG_WELCOME]: 'Укажите email, и мы пришлем Вам ссылку для смены пароля',\n [I18N.passwordReset.TITLE_BASIC]: 'Сброс пароля',\n [I18N.passwordReset.TITLE_CHECK_EMAIL]: 'Проверьте почту',\n [I18N.passwordReset.TITLE_COMPLETED]: 'Ваш пароль изменен',\n [I18N.passwordReset.TITLE_RESET]: 'Смена пароля',\n [I18N.passwordReset.ERROR_INVALID_PASSWORD_LENGTH]: 'Минимальная длина пароля - 6 символов',\n [I18N.passwordReset.ERROR_INVALID_PASSWORD_SYMBOL]: 'Требуется хотя бы 1 символ из списка:!\"#$%&\\'()*+,-./:;><=?@[\\\\]^_`{|}~',\n [I18N.passwordReset.ERROR_INVALID_PASSWORD_UPPERCASE]: 'Пароль должен содержать хотя бы 1 заглавную букву',\n [I18N.passwordReset.ERROR_INVALID_PASSWORD_NUMBER]: 'Пароль должен содержать хотя бы 1 цифру (0-9)',\n\n // Sign In\n [I18N.signIn.BTN_LOGIN]: 'Войти в аккаунт',\n [I18N.signIn.ERROR_INVALID_INPUT_DATA]: 'Введён неверный email или пароль',\n [I18N.signIn.ERROR_UNKNOWN]: 'Неизвестная ошибка входа в систему',\n [I18N.signIn.LABEL_PASSWORD]: 'Пароль',\n [I18N.signIn.LINK_SIGN_UP]: 'Создать',\n [I18N.signIn.MSG_NO_ACCOUNT]: 'У вас еще нет аккаунта?',\n [I18N.signIn.TITLE_SIGN_IN]: 'Вход в аккаунт',\n\n // Profile\n [I18N.profile.BTN_BACK]: 'Назад',\n [I18N.profile.BTN_CONFIRM_EMAIL]: 'Подтвердить электронную почту',\n [I18N.profile.BTN_CHANGE_PASSWORD]: 'Сменить пароль',\n [I18N.profile.BTN_EDIT_PROFILE]: 'Сохранить',\n [I18N.profile.LABEL_COMPANY]: 'Компания',\n [I18N.profile.LABEL_CONFIRMATION]: 'Подтверждение пароля',\n [I18N.profile.LABEL_EMAIL]: 'Эл. почта',\n [I18N.profile.LABEL_NAME]: 'Имя',\n [I18N.profile.LABEL_NEW_PASSWORD]: 'Новый пароль',\n [I18N.profile.LABEL_OLD_PASSWORD]: 'Старый пароль',\n [I18N.profile.LABEL_PASSWORD]: 'Пароль',\n [I18N.profile.LABEL_PHONE]: 'Телефон',\n [I18N.profile.LINK_NOTIFICATIONS]: 'Уведомления',\n [I18N.profile.LINK_PAYMENTS]: 'Тарифы и платежи',\n\n [I18N.profile.LINK_PROFILE]: 'Мой профиль',\n [I18N.profile.MSG_NOT_IMPLEMENTED]: 'Страница находится в разработке',\n [I18N.profile.NOTIFY_PROFILE_SAVED]: 'Изменения успешно сохранены',\n [I18N.profile.NOTIFY_PROFILE_SAVE_ERROR]: 'Не удалось сохранить изменения',\n [I18N.profile.PLACEHOLDER_COMPANY]: 'Название вашей компании',\n [I18N.profile.PLACEHOLDER_CONFIRMATION]: 'Повторите новый пароль',\n [I18N.profile.PLACEHOLDER_EMAIL]: 'user@visius.com',\n [I18N.profile.PLACEHOLDER_NAME]: 'Ваше имя',\n [I18N.profile.PLACEHOLDER_PASSWORD]: 'Ваш пароль',\n [I18N.profile.PLACEHOLDER_NEW_PASSWORD]: 'Введите новый пароль',\n [I18N.profile.PLACEHOLDER_OLD_PASSWORD]: 'Введите старый пароль',\n [I18N.profile.PLACEHOLDER_PHONE]: 'Номер вашего телефона',\n [I18N.profile.ERROR_INCORRECT_PASSWORD]: 'Введён неверный пароль',\n [I18N.profile.TITLE_CHANGE_PASSWORD]: 'Смена пароля',\n [I18N.profile.TITLE_NOTIFICATIONS]: 'Уведомления',\n [I18N.profile.TITLE_PAYMENTS]: 'Тарифы и платежи',\n [I18N.profile.TITLE_PROFILE]: 'Мой профиль',\n [I18N.profile.TITLE_TARIFF_SELECT]: 'Выбор тарифа',\n\n // Sign Up\n [I18N.signUp.BTN_SIGNUP]: 'Создать аккаунт',\n [I18N.signUp.ERROR_DUPLICATE_USER_EMAIL]: 'Email уже зарегистрирован в системе',\n [I18N.signUp.ERROR_INVALID_USER_EMAIL]: 'Проверьте правильность email-адреса',\n [I18N.signUp.ERROR_INVALID_INPUT_DATA]: 'Проверьте правильность email-адреса и сложность пароля',\n [I18N.signUp.ERROR_AUTH_FAILED]: 'Не удалось выполнить вход в систему',\n [I18N.signUp.LABEL_CONFIRMATION]: 'Подтвердите пароль',\n [I18N.signUp.LABEL_NAME]: 'Имя',\n [I18N.signUp.LABEL_PASSWORD]: 'Придумайте пароль',\n [I18N.signUp.MSG_HAS_ACCOUNT]: 'Уже есть аккаунт Visius?',\n [I18N.signUp.MSG_LICENSE_AGREEMENT]: 'Нажимая кнопку, Вы принимаете условия',\n [I18N.signUp.LINK_SIGN_IN]: 'Войти',\n [I18N.signUp.LINK_LICENSE_AGREEMENT]: 'Пользовательского соглашения',\n [I18N.signUp.TITLE_BASIC]: 'Новый аккаунт',\n\n // Location\n [I18N.location.BTN_ADD_FILES]: 'Добавить видеофайлы',\n [I18N.location.BTN_ADD_STREAM]: 'Подключить веб-камеру',\n [I18N.location.BTN_DELETE_VIDEO]: 'Удалить навсегда',\n [I18N.location.BTN_MOVE_VIDEO]: 'Переместить',\n [I18N.location.BTN_SAVE_LINE]: 'Сохранить линию',\n [I18N.location.BTN_STEP_BACK]: 'Назад',\n [I18N.location.BTN_STEP_CONNECT_STREAM]: 'Подключить',\n [I18N.location.BTN_STEP_DRAW_LINE]: 'Добавить линию',\n [I18N.location.BTN_STEP_START_ANALYSIS]: 'Начать анализ',\n [I18N.location.BTN_STEP_CONNECT_CAMERA]: 'Включить веб-камеру',\n [I18N.location.BTN_STEP_DISABLE_CAMERA]: 'Отключить веб-камеру',\n [I18N.location.BTN_STEP_UPLOAD]: 'Загрузить',\n [I18N.location.BTN_WATCH]: 'Смотреть',\n [I18N.location.BTN_VIEW_ANALYTICS]: 'Аналитика по локации',\n [I18N.location.MSG_DELETE_VIDEOS_1]: 'Вы уверены, что хотите безвозвратно удалить выбранные объекты?',\n [I18N.location.MSG_DELETE_VIDEOS_2]: 'После удаления их невозможно будет восстановить, но данные с результатами анализа останутся в системе.',\n [I18N.location.MSG_DELETE_VIDEOS_TITLE]: 'Подтверждение удаления',\n [I18N.location.MSG_DELETE_VIDEOS]: 'Файл будет безвозвратно удален',\n [`${I18N.location.MSG_DELETE_VIDEOS}_1`]: 'Файлы будут безвозвратно удалены',\n [`${I18N.location.MSG_DELETE_VIDEOS}_2`]: 'Файлы будут безвозвратно удалены',\n [I18N.location.DLG_DELETE_VIDEOS]: 'Удалить {{count}} видеофайл?',\n [I18N.location.DLG_REPLACE_VIDEOS]: 'Выбор локации, куда переместить',\n [`${I18N.location.DLG_DELETE_VIDEOS}_1`]: 'Удалить {{count}} видеофайла?',\n [`${I18N.location.DLG_DELETE_VIDEOS}_2`]: 'Удалить {{count}} видеофайлов?',\n [I18N.location.MSG_CREATE_GROUP]: 'создать группу',\n [I18N.location.MSG_CREATE_LOCATION]: 'создать локацию',\n [I18N.location.MSG_EDIT_LINE]: 'Начертите линию разметки для подсчета количества объектов, пересекающих ее.',\n [I18N.location.MSG_EDIT_LINE_TWO]: 'Данная линия скопируется на все уже загруженные видео этой локации, а также на добавляемые в будущем.',\n [I18N.location.MSG_EMPTY]: 'Пока ничего нет. Загрузите хотя бы одно видео. Все анализируемые видеофайлы должны быть сняты с одного места и ракурса.',\n [I18N.location.MSG_ENTER_STREAM_URL]: 'Введите RTSP-ссылку для подключения к камере:',\n [I18N.location.MSG_LOCATION_REQUIRED]: 'Прежде, чем загрузить видеофайлы или подключить веб-камеру, необходимо указать Группу и Локацию.',\n [I18N.location.MSG_NUM_FILES]: '{{count}} видеофайл',\n [`${I18N.location.MSG_NUM_FILES}_1`]: '{{count}} видеофайла',\n [`${I18N.location.MSG_NUM_FILES}_2`]: '{{count}} видеофайлов',\n [I18N.location.MSG_SELECT_EMPTY_LOCATIONS]: 'Нет локаций. Введите имя, чтобы создать',\n [I18N.location.MSG_SELECT_EMPTY_GROUPS]: 'Нет групп. Введите название, чтобы создать',\n [I18N.location.MSG_SELECT_GROUP]: 'Выберите Группу локаций',\n [I18N.location.MSG_SELECT_LOCATION]: 'Выберите Локацию',\n [I18N.location.MSG_SELECT_TZ]: 'Выберите часовой пояс, в котором идет онлайн-трансляция:',\n [I18N.location.MSG_SET_DATE_TIME]: 'Перед загрузкой видеофайлов выставите точную дату и время начала съёмки каждого видео',\n [I18N.location.MSG_STREAM_URL_SAMPLES]: 'Примеры ссылок:',\n [I18N.location.MSG_STREAM_IS_CONNECTED]: 'Веб-камера ещё подключена',\n [I18N.location.MSG_STREAM_TIME]: '{{hours}}ч.',\n [I18N.location.MSG_TIMEZONE_WARNING_L1]: 'Перед подключением веб-камеры убедитесь, что часовой пояс выставлен корректно. ',\n [I18N.location.MSG_TIMEZONE_WARNING_L2]: 'Это необходимо для корректной аналитики. В дальнейшем поменять часовой пояс будет невозможно.',\n [I18N.location.MSG_UPLOADING]: 'Загрузка файла...',\n [I18N.location.MSG_UPLOAD_NOT_VALID_FILE]: 'Этот файл имеет неподходящий формат',\n [I18N.location.MSG_UPLOAD_PROCESSING]: 'Предварительная обработка файла...',\n [I18N.location.MSG_UPLOAD_COMPLETED]: 'Файл загружен',\n [I18N.location.MSG_UPLOAD_FAILED]: 'Загрузка файла завершилась с ошибкой',\n [I18N.location.MSG_BILLING_FAILED]: 'Загрузка файла невозможна: израсходован пакет времени',\n [I18N.location.MSG_VIDEO_BUSY]: 'Пожалуйста, дождитесь окончания обработки видео',\n [I18N.location.MSG_VIDEO_NOT_FOUND]: 'Видеофайл не найден',\n [I18N.location.MSG_WAIT_CREATION]: 'Загрузка данных...',\n [I18N.location.MSG_WAIT_UPLOADS]: 'Пожалуйста, дождитесь окончания загрузки и обработки видео',\n [I18N.location.NOTIFY_PROCESSING_REQUESTED]: 'Запрос отправлен',\n [I18N.location.NOTIFY_PROCESSING_PENDING]: 'Видео находится в очереди, процесс займёт чуть больше времени',\n [I18N.location.NOTIFY_PROCESSING_PREPARING_INFRASTRUCTURE]: 'Подготовка к анализу...',\n [I18N.location.NOTIFY_PROCESSING_PREPARING_INFRASTRUCTURE_ERROR]: 'Произошла ошибка. Попробуйте загрузить видео ещё раз...',\n [I18N.location.NOTIFY_PROCESSING_ANALYSIS]: 'Видео анализируются',\n [I18N.location.NOTIFY_PROCESSING_INFRASTRUCTURE_PREPARED]: 'Подготовка к анализу закончена',\n [I18N.location.NOTIFY_PROCESSING_STOPPING]: 'Анализ видеопотока\\\\видеофайла завершается',\n [I18N.location.NOTIFY_PROCESSING_STOPPING_ERROR]: 'Произошла ошибка. Попробуйте загрузить видео ещё раз...',\n [I18N.location.NOTIFY_PROCESSING_STOPPED]: 'Анализ видео завершён',\n [I18N.location.NOTIFY_PROCESSING_FINISHED]: 'Анализ видеопотока\\\\видеофайла полностью завершён',\n [I18N.location.NOTIFY_START_PROCESSING_SUCCESS]: 'Обработка видео начата. Результаты будут доступны на странице \"Аналитика\"',\n [I18N.location.NOTIFY_START_PROCESSING_ERROR]: 'Не удалось запустить обработку видео',\n [I18N.location.NOTIFY_STREAM_REMOVED]: 'Веб-камера {{url}} успешно удалена',\n [I18N.location.NOTIFY_STREAM_PREPARED]: 'Веб-камера {{url}} успешно подключена',\n [I18N.location.NOTIFY_STREAM_PREPARED_ERROR]: 'Не удалось подключить веб-камеру {{url}}',\n [I18N.location.NOTIFY_STREAM_SAVED]: 'Параметры веб-камеры успешно сохранены',\n [I18N.location.NOTIFY_STREAM_SAVE_ERROR]: 'Не удалось сохранить параметры веб-камеры',\n [I18N.location.NOTIFY_VIDEO_PREPARED]: 'Файл {{file}} успешно обработан',\n [I18N.location.NOTIFY_VIDEO_PREPARED_ERROR]: 'Файл {{file}} не обработан: \\'{{errorMessage}}\\'',\n [I18N.location.NOTIFY_VIDEO_REMOVED]: 'Файл {{file}} успешно удалён',\n [I18N.location.NOTIFY_VIDEO_SAVED]: 'Параметры видео успешно сохранены',\n [I18N.location.NOTIFY_VIDEO_SAVE_ERROR]: 'Не удалось сохранить параметры видео',\n [I18N.location.SELECT_GROUPS]: 'Группа локаций',\n [I18N.location.SELECT_LOCATION]: 'Локация',\n [I18N.location.TAB_FILES]: 'Загрузить видеофайлы',\n [I18N.location.TAB_STREAMS]: 'Подключить веб-камеру',\n [I18N.location.TABLE_FILE_NAME]: 'Название видеофайла',\n [I18N.location.TABLE_DATE]: 'Дата и время начала видео',\n [I18N.location.TABLE_DURATION]: 'Продолжительность видео',\n [I18N.location.TABLE_SIZE]: 'Размер видеофайла',\n [I18N.location.TITLE_LOCATION_PAGE]: 'Данные с локации',\n [I18N.location.TITLE_STREAM]: 'Видео с локации',\n [I18N.location.TITLE_VIDEO]: 'Видео с локации',\n [I18N.location.TITLE_UPLOADS]: 'Загрузка видео в локацию',\n [I18N.location.TABLE_STREAM_CREATED_AT]: 'Дата подключения',\n [I18N.location.TABLE_STREAM_DISCONNECTED_AT]: 'Дата отключения',\n [I18N.location.TABLE_STREAM_URL]: 'IP-адрес камеры',\n [I18N.location.WORKFLOW_PICK_LOCATION]: 'Выбрать группу и локацию',\n [I18N.location.WORKFLOW_ADD_VIDEOS]: 'Добавить видео',\n [I18N.location.WORKFLOW_ADD_VIDEO_LINK]: 'Добавить ссылку',\n [I18N.location.WORKFLOW_PICK_DATE_TIME]: 'Указать дату и время',\n [I18N.location.WORKFLOW_PICK_TIME_ZONE]: 'Указать часовой пояс',\n [I18N.location.WORKFLOW_UPLOAD_TO_SERVER]: 'Загрузить на сервер',\n [I18N.location.WORKFLOW_SEND_TO_SERVER]: 'Отправить на сервер',\n [I18N.location.WORKFLOW_ADD_LINE]: 'Добавить линию',\n [I18N.location.WORKFLOW_START_PROCESSING]: 'Начать анализ видео',\n\n // Main\n [`${I18N.main.DLG_DELETE_GROUP_LOCATIONS_SUMMARY}_1`]: '{{count}} локации из группы \"{{title}}\" будут безвозвратно удалены',\n [`${I18N.main.DLG_DELETE_GROUP_LOCATIONS_SUMMARY}_2`]: '{{count}} локаций из группы \"{{title}}\" будут безвозвратно удалены',\n [`${I18N.main.DLG_EMPTY_TRASH_SUMMARY}_1`]: '{{count}} локации будут безвозвратно удалены',\n [`${I18N.main.DLG_EMPTY_TRASH_SUMMARY}_2`]: '{{count}} локаций будут безвозвратно удалены',\n [`${I18N.main.MSG_VIDEO_FILES_NUMBER}_1`]: '{{count}} видеофайла',\n [`${I18N.main.MSG_VIDEO_FILES_NUMBER}_2`]: '{{count}} видеофайлов',\n [`${I18N.main.NOTIFY_DELETE_MULTIPLE_LOCATIONS}_1`]: '{{count}} локации из группы \\'{{group}}\\' удалены',\n [`${I18N.main.NOTIFY_DELETE_MULTIPLE_LOCATIONS}_2`]: '{{count}} локаций из группы \\'{{group}}\\' удалены',\n [`${I18N.main.NOTIFY_RESTORE_MULTIPLE_LOCATIONS}_1`]: '{{count}} локации из группы \\'{{group}}\\' восстановлены',\n [`${I18N.main.NOTIFY_RESTORE_MULTIPLE_LOCATIONS}_2`]: '{{count}} локаций из группы \\'{{group}}\\' восстановлены',\n [`${I18N.main.NOTIFY_TRASH_MULTIPLE_LOCATIONS}_1`]: '{{count}} локации из группы \\'{{group}}\\' перенесены в корзину',\n [`${I18N.main.NOTIFY_TRASH_MULTIPLE_LOCATIONS}_2`]: '{{count}} локаций из группы \\'{{group}}\\' перенесены в корзину',\n [I18N.main.BTN_ADD_GROUP]: 'Добавить группу',\n [I18N.main.BTN_ADD_STREAM]: 'Добавить камеру',\n [I18N.main.BTN_ADD_VIDEO]: 'Загрузить видео',\n [I18N.main.BTN_ARCHIVE_GROUP]: 'Архивировать',\n [I18N.main.BTN_ARCHIVE_LOCATION]: 'Архивировать',\n [I18N.main.BTN_DELETE_ALL]: 'Удалить все навсегда',\n [I18N.main.BTN_DELETE_GROUP]: 'Удалить навсегда',\n [I18N.main.BTN_DELETE_LOCATION]: 'Удалить',\n [I18N.main.BTN_DELETE_PERM_LOCATION]: 'Удалить навсегда',\n [I18N.main.BTN_HIDE_GROUP]: 'Скрыть группу',\n [I18N.main.BTN_RENAME_GROUP]: 'Переименовать',\n [I18N.main.BTN_RENAME_LOCATION]: 'Переименовать',\n [I18N.main.BTN_RESTORE_ALL]: 'Восстановить все локации',\n [I18N.main.BTN_RESTORE_FROM_TRASH_ALL]: 'Восстановить все из корзины',\n [I18N.main.BTN_RESTORE_LOCATION]: 'Восстановить',\n [I18N.main.BTN_SHOW_GROUP]: 'Показать группу',\n [I18N.main.BTN_TRASH_ALL]: 'Переместить все в корзину',\n [I18N.main.BTN_TRASH_GROUP]: 'В корзину',\n [I18N.main.common.MSG_LOADING_PROGRESS]: 'Загрузка данных...',\n [I18N.main.DLG_CANCEL]: 'Отмена',\n [I18N.main.DLG_DELETE_GROUP_CONFIRM]: 'Удалить',\n [I18N.main.DLG_DELETE_GROUP_LOCATIONS_SUMMARY]: '{{count}} локация из группы \"{{title}}\" будет безвозвратно удалена',\n [I18N.main.DLG_DELETE_GROUP_LOCATIONS]: 'Удалить локации из группы?',\n [I18N.main.DLG_DELETE_GROUP_SUMMARY]: 'Группа \"{{title}}\" и все локации в этой группе будут безвозвратно удалены',\n [I18N.main.DLG_DELETE_GROUP]: 'Удалить группу локаций?',\n [I18N.main.DLG_DELETE_LOCATION_CONFIRM]: 'Удалить',\n [I18N.main.DLG_DELETE_LOCATION_SUMMARY]: 'Локация \"{{title}}\" будет безвозвратно удалена',\n [I18N.main.DLG_DELETE_LOCATION]: 'Удалить локацию?',\n [I18N.main.DLG_EMPTY_TRASH_SUMMARY]: '{{count}} локация будет безвозвратно удалена',\n [I18N.main.DLG_EMPTY_TRASH]: 'Удалить все локации из корзины?',\n [I18N.main.ERROR_LOCATION_EXISTS]: 'Локация с таким именем уже существует',\n [I18N.main.ERROR_LOCATION_NAME_REQUIRED]: 'Имя локации не может быть пустым',\n [I18N.main.LINK_ADD_LOCATION]: 'Добавить локацию',\n [I18N.main.LINK_ARCHIVE]: 'Архив',\n [I18N.main.LINK_TRASH]: 'Корзина',\n [I18N.main.LINK_VIDEOS]: 'Главная',\n [I18N.main.MSG_EMPTY_GROUP]: 'Нет локаций',\n [I18N.main.MSG_UPLOAD_COMPLETED]: 'Все видео загружены',\n [I18N.main.MSG_UPLOAD_FAILED]: '{{count}} видео не загружено',\n [I18N.main.MSG_PREPROCESSING_FAILED]: '{{count}} видео не обработано',\n [I18N.main.MSG_UPLOAD_PROGRESS]: '{{uploaded}} из {{total}}',\n [I18N.main.MSG_VIDEO_FILES_NUMBER]: '{{count}} видеофайл',\n [I18N.main.MSG_VIDEO_NONE]: 'нет видеоданных для анализа',\n [I18N.main.MSG_VIDEO_STREAM]: 'веб-камера',\n [I18N.main.MSG_PREPROCESSING_PROGRESS]: '{{count}} видео',\n [I18N.main.NOTIFY_ARCHIVE_GROUP_FAILED]: 'Не удалось перенести группу \\'{{group}}\\' в Архив',\n [I18N.main.NOTIFY_ARCHIVE_GROUP]: 'Группа \\'{{group}}\\' перенесена в Архив',\n [I18N.main.NOTIFY_ARCHIVE_LOCATION_FAILED]: 'Не удалось перенести локацию \\'{{location}}\\' в Архив',\n [I18N.main.NOTIFY_ARCHIVE_LOCATION]: 'Локация \\'{{location}}\\' перенесена в Архив',\n [I18N.main.NOTIFY_DELETE_GROUP_FAILED]: 'Ошибка при удалении группы \\'{{group}}\\'',\n [I18N.main.NOTIFY_DELETE_GROUP]: 'Группа \\'{{group}}\\' удалена',\n [I18N.main.NOTIFY_DELETE_LOCATION_FAILED]: 'Не удалось удалить локацию \\'{{location}}\\'',\n [I18N.main.NOTIFY_DELETE_LOCATION]: 'Локация \\'{{location}}\\' удалена',\n [I18N.main.NOTIFY_DELETE_MULTIPLE_LOCATIONS_FAILED]: 'Ошибка при удалении локаций из группы \\'{{group}}\\'',\n [I18N.main.NOTIFY_DELETE_MULTIPLE_LOCATIONS]: '{{count}} локация из группы \\'{{group}}\\' удалена',\n [I18N.main.NOTIFY_ERROR_CREATE]: 'Не удалось создать группу \\'{{group}}\\'',\n [I18N.main.NOTIFY_ERROR_RENAME]: 'Не удалось переименовать группу {{group}}',\n [I18N.main.NOTIFY_LOCATION_SAVE_FAILED]: 'Не удалось сохранить локацию \\'{{location}}\\'',\n [I18N.main.NOTIFY_MOVE_VIDEOS]: 'Видеофайлы успешно перенесены в локацию \\'{{location}}\\'',\n [I18N.main.NOTIFY_MOVE_VIDEOS_FAILED]: 'Не удалось переместить видеофайлы в локацию \\'{{location}}\\'',\n [I18N.main.NOTIFY_RESTORE_GROUP_FAILED]: 'Не удалось восстановить группу \\'{{group}}\\'',\n [I18N.main.NOTIFY_RESTORE_GROUP]: 'Группа \\'{{group}}\\' восстановлена',\n [I18N.main.NOTIFY_RESTORE_LOCATION_FAILED]: 'не удалось восстановить локацию \\'{{location}}\\'',\n [I18N.main.NOTIFY_RESTORE_LOCATION]: 'Локация \\'{{location}}\\' восстановлена',\n [I18N.main.NOTIFY_RESTORE_MULTIPLE_LOCATIONS_FAILED]: 'Не удалось восстановить локации из группы \\'{{group}}\\'',\n [I18N.main.NOTIFY_RESTORE_MULTIPLE_LOCATIONS]: '{{count}} локация из группы \\'{{group}}\\' восстановлена',\n [I18N.main.NOTIFY_TRASH_GROUP_FAILED]: 'Не удалось перенести Группу \\'{{group}}\\' в Корзину',\n [I18N.main.NOTIFY_TRASH_GROUP]: 'Группа \\'{{group}}\\' перенесена в Корзину',\n [I18N.main.NOTIFY_TRASH_LOCATION_FAILED]: 'Не удалось перенести Локации \\'{{location}}\\' в Корзину',\n [I18N.main.NOTIFY_TRASH_LOCATION]: 'Локация \\'{{location}}\\' перенесена в Корзину',\n [I18N.main.NOTIFY_TRASH_MULTIPLE_LOCATIONS_FAILED]: 'Не удалось перенести в Корзину локации из группы \\'{{group}}\\' перенесена в корзину',\n [I18N.main.NOTIFY_TRASH_MULTIPLE_LOCATIONS]: '{{count}} локация из группы \\'{{group}}\\' перенесена в корзину',\n [I18N.main.SUBTITLE_ARCHIVE]: 'Архив',\n [I18N.main.SUBTITLE_COMPLETED_UPLOADS]: 'Загружено {{count}} видео',\n [I18N.main.SUBTITLE_FAILED_UPLOADS]: 'Не загружено {{count}} видео',\n [I18N.main.SUBTITLE_PROGRESS_UPLOADS]: 'Загружается {{count}} видео',\n [I18N.main.SUBTITLE_TRASH]: 'Корзина',\n [I18N.main.SUBTITLE_VIDEO]: 'Группы и локации',\n [I18N.main.TITLE_ARCHIVE]: 'Архив',\n [I18N.main.TITLE_BELONGS_TO]: 'Из группы',\n [I18N.main.TITLE_PREPROCESSING_PROGRESS]: 'Обработка',\n [I18N.main.TITLE_WAIT_START_PREPROCESSING]: 'Ожидает обработки',\n [I18N.main.TITLE_TRASH]: 'Корзина',\n [I18N.main.TITLE_UPLOAD_PROGRESS]: 'Загрузка видео',\n [I18N.main.TITLE_VIDEO]: 'Главная страница',\n [I18N.main.TMP_GROUP_TITLE]: 'Название группы',\n [I18N.main.TMP_LOCATION_TITLE]: 'Название локации',\n [I18N.main.videoData.MSG_EMPTY]: 'Пока ничего нет. Добавьте группу локаций, чтобы начать работу',\n\n // Tariff\n [I18N.tariff.CURRENT_TITLE]: 'Текущий тариф',\n [I18N.tariff.CURRENT_STRING]: 'Текущий',\n [I18N.tariff.PAYMENT_DATE]: 'Дата подключения',\n [I18N.tariff.HOUR_LIMIT]: 'Лимит по тарифу',\n [I18N.tariff.HOUR_BALANCE]: 'Доступно часов',\n [I18N.tariff.CHANGE_TARIFF]: 'Сменить тариф',\n [I18N.tariff.RESUME_SUBSCRIBE]: 'Продлить подписку',\n [I18N.tariff.CHOOSE_TARIFF]: 'Выбор тарифа',\n [I18N.tariff.SELECT_TARIFF]: 'Перейти на тариф',\n [I18N.tariff.RESUME_TARIFF]: 'Продлить тариф',\n [I18N.tariff.COMMON_FEATURE1]: 'Загрузка видеофайлов',\n [I18N.tariff.COMMON_FEATURE2]: 'Подключение IP-камер',\n [I18N.tariff.COMMON_FEATURE3]: 'Аналитика по видеопотоку',\n [I18N.tariff.PROCESSING_HOURS]: 'часов обработки',\n [I18N.tariff.NOTIFY_TIME_OVER]: 'Пакет часов по тарифу израсходован',\n [I18N.tariff.BUY_MORE]: 'Купить ещё часы',\n [I18N.tariff.HOUR_BALANCE_TITLE]: 'Остаток часов',\n [I18N.tariff.HOUR_BALANCE_SUBTITLE]: 'Доступно {{uploaded}} из {{total}}',\n // Payments\n [I18N.payments.CONFIRM_TITLE]: 'Подтверждение перед оплатой',\n [I18N.payments.SELECTED_STRING]: 'Выбрано:',\n [I18N.payments.BY_TARIFF]: 'по тарифу',\n [I18N.payments.TO_PAYMENTS]: 'К оплате:',\n [I18N.payments.SELECT_PAYMENTS_TYPE]: 'Способ оплаты:',\n [I18N.payments.CARD_TYPE]: 'Банковская карта',\n [I18N.payments.PAYMENT_INVOICE_TYPE]: 'Счёт на оплату',\n [I18N.payments.OPERATION_CANCELLED]: 'Операция прервана',\n\n // Invoice form\n [I18N.invoice.LABEL_DESCRIPTION]: 'Введите контактные данные для заявки на формирование счёта',\n [I18N.invoice.LABEL_NAME]: 'Имя:',\n [I18N.invoice.LABEL_PHONE]: 'Телефон',\n [I18N.invoice.TITLE_SUCCESS]: 'Заявка на формирование счёта на оплату принята',\n [I18N.invoice.LABEL_SUCCESS]: 'В ближайшее время наш сотрудник свяжется с Вами для уточнения деталей счёта',\n [I18N.invoice.UNDERSTAND_BTN]: 'Понятно'\n }\n}\n\nexport default STRINGS\n","import i18n from 'i18next'\nimport moment from 'moment'\nimport 'moment/locale/ru'\nimport { initReactI18next } from 'react-i18next'\nimport RU from './ru'\nimport { getLocale } from './locale'\n\nmoment.locale(getLocale())\n\nconst resources = {\n ru: RU\n}\n\ni18n\n .use(initReactI18next) // passes i18n down to react-i18next\n .init({\n resources,\n lng: getLocale(),\n\n keySeparator: false, // we do not use keys in form messages.welcome\n\n interpolation: {\n escapeValue: false // react already safes from xss\n }\n })\n .catch(err => console.error(err))\n\nexport default i18n\n","import { AnyAction } from '@reduxjs/toolkit'\nimport { createLogger } from 'redux-logger'\nimport { RootState } from './store'\n\nfunction actionTransformer (action: AnyAction): Record {\n return action\n}\n\nfunction stateTransformer (state: RootState): Record {\n return state\n}\n\n/**\n * Exports logger instance optimized for own needs\n */\nexport default createLogger({\n actionTransformer,\n stateTransformer\n})\n","import {\n Action,\n configureStore,\n EnhancedStore,\n Middleware,\n ThunkAction,\n} from \"@reduxjs/toolkit\";\nimport { enableMapSet } from \"immer\";\nimport thunk from \"redux-thunk\";\nimport { reducer as authReducer } from \"../features/auth/authSlice\";\nimport { reducer as confirmEmailReducer } from \"../features/confirm-email/confirmEmailSlice\";\nimport { reducer as archiveReducer } from \"../features/groups/archive/archiveSlice\";\nimport { reducer as videoDataReducer } from \"../features/groups/main/videoSlice\";\nimport { reducer as trashReducer } from \"../features/groups/trash/trashSlice\";\nimport { reducer as locationsReducer } from \"../features/location/locationSlice\";\nimport { reducer as notificationsReducer } from \"../features/notifications/notificationsSlice\";\nimport { reducer as resetPasswordReducer } from \"../features/password-reset/passwordResetSlice\";\nimport { reducer as profileViewReducer } from \"../features/profile/profileSlice\";\nimport { reducer as signUpReducer } from \"../features/signup/signUpSlice\";\nimport { reducer as tariffReducer } from \"../features/profile/tariffs/tariffSlice\";\nimport { reducer as dashBoardReducer } from \"../features/dashboard/dashboardSlice\";\n\nimport logger from \"./logger\";\n\nenableMapSet();\n\nconst middlewares: Middleware[] = [thunk];\nif (process.env.NODE_ENV === \"development\") {\n middlewares.push(logger);\n}\n\nexport const createStore = (): EnhancedStore => {\n return configureStore({\n middleware: middlewares,\n reducer: {\n archive: archiveReducer,\n auth: authReducer,\n confirmEmail: confirmEmailReducer,\n location: locationsReducer,\n notifications: notificationsReducer,\n passwordReset: resetPasswordReducer,\n profileView: profileViewReducer,\n signUp: signUpReducer,\n tariff: tariffReducer,\n trash: trashReducer,\n videoData: videoDataReducer,\n dashboard: dashBoardReducer,\n },\n });\n};\n\nexport const store = createStore();\n\nexport type RootState = ReturnType;\n// eslint-disable-next-line @typescript-eslint/no-invalid-void-type\nexport type AppThunk = ThunkAction<\n ReturnType,\n RootState,\n unknown,\n Action\n>;\n","/* eslint-disable */\n// This optional code is used to register a service worker.\n// register() is not called by default.\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 subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\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.0/8 are 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\ninterface Config {\n onSuccess?: (registration: ServiceWorkerRegistration) => void\n onUpdate?: (registration: ServiceWorkerRegistration) => void\n}\n\nexport function register (config?: Config): void {\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.href)\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/facebook/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. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config)\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://bit.ly/CRA-PWA'\n )\n })\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config)\n }\n })\n }\n}\n\nfunction registerValidSW (swUrl: string, config?: Config): void {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing\n if (installingWorker == null) {\n return\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n )\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration)\n }\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 // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration)\n }\n }\n }\n }\n }\n })\n .catch(error => {\n console.error('Error during service worker registration:', error)\n })\n}\n\nfunction checkValidServiceWorker (swUrl: string, config?: Config): void {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' }\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type')\n if (\n response.status === 404 ||\n (contentType != null && !contentType.includes('javascript'))\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, config)\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 (): void {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister()\n })\n .catch(error => {\n console.error(error.message)\n })\n }\n}\n","import { config } from 'dotenv'\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport { Provider } from 'react-redux'\nimport { v4 as uuid } from 'uuid'\nimport App from './App'\nimport './app/i18n/i18n'\nimport { store } from './app/store'\nimport * as serviceWorker from './serviceWorker'\n\nconfig()\n\n// HUB_SESSION_ID is used to manage signalR subscriptions\n// the value should be unique for each browser's tab\nif (sessionStorage.getItem('HUB_SESSION_ID') === null) {\n sessionStorage.setItem('HUB_SESSION_ID', uuid())\n}\n\nReactDOM.render(\n // \n \n \n ,\n // ,\n document.getElementById('root')\n)\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister()\n"],"sourceRoot":""}