{"version":3,"sources":["view/sharedComponents/MyProvider/MyProvider.js","config/store/localRedux/actionTypes.js","view/modules/setting/components/favorites/favorites.js","view/sharedComponents/errors/throwError/throwError.js","view/modules/director/components/QuickGuideModal/data.js","view/modules/director/components/QuickGuideModal/QuickGuideModal.js","view/sharedComponents/popup/popup.js","view/modules/director/components/TooltipModal/TooltipModal.js","view/layout/search/search.js","view/modules/director/components/RealTimeTipsModal/Layout.js","view/modules/director/components/RealTimeTipsModal/RealTimeTipsModal.js","config/store/localRedux/actions.js","view/modules/termsAndConditions/termsAndConditions.js","config/icons.js","config/analytics.js","routes/routes.js","view/layout/sidebar/components/menu.js","view/modules/auth/signin/validityCheck.js","view/modules/auth/forgotPassword/validityCheck.js","view/modules/auth/forgotPassword/forgotPassword.js","view/modules/auth/signup/validityCheck.js","view/modules/auth/signup/signupForm.js","view/modules/auth/signup/signup.js","view/modules/auth/signin/loginForm.js","view/modules/auth/signin/signin.js","view/sharedComponents/inviteFriends/inviteFriends.js","view/layout/sidebar/sidebar.js","view/layout/sidebar/mobileSidebar.js","view/sharedComponents/notificationTab/notificationTab.js","view/sharedComponents/notificationItem/FollowBtn.js","view/sharedComponents/notificationItem/notificationItem.js","view/sharedComponents/notificationList/notificationList.js","view/sharedComponents/notificationHeader/notificationHeader.js","view/modules/notification/notification.js","view/layout/header/header.js","view/sharedComponents/tabNavigator/tabNavigator.js","view/layout/layout.js","config/errorBoundary.js","App.js","config/errorHandler.js","config/store/localRedux/sagas.js","config/store/rootSaga.js","config/store/createStore.js","config/store/localRedux/reducers.js","config/store/index.js","serviceWorker.js","index.js","config/i18n.js","config/serverConfig.js"],"names":["MyContext","createContext","MyProvider","children","useState","quickLiveTooltip","RealTime","tooltip","setTooltip","Provider","value","SAVE_TOKEN","SAVE_TOKEN_START","SAVE_TOKEN_SUCCESS","REMEMBER_LOGIN","REMEMBER_LOGIN_SUCCESS","SAVE_SERVER","SAVE_SERVER_SUCCESS","SAVE_LOCATIONS","SAVE_LOCATIONS_SUCCESS","SAVE_CATEGORIES","SAVE_CATEGORIES_SUCCESS","SAVE_FIRST_TIME_LOAD","SAVE_FIRST_TIME_LOAD_SUCCESS","THUMBNAIL_DRAGGING","THUMBNAIL_DRAGGING_SUCCESS","THUMBNAIL_DROPPED","THUMBNAIL_DROPPED_SUCCESS","SAVE_PRIVATE_EVENT_KEY","SAVE_PRIVATE_EVENT_KEY_SUCCESS","DELETE_PRIVATE_KEYS","DELETE_PRIVATE_KEYS_SUCCESS","SAVE_THEME","SAVE_THEME_SUCCESS","SAVE_FAVORITE_CATEGORIES","SAVE_FAVORITE_CATEGORIES_SUCCESS","DISABLE_AUTOPLAY_SESSION","DISABLE_AUTOPLAY_SESSION_SUCCESS","Favorites","props","favorites","selectedFavorites","saving","setSaving","isSelectAll","setSelectAll","dispatch","useDispatch","token","useSelector","state","local","server","myProfile","profile","user","categories","response","loading","useEffect","localStorage","setItem","getMyProfile","getItem","userSetting","favoriteCategories","length","status","saveFavoriteCategories","popup","onCancel","className","map","cat","md","key","id","find","f","onClick","prevState","isExist","result","filter","push","selectCategory","src","avatarBaseUrl","style","width","paddingBottom","alt","title","marginRight","size","request","identity","avatar","encoding","type","about","cover","equipment","gear","editMyProfile","gears","throwNotification","config","theme","notification","message","description","throwModal","Modal","QuickStart","subTitle","points","body","notes","GuideList","QuickGuideModal","quickGuide","setQuickGuide","showTooltips","directGuide","setModalVisible","visible","footer","target","href","openTabs","setOpenTabs","item","index","prevOpenTabs","marginLeft","point","note","bv","Popup","childrenWithProps","React","Children","child","cloneElement","isMobile","placement","halfDrawer","closable","onClose","height","Fragment","i18n","t","withoutLogo","margin","textAlign","centered","TooltipModal","onNext","setVisible","top","left","arrowLeft","arrowDownRight","arrowRight","arrowRightTop","finalTooltip","maxWidth","indicator","activeIndex","predefinedIndicator","arrowDownCenter","customArrow","right","position","padding","fontWeight","letterSpacing","Search","defaultVal","onChange","e","clearTimeout","searchTimeout","trim","destroy","startSearch","setState","delay","window","scrollTo","setTimeout","val","search","indexOf","replace","history","encodeURIComponent","warning","clearSearch","this","location","pathname","includes","splittedVal","split","decodeURIComponent","prevProps","JSON","stringify","action","onSearch","defaultValue","placeholder","onPressEnter","Component","withRouter","stars","Layout","onReplay","onStart","star","memo","modalVisible","useLocalStorage","videoRef","useRef","layout","showLayout","muted","playsInline","controls","onEnded","onPlay","onSeeked","current","currentTime","duration","pause","ref","loop","autoPlay","play","saveToken","actionTypes","saveTokenStart","saveTokenSuccess","rememberLogin","rememberLoginSuccess","saveServer","saveServerSuccess","saveFirstTimeLoad","saveFirstTimeLoadSuccess","saveLocations","locations","saveLocationsSuccess","saveCategories","saveCategoriesSuccess","thumbnailDragging","stream","thumbnailDraggingSuccess","thumbnailDropped","thumbnailDroppedSuccess","savePrivateEventKey","accessKey","savePrivateEventKeySuccess","deletePrivateKeys","deletePrivateKeysSuccess","saveTheme","saveThemeSuccess","saveFavoriteCategoriesSuccess","disableAutoplaySession","disableAutoplaySessionSuccess","termsAndConditions","onScroll","data","nativeEvent","scrollHeight","scrollTop","clientHeight","inRegister","overflowY","overflowX","rel","color","textDecoration","cursor","Notifi","xmlns","viewBox","data-name","transform","d","fill","stroke","strokeLinecap","strokeWidth","strokeLinejoin","opacity","Reaction","Follow","Event","Monetization","Comment","ProfileAvatar","DirectorCam","fillRule","clipRule","DirectorCam2","marginBottom","mask","MuteCam","x","y","rx","UnMuteCam","strokeMiterlimit","RealTimeIcon","PreDefined","fillOpacity","ArrowDown","strokeOpacity","CrossIcon","TransitionBuffer","PlusIcon","DeleteIcon","Timer","cx","cy","r","PositionsIcon","ImagePlaceholder","CloseIcon","event","console","log","stopPropagation","preventDefault","deleteLogoHandler","BottomLeft","undefined","BottomCenter","BottomRight","MiddleLeft","MiddleCenter","MiddleRight","TopLeft","TopCenter","TopRight","RemoveCam","NoneIcon","AddTemplate","DirectorIcon","DirectorIconSmall","InfoIcon","stroke-width","BulletIcon","OptionIcon","ChangeTemplateIcon","YoutubeIcon","Youtube","BulletIconSec","StarIcon","RightIcon","QuestionMark","DirectIconSec","logEvent","eventName","firebase","asyncLandingPage","asyncComponent","asyncSearchResultPage","asyncWatchPage","asyncDetailPage","asyncBroadcast","asyncScheduleConfirm","asyncReactionView","asyncConfirmJoin","asyncCapture","asyncEditCamera","asyncMobileSearch","asyncUserProfile","asyncPremium","asyncMobileLoginByGoogle","asyncloginResult","asyncEndedEvents","asyncFinishBroadcast","asyncReCaptchaV3","asyncReCaptchaV2","asyncDownoadApp","asyncPrivacyPage","asyncFAQPage","asyncTermsPage","asyncNoPermission","asyncNotFoundData","asyncLogout","asyncSetting","asyncMyProfile","asyncTransactionsHistory","asyncWithdraw","asyncDirector","asyncSafetySection","to","parse","path","exact","component","Date","now","isTablet","accessDenied","notFound","MenuComponent","setPosition","quickLiveRef","updateTooltipPosition","rect","getBoundingClientRect","tooltipLeft","initialTooltipTop","innerHeight","isFirefox","addEventListener","removeEventListener","active","handleMenu","link","collapsed","toggleClick","mode","Item","setTooltips","checkValidation","username","password","isEmpty","isEmail","isBetweenLength","email","changePasswordValidation","confirmPassword","isPasswordMatched","ForgotPassword","code","step","isCountdownFinish","countdown","count","joinTimes","setInterval","componentWillUnmount","clearInterval","onChangeHandler","emailHandler","sendCode","changePasswordSubmit","changePassword","checkCodeHandler","checkCode","renderer","minutes","seconds","nextProps","error","statusCode","reasons","some","reason","objectName","onSubmit","htmlType","date","onComplete","justifyContent","autoComplete","connect","auth","forgotPasswordSendCode","forgotPasswordCheckCode","newPassword","forgotPasswordChangePassword","name","isMinimumLength","SignupForm","setLocation","sendCodehandler","overflow","locationStatus","sessionStorage","options","idField","titleField","promotionCode","fireTrems","Signup","citizenshipCountryId","nationalityCountryId","otp","termsApprove","validity","scrolled","newValue","toggleTerms","newState","register","navigator","geolocation","watchPosition","res","err","field","login","getMyPlan","myPlan","setFreePremium","removeItem","marginTop","disabled","disableCode","userPlans","object","userRegisterSendCode","userRegisterRegister","userLogin","LoginForm","rememberMe","checked","popupHandler","Signin","submitLogin","responseGoogle","getBasicProfile","callSocialLogin","getEmail","getAuthResponse","id_token","responseFacebook","accessToken","idToken","provider","socialLoginData","socialLogin","appleLogin","AppleID","init","clientId","scope","redirectURI","webUrl","usePopup","signIn","fullName","firstName","lastName","authorization","newMember","content","okText","onOk","generatedPassword","googleLoginCode","onSuccess","cookiePolicy","appId","facebookLoginCode","autoLoad","callback","redirectUri","fields","disableMobileRedirect","render","renderProps","userSocialLogin","InviteFriends","copied","inviteFriends","invitationMessage","text","onCopy","justify","align","xs","fontSize","EmailShareButton","url","EmailIcon","round","FacebookShareButton","quote","FacebookIcon","TelegramShareButton","TelegramIcon","WhatsappShareButton","WhatsappIcon","TwitterShareButton","TwitterIcon","LineShareButton","LineIcon","Sidebar","userInfo","manualLogout","updateUserInfo","handleLogout","userPlanResponse","profileChanged","myProfileResponse","toLowerCase","plan","permissions","expirationDate","serverDateTime","userId","logout","onError","onerror","process","usernameClassName","display","download","MobileSidebar","handleFooterLink","handleDrawerClose","handleDrawerOpen","NotificationTab","activeTab","changeTab","notificationLoading","notifications","backgroundColor","FollowBtn","followed","newFollow","setNewFollow","followResponse","socializing","followedUser","unfollowUser","currentUserFallow","followUser","followedUserId","NotificationItem","notificationDateSince","unreadCount","nDate","moment","utc","toDate","Math","floor","interval","handleClick","markNotificationAsReadById","notificationId","read","userThumbnail","eventId","time","eventThumbnail","NotificationList","CloseOnClick","loadMore","hasMore","load","notificationItem","i","NotificationHeader","refreshData","showDrop","setShowDrop","markAllRead","version","Notification","nots","unRead","notificationError","show","setShow","setActiveTab","intialLoading","setIntialLoading","totalPageNumber","setTotalPageNumber","setNotifications","page","setPage","setHasMore","fromDate","setFromDate","unreadOnly","setUnreadOnly","noData","setNoData","useOnClickOutside","handleShow","getMyNotification","pageNumber","getMyNotificationCancel","totalPage","markAllNotificationAsRead","nPageNum","loggedIn","setLoggedIn","useContext","lg","sm","float","xl","logo","closePopup","alignItems","RealTimeTipsModal","drawerHandler","Header","MsdLayout","Content","Sider","downloadApp","handleLayout","document","getElementsByClassName","isBrowser","classList","add","remove","toggle","drawerClose","handleResize","_this","antLayout","categoryLayout","innerWidth","isIE","substring","minHeight","hideLayout","collapsible","trigger","isAndroid","isIOS","ErrorBoundaries","errorFound","info","homePageHandler","homePage","App","isOnline","offline","online","forceUpdate","getServerBasedOnPoints","lat","lon","getClosestServer","closestServer","apiHosts","socketHosts","initial","ReactGA","initialize","debug","apiKey","authDomain","databaseURL","projectId","storageBucket","messagingSenderId","measurementId","getLocations","getAllCategories","getCurrentLocation","getCurrentPosition","localApi","googleApiAddress","fetch","then","json","results","types","localLocations","country","formatted_address","errorNavigatorHandler","serialNumber","uuidv4","clear","coords","latitude","longitude","environment","Sentry","dsn","enableAutoSessionTracking","pageview","serverError","onLine","permissionError","urlSearch","URLSearchParams","reCaptchaKey","googleRecaptchaCode","Consumer","get","events","errorHandler","saveTokenSaga","saveServerSaga","saveFirstTimeLoadSaga","rememberLoginSaga","saveLocationsSaga","saveCategoriesSaga","thumbnailDraggingSaga","thumbnailDroppedSaga","savePrivateEventKeySaga","saveThemeSaga","saveFavoriteCategoriesSaga","disableAutoplaySessionSaga","watchLocalSaga","put","actions","all","takeEvery","rootSaga","fork","watchEvents","watchStreams","watchLocations","watchAuth","watchChangePassword","watchGetMetaData","watchTags","watchUserPlans","watchRoles","watchReactions","watchEventView","watchComments","watchSocializing","watchReports","watchChats","watchUsers","watchProfile","watchMixer","watchViubit","watchInvoice","watchNotifications","watchDirector","initialState","dndResponse","accessKeys","disableAutoPlaySession","firstTimeLoad","reducers","combineReducers","eventsReducer","locationsReducer","authReducer","changePasswordReducer","streams","streamsReducer","errorHandlerReducer","metaData","getMetaDataReducer","tags","tagsReducer","userPlanReducer","reactions","reactionReducer","eventView","eventViewReducer","comments","commentsReducer","socializingReducer","reports","reportsReducer","chats","chatsReducer","users","usersReducer","profileReducer","mixer","mixerReducer","viubit","viubitReducer","invoice","invoiceReducer","profileNotificationsReducer","director","directorReducer","Boolean","hostname","match","warn","store","rootReducer","sagaMiddleware","createSagaMiddleware","createStore","applyMiddleware","run","configureStore","stripePromise","loadStripe","app","stripe","ReactDOM","getElementById","serviceWorker","ready","registration","unregister","catch","I18n","fallbacks","locale","defaultLocale","translations","en","googleRecaptchaCodeV2"],"mappings":"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","file":"static/js/main.d66904ba.chunk.js","sourcesContent":["import React, { createContext, useState } from 'react';\r\n\r\nexport const MyContext = createContext();\r\n\r\nconst MyProvider = ({ children }) => {\r\n const [tooltip, setTooltip] = useState({\r\n quickLiveTooltip: false,\r\n RealTime:false,\r\n })\r\n \r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default MyProvider;","export const SAVE_TOKEN = \"SAVE_TOKEN\";\r\nexport const SAVE_TOKEN_START = \"SAVE_TOKEN_START\";\r\nexport const SAVE_TOKEN_SUCCESS = \"SAVE_TOKEN_SUCCESS\";\r\n// =============================\r\nexport const REMEMBER_LOGIN = \"REMEMBER_LOGIN\";\r\nexport const REMEMBER_LOGIN_SUCCESS = \"REMEMBER_LOGIN_SUCCESS\";\r\n// =============================\r\nexport const SAVE_SERVER = \"SAVE_SERVER\";\r\nexport const SAVE_SERVER_SUCCESS = \"SAVE_SERVER_SUCCESS\";\r\n// =============================\r\nexport const SAVE_LOCATIONS = \"SAVE_LOCATIONS\";\r\nexport const SAVE_LOCATIONS_SUCCESS = \"SAVE_LOCATIONS_SUCCESS\";\r\n// =============================\r\nexport const SAVE_CATEGORIES = \"SAVE_CATEGORIES\";\r\nexport const SAVE_CATEGORIES_SUCCESS = \"SAVE_CATEGORIES_SUCCESS\";\r\n// =============================\r\n\r\nexport const SAVE_FIRST_TIME_LOAD = \"SAVE_FIRST_TIME_LOAD\";\r\nexport const SAVE_FIRST_TIME_LOAD_SUCCESS = \"SAVE_FIRST_TIME_LOAD_SUCCESS\";\r\n// =============================\r\n\r\nexport const THUMBNAIL_DRAGGING = \"THUMBNAIL_DRAGGING\";\r\nexport const THUMBNAIL_DRAGGING_SUCCESS = \"THUMBNAIL_DRAGGING_SUCCESS\";\r\n// =============================\r\nexport const THUMBNAIL_DROPPED = \"THUMBNAIL_DROPPED\";\r\nexport const THUMBNAIL_DROPPED_SUCCESS = \"THUMBNAIL_DROPPED_SUCCESS\";\r\n\r\n// ================================\r\n\r\nexport const SAVE_PRIVATE_EVENT_KEY = \"SAVE_PRIVATE_EVENT_KEY\";\r\nexport const SAVE_PRIVATE_EVENT_KEY_SUCCESS = \"SAVE_PRIVATE_EVENT_KEY_SUCCESS\";\r\n\r\nexport const DELETE_PRIVATE_KEYS = \"DELETE_PRIVATE_KEYS\";\r\nexport const DELETE_PRIVATE_KEYS_SUCCESS = \"DELETE_PRIVATE_KEYS_SUCCESS\";\r\n// =============================\r\nexport const SAVE_THEME = \"SAVE_THEME\";\r\nexport const SAVE_THEME_SUCCESS = \"SAVE_THEME_SUCCESS\";\r\n// =============================\r\nexport const SAVE_FAVORITE_CATEGORIES = \"SAVE_FAVORITE_CATEGORIES\";\r\nexport const SAVE_FAVORITE_CATEGORIES_SUCCESS =\r\n \"SAVE_FAVORITE_CATEGORIES_SUCCESS\";\r\n// =============================\r\nexport const DISABLE_AUTOPLAY_SESSION = \"DISABLE_AUTOPLAY_SESSION\";\r\nexport const DISABLE_AUTOPLAY_SESSION_SUCCESS =\r\n \"DISABLE_AUTOPLAY_SESSION_SUCCESS\";\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport { getMyProfile, editMyProfile } from \"@pmviulive/vume-js\";\r\nimport { Row, Col, Button } from \"@pmviulive/msd-reactjs\";\r\nimport { saveFavoriteCategories } from \"../../../../../config/store/localRedux/actions\";\r\nimport \"./favorites.scss\";\r\n\r\nconst Favorites = (props) => {\r\n const [favorites, selectedFavorites] = useState([]);\r\n const [saving, setSaving] = useState(false);\r\n const [isSelectAll, setSelectAll] = useState(false);\r\n const dispatch = useDispatch();\r\n const token = useSelector((state) => state.local.token);\r\n const server = useSelector((state) => state.local.server);\r\n const myProfile = useSelector((state) => state.profile.user);\r\n const categories = useSelector((state) => state.local.categories);\r\n const response = useSelector((state) => state.profile.response);\r\n const loading = useSelector((state) => state.profile.loading);\r\n useEffect(() => {\r\n localStorage.setItem(\"favoriteCategory\", true);\r\n dispatch(getMyProfile(token, localStorage.getItem(\"userId\"), server));\r\n }, [dispatch, server, token]);\r\n\r\n useEffect(() => {\r\n if (myProfile) {\r\n if (myProfile.user?.userSetting?.favoriteCategories) {\r\n selectedFavorites(myProfile.user.userSetting.favoriteCategories);\r\n favorites.length < categories.length\r\n ? setSelectAll(false)\r\n : setSelectAll(true);\r\n }\r\n }\r\n }, [myProfile]);\r\n\r\n useEffect(() => {\r\n favorites.length < categories.length\r\n ? setSelectAll(false)\r\n : setSelectAll(true);\r\n }, [favorites]);\r\n\r\n useEffect(() => {\r\n if (response && saving) {\r\n if (response.status === 200) {\r\n dispatch(saveFavoriteCategories(favorites));\r\n if (props.popup) {\r\n props.onCancel();\r\n }\r\n }\r\n }\r\n }, [response, saving]);\r\n\r\n const selectCategory = (id) => {\r\n selectedFavorites((prevState) => {\r\n const isExist = prevState.find((f) => f === id);\r\n let result = [...prevState];\r\n if (isExist) {\r\n result = result.filter((f) => f !== id);\r\n } else {\r\n result.push(id);\r\n }\r\n return result;\r\n });\r\n };\r\n const selectAll = () => {\r\n if (!isSelectAll) {\r\n setSelectAll(true);\r\n selectedFavorites((prevState) => {\r\n let result = [...prevState];\r\n categories.map((cat) => {\r\n const isExist = prevState.find((f) => f === cat.id);\r\n if (!isExist) {\r\n result.push(cat.id);\r\n }\r\n });\r\n\r\n return result;\r\n });\r\n } else {\r\n setSelectAll(false);\r\n selectedFavorites([]);\r\n }\r\n };\r\n const isSelected = (id) => {\r\n const isExist = favorites.find((f) => f === id);\r\n return isExist ? \"selected\" : \"\";\r\n };\r\n const saveFavorites = () => {\r\n const request = {\r\n identity: {\r\n ...myProfile.user.identity,\r\n avatar: {\r\n key: \"userAvatar\",\r\n status: \"NOT_CHANGED\",\r\n encoding: \"NONE\",\r\n },\r\n type: \"PERSON\",\r\n },\r\n about: {\r\n ...myProfile.user.about,\r\n cover: {\r\n key: \"cover\",\r\n status: \"NOT_CHANGED\",\r\n encoding: \"NONE\",\r\n },\r\n equipment: {\r\n ...myProfile.user.about?.equipment,\r\n gear: {\r\n key: \"gears\",\r\n status: \"NOT_CHANGED\",\r\n encoding: \"NONE\",\r\n },\r\n },\r\n },\r\n userSetting: {\r\n ...myProfile.user.userSetting,\r\n favoriteCategories: favorites,\r\n },\r\n };\r\n dispatch(\r\n editMyProfile(\r\n token,\r\n request,\r\n {\r\n avatar: null,\r\n cover: null,\r\n gears: null,\r\n },\r\n server\r\n )\r\n );\r\n setSaving(true);\r\n };\r\n return (\r\n
\r\n \r\n

Select at least one of your favorite categories

\r\n

\r\n {categories.map((cat) => {\r\n return (\r\n \r\n selectCategory(cat.id)}\r\n >\r\n
\r\n \r\n
\r\n {cat.title}\r\n
\r\n \r\n );\r\n })}\r\n \r\n
\r\n {props.popup && (\r\n props.onCancel()}\r\n >\r\n Skip\r\n \r\n )}\r\n selectAll()}\r\n >\r\n {!isSelectAll ? \"Select All\" : \"Deselect All\"}\r\n \r\n \r\n Done\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Favorites;\r\n","import { notification, Modal } from \"@pmviulive/msd-reactjs\";\r\n\r\nexport const throwNotification = (config) => {\r\n const theme = localStorage.getItem(\"theme\") || \"light\";\r\n notification[config.type]({\r\n message: config.message,\r\n className: `${theme}-notification`,\r\n description: config.description || null,\r\n });\r\n};\r\n\r\nexport const throwModal = (type, props) => {\r\n const theme = localStorage.getItem(\"theme\") || \"light\";\r\n const modal = Modal[type]({\r\n ...props,\r\n className: `${theme}-modal-throw`,\r\n });\r\n return modal;\r\n};\r\n","export const QuickStart = [\r\n {\r\n id: 1,\r\n title: 'Single Camera Streaming - Quick Live (Real-time)',\r\n subTitle:'',\r\n points: [\r\n {\r\n title: 'Add Captions:',\r\n body:'Choose from 2 text sizes.'\r\n },\r\n {\r\n title: 'Overlay Graphics:',\r\n body:'Upload and position logos or images over the stream.'\r\n },\r\n {\r\n title: 'Quick Live Preview:',\r\n body:'Select “Quick Live” on the other intended device to start previewing the outcome on the director screen.',\r\n },\r\n {\r\n title: 'Start Broadcasting:',\r\n body:'Click “Go Live” on any device to start sharing.',\r\n }\r\n ],\r\n notes: [\r\n 'Preview may take up to 12 seconds to appear.'\r\n ]\r\n },\r\n {\r\n id: 2,\r\n title: 'Single Camera Streaming - Quick Live (Predefined)',\r\n subTitle:'In the predefined mode, you can either create your own setup, use an existing template, or make edits to an existing one.',\r\n points: [\r\n // {\r\n // title: 'Add Captions:',\r\n // body:'Choose from 2 text sizes.',\r\n // },\r\n // {\r\n // title: 'Overlay Graphics:',\r\n // body:'Upload and position logos or images over the stream.',\r\n // },\r\n {\r\n title: 'Quick Live Preview:',\r\n body:'Select “Quick Live” on the intended device to start previewing the outcome on the director screen.',\r\n },\r\n {\r\n title: 'Start Broadcasting:',\r\n body:'Click “Go Live” on any device to start sharing.',\r\n }\r\n ],\r\n notes: [\r\n 'Preview may take up to 12 seconds to appear.'\r\n ]\r\n },\r\n {\r\n id: 3,\r\n title: 'Multiple Camera Streaming - Quick Live (Real-time)',\r\n subTitle: 'Make sure to log in with the same credentials across all intended devices.',\r\n points: [\r\n // {\r\n // title: 'Add Captions:',\r\n // body:'Choose from 2 text sizes.',\r\n // },\r\n // {\r\n // title: 'Overlay Graphics:',\r\n // body:'Upload and position logos or images over the stream.',\r\n // },\r\n {\r\n title: 'Quick Live Preview:',\r\n body:'Select “Quick Live” on the intended device to start previewing the outcome on the director screen.',\r\n },\r\n {\r\n title: 'Start Broadcasting:',\r\n body:'Click “Go Live” on any device to start sharing.',\r\n }\r\n ],\r\n notes: [\r\n 'Preview may take up to 12 seconds to appear.',\r\n 'Make sure to log in with the same credentials across all intended devices.'\r\n ]\r\n },\r\n {\r\n id: 4,\r\n title: 'Multiple Camera Streaming - Quick Live (Predefined)',\r\n subTitle: 'In the predefined mode, you can either create your own setup, use an existing template, or make edits to an existing one.',\r\n points: [\r\n // {\r\n // title: 'Add Captions:',\r\n // body:'Choose from 2 text sizes.',\r\n // },\r\n // {\r\n // title: 'Overlay Graphics:',\r\n // body:'Upload and position logos or images over the stream.'\r\n // },\r\n {\r\n title: 'Quick Live Preview:',\r\n body:'Select “Quick Live” on the other intended device to start previewing the outcome on the director screen.',\r\n },\r\n {\r\n title: 'Start Broadcasting:',\r\n body:'Click “Go Live” on any device to start sharing.',\r\n }\r\n ],\r\n notes: [\r\n 'Preview may take up to 12 seconds to appear.',\r\n 'Make sure to log in with the same credentials across all intended devices.'\r\n ]\r\n }\r\n]\r\n","\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { Modal } from \"@pmviulive/msd-reactjs\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { BulletIconSec, ArrowForward } from \"../../../../../config/icons\";\r\nimport { QuickStart } from \"./data\";\r\n\r\nimport './QuickGuideModal.scss';\r\n\r\n\r\n\r\nconst QuickGuideModal = ({quickGuide, setQuickGuide, showTooltips, directGuide, setModalVisible}) => {\r\n const theme = useSelector((state) => state.local.theme);\r\n const showNextModal = () => {\r\n setQuickGuide(false);\r\n // setModalVisible(false);\r\n\r\n if (!directGuide) {\r\n showTooltips()\r\n }\r\n };\r\n\r\n const closeModal = () => {\r\n setQuickGuide(false);\r\n // setModalVisible(false);\r\n\r\n if (!directGuide) {\r\n // showTooltips()\r\n }\r\n };\r\n\r\n return (\r\n \r\n
\r\n Next\r\n Arrow Right\r\n
\r\n
\r\n

Quick Start Guide

\r\n

Welcome to the Director feature, designed to empower streamers with professional-grade effects for their broadcasts. Creating captivating events with a studio-like touch has never been this easy.

\r\n

Currently, the Director feature is available exclusively on our web platform at ViuLive.

\r\n

Stream Smartly with Multiple Cameras: Use the Director feature for single/multi-streaming. Just remember, for a smooth Director experience, make sure to log in with the same credentials across all intended devices.

\r\n

Highlights of the Director Features:

\r\n \r\n

You can use the Director feature in two ways: Real-time Mode or Predefined Mode.

\r\n \r\n \r\n
\r\n \r\n )\r\n}\r\n\r\nexport default QuickGuideModal\r\n\r\n\r\n\r\nconst GuideList = () => {\r\n const [openTabs, setOpenTabs] = useState({});\r\n\r\n const handleOpen = (index) => {\r\n setOpenTabs((prevOpenTabs) => ({\r\n ...prevOpenTabs,\r\n [index]: !prevOpenTabs[index],\r\n }));\r\n };\r\n\r\n return (\r\n <>\r\n

\r\n ViuLive User Quick Start Guide\r\n

\r\n

\r\n The User Quick Start Guide includes information about the options that are common to most ViuLive users.\r\n
The articles are designed to give you information and to help you get started.\r\n

\r\n {QuickStart.map((item) => (\r\n \r\n \r\n )}\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\n\r\n\r\n","import React from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Modal, Drawer, Logo } from \"@pmviulive/msd-reactjs\";\r\nimport { isMobile } from \"react-device-detect\";\r\nimport i18n from \"../../../config/i18n\";\r\n\r\nimport \"./popup.scss\";\r\n\r\nconst Popup = (props) => {\r\n const theme = useSelector((state) => state.local.theme);\r\n const childrenWithProps = React.Children.map(props.children, (child) =>\r\n React.cloneElement(child, { onCancel: props.onCancel })\r\n );\r\n\r\n if (isMobile) {\r\n return (\r\n \r\n \r\n {!props.halfDrawer ? (\r\n \r\n \r\n \r\n {i18n.t(\"text.back\")}\r\n \r\n {!props.withoutLogo ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n
\r\n ) : null}\r\n {childrenWithProps}\r\n \r\n \r\n );\r\n } else {\r\n return (\r\n \r\n {childrenWithProps}\r\n \r\n );\r\n }\r\n};\r\n\r\nexport default Popup;\r\n","import React, { useState, useEffect, useRef, Children } from \"react\";\r\nimport { Modal } from \"@pmviulive/msd-reactjs\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { RightIcon } from \"../../../../../config/icons\";\r\n\r\nimport './TooltipModal.scss'\r\nconst TooltipModal = ({\r\n title,\r\n note,\r\n onNext,\r\n visible,\r\n setVisible,\r\n top,\r\n left,\r\n arrowLeft,\r\n arrowDownRight,\r\n arrowRight,\r\n arrowRightTop,\r\n finalTooltip,\r\n maxWidth,\r\n indicator,\r\n activeIndex,\r\n predefinedIndicator,\r\n arrowDownCenter,\r\n customArrow,\r\n right,\r\n children\r\n}) => {\r\n const theme = useSelector((state) => state.local.theme);\r\n return (\r\n setVisible(false)}\r\n className={`Tooltip_Container ${theme === 'dark' ? \"Tooltip_Container_Dark\" : \"Tooltip_Container_Light\"}`}\r\n id='tooltip'\r\n >\r\n
{title}
\r\n

{children}

\r\n {note &&

Important:{note}

}\r\n {finalTooltip ? (\r\n \r\n ) : (\r\n <>\r\n
\r\n \r\n \r\n
\r\n {indicator && (\r\n
\r\n {[0, 1, 2, 3, 4, 5, 6].map(index => (\r\n \r\n ))}\r\n
\r\n )}\r\n {predefinedIndicator && (\r\n
\r\n {[0, 1, 2, 3, 4, 5, 6].map(index => (\r\n \r\n ))}\r\n
\r\n )}\r\n \r\n )}\r\n {arrowLeft ?\r\n
\r\n : arrowDownRight ?
\r\n : arrowRight ?
\r\n : arrowDownCenter ?
\r\n : arrowRightTop ?
\r\n : customArrow ?
\r\n :
\r\n }\r\n \r\n )\r\n}\r\n\r\nexport default TooltipModal\r\n","import React, { Component } from \"react\";\r\nimport { Input } from \"@pmviulive/msd-reactjs\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport \"./search.scss\";\r\nimport i18n from \"../../../config/i18n\";\r\nimport { notification } from \"antd\";\r\n\r\nclass Search extends Component {\r\n state = {\r\n defaultVal: null,\r\n value: null,\r\n };\r\n\r\n componentDidMount() {\r\n if (\r\n this.props.location.pathname.includes(\"result\") &&\r\n this.props.location.search\r\n ) {\r\n const splittedVal = this.props.location.search.split(\"?\")[1];\r\n this.setState({\r\n defaultVal: decodeURIComponent(splittedVal),\r\n value: decodeURIComponent(splittedVal),\r\n });\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (\r\n this.props.location.pathname === \"/result\" &&\r\n this.props.location.pathname !== prevProps.location.pathname\r\n ) {\r\n if (!this.state.value) {\r\n const splittedVal = this.props.location.search.split(\"?\")[1];\r\n\r\n this.setState({\r\n defaultVal: decodeURIComponent(splittedVal),\r\n value: decodeURIComponent(splittedVal),\r\n });\r\n }\r\n }\r\n if (\r\n JSON.stringify(this.props.location.pathname) !==\r\n JSON.stringify(prevProps.location.pathname) &&\r\n this.props.history.action === \"POP\" &&\r\n this.props.location.pathname.includes(\"/result\")\r\n ) {\r\n const splittedVal = this.props.location.search.split(\"?\")[1];\r\n this.setState({\r\n defaultVal: decodeURIComponent(splittedVal),\r\n value: decodeURIComponent(splittedVal),\r\n });\r\n clearTimeout(this.searchTimeout);\r\n }\r\n if (\r\n this.props.location.pathname !== prevProps.location.pathname &&\r\n !this.props.location.pathname.includes(\"result\")\r\n ) {\r\n this.setState({ value: null });\r\n }\r\n }\r\n\r\n onChange = (e) => {\r\n clearTimeout(this.searchTimeout);\r\n if (e.trim().length > 2) {\r\n notification.destroy();\r\n this.startSearch(e, 800);\r\n }\r\n this.setState({ value: e });\r\n };\r\n startSearch = (e, delay) => {\r\n clearTimeout(this.searchTimeout);\r\n if (e.trim().length > 2) {\r\n notification.destroy();\r\n window.scrollTo(0, 0);\r\n this.searchTimeout = setTimeout(() => {\r\n const val = e.trim();\r\n const search = val.indexOf(\"#\") === 0 ? val.replace(\"#\", \"\") : val;\r\n this.props.history.push(`/result?${encodeURIComponent(search)}`);\r\n }, delay);\r\n } else {\r\n notification.destroy();\r\n notification.warning({\r\n message: \"Please Enter More Than 3 Characters To Start Search \",\r\n });\r\n }\r\n };\r\n clearSearch = () => {\r\n this.setState({ value: null });\r\n this.props.history.push(`/`);\r\n };\r\n render() {\r\n return (\r\n <>\r\n {\r\n if (e) {\r\n this.startSearch(e, 0);\r\n } else {\r\n this.props.history.push(\"/\");\r\n }\r\n }}\r\n className=\"search\"\r\n defaultValue={this.state.defaultVal}\r\n value={this.state.value}\r\n onChange={(e) => {\r\n this.onChange(e.target.value);\r\n }}\r\n placeholder={i18n.t(\"text.searchbar\")}\r\n onPressEnter={(e) => {\r\n this.startSearch(e.target.value, 0);\r\n }}\r\n />\r\n {this.state.value && (\r\n \r\n X\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(Search);\r\n","import React from 'react'\r\nimport { StarIcon } from '../../../../../config/icons'\r\n\r\n\r\n\r\nconst stars = [\r\n {\r\n id: 1,\r\n size: '30',\r\n className:'first_star'\r\n },\r\n {\r\n id: 2,\r\n size: '25',\r\n className:'second_star'\r\n },\r\n {\r\n id: 3,\r\n size: '20',\r\n className:'third_star'\r\n },\r\n {\r\n id: 4,\r\n size: '20',\r\n className:'fourth_star'\r\n },\r\n {\r\n id: 5,\r\n size: '15',\r\n className:'fifth_star'\r\n },\r\n]\r\n\r\n\r\nconst Layout = ({onReplay, onStart}) => {\r\n return (\r\n
\r\n \r\n \"replay-icon\"\r\n
\r\n )\r\n}\r\n\r\nexport default Layout","import React, { useState, useEffect, useRef, useContext } from \"react\";\r\nimport { Modal } from \"@pmviulive/msd-reactjs\";\r\nimport { useSelector } from \"react-redux\";\r\nimport Layout from \"./Layout\";\r\nimport QuickGuideModal from \"../QuickGuideModal/QuickGuideModal\";\r\n\r\nimport './RealTimeTipsModal.scss';\r\n\r\nconst RealTimeTipsModal = ({\r\n showTooltips,\r\n directGuide,\r\n modalVisible,\r\n setModalVisible,\r\n quickGuide,\r\n setQuickGuide,\r\n useLocalStorage,\r\n}) => {\r\n const theme = useSelector((state) => state.local.theme);\r\n const videoRef = useRef(null);\r\n const [layout, showLayout] = useState(false);\r\n\r\n useEffect(() => {\r\n // Check if you should show the modal\r\n if (useLocalStorage && localStorage.getItem(\"hasShownModal\")) {\r\n setModalVisible(false);\r\n } else {\r\n setModalVisible(true);\r\n }\r\n }, [useLocalStorage]);\r\n\r\n const closeModal = () => {\r\n if (useLocalStorage) {\r\n localStorage.setItem(\"hasShownModal\", \"true\");\r\n }\r\n setModalVisible(false);\r\n };\r\n\r\n const startTour = () => {\r\n setQuickGuide(true);\r\n showLayout(false);\r\n setModalVisible(false);\r\n if (useLocalStorage) {\r\n localStorage.setItem(\"hasShownModal\", \"true\");\r\n }\r\n }\r\n\r\n const rePlay = () => {\r\n videoRef.current.play();\r\n showLayout(false)\r\n }\r\n\r\n const handleSeeking = () => {\r\n if (videoRef.current.currentTime === videoRef.current.duration) {\r\n videoRef.current.pause();\r\n videoRef.current.currentTime = 0;\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n showLayout(true)}\r\n onPlay={() => showLayout(false)}\r\n onSeeked={handleSeeking}\r\n ref={videoRef}\r\n loop={false}\r\n autoPlay={modalVisible}\r\n />\r\n {layout && }\r\n \r\n\r\n \r\n \r\n );\r\n}\r\n\r\nexport default React.memo(RealTimeTipsModal);\r\n","import * as actionTypes from \"./actionTypes\";\r\n\r\nexport const saveToken = () => {\r\n return {\r\n type: actionTypes.SAVE_TOKEN,\r\n };\r\n};\r\n\r\nexport const saveTokenStart = () => {\r\n return {\r\n type: actionTypes.SAVE_TOKEN_START,\r\n };\r\n};\r\n\r\nexport const saveTokenSuccess = (token) => {\r\n return {\r\n type: actionTypes.SAVE_TOKEN_SUCCESS,\r\n token: token,\r\n };\r\n};\r\n\r\n// ============================\r\n\r\nexport const rememberLogin = (rememberLogin) => {\r\n return {\r\n type: actionTypes.REMEMBER_LOGIN,\r\n rememberLogin: rememberLogin,\r\n };\r\n};\r\n\r\nexport const rememberLoginSuccess = (rememberLogin) => {\r\n return {\r\n type: actionTypes.REMEMBER_LOGIN_SUCCESS,\r\n rememberLogin: rememberLogin,\r\n };\r\n};\r\n// ============================\r\n\r\nexport const saveServer = (server) => {\r\n return {\r\n type: actionTypes.SAVE_SERVER,\r\n server: server,\r\n };\r\n};\r\nexport const saveServerSuccess = (server) => {\r\n return {\r\n type: actionTypes.SAVE_SERVER_SUCCESS,\r\n server: server,\r\n };\r\n};\r\n\r\n// ============================\r\n\r\nexport const saveFirstTimeLoad = (status) => {\r\n return {\r\n type: actionTypes.SAVE_FIRST_TIME_LOAD,\r\n status: status,\r\n };\r\n};\r\nexport const saveFirstTimeLoadSuccess = (status) => {\r\n return {\r\n type: actionTypes.SAVE_FIRST_TIME_LOAD_SUCCESS,\r\n status: status,\r\n };\r\n};\r\n\r\n// ======================================\r\n\r\nexport const saveLocations = (locations) => {\r\n return {\r\n type: actionTypes.SAVE_LOCATIONS,\r\n locations: locations,\r\n };\r\n};\r\nexport const saveLocationsSuccess = (locations) => {\r\n return {\r\n type: actionTypes.SAVE_LOCATIONS_SUCCESS,\r\n locations: locations,\r\n };\r\n};\r\n\r\n// ======================================\r\n\r\nexport const saveCategories = (categories) => {\r\n return {\r\n type: actionTypes.SAVE_CATEGORIES,\r\n categories: categories,\r\n };\r\n};\r\nexport const saveCategoriesSuccess = (categories) => {\r\n return {\r\n type: actionTypes.SAVE_CATEGORIES_SUCCESS,\r\n categories: categories,\r\n };\r\n};\r\n// ========================================\r\n\r\nexport const thumbnailDragging = (stream) => {\r\n return {\r\n type: actionTypes.THUMBNAIL_DRAGGING,\r\n stream: stream,\r\n };\r\n};\r\nexport const thumbnailDraggingSuccess = (response) => {\r\n return {\r\n type: actionTypes.THUMBNAIL_DRAGGING_SUCCESS,\r\n response: response,\r\n };\r\n};\r\n\r\n// ========================================\r\n\r\nexport const thumbnailDropped = () => {\r\n return {\r\n type: actionTypes.THUMBNAIL_DROPPED,\r\n };\r\n};\r\nexport const thumbnailDroppedSuccess = (response) => {\r\n return {\r\n type: actionTypes.THUMBNAIL_DROPPED_SUCCESS,\r\n response: response,\r\n };\r\n};\r\n\r\n// ========================================\r\nexport const savePrivateEventKey = (accessKey) => {\r\n return {\r\n type: actionTypes.SAVE_PRIVATE_EVENT_KEY,\r\n accessKey: accessKey,\r\n };\r\n};\r\nexport const savePrivateEventKeySuccess = (accessKey) => {\r\n return {\r\n type: actionTypes.SAVE_PRIVATE_EVENT_KEY_SUCCESS,\r\n accessKey: accessKey,\r\n };\r\n};\r\n\r\n// ========================================\r\nexport const deletePrivateKeys = () => {\r\n return {\r\n type: actionTypes.DELETE_PRIVATE_KEYS,\r\n };\r\n};\r\nexport const deletePrivateKeysSuccess = () => {\r\n return {\r\n type: actionTypes.DELETE_PRIVATE_KEYS_SUCCESS,\r\n };\r\n};\r\n// ============================\r\n\r\nexport const saveTheme = (theme) => {\r\n return {\r\n type: actionTypes.SAVE_THEME,\r\n theme: theme,\r\n };\r\n};\r\nexport const saveThemeSuccess = (theme) => {\r\n return {\r\n type: actionTypes.SAVE_THEME_SUCCESS,\r\n theme: theme,\r\n };\r\n};\r\n\r\n// ============================\r\n\r\nexport const saveFavoriteCategories = (favoriteCategories) => {\r\n return {\r\n type: actionTypes.SAVE_FAVORITE_CATEGORIES,\r\n favoriteCategories: favoriteCategories,\r\n };\r\n};\r\nexport const saveFavoriteCategoriesSuccess = (favoriteCategories) => {\r\n return {\r\n type: actionTypes.SAVE_FAVORITE_CATEGORIES_SUCCESS,\r\n favoriteCategories: favoriteCategories,\r\n };\r\n};\r\n// ============================\r\n\r\nexport const disableAutoplaySession = (state) => {\r\n return {\r\n type: actionTypes.DISABLE_AUTOPLAY_SESSION,\r\n state: state,\r\n };\r\n};\r\nexport const disableAutoplaySessionSuccess = (state) => {\r\n return {\r\n type: actionTypes.DISABLE_AUTOPLAY_SESSION_SUCCESS,\r\n state: state,\r\n };\r\n};\r\n","import React, { Component } from \"react\";\r\nimport \"./termsAndConditions.scss\";\r\n\r\nclass termsAndConditions extends Component {\r\n onScroll = (data) => {\r\n const target = data.nativeEvent.target;\r\n if (target.scrollHeight - target.scrollTop === target.clientHeight) {\r\n if (this.props.inRegister) {\r\n this.props.onScroll();\r\n }\r\n }\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n TERMS AND CONDITIONS \r\n
\r\n
\r\n \r\n Last Updated July 7, 2023\r\n

\r\n \r\n 1. Agreement to Terms\r\n

\r\n \r\n 1.1 These Terms and Conditions constitute a legally binding\r\n agreement made between you, whether personally or on behalf of an\r\n entity (you), and\r\n ViuCom Corp.,located at\r\n Bellevue , WA (we, us),\r\n concerning your access to and use of the\r\n www.viulive.com\r\n \r\n   website as well as any related mobile applications (the\r\n Site).\r\n

\r\n \r\n The Site provides the following services:\r\n \r\n live video streaming, IRL (Services)\r\n \r\n . You agree that by accessing the Site and/or Services, you have\r\n read, understood, and agree to be bound by all of these Terms and\r\n Conditions.\r\n

\r\n \r\n \r\n If you do not agree with all of these Terms and Conditions, then\r\n you are prohibited from using the Site and Services and you must\r\n discontinue use immediately\r\n \r\n . We recommend that you print a copy of these Terms and Conditions\r\n for future reference.\r\n

\r\n \r\n 1.2 The supplemental policies set out in Section 1.7 below, as well\r\n as any supplemental terms and condition or documents that may be\r\n posted on the Site from time to time, are expressly incorporated by\r\n reference.\r\n

\r\n \r\n 1.3 We may make changes to these Terms and Conditions at any time.\r\n The updated version of these Terms and Conditions will be indicated\r\n by an updated “Revised” date and the updated version will be\r\n effective as soon as it is accessible. You are responsible for\r\n reviewing these Terms and Conditions to stay informed of updates.\r\n Your continued use of the Site represents that you have accepted\r\n such changes.\r\n

\r\n \r\n 1.4 We may update or change the Site from time to time to reflect\r\n changes to our products, our users' needs and/or our business\r\n priorities.\r\n

\r\n \r\n 1.5 Our site is directed to people residing in anywhere this site is\r\n considered legal by the authorities. The information provided on the\r\n Site is not intended for distribution to or use by any person or\r\n entity in any jurisdiction or country where such distribution or use\r\n would be contrary to law or regulation or which would subject us to\r\n any registration requirement within such jurisdiction or country.\r\n

\r\n \r\n 1.6 The Site is intended for users who are at least 18 years old. If\r\n you are under the age of 18, you are not permitted to register for\r\n the Site or use the Services without parental permission.\r\n

\r\n \r\n 1.7 Additional policies which also apply to your use of the Site\r\n include:\r\n

\r\n
    \r\n \r\n Our Privacy Notice, which sets out the terms on which we process\r\n any personal data we collect from you, or that you provide to us.\r\n By using the Site, you consent to such processing and you warrant\r\n that all data provided by you is accurate.\r\n \r\n \r\n Our Acceptable Use Policy (section 13), which sets out the\r\n permitted uses and prohibited uses of the Site. When using the\r\n Site, you must comply with this Acceptable Use Policy.\r\n \r\n \r\n Our Cookie Policy, which sets out information about the cookies on\r\n the Site.\r\n \r\n \r\n If you purchase from the Site, our terms and conditions of\r\n eCommerce will apply. If you wish to use such Services, you will,\r\n in addition to our Terms and Conditions, also be subject to our\r\n Terms and conditions of eCommerce.\r\n \r\n
\r\n \r\n 2. Acceptable Use\r\n

\r\n \r\n 2.1 Our full Acceptable Use Policy, sets out all the permitted uses\r\n and prohibited uses of this site.\r\n

\r\n \r\n 2.2 You may not access or use the Site for any purpose other than\r\n that for which we make the site and our services available. The Site\r\n may not be used in connection with any commercial endeavors except\r\n those that are specifically endorsed or approved by us.\r\n

\r\n \r\n 2.3 As a user of this Site, you agree not to:\r\n

\r\n
    \r\n \r\n Falsely imply a relationship with us or another company with whom\r\n you do not have a relationship\r\n \r\n
\r\n \r\n 3. Information you provide to us\r\n

\r\n \r\n 3.1 You represent and warrant that: (a) all registration information\r\n you submit will be true, accurate, current, and complete and relate\r\n to you and not a third party; (b) you will maintain the accuracy of\r\n such information and promptly update such information as necessary;\r\n (c) you will keep your password confidential and will be responsible\r\n for all use of your password and account; (d) you have the legal\r\n capacity and you agree to comply with these Terms and Conditions;\r\n and (e) you are not a minor in the jurisdiction in which you reside,\r\n or if a minor, you have received parental permission to use the\r\n Site.\r\n

\r\n \r\n If you know or suspect that anyone other than you knows your user\r\n information (such as an identification code or user name) and/or\r\n password you must promptly notify us at\r\n \r\n info@viulive.com\r\n \r\n

\r\n \r\n 3.2 If you provide any information that is untrue, inaccurate, not\r\n current or incomplete, we may suspend or terminate your account. We\r\n may remove or change a user name you select if we determine that\r\n such user name is inappropriate.\r\n

\r\n \r\n 4. Content you provide to us\r\n

\r\n \r\n 4.1 There may be opportunities for you to post content to the Site\r\n or send feedback to us (\r\n User Content \r\n ). You understand and agree that your User Content may be viewed by\r\n other users on the Site, and that they may be able to see who has\r\n posted that User Content.\r\n

\r\n \r\n 4.2 You further agree that we can use your User Content for any\r\n other purposes whatsoever in perpetuity without payment to you, and\r\n combine your User Content with other content for use within the Site\r\n and otherwise. We do not have to attribute your User Content to you.\r\n When you upload or post content to our site, you grant us the\r\n following rights to use that content:\r\n

\r\n \r\n 4.3 In posting User Content, including reviews or making contact\r\n with other users of the Site you shall comply with our Acceptable\r\n Use Policy.\r\n

\r\n \r\n 4.4 You warrant that any User Content does comply with our\r\n Acceptable Use Policy, and you will be liable to us and indemnify us\r\n for any breach of that warranty. This means you will be responsible\r\n for any loss or damage we suffer as a result of your breach of this\r\n warranty.\r\n

\r\n \r\n 4.5 We have the right to remove any User Content you put on the Site\r\n if, in our opinion, such User Content does not comply with the\r\n Acceptable Use Policy.\r\n

\r\n \r\n 4.6 We are not responsible and accept no liability for any User\r\n Content including any such content that contains incorrect\r\n information or is defamatory or loss of User Content. We accept no\r\n obligation to screen, edit or monitor any User Content but we\r\n reserve the right to remove, screen and/or edit any User Content\r\n without notice and at any time. User Content has not been verified\r\n or approved by us and the views expressed by other users on the Site\r\n do not represent our views or values\r\n

\r\n \r\n 4.7 If you wish to complain about User Content uploaded by other\r\n users please contact us at\r\n \r\n info@viulive.com\r\n \r\n or use the report button.\r\n

\r\n \r\n 5. Our content\r\n

\r\n \r\n 5.1 Unless otherwise indicated, the Site and Services including\r\n source code, databases, functionality, software, website designs,\r\n audio, video, text, photographs, and graphics on the Site (\r\n Our Content ) are owned or\r\n licensed to us, and are protected by copyright and trade mark laws.\r\n

\r\n \r\n 5.2 Except as expressly provided in these Terms and Conditions, no\r\n part of the Site, Services or Our Content may be copied, reproduced,\r\n aggregated, republished, uploaded, posted, publicly displayed,\r\n encoded, translated, transmitted, distributed, sold, licensed, or\r\n otherwise exploited for any commercial purpose whatsoever, without\r\n our express prior written permission.\r\n

\r\n \r\n 5.3 Provided that you are eligible to use the Site, you are granted\r\n a limited license to access and use the Site and Our Content and to\r\n download or print a copy of any portion of the Content to which you\r\n have properly gained access solely for your personal, non-commercial\r\n use.\r\n

\r\n \r\n 5.4 You shall not (a) try to gain unauthorized access to the Site or\r\n any networks, servers or computer systems connected to the Site;\r\n and/or (b) make for any purpose including error correction, any\r\n modifications, adaptions, additions or enhancements to the Site or\r\n Our Content, including the modification of the paper or digital\r\n copies you may have downloaded.\r\n

\r\n \r\n 5.5 We shall (a) prepare the Site and Our Content with reasonable\r\n skill and care; and (b) use industry standard virus detection\r\n software to try to block the uploading of content to the Site that\r\n contains viruses.\r\n

\r\n \r\n 5.6 The content on the Site is provided for general information\r\n only. It is not intended to amount to advice on which you should\r\n rely. You must obtain professional or specialist advice before\r\n taking, or refraining from taking, any action on the basis of the\r\n content on the Site.\r\n

\r\n \r\n 5.7 Although we make reasonable efforts to update the information on\r\n our site, we make no representations, warranties or guarantees,\r\n whether express or implied, that Our Content on the Site is\r\n accurate, complete or up to date.\r\n

\r\n \r\n 6. Link to third party content \r\n

\r\n \r\n 6.1 The Site may contain links to websites or applications operated\r\n by third-parties. We do not have any influence or control over any\r\n such third-party websites or applications or the third-party\r\n operator. We are not responsible for and do not endorse any\r\n third-party websites or applications or their availability or\r\n content.\r\n

\r\n \r\n 6.2 We accept no responsibility for adverts contained within the\r\n Site. If you agree to purchase goods and/or services from any third\r\n party who advertises in the Site, you do so at your own risk. The\r\n advertiser, and not us, is responsible for such goods and/or\r\n services and if you have any questions or complaints in relation to\r\n them, you should contact the advertiser.\r\n

\r\n \r\n 6.3 Our Restream application utilizes YouTube API services.\r\n By using the features of this Restream application that utilize YouTube API services,\r\n you are also agreeing to be bound by the YouTube Terms of Service located at Youtube Terms page.\r\n

\r\n \r\n 6.4 Our application’s Privacy Policy explains how we use YouTube API services and how we handle your data.\r\n By using our application, you acknowledge and agree to our Privacy Policy. You can review our Privacy Policy.\r\n For information on how to manage and revoke API Client's access to your data, you can visit the Google security settings page.\r\n

\r\n\r\n \r\n 7. Site Management\r\n

\r\n \r\n 7.1 We reserve the right at our sole discretion, to (1) monitor the\r\n Site for breaches of these Terms and Conditions; (2) take\r\n appropriate legal action against anyone in breach of applicable laws\r\n or these Terms and Conditions; (3) refuse, restrict access to or\r\n availability of, or disable (to the extent technologically feasible)\r\n any of your Contributions; (4) remove from the Site or otherwise\r\n disable all files and content that are excessive in size or are in\r\n any way a burden to our systems; and (5) otherwise manage the Site\r\n in a manner designed to protect our rights and property and to\r\n facilitate the proper functioning of the Site and Services.\r\n

\r\n \r\n 7.2 We do not guarantee that the Site will be secure or free from\r\n bugs or viruses.\r\n

\r\n \r\n 7.3 You are responsible for configuring your information technology,\r\n computer programs and platform to access the Site and you should use\r\n your own virus protection software.\r\n

\r\n \r\n 8. Modifications to and availability of the Site \r\n

\r\n \r\n 8.1 We reserve the right to change, modify, or remove the contents\r\n of the Site at any time or for any reason at our sole discretion\r\n without notice. We also reserve the right to modify or discontinue\r\n all or part of the Services without notice at any time.\r\n

\r\n \r\n 8.2 We cannot guarantee the Site and Services will be available at\r\n all times. We may experience hardware, software, or other problems\r\n or need to perform maintenance related to the Site, resulting in\r\n interruptions, delays, or errors. You agree that we have no\r\n liability whatsoever for any loss, damage, or inconvenience caused\r\n by your inability to access or use the Site or Services during any\r\n downtime or discontinuance of the Site or Services. We are not\r\n obliged to maintain and support the Site or Services or to supply\r\n any corrections, updates, or releases.\r\n

\r\n \r\n 8.3 There may be information on the Site that contains typographical\r\n errors, inaccuracies, or omissions that may relate to the Services,\r\n including descriptions, pricing, availability, and various other\r\n information. We reserve the right to correct any errors,\r\n inaccuracies, or omissions and to change or update the information\r\n at any time, without prior notice.\r\n

\r\n \r\n 9. Disclaimer/Limitation of Liability \r\n

\r\n \r\n 9.1 The Site and Services are provided on an as-is and as-available\r\n basis. You agree that your use of the Site and/or Services will be\r\n at your sole risk except as expressly set out in these Terms and\r\n Conditions. All warranties, terms, conditions and undertakings,\r\n express or implied (including by statute, custom or usage, a course\r\n of dealing, or common law) in connection with the Site and Services\r\n and your use thereof including, without limitation, the implied\r\n warranties of satisfactory quality, fitness for a particular purpose\r\n and non-infringement are excluded to the fullest extent permitted by\r\n applicable law.\r\n

\r\n \r\n We make no warranties or representations about the accuracy or\r\n completeness of the Site’s content and are not liable for any (1)\r\n errors or omissions in content: (2) any unauthorized access to or\r\n use of our servers and/or any and all personal information and/or\r\n financial information stored on our server; (3) any interruption or\r\n cessation of transmission to or from the site or services; and/or\r\n (4) any bugs, viruses, trojan horses, or the like which may be\r\n transmitted to or through the site by any third party. We will not\r\n be responsible for any delay or failure to comply with our\r\n obligations under these Terms and Conditions if such delay or\r\n failure is caused by an event beyond our reasonable control.\r\n

\r\n \r\n 10. Term and Termination \r\n

\r\n \r\n 10.1 These Terms and Conditions shall remain in full force and\r\n effect while you use the Site or Services or are otherwise a user of\r\n the Site, as applicable. You may terminate your use or participation\r\n at any time, for any reason, by following the instructions for\r\n terminating user accounts in your account settings, if available, or\r\n by contacting us at\r\n \r\n info@viulive.com.\r\n \r\n

\r\n \r\n 10.2 Without limiting any other provision of these Terms and\r\n Conditions, we reserve the right to, in our sole discretion and\r\n without notice or liability, deny access to and use of the Site and\r\n the Services (including blocking certain IP addresses), to any\r\n person for any reason including without limitation for breach of any\r\n representation, warranty or covenant contained in these Terms and\r\n Conditions or of any applicable law or regulation.\r\n

\r\n \r\n If we determine, in our sole discretion, that your use of the\r\n Site/Services is in breach of these Terms and Conditions or of any\r\n applicable law or regulation, we may terminate your use or\r\n participation in the Site and the Services or delete your profile\r\n and any content or information that you posted at any time, without\r\n warning, in our sole discretion.\r\n

\r\n \r\n 10.3 If we terminate or suspend your account for any reason set out\r\n in this Section 9, you are prohibited from registering and creating\r\n a new account under your name, a fake or borrowed name, or the name\r\n of any third party, even if you may be acting on behalf of the third\r\n party. In addition to terminating or suspending your account, we\r\n reserve the right to take appropriate legal action, including\r\n without limitation pursuing civil, criminal, and injunctive redress.\r\n

\r\n \r\n 11. Mobile Application \r\n

\r\n \r\n 11.1 If you access the Services via a mobile application, then we\r\n grant you a revocable, non-exclusive, non-transferable, limited\r\n right to install and use the mobile application on wireless\r\n electronic devices owned or controlled by you, and to access and use\r\n the mobile application on such devices strictly in accordance with\r\n the terms and conditions of this license.\r\n

\r\n \r\n 11.2 The following terms apply when you use a mobile application\r\n obtained from either the Apple Store or Google Play (each an App\r\n Distributor) to access the Services:\r\n

\r\n \r\n (a) The license granted to you for our mobile application is limited\r\n to a non-transferable license to use the application on a device\r\n that utilizes the Apple iOS or Android operating system, as\r\n applicable, and in accordance with the usage rules set forth in the\r\n applicable App Distributor terms of service;\r\n

\r\n \r\n (b) We are responsible for providing any maintenance and support\r\n services with respect to the mobile application as specified in\r\n these Terms and Conditions or as otherwise required under applicable\r\n law. You acknowledge that each App Distributor has no obligation\r\n whatsoever to furnish any maintenance and support services with\r\n respect to the mobile application;\r\n

\r\n \r\n (c) In the event of any failure of the mobile application to conform\r\n to any applicable warranty, you may notify an App Distributor, and\r\n the App Distributor, in accordance with its terms and policies, may\r\n refund the purchase price, if any, paid for the mobile application,\r\n and to the maximum extent permitted by applicable law, an App\r\n Distributor will have no other warranty obligation whatsoever with\r\n respect to the mobile application;\r\n

\r\n \r\n (d) You represent and warrant that (i) you are not located in a\r\n country that is subject to a U.S. government embargo, or that has\r\n been designated by the U.S. government as a “terrorist supporting”\r\n country; and (ii) you are not listed on any U.S. government list of\r\n prohibited or restricted parties;\r\n

\r\n \r\n (e) You must comply with applicable third-party terms of agreement\r\n when using the mobile application, e.g., if you have a VoIP\r\n application, then you must not be in breach of their wireless data\r\n service agreement when using the mobile application;\r\n

\r\n \r\n (f) You acknowledge and agree that the App Distributors are third\r\n party beneficiaries of these Terms and Conditions, and that each App\r\n Distributor will have the right (and will be deemed to have accepted\r\n the right) to enforce these Terms and Conditions against you as a\r\n third-party beneficiary thereof.\r\n

\r\n \r\n 12. General \r\n

\r\n \r\n 12.1 Visiting the Site, sending us emails, and completing online\r\n forms constitute electronic communications. You consent to receive\r\n electronic communications and you agree that all agreements,\r\n notices, disclosures, and other communications we provide to you\r\n electronically, via email and on the Site, satisfy any legal\r\n requirement that such communication be in writing.\r\n

\r\n \r\n \r\n You hereby agree to the use of electronic signatures, contracts,\r\n orders and other records and to electronic delivery of notices,\r\n policies and records of transactions initiated or completed by us\r\n or via the Site\r\n \r\n . You hereby waive any rights or requirements under any statutes,\r\n regulations, rules, ordinances or other laws in any jurisdiction\r\n which require an original signature or delivery or retention of\r\n non-electronic records, or to payments or the granting of credits by\r\n other than electronic means.\r\n

\r\n \r\n 12.2 These Terms and Conditions and any policies or operating rules\r\n posted by us on the Site or in respect to the Services constitute\r\n the entire agreement and understanding between you and us.\r\n

\r\n \r\n 12.3 Our failure to exercise or enforce any right or provision of\r\n these Terms and Conditions shall not operate as a waiver of such\r\n right or provision.\r\n

\r\n \r\n 12.4 We may assign any or all of our rights and obligations to\r\n others at any time.\r\n

\r\n \r\n 12.5 We shall not be responsible or liable for any loss, damage,\r\n delay or failure to act caused by any cause beyond our reasonable\r\n control.\r\n

\r\n \r\n 12.6 If any provision or part of a provision of these Terms and\r\n Conditions is unlawful, void or unenforceable, that provision or\r\n part of the provision is deemed severable from these Terms and\r\n Conditions and does not affect the validity and enforceability of\r\n any remaining provisions.\r\n

\r\n \r\n 12.7 There is no joint venture, partnership, employment or agency\r\n relationship created between you and us as a result of these Terms\r\n and Conditions or use of the Site or Services.\r\n

\r\n \r\n 12.8 A person who is not a party to these Terms and Conditions shall\r\n have no right under the Contracts (Rights of Third Parties) Act 1999\r\n to enforce any term of these Terms and Conditions.\r\n

\r\n \r\n 12.9 In order to resolve a complaint regarding the Services or to\r\n receive further information regarding use of the Services, please\r\n contact us by email at\r\n \r\n info@viulive.com\r\n \r\n .\r\n

\r\n \r\n 13. Use Policy\r\n

\r\n \r\n Violating any of the items listed below is a violation of this Use\r\n Policy & the Terms and Agreements. Your account would be subject to\r\n termination and you would be liable in case you have caused any\r\n harms and damages to anyone involved.\r\n

\r\n
    \r\n \r\n Systematically retrieve data or other content from the Site to a\r\n compile database or directory without written permission from us\r\n \r\n \r\n Make any unauthorized use of the Site, including collecting\r\n usernames and/or email addresses of users to send unsolicited\r\n email or creating user accounts under false pretenses\r\n \r\n \r\n Use a buying agent or purchasing agent to make purchases on the\r\n Site\r\n \r\n \r\n Use the Site to advertise or sell goods and services\r\n \r\n \r\n Circumvent, disable, or otherwise interfere with security-related\r\n features of the Site, including features that prevent or restrict\r\n the use or copying of any content or enforce limitations on the\r\n use\r\n \r\n \r\n Engage in unauthorized framing of or linking to the Site\r\n \r\n \r\n Trick, defraud, or mislead us and other users, especially in any\r\n attempt to learn sensitive account information such as user\r\n passwords\r\n \r\n \r\n Make improper use of our support services, or submit false reports\r\n of abuse or misconduct\r\n \r\n \r\n Engage in any automated use of the system, such as using scripts\r\n to send comments or messages, or using any data mining, robots, or\r\n similar data gathering and extraction tools\r\n \r\n \r\n Interfere with, disrupt, or create an undue burden on the Site or\r\n the networks and services connected to the Site\r\n \r\n \r\n Attempt to impersonate another user or person, or use the username\r\n of another user\r\n \r\n \r\n Sell or otherwise transfer your profile\r\n \r\n \r\n Use any information obtained from the Site in order to harass,\r\n abuse, or harm another person\r\n \r\n \r\n Use the Site or our content as part of any effort to compete with\r\n us or to create a revenue-generating endeavor or commercial\r\n enterprise\r\n \r\n \r\n Decipher, decompile, disassemble, or reverse engineer any of the\r\n software comprising or in any way making up a part of the Site\r\n \r\n \r\n Attempt to access any portions of the Site that you are restricted\r\n from accessing\r\n \r\n \r\n Harass, annoy, intimidate, or threaten any of our employees,\r\n agents, or other users\r\n \r\n \r\n Delete the copyright or other proprietary rights notice from any\r\n of the content\r\n \r\n \r\n Copy or adapt the Site’s software, including but not limited to\r\n Flash, PHP, HTML, JavaScript, or other code\r\n \r\n \r\n Upload or transmit (or attempt to upload or to transmit) viruses,\r\n Trojan horses, or other material that interferes with any party’s\r\n uninterrupted use and enjoyment of the Site, or any material that\r\n acts as a passive or active information collection or transmission\r\n mechanism\r\n \r\n \r\n Use, launch, or engage in any automated use of the system, such as\r\n using scripts to send comments or messages, robots, scrapers,\r\n offline readers, or similar data gathering and extraction tools\r\n \r\n \r\n Disparage, tarnish, or otherwise harm, in our opinion, us and/or\r\n the Site\r\n \r\n \r\n Use the Site in a manner inconsistent with any applicable laws or\r\n regulations\r\n \r\n \r\n Threaten users with negative feedback or offering services solely\r\n to give positive feedback to users\r\n \r\n \r\n Misrepresent experience, skills, or information about a User\r\n \r\n \r\n Advertise products or services considered illegal or harmful{\" \"}\r\n \r\n \r\n Post or live stream any inappropriate or poor images or texts{\" \"}\r\n \r\n \r\n Post, live stream or suggest any racial or offensive images or\r\n texts or comments\r\n \r\n \r\n Solicit sexual services\r\n \r\n\r\n \r\n Post or livestream any copyrighted or unauthorized images or\r\n videos{\" \"}\r\n \r\n \r\n ViuLive does not guarantee maintaining, archiving, protecting or\r\n indefinitely keeping your images/videos or any postings for\r\n anything you have posted on ViuLive. We recommend that you keep a\r\n backup of all your materials. Videos with poor quality and or very\r\n low view ratings may be removed at any time.\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\nexport default termsAndConditions;\r\n","import React from \"react\";\r\n\r\n\r\nexport const Notifi = (props) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const Reaction = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\nexport const Preview = (props) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const Follow = (props) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const Event = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const Monetization = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const Comment = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const ProfileAvatar = (props) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\n//===================================DIRECTOR'S ICONS=================================\r\nexport const DirectorCam = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const EditIcon = (props) => {\r\n return (\r\n \r\n \r\n \r\n \r\n\r\n );\r\n};\r\n\r\nexport const CloseTempIcon = (props) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\n\r\nexport const DirectorCam2 = (props) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\n\r\nexport const MuteCam = (props) => {\r\n return (\r\n \r\n \r\n \r\n \r\n\r\n );\r\n};\r\n\r\nexport const UnMuteCam = (props) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const RealTimeIcon = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const PreDefined = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const ArrowDown = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const CrossIcon = (props) => {\r\n return (\r\n \r\n \r\n \r\n \r\n\r\n );\r\n};\r\n\r\nexport const TransitionBuffer = (props) => {\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\n\r\n\r\n\r\nexport const PlusIcon = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const DeleteIcon = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const Timer = (props) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const PositionsIcon = (props) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const ArrowRight = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const ImagePlaceholder = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const CloseIcon = (props) => {\r\n return (\r\n {\r\n console.log(\"CloseIcon\");\r\n console.log(event);\r\n event.stopPropagation();\r\n event.preventDefault();\r\n if(props?.deleteLogoHandler) {\r\n props.deleteLogoHandler();\r\n }\r\n }}\r\n viewBox=\"0 0 8 8\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n \r\n \r\n );\r\n};\r\n\r\nexport const DirectorCamPlus = (props) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\n//=============================ICONS TO CONTROL DIRECTOR'S IMAGE POSITIONS================================\r\n\r\nexport const BottomLeft = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const BottomCenter = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const BottomRight = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const MiddleLeft = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const MiddleCenter = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const MiddleRight = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const TopLeft = (props) => {\r\n return (\r\n \r\n \r\n \r\n\r\n\r\n );\r\n};\r\n\r\nexport const TopCenter = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const TopRight = (props) => {\r\n return (\r\n props.color !== \"#6C5ECF\" ?\r\n \r\n \r\n \r\n :\r\n \r\n \r\n \r\n\r\n );\r\n};\r\n\r\nexport const RemoveCam = (props) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const NoneIcon = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const CloseIconRounded = (props) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const AddTemplate = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const DirectorIcon = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\nexport const DirectorIconSmall = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\n\r\nexport const InfoIcon = (props) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const BulletIcon = (props) => {\r\n return (\r\n \r\n \r\n \r\n\r\n\r\n );\r\n};\r\n\r\nexport const OptionIcon = (props) => {\r\n return (\r\n \r\n \r\n \r\n \r\n\r\n\r\n );\r\n};\r\n\r\n\r\nexport const ChangeTemplateIcon = (props) => {\r\n return (\r\n \r\n \r\n \r\n \r\n\r\n )\r\n}\r\n\r\n\r\nexport const EmojiIcon = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n )\r\n}\r\nexport const YoutubeIcon = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const Youtube = (props) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n )\r\n}\r\n\r\n\r\nexport const QuickGuideIcon = (props) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\n\r\nexport const BulletIconSec = (props) => {\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\n\r\nexport const ReplayIcon = (props) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n )\r\n}\r\n\r\n\r\nexport const StarIcon = (props) => {\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\n\r\nexport const RightIcon = () => {\r\n return ( \r\n \r\n \r\n \r\n )\r\n}\r\n\r\n\r\nexport const QuestionMark = (props) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n )\r\n}\r\n\r\nexport const DirectIconSec = () => {\r\n return ( \r\n \r\n \r\n \r\n )\r\n}\r\n\r\n\r\nexport const ArrowForward = () => {\r\n return(\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}","import * as firebase from \"firebase/app\";\r\n\r\nexport const logEvent = (eventName) => {\r\n process.env.REACT_APP_IS_PRODUCTION === \"true\" &&\r\n firebase.analytics().logEvent(eventName);\r\n};\r\n\r\nexport const setUserProperties = (user) =>\r\n process.env.REACT_APP_IS_PRODUCTION === \"true\" &&\r\n firebase.analytics().setUserProperties(user);\r\n","import React from \"react\";\r\nimport { Route, Switch, withRouter, Redirect } from \"react-router-dom\";\r\nimport { asyncComponent } from \"@pmviulive/msd-reactjs\";\r\nimport { isMobile, isTablet } from \"react-device-detect\";\r\nimport { notFound, accessDenied } from \"@pmviulive/vume-reactjs\";\r\n// =====================================================\r\n\r\nconst asyncLandingPage = asyncComponent(() => {\r\n return import(\"../view/modules/landingPage/landingPage\");\r\n});\r\nconst asyncSearchResultPage = asyncComponent(() => {\r\n return import(\"../view/modules/searchResult/searchResult\");\r\n});\r\nconst asyncWatchPage = asyncComponent(() => {\r\n return import(\"../view/modules/watch/watchWrapper\");\r\n});\r\nconst asyncDetailPage = asyncComponent(() => {\r\n return import(\"../view/modules/eventDetail/eventDetail\");\r\n});\r\nconst asyncBroadcast = asyncComponent(() => {\r\n return import(\"../view/modules/broadcast/broadcast\");\r\n});\r\nconst asyncScheduleConfirm = asyncComponent(() => {\r\n return import(\r\n \"../view/modules/broadcast/components/scheduleConfirm/scheduleConfirm\"\r\n );\r\n});\r\nconst asyncReactionView = asyncComponent(() => {\r\n return import(\"../view/modules/reactionsView/reactionView\");\r\n});\r\nconst asyncConfirmJoin = asyncComponent(() => {\r\n return import(\"../view/modules/broadcast/components/joinConfirm/joinConfirm\");\r\n});\r\nconst asyncCapture = asyncComponent(() => {\r\n return import(\"../view/modules/capturing/capturing\");\r\n});\r\nconst asyncMyEvent = asyncComponent(() => {\r\n return import(\"../view/modules/myEvent/myEvent\");\r\n});\r\nconst asyncEditCamera = asyncComponent(() => {\r\n return import(\"../view/modules/broadcast/components/member/member\");\r\n});\r\nconst asyncMobileSearch = asyncComponent(() => {\r\n return import(\"../view/layout/search/mobileSearchPage\");\r\n});\r\nconst asyncUserProfile = asyncComponent(() => {\r\n return import(\"../view/modules/userProfile/\");\r\n});\r\n\r\nconst asyncPremium = asyncComponent(() => {\r\n return import(\"../view/modules/premium/premium\");\r\n});\r\nconst asyncMobileLoginByGoogle = asyncComponent(() => {\r\n return import(\"../view/modules/auth/mobileLoginByGoogle/mobileLoginByGoogle\");\r\n});\r\n\r\nconst asyncloginResult = asyncComponent(() => {\r\n return import(\"../view/modules/auth/mobileLoginByGoogle/loginResult\");\r\n});\r\nconst asyncEndedEvents = asyncComponent(() => {\r\n return import(\"../view/modules/watch/components/endedEvents/endedEvents\");\r\n});\r\nconst asyncFinishBroadcast = asyncComponent(() => {\r\n return import(\r\n \"../view/modules/broadcast/components/finishBroadcast/finishBroadcast\"\r\n );\r\n});\r\nconst asyncReCaptchaV3 = asyncComponent(() => {\r\n return import(\"../view/modules/reCaptchaV3/reCaptchaV3\");\r\n});\r\nconst asyncReCaptchaV2 = asyncComponent(() => {\r\n return import(\"../view/modules/reCaptchaV2/reCaptchaV2\");\r\n});\r\nconst asyncDownoadApp = asyncComponent(() => {\r\n return import(\"../view/sharedComponents/downloadApp/downloadApp\");\r\n});\r\nconst asyncPrivacyPage = asyncComponent(() => {\r\n return import(\"../view/modules/privacy/privacy\");\r\n});\r\nconst asyncFAQPage = asyncComponent(() => {\r\n return import(\"../view/modules/faq/faq\");\r\n});\r\nconst asyncTermsPage = asyncComponent(() => {\r\n return import(\"../view/modules/termsAndConditions/termsAndConditions\");\r\n});\r\nconst asyncNoPermission = asyncComponent(() => {\r\n return import(\"../view/sharedComponents/errors/noPermission\");\r\n});\r\nconst asyncNotFoundData = asyncComponent(() => {\r\n return import(\"../view/sharedComponents/errors/notFound\");\r\n});\r\nconst asyncLogout = asyncComponent(() => {\r\n return import(\"../view/modules/auth/logout/logout\");\r\n});\r\n// const asyncFollowing = asyncComponent(() => {\r\n// return import(\"../view/modules/followersAndFollowing/following\");\r\n// });\r\n// const asyncFollowers = asyncComponent(() => {\r\n// return import(\"../view/modules/followersAndFollowing/followers\");\r\n// });\r\n// const asyncMixer = asyncComponent(() => {\r\n// return import(\"../view/modules/mixer/mixerWrapper\");\r\n// });\r\n// const asyncDirector = asyncComponent(() => {\r\n// return import(\"../view/modules/mixer/director\");\r\n// });\r\nconst asyncSetting = asyncComponent(() => {\r\n return import(\"../view/modules/setting/setting\");\r\n});\r\nconst asyncMyProfile = asyncComponent(() => {\r\n return import(\"../view/modules/myProfile/myProfile\");\r\n});\r\n\r\nconst asyncTransactionsHistory = asyncComponent(() => {\r\n return import(\r\n \"../view/modules/myProfile/components/transactionsHistory/transactionsHistory\"\r\n );\r\n});\r\nconst asyncWithdraw = asyncComponent(() => {\r\n return import(\"../view/modules/myProfile/components/withdraw/withdraw\");\r\n});\r\n\r\nconst asyncDirector = asyncComponent(() => {\r\n return import(\"../view/modules/director/director\");\r\n});\r\n\r\nconst asyncSafetySection = asyncComponent(() => {\r\n return import(\"../view/modules/safetySection/safetySection\");\r\n});\r\n// const asyncTopUp = asyncComponent(() => {\r\n// return import(\"../view/modules/topUp/topUp\");\r\n// });\r\nconst routes = () => {\r\n const userInfo = JSON.parse(localStorage.getItem(\"user\"));\r\n const createRedirect = (to) => () => ;\r\n if (userInfo) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {/* */}\r\n {/* */}\r\n \r\n\r\n {/* \r\n */}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n\r\n */}\r\n\r\n \r\n \r\n );\r\n } else {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n};\r\n\r\nexport default withRouter(routes);\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\n\r\nimport { useSelector } from \"react-redux\";\r\nimport { Menu } from \"@pmviulive/msd-reactjs\";\r\nimport { isMobile, isFirefox, isChrome } from \"react-device-detect\";\r\n\r\nimport i18n from \"../../../../config/i18n\";\r\nimport { logEvent } from \"../../../../config/analytics\";\r\nimport { throwNotification } from \"../../../sharedComponents/errors/throwError/throwError\";\r\nimport { DirectIconSec, DirectorIcon } from \"../../../../config/icons\";\r\nimport TooltipModal from \"../../../modules/director/components/TooltipModal/TooltipModal\";\r\n\r\nimport \"./menu.scss\";\r\n\r\nconst MenuComponent = (props) => {\r\n const [position, setPosition] = useState({\r\n top: 0,\r\n left:0,\r\n })\r\n const quickLiveRef = useRef();\r\n\r\n const updateTooltipPosition = () => {\r\n const element = quickLiveRef.current;\r\n const rect = element.getBoundingClientRect();\r\n const tooltipLeft = rect.left;\r\n\r\n // Calculate the initial tooltip top position\r\n const initialTooltipTop = rect.top - 5 ;\r\n\r\n // Calculate the adjusted tooltip top position based on screen height\r\n const screenHeight = window.innerHeight;\r\n const adjustedTooltipTop = screenHeight > 800 ? initialTooltipTop + 50 : initialTooltipTop;\r\n\r\n if (isFirefox) {\r\n setPosition({\r\n top: `${initialTooltipTop}px`,\r\n left: `${tooltipLeft + 230}px`,\r\n });\r\n } else {\r\n setPosition({\r\n top: `${initialTooltipTop}px`,\r\n left: `${tooltipLeft + 230}px`,\r\n });\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n // Calculate the initial position\r\n updateTooltipPosition();\r\n\r\n // Update the position when the window is resized or scrolled\r\n window.addEventListener('resize', updateTooltipPosition);\r\n window.addEventListener('scroll', updateTooltipPosition);\r\n\r\n // Clean up event listeners when the component unmounts\r\n return () => {\r\n window.removeEventListener('resize', updateTooltipPosition);\r\n window.removeEventListener('scroll', updateTooltipPosition);\r\n };\r\n }, [props.quickLiveTooltip]);\r\n\r\n\r\n\r\n const theme = useSelector((state) => state.local.theme);\r\n const handleMenu = (link) => {\r\n if (localStorage.getItem(\"user\")) {\r\n props.history.push(link);\r\n } else {\r\n if (props.collapsed || isMobile) {\r\n props.toggleClick();\r\n }\r\n return throwNotification({\r\n type: \"error\",\r\n message: i18n.t(\"info.loginForAccess\"),\r\n });\r\n }\r\n };\r\n let active;\r\n switch (props.location?.pathname) {\r\n case \"/\":\r\n active = \"/\";\r\n break;\r\n case \"/advancedLive\":\r\n active = \"/advancedLive\";\r\n break;\r\n case \"/capture\":\r\n active = \"/capture\";\r\n break;\r\n case \"/director\":\r\n active = \"/director\";\r\n break;\r\n case \"/join\":\r\n active = \"/join\";\r\n break;\r\n case \"/director\":\r\n active = \"/director\";\r\n break;\r\n default:\r\n active = \"\";\r\n }\r\n\r\n return (\r\n \r\n {/* ======================REDIRECTS TO FEEDS====================== */}\r\n \r\n {\r\n logEvent(\"FEED_CLICK\");\r\n props.history.push(\"/\");\r\n }}\r\n >\r\n {active === \"/\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n {i18n.t(\"text.feeds\")}\r\n \r\n {props.collapsed ? (\r\n
{i18n.t(\"text.feeds\")}
\r\n ) : null}\r\n
\r\n \r\n\r\n {/* ======================REDIRECTS TO QUICK LIVE====================== */}\r\n \r\n props.setTooltips({ quickLiveTooltip: false, RealTime: true })}\r\n setVisible={() => props.setTooltips(false)}\r\n top={position.top}\r\n left={position.left}\r\n arrowLeft\r\n title='Quick live:'\r\n note=' It is required to use the same account credentials when logging in across all intended devices to ensure a smooth Director experience.'\r\n >\r\n <>Select \"Quick Live\" and choose your cameras, Then click on Switch to director \r\n to start the live stream on web. On mobile, tap \"Quick Live\" to start previewing\r\n \r\n
\r\n \r\n Switch to Director\r\n
\r\n \r\n
handleMenu(\"/capture\")}>\r\n {active === \"/capture\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n\r\n \r\n Quick Live\r\n \r\n {props.collapsed ? (\r\n
Quick Live
\r\n ) : null}\r\n
\r\n
\r\n\r\n {/* ======================REDIRECTS TO ADVANCED LIVE====================== */}\r\n \r\n
handleMenu(\"/advancedLive\")}>\r\n {active === \"/advancedLive\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n\r\n Advanced Live\r\n\r\n {props.collapsed ? (\r\n
Advanced Live
\r\n ) : null}\r\n
\r\n \r\n\r\n {/* ======================REDIRECTS TO DIRECTOR LIVE====================== */}\r\n \r\n
handleMenu(\"/director\")}>\r\n {active === \"/director\" ? (\r\n <>\r\n ) : (\r\n <>\r\n )}\r\n\r\n\r\n {props.collapsed ? (\r\n
Director
\r\n ) :\r\n Director\r\n }\r\n
\r\n \r\n {/* ======================REDIRECTS TO JOIN PAGE====================== */}\r\n \r\n
handleMenu(\"/join\")}>\r\n {active === \"/join\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n\r\n \r\n Join\r\n \r\n {props.collapsed ? (\r\n
Join
\r\n ) : null}\r\n
\r\n
\r\n\r\n {/* FOR HANDLING TOOLTIPS */}\r\n \r\n );\r\n};\r\n\r\nexport default MenuComponent;\r\n","import { isEmpty, isEmail, isBetweenLength } from \"@pmviulive/msd-js\";\r\nimport i18n from \"../../../../config/i18n\";\r\nimport { throwNotification } from \"../../../sharedComponents/errors/throwError/throwError\";\r\n\r\nexport const checkValidation = (username, password) => {\r\n if (isEmpty(username)) {\r\n throwNotification({\r\n type: \"error\",\r\n message: i18n.t(\"validations.enterEmail\"),\r\n });\r\n return false;\r\n }\r\n if (!isEmail(username)) {\r\n throwNotification({\r\n type: \"error\",\r\n message: i18n.t(\"validations.validEmail\"),\r\n });\r\n return false;\r\n }\r\n if (isEmpty(password)) {\r\n throwNotification({\r\n type: \"error\",\r\n message: i18n.t(\"validations.enterPassword\"),\r\n });\r\n return false;\r\n }\r\n\r\n if (!isBetweenLength(password, 8, 30)) {\r\n throwNotification({\r\n type: \"error\",\r\n message: i18n.t(\"errors.authFailed\"),\r\n });\r\n return false;\r\n }\r\n return true;\r\n};\r\n","import {\r\n isEmpty,\r\n isEmail,\r\n isBetweenLength,\r\n isPasswordMatched,\r\n} from \"@pmviulive/msd-js\";\r\nimport i18n from \"../../../../config/i18n\";\r\nimport { throwNotification } from \"../../../sharedComponents/errors/throwError/throwError\";\r\n\r\nexport const checkValidation = (email) => {\r\n if (isEmpty(email)) {\r\n throwNotification({\r\n type: \"error\",\r\n message: i18n.t(\"validations.enterEmail\"),\r\n });\r\n return false;\r\n }\r\n if (!isEmail(email)) {\r\n throwNotification({\r\n type: \"error\",\r\n message: i18n.t(\"validations.validEmail\"),\r\n });\r\n return false;\r\n }\r\n return true;\r\n};\r\n\r\nexport const changePasswordValidation = (password, confirmPassword) => {\r\n if (isEmpty(password)) {\r\n throwNotification({\r\n type: \"error\",\r\n message: i18n.t(\"validations.enterPassword\"),\r\n });\r\n return false;\r\n }\r\n if (!isBetweenLength(password, 8, 30)) {\r\n throwNotification({\r\n type: \"error\",\r\n message: i18n.t(\"validations.passwordLength\"),\r\n });\r\n return false;\r\n }\r\n if (isEmpty(confirmPassword)) {\r\n throwNotification({\r\n type: \"error\",\r\n message: i18n.t(\"validations.confirmPassword\"),\r\n });\r\n return false;\r\n }\r\n\r\n if (!isPasswordMatched(password, confirmPassword)) {\r\n throwNotification({\r\n type: \"error\",\r\n message: i18n.t(\"validations.passwordMatch\"),\r\n });\r\n return false;\r\n }\r\n return true;\r\n};\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport Countdown from \"react-countdown-now\";\r\nimport ReactCodeInput from \"react-verification-code-input\";\r\nimport { Form, Input, Button, Spinner } from \"@pmviulive/msd-reactjs\";\r\nimport { checkValidation, changePasswordValidation } from \"./validityCheck\";\r\nimport {\r\n forgotPasswordSendCode,\r\n forgotPasswordCheckCode,\r\n forgotPasswordChangePassword,\r\n} from \"@pmviulive/vume-js\";\r\nimport i18n from \"../../../../config/i18n\";\r\nimport { logEvent } from \"../../../../config/analytics\";\r\nimport { throwNotification } from \"../../../sharedComponents/errors/throwError/throwError\";\r\n\r\nimport \"./forgotPassword.scss\";\r\n\r\nclass ForgotPassword extends Component {\r\n state = {\r\n code: null,\r\n email: null,\r\n password: null,\r\n confirmPassword: null,\r\n step: 0,\r\n isCountdownFinish: false,\r\n countdown: null,\r\n count: Date.now() + 10 * 60000,\r\n joinTimes: 0,\r\n };\r\n\r\n countdown = () => {\r\n const countdown = setInterval(\r\n () => this.setState({ count: this.state.count - 1 }),\r\n 1000\r\n );\r\n this.setState({ countdown });\r\n };\r\n\r\n componentWillUnmount = () => {\r\n clearInterval(this.state.countdown);\r\n };\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n if (this.state.step === 1 && prevState.step === 0) {\r\n this.countdown();\r\n }\r\n }\r\n\r\n onChangeHandler = (key, e) => {\r\n this.setState({\r\n [key]: e.target.value,\r\n });\r\n };\r\n\r\n emailHandler = (e) => {\r\n e.preventDefault();\r\n const valid = checkValidation(this.state.email);\r\n if (valid) {\r\n this.props.sendCode(this.state.email, this.props.server);\r\n }\r\n };\r\n\r\n changePasswordSubmit = (e) => {\r\n e.preventDefault();\r\n const valid = changePasswordValidation(\r\n this.state.password,\r\n this.state.confirmPassword\r\n );\r\n if (valid) {\r\n this.props.changePassword(\r\n this.state.email,\r\n this.state.code,\r\n this.state.confirmPassword,\r\n this.props.server\r\n );\r\n }\r\n };\r\n\r\n checkCodeHandler = (e) => {\r\n if (e !== this.state.code) {\r\n this.props.checkCode(this.state.email, e, this.props.server);\r\n }\r\n this.setState({\r\n code: e,\r\n });\r\n };\r\n\r\n UNSAFE_componentWillReceiveProps(nextProps) {\r\n if (\r\n nextProps.error &&\r\n nextProps.error !== this.props.error &&\r\n this.state.step === 0\r\n ) {\r\n throwNotification({\r\n type: \"error\",\r\n message: i18n.t(\"errors.emailNotExist\"),\r\n });\r\n }\r\n if (\r\n nextProps.response &&\r\n nextProps.response !== this.props.response &&\r\n this.state.step === 0\r\n ) {\r\n this.setState({ step: 1 });\r\n }\r\n\r\n if (\r\n nextProps.error &&\r\n nextProps.error !== this.props.error &&\r\n this.state.step === 1 &&\r\n nextProps.error.type === \"error.validation\"\r\n ) {\r\n this.setState({ joinTimes: this.state.joinTimes + 1 }, () => {\r\n if (this.state.joinTimes > 10) {\r\n throwNotification({\r\n type: \"error\",\r\n message: i18n.t(\"errors.blockedByOtp\"),\r\n });\r\n this.setState({ step: 0, joinTimes: 0 });\r\n } else {\r\n throwNotification({\r\n type: \"error\",\r\n message: i18n.t(\"errors.verificationCode\"),\r\n });\r\n }\r\n });\r\n }\r\n if (\r\n nextProps.response &&\r\n nextProps.response !== this.props.response &&\r\n this.state.step === 1\r\n ) {\r\n if (nextProps.response === \"checkCode\") {\r\n this.setState({ step: 2 });\r\n }\r\n }\r\n if (\r\n nextProps.response &&\r\n nextProps.response !== this.props.response &&\r\n this.state.step === 2\r\n ) {\r\n logEvent(\"FORGET_PASSWORD\");\r\n throwNotification({\r\n type: \"success\",\r\n message: i18n.t(\"success.changePassword\"),\r\n });\r\n this.props.onCancel();\r\n }\r\n if (\r\n nextProps.error &&\r\n nextProps.error !== this.props.error &&\r\n nextProps.error.statusCode === 400\r\n ) {\r\n if (\r\n nextProps.error.reasons.some((reason) => reason.objectName === \"otp\") &&\r\n this.state.step === 2\r\n ) {\r\n throwNotification({\r\n type: \"success\",\r\n message: i18n.t(\"info.otpExpired\"),\r\n });\r\n }\r\n }\r\n }\r\n\r\n renderer = ({ minutes, seconds }) => {\r\n if (seconds < 10) {\r\n seconds = `0${seconds}`;\r\n }\r\n return (\r\n \r\n {minutes}:{seconds}\r\n \r\n );\r\n };\r\n\r\n render() {\r\n return (\r\n
\r\n {this.props.loading && }\r\n\r\n

\r\n {!this.state.step ? (\r\n i18n.t(\"text.forgotPassword\")\r\n ) : this.state.step === 2 ? (\r\n i18n.t(\"text.forgotPassword\")\r\n ) : (\r\n <>\r\n {\" \"}\r\n {i18n.t(\"text.resetPassword\")}\r\n \r\n )}\r\n

\r\n\r\n {this.state.step === 0 ? (\r\n
this.emailHandler(e)}>\r\n \r\n this.onChangeHandler(\"email\", e)}\r\n />\r\n \r\n \r\n
\r\n this.emailHandler(e)}\r\n >\r\n {i18n.t(\"text.reset\")}\r\n \r\n
\r\n
\r\n
\r\n ) : this.state.step === 1 ? (\r\n
\r\n

{i18n.t(\"info.verificationHelp\")}

\r\n

\r\n {i18n.t(\"info.verificationExpire\")}\r\n {!this.state.isCountdownFinish && (\r\n this.setState({ isCountdownFinish: true })}\r\n />\r\n )}\r\n

\r\n {!this.state.isCountdownFinish && (\r\n this.checkCodeHandler(e)}\r\n />\r\n )}\r\n
\r\n {\r\n this.setState({\r\n isCountdownFinish: false,\r\n count: Date.now() + 10 * 60000,\r\n });\r\n if (!this.state.email) return;\r\n this.props.sendCode(this.state.email, this.props.server);\r\n }}\r\n >\r\n \r\n {i18n.t(\"text.resend\")}\r\n \r\n
\r\n
\r\n ) : this.state.step === 2 ? (\r\n
this.changePasswordSubmit(e)}>\r\n
\r\n\r\n \r\n this.onChangeHandler(\"password\", e)}\r\n placeholder={`${i18n.t(\"text.password\")}*`}\r\n />\r\n \r\n \r\n this.onChangeHandler(\"confirmPassword\", e)}\r\n placeholder={`${i18n.t(\"text.confirmPassword\")}*`}\r\n />\r\n \r\n \r\n
\r\n this.changePasswordSubmit(e)}\r\n >\r\n \r\n {i18n.t(\"text.resetPassword\")}\r\n \r\n
\r\n
\r\n \r\n ) : null}\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n response: state.auth.response,\r\n loading: state.auth.loading,\r\n error: state.auth.error,\r\n server: state.local.server,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n sendCode: (email, server) =>\r\n dispatch(forgotPasswordSendCode(email, server)),\r\n checkCode: (email, code, server) =>\r\n dispatch(forgotPasswordCheckCode(email, code, server)),\r\n changePassword: (email, code, newPassword, server) =>\r\n dispatch(forgotPasswordChangePassword(email, code, newPassword, server)),\r\n };\r\n};\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ForgotPassword);\r\n","import {\r\n isEmpty,\r\n isEmail,\r\n isBetweenLength,\r\n isPasswordMatched,\r\n isMinimumLength,\r\n} from \"@pmviulive/msd-js\";\r\nimport i18n from \"../../../../config/i18n\";\r\nimport { throwNotification } from \"../../../sharedComponents/errors/throwError/throwError\";\r\n\r\nexport const checkValidation = (data) => {\r\n if (isEmpty(data.identity.name)) {\r\n throwNotification({\r\n type: \"error\",\r\n message: i18n.t(\"validations.fullname\"),\r\n });\r\n return false;\r\n }\r\n if (!isMinimumLength(data.identity.name, 2)) {\r\n throwNotification({\r\n type: \"error\",\r\n message: i18n.t(\"validations.fullnameMinLength\"),\r\n });\r\n return false;\r\n }\r\n if (!isBetweenLength(data.identity.name, 3, 30)) {\r\n throwNotification({\r\n type: \"error\",\r\n message: i18n.t(\"validations.fullnameLength\"),\r\n });\r\n return false;\r\n }\r\n if (isEmpty(data.email)) {\r\n throwNotification({\r\n type: \"error\",\r\n message: i18n.t(\"validations.enterEmail\"),\r\n });\r\n return false;\r\n }\r\n if (!isEmail(data.email)) {\r\n throwNotification({\r\n type: \"error\",\r\n message: i18n.t(\"validations.validEmail\"),\r\n });\r\n return false;\r\n }\r\n if (isEmpty(data.password)) {\r\n throwNotification({\r\n type: \"error\",\r\n message: i18n.t(\"validations.enterPassword\"),\r\n });\r\n return false;\r\n }\r\n if (!isBetweenLength(data.password, 8, 30)) {\r\n throwNotification({\r\n type: \"error\",\r\n message: i18n.t(\"validations.passwordLength\"),\r\n });\r\n return false;\r\n }\r\n if (isEmpty(data.confirmPassword)) {\r\n throwNotification({\r\n type: \"error\",\r\n message: i18n.t(\"validations.confirmPassword\"),\r\n });\r\n return false;\r\n }\r\n\r\n if (!isPasswordMatched(data.password, data.confirmPassword)) {\r\n throwNotification({\r\n type: \"error\",\r\n message: i18n.t(\"validations.passwordMatch\"),\r\n });\r\n return false;\r\n }\r\n return true;\r\n};\r\n","import React, { useState } from \"react\";\r\nimport {\r\n Form,\r\n Input,\r\n Button,\r\n MSDSelect,\r\n MobileSelect,\r\n} from \"@pmviulive/msd-reactjs\";\r\nimport { MobileView, BrowserView } from \"react-device-detect\";\r\nimport i18n from \"../../../../config/i18n\";\r\n\r\nconst SignupForm = (props) => {\r\n let locations = [...props.locations];\r\n const [location, setLocation] = useState(null);\r\n return (\r\n props.sendCodehandler(e)}\r\n style={{ overflow: \"auto\" }}\r\n >\r\n \r\n props.onChangeHandler(\"name\", e.target.value)}\r\n />\r\n \r\n {props.locations ? (\r\n \r\n \r\n \r\n {props.locationStatus === \"Denied\" ? (\r\n
\r\n
{i18n.t(\"errors.locationPermissionDenied\")}
\r\n
{i18n.t(\"errors.locationPermissionDeniedDetail\")}
\r\n
\r\n ) : null}\r\n {props.locationStatus && sessionStorage.getItem(\"myLocation\") ? (\r\n {\r\n setLocation(e);\r\n props.onChangeHandler(\"citizenshipCountryId\", e);\r\n }}\r\n />\r\n ) : null}\r\n
\r\n
\r\n \r\n \r\n {props.locationStatus === \"Denied\" ? (\r\n
\r\n
{i18n.t(\"errors.locationPermissionDenied\")}
\r\n
{i18n.t(\"errors.locationPermissionDeniedDetail\")}
\r\n
\r\n ) : null}\r\n {props.locationStatus && sessionStorage.getItem(\"myLocation\") ? (\r\n {\r\n setLocation(e);\r\n props.onChangeHandler(\"citizenshipCountryId\", e);\r\n }}\r\n />\r\n ) : null}\r\n
\r\n
\r\n
\r\n ) : null}\r\n \r\n props.onChangeHandler(\"email\", e.target.value)}\r\n />\r\n \r\n \r\n props.onChangeHandler(\"password\", e.target.value)}\r\n />\r\n \r\n \r\n \r\n props.onChangeHandler(\"confirmPassword\", e.target.value)\r\n }\r\n />\r\n \r\n \r\n \r\n props.onChangeHandler(\"promotionCode\", e.target.value)\r\n }\r\n />\r\n \r\n \r\n
\r\n (props.sendCodehandler(e) ? props.fireTrems() : {})}\r\n >\r\n {i18n.t(\"text.join\")}\r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default SignupForm;\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport {\r\n userRegisterSendCode,\r\n userRegisterRegister,\r\n userLogin,\r\n getMyPlan,\r\n setFreePremium,\r\n} from \"@pmviulive/vume-js\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { Spinner, Button } from \"@pmviulive/msd-reactjs\";\r\nimport { checkValidation } from \"./validityCheck\";\r\nimport SignupForm from \"./signupForm\";\r\nimport Countdown from \"react-countdown-now\";\r\nimport ReactCodeInput from \"react-verification-code-input\";\r\nimport i18n from \"../../../../config/i18n\";\r\nimport Terms from \"../../termsAndConditions/termsAndConditions\";\r\nimport { logEvent } from \"../../../../config/analytics\";\r\nimport { throwNotification } from \"../../../sharedComponents/errors/throwError/throwError\";\r\n\r\nimport \"./signup.scss\";\r\n\r\nclass Signup extends Component {\r\n state = {\r\n email: null,\r\n password: null,\r\n confirmPassword: null,\r\n identity: {\r\n avatar: {\r\n key: \"userAvatar\",\r\n status: \"NOT_CHANGED\",\r\n encoding: \"NONE\",\r\n },\r\n name: null,\r\n type: \"PERSON\",\r\n citizenshipCountryId:\r\n sessionStorage.getItem(\"myLocation\") || \"5c2ecd7e5adf253980c0cb5e\",\r\n nationalityCountryId:\r\n sessionStorage.getItem(\"myLocation\") || \"5c2ecd7e5adf253980c0cb5e\",\r\n },\r\n promotionCode:\r\n this.props.location.search && this.props.location.search.includes(\"pcode\")\r\n ? this.props.location.search.split(\"=\")[1]\r\n : null,\r\n otp: null,\r\n step: 0,\r\n termsApprove: false,\r\n locationStatus: \"Pending\",\r\n count: Date.now() + 5 * 60000,\r\n validity: false,\r\n scrolled: false,\r\n joinTimes: 0,\r\n isCountdownFinish: false,\r\n };\r\n\r\n countdown = () => {\r\n const countdown = setInterval(\r\n () => this.setState({ count: this.state.count - 1 }),\r\n 1000\r\n );\r\n this.setState({ countdown });\r\n };\r\n\r\n componentWillUnmount = () => {\r\n clearInterval(this.state.countdown);\r\n };\r\n\r\n componentDidMount() {\r\n navigator.geolocation.watchPosition(\r\n (res) => {\r\n this.setState({ locationStatus: \"Approved\" });\r\n },\r\n (err) => {\r\n if (err.message.includes(\"denied\")) {\r\n this.setState({ locationStatus: \"Denied\" });\r\n }\r\n }\r\n );\r\n }\r\n\r\n onChangeHandler = (key, e) => {\r\n if (key === \"name\") {\r\n const newValue = {\r\n ...this.state.identity,\r\n [key]: e.trim(),\r\n };\r\n this.setState({\r\n identity: newValue,\r\n });\r\n }\r\n if (key === \"citizenshipCountryId\") {\r\n const newValue = {\r\n ...this.state.identity,\r\n nationalityCountryId: e,\r\n [key]: e,\r\n };\r\n this.setState({\r\n identity: newValue,\r\n });\r\n } else {\r\n this.setState({\r\n [key]: e || e.length ? e : null,\r\n });\r\n }\r\n };\r\n\r\n sendCodehandler = (e) => {\r\n e.preventDefault();\r\n const validity = checkValidation(this.state);\r\n this.setState({ validity });\r\n return validity;\r\n };\r\n\r\n sendCode = () => {\r\n this.props.sendCode(\r\n {\r\n email: this.state.email.trim(),\r\n promotionCode: this.state.promotionCode,\r\n },\r\n this.props.server\r\n );\r\n };\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n if (\r\n this.props.auth &&\r\n this.props.response === 200 &&\r\n !this.props.loading &&\r\n !prevProps.auth\r\n ) {\r\n logEvent(`REGISTER_VIULIVE`);\r\n }\r\n if (this.state.step === 2 && prevState.step === 1) {\r\n this.countdown();\r\n }\r\n if (\r\n this.props.error &&\r\n this.props.error !== prevProps.error &&\r\n this.props.error.statusCode === 428 &&\r\n this.props.error.type === \"error.duplicateData\"\r\n ) {\r\n throwNotification({\r\n type: \"error\",\r\n message: i18n.t(\"errors.duplicatedEmail\"),\r\n });\r\n }\r\n if (\r\n this.props.error &&\r\n this.props.error !== prevProps.error &&\r\n this.props.error.statusCode === 400 &&\r\n this.props.error.type === \"error.validation\" &&\r\n this.props.error.reasons[0].field === \"promotionCode\"\r\n ) {\r\n throwNotification({\r\n type: \"error\",\r\n message: i18n.t(\"errors.promotionCode\"),\r\n });\r\n }\r\n if (\r\n this.props.error &&\r\n this.props.error !== prevProps.error &&\r\n this.props.error.statusCode === 400 &&\r\n this.props.error.type === \"error.validation\" &&\r\n this.props.error.reasons[0].field === \"email\"\r\n ) {\r\n throwNotification({\r\n type: \"error\",\r\n message: i18n.t(\"validations.validEmail\"),\r\n });\r\n }\r\n if (\r\n this.props.response &&\r\n this.props.response !== prevProps.response &&\r\n this.state.step === 0\r\n ) {\r\n this.setState({ step: 2 });\r\n if (this.state.promotionCode) {\r\n sessionStorage.setItem(\"promotionCode\", this.state.promotionCode);\r\n }\r\n }\r\n if (\r\n this.props.error &&\r\n this.props.error !== prevProps.error &&\r\n this.state.step === 2\r\n ) {\r\n this.setState({ joinTimes: this.state.joinTimes + 1 }, () => {\r\n if (this.state.joinTimes > 10) {\r\n throwNotification({\r\n type: \"error\",\r\n message: i18n.t(\"errors.blockedByOtp\"),\r\n });\r\n this.setState({ step: 0, joinTimes: 0 });\r\n } else {\r\n throwNotification({\r\n type: \"error\",\r\n message: i18n.t(\"errors.verificationCode\"),\r\n });\r\n }\r\n });\r\n }\r\n if (\r\n this.props.response &&\r\n this.props.response !== prevProps.response &&\r\n this.state.step === 2\r\n ) {\r\n if (this.props.response !== \"sendCode\") {\r\n this.props.login(\r\n this.state.email,\r\n this.state.confirmPassword,\r\n this.props.server\r\n );\r\n }\r\n }\r\n if (this.props.auth && this.props.auth !== prevProps.auth) {\r\n this.props.getMyPlan(this.props.auth.token, this.props.server);\r\n }\r\n if (this.props.myPlan && this.props.myPlan !== prevProps.myPlan) {\r\n if (sessionStorage.getItem(\"promotionCode\")) {\r\n this.props.setFreePremium(\r\n this.props.auth.token,\r\n sessionStorage.getItem(\"promotionCode\"),\r\n this.props.server\r\n );\r\n sessionStorage.removeItem(\"promotionCode\");\r\n }\r\n this.props.onCancel();\r\n }\r\n if (\r\n this.state.step === 1 &&\r\n this.state.scrolled &&\r\n this.props.response === \"sendCode\" &&\r\n !prevProps.response\r\n ) {\r\n console.log(this.props.response, prevProps.response);\r\n this.setState({ step: 2, scrolled: false });\r\n }\r\n }\r\n\r\n renderer = ({ minutes, seconds }) => {\r\n if (seconds < 10) {\r\n seconds = `0${seconds}`;\r\n }\r\n return (\r\n \r\n {minutes}:{seconds}\r\n \r\n );\r\n };\r\n toggleTerms = () => {\r\n this.setState({ step: 1 });\r\n };\r\n checkCode = (e) => {\r\n if (e !== this.state.otp) {\r\n const newState = {\r\n ...this.state,\r\n otp: e,\r\n };\r\n if (\r\n !newState.identity.citizenshipCountryId &&\r\n !newState.identity.nationalityCountryId\r\n ) {\r\n newState.identity.citizenshipCountryId = \"5c2ecd7e5adf253980c0cb5e\";\r\n newState.identity.nationalityCountryId = \"5c2ecd7e5adf253980c0cb5e\";\r\n }\r\n this.props.register(newState, this.props.server);\r\n }\r\n this.setState({ otp: e });\r\n };\r\n\r\n render() {\r\n return (\r\n
\r\n {this.props.loading ? : null}\r\n

\r\n \r\n {this.state.step === 1\r\n ? i18n.t(\"text.termsTitileInfo\")\r\n : i18n.t(\"text.createAccount\")}\r\n

\r\n {this.state.step === 0 ? (\r\n this.sendCodehandler(e)}\r\n onChangeHandler={(key, e) => this.onChangeHandler(key, e)}\r\n locationStatus={this.state.locationStatus}\r\n locations={this.props.locations}\r\n history={this.props.history}\r\n fireTrems={() => this.toggleTerms()}\r\n validity={this.state.validity}\r\n />\r\n ) : this.state.step === 1 ? (\r\n <>\r\n
\r\n this.setState({ scrolled: true })}\r\n inRegister={true}\r\n />\r\n
\r\n this.sendCode()}\r\n disabled={this.state.scrolled ? false : true}\r\n >\r\n {i18n.t(\"text.iAgreeToTheViuliveAgreement\")}\r\n \r\n \r\n ) : (\r\n
\r\n

{i18n.t(\"info.verificationHelp\")}

\r\n

\r\n {i18n.t(\"info.verificationExpire\")}\r\n\r\n {!this.state.isCountdownFinish && (\r\n this.setState({ isCountdownFinish: true })}\r\n />\r\n )}\r\n

\r\n\r\n {!this.state.isCountdownFinish && (\r\n this.checkCode(e)}\r\n disabled={this.state.disableCode}\r\n />\r\n )}\r\n\r\n
\r\n {\r\n this.props.sendCode(\r\n {\r\n email: this.state.email,\r\n promotionCode: this.state.promotionCode,\r\n },\r\n this.props.server\r\n );\r\n this.setState({\r\n count: Date.now() + 5 * 60000,\r\n isCountdownFinish: false,\r\n });\r\n }}\r\n >\r\n \r\n {i18n.t(\"text.resend\")}\r\n \r\n
\r\n
\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loading: state.auth.loading,\r\n error: state.auth.error,\r\n auth: state.auth.user,\r\n response: state.auth.response,\r\n myPlan: state.userPlans.myPlan,\r\n server: state.local.server,\r\n locations: state.local.locations,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n sendCode: (object, server) =>\r\n dispatch(userRegisterSendCode(object, server)),\r\n register: (object, server) =>\r\n dispatch(userRegisterRegister(object, server)),\r\n login: (username, password, server) =>\r\n dispatch(userLogin(username, password, server)),\r\n getMyPlan: (token, server) => dispatch(getMyPlan(token, server)),\r\n setFreePremium: (token, promotionCode, server) =>\r\n dispatch(setFreePremium(token, promotionCode, server)),\r\n };\r\n};\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(Signup));\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { rememberLogin } from \"../../../../config/store/localRedux/actions\";\r\nimport { Form, Input, Button, Checkbox } from \"@pmviulive/msd-reactjs\";\r\nimport ForgotPassword from \"../forgotPassword/forgotPassword\";\r\nimport Register from \"../signup/signup\";\r\nimport i18n from \"../../../../config/i18n\";\r\n\r\nclass LoginForm extends Component {\r\n state = {\r\n username: null,\r\n password: null,\r\n };\r\n componentDidMount() {\r\n if (this.props.location.pathname === \"/register\") {\r\n this.props.popupHandler();\r\n }\r\n }\r\n onChangeHandler = (key, e) => {\r\n this.setState({\r\n [key]: e.target.value,\r\n });\r\n };\r\n onSubmit = (e) => {\r\n e.preventDefault();\r\n this.props.onSubmit(this.state);\r\n };\r\n rememberMe = (e) => {\r\n this.props.rememberLogin(e.target.checked);\r\n };\r\n render() {\r\n return (\r\n
\r\n
this.onSubmit(e)}>\r\n \r\n this.onChangeHandler(\"username\", e)}\r\n />\r\n \r\n \r\n this.onChangeHandler(\"password\", e)}\r\n />\r\n \r\n \r\n \r\n {i18n.t(\"text.rememberMe\")}\r\n \r\n \r\n
\r\n \r\n this.onSubmit(e)}\r\n size=\"small\"\r\n >\r\n \r\n {i18n.t(\"text.login\")}\r\n \r\n \r\n this.props.popupHandler()}\r\n >\r\n \r\n \r\n {i18n.t(\"text.forgotPassword\")}\r\n \r\n
\r\n this.props.popupHandler()}\r\n >\r\n \r\n {i18n.t(\"text.createAccount\")}\r\n
\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\nconst mapStateToProps = (state) => {\r\n return {\r\n checked: state.local.rememberLogin,\r\n theme: state.local.theme,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n rememberLogin: (checked) => dispatch(rememberLogin(checked)),\r\n };\r\n};\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(withRouter(LoginForm));\r\n","import React from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { checkValidation } from \"./validityCheck\";\r\nimport { Spinner, Row, Icon } from \"@pmviulive/msd-reactjs\";\r\nimport { userLogin, userSocialLogin } from \"@pmviulive/vume-js\";\r\nimport LoginForm from \"./loginForm\";\r\nimport i18n from \"../../../../config/i18n\";\r\n\r\nimport {\r\n googleLoginCode,\r\n facebookLoginCode,\r\n} from \"../../../../config/serverConfig\";\r\nimport GoogleLogin from \"react-google-login\";\r\nimport FacebookLogin from \"react-facebook-login/dist/facebook-login-render-props\";\r\nimport ForgotPassword from \"../forgotPassword/forgotPassword\";\r\nimport { webUrl } from \"../../../../config/serverConfig\";\r\nimport { logEvent } from \"../../../../config/analytics\";\r\nimport {\r\n throwNotification,\r\n throwModal,\r\n} from \"../../../sharedComponents/errors/throwError/throwError\";\r\n\r\nimport \"./signin.scss\";\r\n\r\nclass Signin extends React.Component {\r\n submitLogin = (e) => {\r\n const validity = checkValidation(\r\n e.username && e.username.trim(),\r\n e.password\r\n );\r\n if (validity) {\r\n this.props.login(e.username.trim(), e.password, this.props.server);\r\n }\r\n };\r\n componentDidUpdate(prevProps) {\r\n if (\r\n this.props.auth &&\r\n (!this.props.response || this.props.response === 200) &&\r\n !this.props.loading\r\n ) {\r\n logEvent(`LOGIN_VIULIVE`);\r\n }\r\n if (this.props.auth && this.props.response && !this.props.loading) {\r\n this.props.response.provider &&\r\n !this.props.response.newMember &&\r\n logEvent(`LOGIN_${this.props.response.provider}`);\r\n this.props.response.provider &&\r\n this.props.response.newMember &&\r\n logEvent(`REGISTER_${this.props.response.provider}`);\r\n }\r\n\r\n if (\r\n this.props.error &&\r\n (this.props.error.statusCode === 401 ||\r\n this.props.error.statusCode === 400) &&\r\n this.props.error !== prevProps.error\r\n ) {\r\n localStorage.removeItem(\"provider\");\r\n if (\r\n this.props.error.statusCode === 400 &&\r\n this.props.error.reasons[0].objectName ===\r\n \"userRegisterByGlobalProvider\"\r\n ) {\r\n throwNotification({\r\n type: \"error\",\r\n message: i18n.t(\"info.loginByForm\"),\r\n });\r\n }\r\n if (\r\n this.props.error.type === \"error.security.unauthorized.badCredentials\"\r\n ) {\r\n throwNotification({\r\n type: \"error\",\r\n message: i18n.t(\"errors.authFailed\"),\r\n });\r\n }\r\n if (this.props.error.type === \"error.security.unauthorized.locked\") {\r\n throwModal(\"confirm\", {\r\n title: i18n.t(\"info.accountLocked\"),\r\n content: i18n.t(\"info.accountLockedDetail\"),\r\n okText: i18n.t(\"text.recover\"),\r\n onOk() {\r\n prevProps.popupHandler();\r\n },\r\n });\r\n }\r\n }\r\n if (\r\n this.props.response &&\r\n this.props.response !== prevProps.response &&\r\n this.props.response.generatedPassword\r\n ) {\r\n localStorage.setItem(\"provider\", this.props.response.provider);\r\n this.props.login(\r\n this.props.response.email,\r\n this.props.response.generatedPassword,\r\n this.props.server\r\n );\r\n }\r\n }\r\n responseGoogle = (response) => {\r\n const profile = response.getBasicProfile();\r\n this.callSocialLogin(\r\n profile.getEmail(),\r\n response.getAuthResponse().id_token,\r\n \"GOOGLE\"\r\n );\r\n };\r\n responseFacebook = (response) => {\r\n this.callSocialLogin(response.email, response.accessToken, \"FACEBOOK\");\r\n };\r\n\r\n callSocialLogin = (email, idToken, provider, name) => {\r\n const socialLoginData = {\r\n email: email,\r\n idToken: idToken,\r\n provider: provider,\r\n name: name,\r\n };\r\n this.props.socialLogin(socialLoginData, this.props.server);\r\n };\r\n appleLogin = async () => {\r\n window.AppleID.auth.init({\r\n clientId: \"app.millennium.vumemobile\",\r\n scope: \"email name\",\r\n redirectURI: webUrl,\r\n usePopup: true, //or false defaults to false\r\n });\r\n\r\n try {\r\n const data = await window.AppleID.auth.signIn();\r\n if (data.user) {\r\n const fullName =\r\n data.user.name.firstName + \" \" + data.user.name.lastName;\r\n this.callSocialLogin(\r\n data.user.email,\r\n data.authorization.id_token,\r\n \"APPLE\",\r\n fullName\r\n );\r\n } else {\r\n this.callSocialLogin(null, data.authorization.id_token, \"APPLE\");\r\n }\r\n } catch (error) {}\r\n };\r\n render() {\r\n return (\r\n \r\n {this.props.loading && this.props.loading.login ? (\r\n \r\n ) : null}\r\n
\r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n this.submitLogin(e)}\r\n popupHandler={(component) => this.props.popupHandler(component)}\r\n />\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n auth: state.auth.user,\r\n error: state.auth.error,\r\n loading: state.auth.loading,\r\n response: state.auth.response,\r\n server: state.local.server,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n login: (username, password, server) =>\r\n dispatch(userLogin(username, password, server)),\r\n socialLogin: (object, server) => dispatch(userSocialLogin(object, server)),\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Signin);\r\n","import React, { Component } from \"react\";\r\nimport { Row, Col, Tooltip } from \"@pmviulive/msd-reactjs\";\r\nimport i18n from \"../../../config/i18n\";\r\nimport { logEvent } from \"../../../config/analytics\";\r\n\r\nimport {\r\n EmailShareButton,\r\n FacebookShareButton,\r\n TelegramShareButton,\r\n WhatsappShareButton,\r\n TwitterShareButton,\r\n LineShareButton,\r\n EmailIcon,\r\n FacebookIcon,\r\n LineIcon,\r\n TwitterIcon,\r\n TelegramIcon,\r\n WhatsappIcon,\r\n} from \"react-share\";\r\nimport CopyToClipboard from \"react-copy-to-clipboard\";\r\n\r\nimport \"./inviteFriends.scss\";\r\n\r\nclass InviteFriends extends Component {\r\n state = {\r\n copied: false,\r\n };\r\n inviteFriends = () => {\r\n logEvent(\"INVITE_FRIENDS_EMAIL\");\r\n };\r\n render() {\r\n const invitationMessage =\r\n \"Join ViuLive and checkout this new app, you can do live streaming with single or multiple cameras, even lets you invite others join you in the broadcasting. It’s great for broadcasting events and sports activities.For more information please visit: www.viulive.com\";\r\n const publishedLink = \"www.viulive.com\";\r\n return (\r\n
\r\n

{i18n.t(\"text.inviteFriends\")}

\r\n {\r\n this.setState({ copied: true });\r\n setTimeout(() => {\r\n this.setState({ copied: false });\r\n }, 750);\r\n this.inviteFriends();\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {i18n.t(\"text.copyToClipboard\")}\r\n \r\n \r\n \r\n {\r\n this.inviteFriends();\r\n }}\r\n >\r\n \r\n \r\n {i18n.t(\"text.inviteObj.inviteEmail\")}\r\n \r\n
\r\n {\r\n this.inviteFriends();\r\n }}\r\n >\r\n \r\n \r\n {i18n.t(\"text.inviteObj.inviteFacebook\")}\r\n \r\n \r\n\r\n {\r\n this.inviteFriends();\r\n }}\r\n >\r\n \r\n \r\n {i18n.t(\"text.inviteObj.inviteTelegram\")}\r\n \r\n \r\n\r\n {\r\n this.inviteFriends();\r\n }}\r\n >\r\n \r\n \r\n {i18n.t(\"text.inviteObj.inviteWhatsapp\")}\r\n \r\n \r\n\r\n {\r\n this.inviteFriends();\r\n }}\r\n >\r\n \r\n \r\n {i18n.t(\"text.inviteObj.inviteTwitter\")}\r\n \r\n \r\n\r\n {\r\n this.inviteFriends();\r\n }}\r\n >\r\n \r\n \r\n {i18n.t(\"text.inviteObj.inviteLine\")}\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default InviteFriends;\r\n","import React, { Component } from \"react\";\r\nimport { AvatarPic } from \"@pmviulive/vume-reactjs\";\r\nimport { Button } from \"@pmviulive/msd-reactjs\";\r\nimport { getMyPlan, getMyProfile } from \"@pmviulive/vume-js\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { connect } from \"react-redux\";\r\nimport Menu from \"./components/menu\";\r\nimport Login from \"../../modules/auth/signin/signin\";\r\nimport i18n from \"../../../config/i18n\";\r\nimport InviteFriends from \"../../sharedComponents/inviteFriends/inviteFriends\";\r\nimport Favorites from \"../../modules/setting/components/favorites/favorites\";\r\nimport {\r\n saveToken,\r\n saveTheme,\r\n saveFavoriteCategories,\r\n} from \"../../../config/store/localRedux/actions\";\r\nimport { logEvent } from \"../../../config/analytics\";\r\nimport { throwModal } from \"../../sharedComponents/errors/throwError/throwError\";\r\n\r\nimport \"./sidebar.scss\";\r\n\r\nclass Sidebar extends Component {\r\n state = {\r\n avatar: null,\r\n userInfo: null,\r\n manualLogout: false,\r\n };\r\n\r\n updateUserInfo = (identity) => {\r\n let userInfo;\r\n if (identity) {\r\n userInfo = identity;\r\n } else {\r\n userInfo = localStorage.getItem(\"user\")\r\n ? JSON.parse(localStorage.getItem(\"user\"))\r\n : null;\r\n }\r\n this.setState({\r\n userInfo: userInfo,\r\n avatar:\r\n userInfo && userInfo.avatar\r\n ? userInfo.avatar.url\r\n : process.env.PUBLIC_URL + \"/svg/user-without-image.svg\",\r\n });\r\n };\r\n\r\n componentDidMount() {\r\n this.updateUserInfo();\r\n const token = localStorage.getItem(\"token\")\r\n ? localStorage.getItem(\"token\")\r\n : sessionStorage.getItem(\"token\");\r\n if (token) {\r\n this.props.getMyPlan(token, this.props.server);\r\n this.props.getMyProfile(\r\n token,\r\n localStorage.getItem(\"userId\"),\r\n this.props.server\r\n );\r\n }\r\n\r\n\r\n console.log('window.innerHeight', window.innerHeight)\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (\r\n this.props.userPlanResponse &&\r\n this.props.userPlanResponse !== prevProps.userPlanResponse\r\n ) {\r\n this.props.getMyPlan(this.props.auth.token, this.props.server);\r\n }\r\n if (\r\n this.props.profileChanged &&\r\n this.props.profileChanged !== prevProps.profileChanged\r\n ) {\r\n if (this.props.profileChanged.status === 200) {\r\n localStorage.setItem(\r\n \"user\",\r\n JSON.stringify(this.props.profileChanged.data)\r\n );\r\n } else {\r\n localStorage.setItem(\"user\", JSON.stringify(this.props.profileChanged));\r\n }\r\n this.updateUserInfo();\r\n }\r\n if (\r\n this.props.myProfileResponse &&\r\n this.props.myProfileResponse !== prevProps.myProfileResponse\r\n ) {\r\n const theme =\r\n this.props.myProfileResponse.user.userSetting?.theme.toLowerCase();\r\n localStorage.setItem(\r\n \"user\",\r\n JSON.stringify(this.props.myProfileResponse.user.identity)\r\n\r\n );\r\n localStorage.setItem(\r\n \"favoriteCategory\",\r\n JSON.stringify(this.props.myProfileResponse.user.userSetting.favoriteCategories)\r\n\r\n );\r\n localStorage.setItem(\"theme\", theme);\r\n this.props.saveTheme(theme);\r\n this.updateUserInfo();\r\n if (\r\n !this.props.myProfileResponse.user?.userSetting?.favoriteCategories &&\r\n !localStorage.getItem(\"favoriteCategory\")\r\n ) {\r\n this.props.popupHandler();\r\n } else if (\r\n this.props.myProfileResponse.user?.userSetting?.favoriteCategories\r\n ) {\r\n this.props.saveFavoriteCategories(\r\n this.props.myProfileResponse.user.userSetting.favoriteCategories\r\n );\r\n }\r\n }\r\n if (this.props.token && this.props.token !== prevProps.token) {\r\n this.props.getMyProfile(\r\n this.props.token,\r\n localStorage.getItem(\"userId\"),\r\n this.props.server\r\n );\r\n }\r\n if (this.props.myPlan && this.props.myPlan !== prevProps.myPlan) {\r\n localStorage.setItem(\"myPlan\", JSON.stringify(this.props.myPlan.plan));\r\n }\r\n if (this.props.auth && this.props.auth !== prevProps.auth) {\r\n const isExistEvent = this.props.auth.permissions.includes(\r\n \"ROLE_VUME_SERVICE_EVENT\"\r\n );\r\n if (!isExistEvent)\r\n return throwModal(\"error\", {\r\n title: \"Warning\",\r\n content:\r\n \"You are not authorized to use the application. Please contact our support team.\",\r\n okText: i18n.t(\"text.ok\"),\r\n });\r\n\r\n this.props.getMyPlan(this.props.auth.token, this.props.server);\r\n\r\n const expirationDate = this.props.auth.serverDateTime;\r\n localStorage.setItem(\"user\", JSON.stringify(this.props.auth.identity));\r\n if (this.props.rememberLogin) {\r\n localStorage.setItem(\"token\", this.props.auth.token);\r\n } else {\r\n sessionStorage.setItem(\"token\", this.props.auth.token);\r\n }\r\n localStorage.setItem(\"userId\", this.props.auth.userId);\r\n localStorage.setItem(\"expirationDate\", expirationDate);\r\n this.props.saveToken();\r\n this.updateUserInfo(this.props.auth.identity);\r\n if (!this.state.manualLogout) {\r\n this.props.history.push(this.props.location.pathname);\r\n }\r\n this.setState({ manualLogout: false });\r\n }\r\n if (this.props.logout && this.props.logout !== prevProps.logout) {\r\n logEvent(`LOGOUT`);\r\n if (this.props.logout === 200) {\r\n this.setState({\r\n avatar: process.env.PUBLIC_URL + \"/svg/user-without-image.svg\",\r\n userInfo: null,\r\n });\r\n localStorage.removeItem(\"user\");\r\n localStorage.removeItem(\"userId\");\r\n localStorage.removeItem(\"token\");\r\n sessionStorage.removeItem(\"token\");\r\n localStorage.removeItem(\"expirationDate\");\r\n localStorage.removeItem(\"myPlan\");\r\n localStorage.removeItem(\"provider\");\r\n localStorage.removeItem(\"recentEmojis\");\r\n localStorage.removeItem(\"totalViews\");\r\n localStorage.removeItem(\"favoriteCategory\");\r\n localStorage.removeItem(\"adBanner\");\r\n\r\n this.props.saveToken();\r\n this.props.saveFavoriteCategories([]);\r\n if (this.state.manualLogout) {\r\n this.props.history.push(\"/\");\r\n } else {\r\n if (this.props.collapsed) {\r\n this.props.toggleClick();\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n handleLogout = async () => {\r\n await this.setState({ manualLogout: true });\r\n this.props.history.push(\"/logout\");\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n {!this.props.collapsed ? (\r\n \r\n {this.state.userInfo && localStorage.getItem(\"user\") ? (\r\n \r\n ) : null}\r\n \r\n {localStorage.getItem(\"user\") ? (\r\n
\r\n this.props.history.push(\"/profile\")\r\n : null\r\n }\r\n >\r\n {\r\n console.log(\":onerror\");\r\n e.target.onerror = null;\r\n e.target.src =\r\n process.env.PUBLIC_URL +\r\n \"/svg/user-without-image.svg\";\r\n }}\r\n />\r\n
\r\n\r\n this.props.history.push(\"/setting\")}\r\n >\r\n Settings\r\n \r\n \r\n ) : null}\r\n \r\n\r\n {!localStorage.getItem(\"user\") && (\r\n this.props.popupHandler(component)}\r\n />\r\n )}\r\n
\r\n ) : (\r\n \r\n this.props.history.push(\"/profile\")\r\n : null\r\n }\r\n >\r\n {\r\n console.log(\":onerror\");\r\n e.target.onerror = null;\r\n e.target.src =\r\n process.env.PUBLIC_URL + \"/svg/user-without-image.svg\";\r\n }}\r\n />\r\n \r\n \r\n )}\r\n\r\n this.props.toggleClick()}\r\n location={this.props.location}\r\n history={this.props.history}\r\n quickLiveTooltip={this.props.quickLiveTooltip}\r\n setTooltips={this.props.setTooltips}\r\n />\r\n {!this.props.collapsed && (\r\n
\r\n
\r\n {\r\n logEvent(\"PRIVACY\");\r\n this.props.history.push(\"/privacy\");\r\n }}\r\n >\r\n {i18n.t(\"text.privacy\")}\r\n \r\n {\r\n logEvent(\"TERM\");\r\n this.props.history.push(\"/terms\");\r\n }}\r\n >\r\n {i18n.t(\"text.terms\")}\r\n \r\n logEvent(\"BLOG\")}\r\n >\r\n {i18n.t(\"text.blog\")}\r\n \r\n {\r\n logEvent(\"FAQ\");\r\n this.props.history.push(\"/faq\");\r\n }}\r\n >\r\n {i18n.t(\"text.faq\")}\r\n \r\n
\r\n
\r\n this.props.popupHandler()}\r\n >\r\n \r\n {i18n.t(\"text.inviteFriends\")}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n logEvent(\"APPLESTORE\")}\r\n >\r\n \r\n \r\n
\r\n
\r\n logEvent(\"GOOGLEPLAY\")}\r\n >\r\n \r\n \r\n
\r\n
\r\n
\r\n logEvent(\"BEYONDAPPS\")}\r\n className=\"copyrightText\"\r\n >\r\n Copyright © 2020 ViuCom

\r\n Beyond Apps Group\r\n \r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n profileChanged: state.profile.response,\r\n myProfileResponse: state.profile.user,\r\n auth: state.auth.user,\r\n logout: state.auth.logout,\r\n myPlan: state.userPlans.myPlan,\r\n userPlanResponse: state.userPlans.response,\r\n token: state.local.token,\r\n rememberLogin: state.local.rememberLogin,\r\n server: state.local.server,\r\n theme: state.local.theme,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n getMyPlan: (token, server) => dispatch(getMyPlan(token, server)),\r\n getMyProfile: (token, id, server) =>\r\n dispatch(getMyProfile(token, id, server)),\r\n saveToken: () => dispatch(saveToken()),\r\n saveTheme: (theme) => dispatch(saveTheme(theme)),\r\n saveFavoriteCategories: (categories) =>\r\n dispatch(saveFavoriteCategories(categories)),\r\n };\r\n};\r\n\r\nexport default withRouter(\r\n connect(mapStateToProps, mapDispatchToProps)(Sidebar)\r\n);\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { Drawer, Button } from \"@pmviulive/msd-reactjs\";\r\nimport { AvatarPic } from \"@pmviulive/vume-reactjs\";\r\nimport Login from \"../../modules/auth/signin/signin\";\r\nimport { getMyPlan, getMyProfile } from \"@pmviulive/vume-js\";\r\nimport InviteFriends from \"../../sharedComponents/inviteFriends/inviteFriends\";\r\nimport { MobileView } from \"react-device-detect\";\r\nimport i18n from \"../../../config/i18n\";\r\nimport {\r\n saveToken,\r\n saveTheme,\r\n saveFavoriteCategories,\r\n} from \"../../../config/store/localRedux/actions\";\r\nimport { throwModal } from \"../../sharedComponents/errors/throwError/throwError\";\r\nimport Favorites from \"../../modules/setting/components/favorites/favorites\";\r\n\r\nimport \"./sidebar\";\r\n\r\nclass MobileSidebar extends Component {\r\n state = {\r\n avatar: null,\r\n userInfo: null,\r\n manualLogout: false,\r\n };\r\n\r\n updateUserInfo = (identity) => {\r\n let userInfo;\r\n if (identity) {\r\n userInfo = identity;\r\n } else {\r\n userInfo = localStorage.getItem(\"user\")\r\n ? JSON.parse(localStorage.getItem(\"user\"))\r\n : null;\r\n }\r\n this.setState({\r\n userInfo: userInfo,\r\n avatar:\r\n userInfo && userInfo.avatar\r\n ? userInfo.avatar.url\r\n : process.env.PUBLIC_URL + \"/svg/user-without-image.svg\",\r\n });\r\n };\r\n\r\n componentDidMount() {\r\n this.updateUserInfo();\r\n const token = localStorage.getItem(\"token\")\r\n ? localStorage.getItem(\"token\")\r\n : sessionStorage.getItem(\"token\");\r\n if (token) {\r\n this.props.getMyPlan(token, this.props.server);\r\n this.props.getMyProfile(\r\n token,\r\n localStorage.getItem(\"userId\"),\r\n this.props.server\r\n );\r\n }\r\n }\r\n componentDidUpdate(prevProps) {\r\n if (\r\n this.props.myProfileResponse &&\r\n this.props.myProfileResponse !== prevProps.myProfileResponse\r\n ) {\r\n const theme =\r\n this.props.myProfileResponse.user.userSetting?.theme.toLowerCase();\r\n localStorage.setItem(\r\n \"user\",\r\n JSON.stringify(this.props.myProfileResponse.user.identity)\r\n );\r\n localStorage.setItem(\"theme\", theme);\r\n this.props.saveTheme(theme);\r\n this.updateUserInfo();\r\n if (\r\n !this.props.myProfileResponse.user?.userSetting.favoriteCategories &&\r\n !localStorage.getItem(\"favoriteCategory\")\r\n ) {\r\n this.props.popupHandler();\r\n } else if (\r\n this.props.myProfileResponse.user?.userSetting?.favoriteCategories\r\n ) {\r\n this.props.saveFavoriteCategories(\r\n this.props.myProfileResponse.user.userSetting.favoriteCategories\r\n );\r\n }\r\n }\r\n if (this.props.token && this.props.token !== prevProps.token) {\r\n this.props.getMyProfile(\r\n this.props.token,\r\n localStorage.getItem(\"userId\"),\r\n this.props.server\r\n );\r\n }\r\n\r\n if (\r\n this.props.userPlanResponse &&\r\n this.props.userPlanResponse !== prevProps.userPlanResponse\r\n ) {\r\n this.props.getMyPlan(this.props.auth.token, this.props.server);\r\n }\r\n if (\r\n this.props.profileChanged &&\r\n this.props.profileChanged !== prevProps.profileChanged\r\n ) {\r\n if (this.props.profileChanged.status === 200) {\r\n localStorage.setItem(\r\n \"user\",\r\n JSON.stringify(this.props.profileChanged.data)\r\n );\r\n } else {\r\n localStorage.setItem(\"user\", JSON.stringify(this.props.profileChanged));\r\n }\r\n this.updateUserInfo();\r\n }\r\n if (this.props.myPlan && this.props.myPlan !== prevProps.myPlan) {\r\n localStorage.setItem(\"myPlan\", JSON.stringify(this.props.myPlan.plan));\r\n }\r\n if (this.props.auth && this.props.auth !== prevProps.auth) {\r\n const isExistEvent = this.props.auth.permissions.includes(\r\n \"ROLE_VUME_SERVICE_EVENT\"\r\n );\r\n if (!isExistEvent)\r\n return throwModal(\"error\", {\r\n title: \"Warning\",\r\n content:\r\n \"You are not authorized to use the application. Please contact our support team.\",\r\n okText: i18n.t(\"text.ok\"),\r\n });\r\n this.props.getMyPlan(this.props.auth.token, this.props.server);\r\n\r\n const expirationDate = this.props.auth.serverDateTime;\r\n localStorage.setItem(\"user\", JSON.stringify(this.props.auth.identity));\r\n if (this.props.rememberLogin) {\r\n localStorage.setItem(\"token\", this.props.auth.token);\r\n } else {\r\n sessionStorage.setItem(\"token\", this.props.auth.token);\r\n }\r\n localStorage.setItem(\"userId\", this.props.auth.userId);\r\n localStorage.setItem(\"expirationDate\", expirationDate);\r\n this.props.saveToken();\r\n\r\n this.updateUserInfo(this.props.auth.identity);\r\n if (!this.state.manualLogout) {\r\n this.props.history.push(this.props.location.pathname);\r\n }\r\n\r\n this.setState({\r\n manualLogout: false,\r\n });\r\n this.props.handleDrawerClose();\r\n }\r\n if (this.props.logout && this.props.logout !== prevProps.logout) {\r\n if (this.props.logout === 200) {\r\n this.setState({\r\n avatar: process.env.PUBLIC_URL + \"/svg/user-without-image.svg\",\r\n userInfo: null,\r\n });\r\n localStorage.removeItem(\"user\");\r\n localStorage.removeItem(\"userId\");\r\n localStorage.removeItem(\"token\");\r\n localStorage.removeItem(\"expirationDate\");\r\n localStorage.removeItem(\"myPlan\");\r\n localStorage.removeItem(\"provider\");\r\n localStorage.removeItem(\"totalViews\");\r\n localStorage.removeItem(\"recentEmojis\");\r\n localStorage.removeItem(\"favoriteCategory\");\r\n localStorage.removeItem(\"adBanner\");\r\n\r\n this.props.saveToken();\r\n this.props.saveFavoriteCategories([]);\r\n\r\n if (this.state.manualLogout) {\r\n this.props.history.push(\"/\");\r\n } else {\r\n if (!this.props.collapsed) {\r\n this.props.handleDrawerOpen();\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n handleLogout = async () => {\r\n await this.setState({ manualLogout: true });\r\n this.props.history.push(\"/logout\");\r\n };\r\n\r\n handleFooterLink = (link) => {\r\n this.props.history.push(link);\r\n this.props.handleDrawerClose();\r\n };\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n this.handleFooterLink(\"/profile\")\r\n : null\r\n }\r\n >\r\n {localStorage.getItem(\"user\") ? (\r\n \r\n \r\n \r\n ) : null}\r\n {this.props.token ? (\r\n
this.props.history.push(\"/profile\")}>\r\n {\r\n console.log(\":onerror\");\r\n e.target.onerror = null;\r\n e.target.src =\r\n process.env.PUBLIC_URL + \"/svg/user-without-image.svg\";\r\n }}\r\n />\r\n
\r\n ) : null}\r\n
\r\n {this.props.token && (\r\n
\r\n this.handleFooterLink(\"/setting\")}\r\n >\r\n \r\n Settings\r\n \r\n
\r\n )}\r\n {!localStorage.getItem(\"user\") && (\r\n this.props.popupHandler(component)}\r\n />\r\n )}\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n this.props.popupHandler()}\r\n >\r\n \r\n {i18n.t(\"text.inviteFriends\")}\r\n \r\n \r\n
\r\n \r\n Copyright © 2020 ViuCom

\r\n Beyond Apps Group\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n profileChanged: state.profile.response,\r\n auth: state.auth.user,\r\n logout: state.auth.logout,\r\n myPlan: state.userPlans.myPlan,\r\n userPlanResponse: state.userPlans.response,\r\n token: state.local.token,\r\n rememberLogin: state.local.rememberLogin,\r\n server: state.local.server,\r\n theme: state.local.theme,\r\n myProfileResponse: state.profile.user,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n getMyPlan: (token, server) => dispatch(getMyPlan(token, server)),\r\n getMyProfile: (token, id, server) =>\r\n dispatch(getMyProfile(token, id, server)),\r\n saveToken: () => dispatch(saveToken()),\r\n saveTheme: (theme) => dispatch(saveTheme(theme)),\r\n saveFavoriteCategories: (categories) =>\r\n dispatch(saveFavoriteCategories(categories)),\r\n };\r\n};\r\n\r\nexport default withRouter(\r\n connect(mapStateToProps, mapDispatchToProps)(MobileSidebar)\r\n);\r\n","import React from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport \"./notificationTab.scss\";\r\n\r\nconst NotificationTab = ({ activeTab, changeTab }) => {\r\n const notificationLoading = useSelector(\r\n (state) => state.notifications.loading\r\n );\r\n\r\n return (\r\n
\r\n changeTab(\"all\")\r\n : () => {}\r\n }\r\n style={{ backgroundColor: activeTab === \"all\" ? \"#5c44af\" : \" #fff\" }}\r\n >\r\n \r\n All\r\n

\r\n
\r\n\r\n changeTab(\"new\")\r\n : () => {}\r\n }\r\n style={{ backgroundColor: activeTab === \"new\" ? \"#5c44af\" : \" #fff\" }}\r\n >\r\n \r\n Unread\r\n

\r\n \r\n\r\n changeTab(\"today\")\r\n : () => {}\r\n }\r\n style={{ backgroundColor: activeTab === \"today\" ? \"#5c44af\" : \" #fff\" }}\r\n >\r\n \r\n Today\r\n

\r\n \r\n \r\n );\r\n};\r\n\r\nexport default NotificationTab;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { followUser, unfollowUser } from \"@pmviulive/vume-js\";\r\n\r\nconst FollowBtn = ({ userId, followed }) => {\r\n const dispatch = useDispatch();\r\n const [user, setUser] = useState(true);\r\n const [newFollow, setNewFollow] = useState(false);\r\n const token = useSelector((state) => state.local.token);\r\n const server = useSelector((state) => state.local.server);\r\n const followResponse = useSelector(\r\n (state) => state.socializing.followResponse\r\n );\r\n const theme = useSelector((state) => state.local.theme);\r\n\r\n const followUserAction = () => {\r\n dispatch(followUser(token, { followedUserId: userId }, server));\r\n };\r\n\r\n useEffect(() => {\r\n if (followResponse !== null && followResponse.followedUser?.id == userId) {\r\n setNewFollow(true);\r\n }\r\n }, [followResponse]);\r\n\r\n return (\r\n <>\r\n {followed || newFollow ? (\r\n \r\n \r\n Following\r\n \r\n ) : (\r\n
\r\n {unfollowUser &&\r\n localStorage.getItem(\"userId\") &&\r\n !user.currentUserFallow &&\r\n userId !== localStorage.getItem(\"userId\") ? (\r\n \r\n ) : null}\r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default FollowBtn;\r\n","import React, { useState } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport {\r\n Reaction,\r\n Follow,\r\n Monetization,\r\n Comment,\r\n Event,\r\n ProfileAvatar,\r\n} from \"../../../config/icons\";\r\nimport moment from \"moment\";\r\nimport { markNotificationAsReadById } from \"@pmviulive/vume-js\";\r\nimport { useSelector } from \"react-redux\";\r\nimport \"./notificationItem.scss\";\r\nimport FollowBtn from \"./FollowBtn\";\r\n\r\nconst NotificationItem = ({ item, onClick }) => {\r\n const token = useSelector((state) => state.local.token);\r\n const server = useSelector((state) => state.local.server);\r\n const unRead = useSelector(\r\n (state) => state.notifications.notifications?.unreadCount\r\n );\r\n\r\n const notificationDateSince = (date) => {\r\n const nDate = moment.utc(date).toDate();\r\n let seconds = Math.floor((new Date() - nDate) / 1000);\r\n let interval = seconds / 31536000;\r\n\r\n if (interval > 1) {\r\n return Math.floor(interval) + \" years\";\r\n }\r\n interval = seconds / 2592000;\r\n if (interval > 1) {\r\n return Math.floor(interval) + \" months\";\r\n }\r\n interval = seconds / 86400;\r\n if (interval > 1) {\r\n return Math.floor(interval) + \" days\";\r\n }\r\n interval = seconds / 3600;\r\n if (interval > 1) {\r\n return Math.floor(interval) + \" hours\";\r\n }\r\n interval = seconds / 60;\r\n if (interval > 1) {\r\n return Math.floor(interval) + \" minutes\";\r\n } else {\r\n return Math.floor(seconds) + \" seconds\";\r\n }\r\n };\r\n\r\n const handleClick = (id) => {\r\n markNotificationAsReadById({ token, notificationId: id, server });\r\n onClick();\r\n };\r\n\r\n console.log(\"item\", item.read);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {item?.type == \"REACTION\" ? (\r\n \r\n ) : item?.type == \"FOLLOWING\" ? (\r\n \r\n ) : item?.type == \"WATCHING\" ? (\r\n \r\n ) : item?.type == \"VIUBIT_GIFT\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n {item?.userThumbnail ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n {item?.type === \"WATCHING\" ||\r\n item?.type === \"BROADCASTING\" ||\r\n item?.type === \"MODERATION \" ? (\r\n handleClick(item?.id)}\r\n to={`/watch/${item?.data?.eventId}`}\r\n className=\"notification-content\"\r\n >\r\n
\r\n
\r\n {notificationDateSince(item?.time)} ago\r\n
\r\n
{item?.body}
\r\n
\r\n {item?.eventThumbnail ? (\r\n \r\n ) : null}\r\n \r\n ) : item?.type === \"FOLLOWING\" ? (\r\n <>\r\n handleClick(item?.id)}\r\n to={`/user/${item?.data?.userId}`}\r\n className=\"notification-content\"\r\n >\r\n
\r\n
\r\n {notificationDateSince(item?.time)} ago\r\n
\r\n
{item?.body}
\r\n
\r\n \r\n \r\n \r\n ) : item?.type === \"VIUBIT_GIFT\" ? (\r\n handleClick(item?.id)}\r\n to={`/profile/vhistory`}\r\n className=\"notification-content\"\r\n >\r\n
\r\n
\r\n {notificationDateSince(item?.time)} ago\r\n
\r\n
{item?.body}
\r\n
\r\n \r\n ) : item?.type === \"SCHEDULED\" ||\r\n item?.type === \"REACTION\" ||\r\n item?.type === \"COMMENT\" ? (\r\n handleClick(item?.id)}\r\n to={`/detail/${item?.data?.eventId}`}\r\n className=\"notification-content\"\r\n >\r\n
\r\n
\r\n {notificationDateSince(item?.time)} ago\r\n
\r\n
{item?.body}
\r\n
\r\n {item?.eventThumbnail ? (\r\n \r\n ) : null}\r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default NotificationItem;\r\n","import React, { useState } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport NotificationItem from \"../notificationItem/notificationItem\";\r\n\r\nimport \"./notificationList.scss\";\r\n\r\nconst NotificationList = ({\r\n activeTab,\r\n notification,\r\n CloseOnClick,\r\n loadMore,\r\n hasMore,\r\n}) => {\r\n const [load, setLoad] = useState(false);\r\n\r\n const token = useSelector((state) => state.local.token);\r\n const server = useSelector((state) => state.local.server);\r\n\r\n return (\r\n
\r\n {notification.map((notificationItem, i) => (\r\n \r\n \r\n
\r\n
\r\n ))}\r\n\r\n {hasMore && (\r\n
loadMore()} className=\"load-more\">\r\n {!load ? \"Load More\" : null}\r\n
\r\n )}\r\n
\r\n );\r\n};\r\nexport default NotificationList;\r\n","import React, { useEffect } from \"react\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport { markAllRead, markNotificationAsReadById } from \"@pmviulive/vume-js\";\r\nimport { Tooltip } from \"@pmviulive/msd-reactjs\";\r\n\r\nimport \"./notificationHeader.scss\";\r\nimport { set } from \"react-ga\";\r\nimport { useState } from \"react\";\r\n\r\nconst NotificationHeader = ({ refreshData }) => {\r\n const theme = useSelector((state) => state.local.theme);\r\n const dispatch = useDispatch();\r\n const [showDrop, setShowDrop] = useState(false);\r\n const token = useSelector((state) => state.local.token);\r\n const server = useSelector((state) => state.local.server);\r\n const unRead = useSelector(\r\n (state) => state.notifications.notifications?.unreadCount\r\n );\r\n const nots = useSelector((state) => state.notifications.notifications);\r\n\r\n const MarkAll = () => {\r\n markAllRead({ token, server });\r\n setTimeout(() => {\r\n refreshData();\r\n setShowDrop(false);\r\n }, 200);\r\n };\r\n\r\n const toggleMenu = () => {\r\n setShowDrop(!showDrop);\r\n };\r\n\r\n return (\r\n
\r\n

Notifications

\r\n toggleMenu()} className=\"icon-advance-search\">\r\n {showDrop && (\r\n
\r\n
MarkAll()}>\r\n \r\n \r\n \r\n Mark All As Read\r\n
\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default NotificationHeader;\r\n","import React, { useState, useEffect, useRef } from \"react\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport NotificationTab from \"../../sharedComponents/notificationTab/notificationTab\";\r\nimport NotificationList from \"../../sharedComponents/notificationList/notificationList\";\r\nimport { Notifi } from \"../../../config/icons\";\r\nimport { Spinner } from \"@pmviulive/msd-reactjs\";\r\nimport useOnClickOutside from \"use-onclickoutside\";\r\nimport {\r\n getMyNotification,\r\n getMyNotificationCancel,\r\n markAllNotificationAsRead,\r\n} from \"@pmviulive/vume-js\";\r\nimport \"./notification.scss\";\r\nimport NotificationHeader from \"../../sharedComponents/notificationHeader/notificationHeader\";\r\n\r\nconst Notification = () => {\r\n const dispatch = useDispatch();\r\n const ref = useRef();\r\n\r\n const theme = useSelector((state) => state.local.theme);\r\n const token = useSelector((state) => state.local.token);\r\n const server = useSelector((state) => state.local.server);\r\n const nots = useSelector((state) => state.notifications.notifications);\r\n const unRead = useSelector(\r\n (state) => state.notifications.notifications?.unreadCount\r\n );\r\n const notificationLoading = useSelector(\r\n (state) => state.notifications.loading\r\n );\r\n const notificationError = useSelector((state) => state.notifications.error);\r\n // console.log(\"unRead\", unRead, nots);\r\n const [show, setShow] = useState(false);\r\n const [activeTab, setActiveTab] = useState(\"all\");\r\n const [intialLoading, setIntialLoading] = useState(true);\r\n const [totalPageNumber, setTotalPageNumber] = useState(0);\r\n const [notification, setNotifications] = useState([]);\r\n const [page, setPage] = useState(0);\r\n const [hasMore, setHasMore] = useState(true);\r\n const [fromDate, setFromDate] = useState(false);\r\n const [unreadOnly, setUnreadOnly] = useState(false);\r\n const [hasData, setHasData] = useState(false);\r\n const [noData, setNoData] = useState(false);\r\n useOnClickOutside(ref, () => setShow(false));\r\n\r\n const handleShow = () => {\r\n setShow(!show);\r\n };\r\n\r\n const changeTab = (t) => {\r\n setIntialLoading(true);\r\n setNoData(false);\r\n setNotifications([]);\r\n setTotalPageNumber(0);\r\n dispatch(getMyNotificationCancel());\r\n setActiveTab(t);\r\n };\r\n\r\n const refreshData = () => {\r\n setIntialLoading(true);\r\n setNoData(false);\r\n setNotifications([]);\r\n setTotalPageNumber(0);\r\n dispatch(getMyNotificationCancel());\r\n dispatch(\r\n getMyNotification(\r\n token,\r\n { unreadOnly: unreadOnly, pageNumber: 0, fromDate: fromDate },\r\n server\r\n )\r\n );\r\n };\r\n\r\n const loadMore = (t) => {\r\n if (page < totalPageNumber - 1 && !notificationLoading) {\r\n let nPageNum = page + 1;\r\n dispatch(\r\n getMyNotification(\r\n token,\r\n {\r\n unreadOnly: unreadOnly,\r\n page: nPageNum,\r\n fromDate: fromDate ? new Date() - 1 : null,\r\n },\r\n server\r\n )\r\n );\r\n setPage(nPageNum);\r\n }\r\n };\r\n useEffect(() => {\r\n dispatch(\r\n getMyNotification(\r\n token,\r\n { unreadOnly: unreadOnly, pageNumber: 0, fromDate: fromDate },\r\n server\r\n )\r\n );\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (token == null) {\r\n dispatch(getMyNotificationCancel());\r\n setNotifications([]);\r\n setIntialLoading(true);\r\n setPage(0);\r\n setFromDate(false);\r\n setNoData(false);\r\n }\r\n }, [token]);\r\n\r\n useEffect(() => {\r\n if (show) {\r\n dispatch(getMyNotificationCancel());\r\n setNotifications([]);\r\n setIntialLoading(true);\r\n setPage(0);\r\n setFromDate(false);\r\n setNoData(false);\r\n if (activeTab === \"today\") {\r\n setPage(0);\r\n setHasMore(true);\r\n setFromDate(true);\r\n setUnreadOnly(false);\r\n dispatch(\r\n getMyNotification(\r\n token,\r\n {\r\n unreadOnly: false,\r\n pageNumber: 0,\r\n fromDate: new Date() - 1,\r\n },\r\n server\r\n )\r\n );\r\n } else if (activeTab === \"new\") {\r\n setPage(0);\r\n setHasMore(true);\r\n setFromDate(false);\r\n setUnreadOnly(true);\r\n dispatch(\r\n getMyNotification(token, { unreadOnly: true, pageNumber: 0 }, server)\r\n );\r\n } else {\r\n setPage(0);\r\n setHasMore(true);\r\n setFromDate(false);\r\n setUnreadOnly(false);\r\n dispatch(\r\n getMyNotification(\r\n token,\r\n { unreadOnly: false, pageNumber: 0, fromDate: null },\r\n server\r\n )\r\n );\r\n }\r\n }\r\n }, [activeTab, show]);\r\n\r\n useEffect(() => {\r\n if (nots && nots.result.length > 0) {\r\n setHasMore(true);\r\n setTotalPageNumber(nots.totalPage);\r\n setNotifications([...notification, ...nots.result]);\r\n setTimeout(setIntialLoading(false), 500);\r\n }\r\n }, [nots]);\r\n\r\n useEffect(() => {\r\n if (totalPageNumber == page + 1) {\r\n setHasMore(false);\r\n }\r\n }, [totalPageNumber, notification]);\r\n\r\n useEffect(() => {\r\n if (notificationError && notification.length < 1 && intialLoading) {\r\n setTimeout(setIntialLoading(false), 700);\r\n setNoData(true);\r\n }\r\n }, [notificationError]);\r\n\r\n const markAsRead = () => {\r\n markAllNotificationAsRead({\r\n token,\r\n server,\r\n });\r\n };\r\n\r\n const cancelNotifications = () => {\r\n dispatch(getMyNotificationCancel());\r\n };\r\n\r\n return (\r\n
\r\n {\r\n markAsRead();\r\n cancelNotifications();\r\n handleShow();\r\n }}\r\n >\r\n {unRead ? : <>}\r\n \r\n
\r\n\r\n
\r\n \r\n changeTab(e)}\r\n />\r\n
\r\n {intialLoading && (\r\n
\r\n \r\n
\r\n )}\r\n {!noData && notification.length > 0 && (\r\n handleShow()}\r\n loadMore={() => loadMore()}\r\n hasMore={hasMore}\r\n />\r\n )}\r\n {noData && (\r\n
\r\n
\r\n \r\n
\r\n
No Notification Yet
\r\n
\r\n )}\r\n
\r\n
\r\n \r\n );\r\n};\r\nexport default Notification;\r\n","import React, { useState, useEffect, useContext } from \"react\";\r\nimport { withRouter, Link } from \"react-router-dom\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Col, Logo } from \"@pmviulive/msd-reactjs\";\r\nimport { MobileView, BrowserView } from \"react-device-detect\";\r\nimport MobileSidebar from \"../sidebar/mobileSidebar\";\r\nimport Search from \"../search/search\";\r\nimport Notification from \"../../modules/notification/notification\";\r\nimport { QuestionMark } from \"../../../config/icons\";\r\nimport QuickGuideModal from \"../../modules/director/components/QuickGuideModal/QuickGuideModal\";\r\nimport RealTimeTipsModal from \"../../modules/director/components/RealTimeTipsModal/RealTimeTipsModal\";\r\nimport { MyContext } from \"../../sharedComponents/MyProvider/MyProvider\";\r\n\r\n\r\nconst HeaderContent = (props) => {\r\n const [loggedIn, setLoggedIn] = useState(false);\r\n const [quickGuide, setQuickGuide] = useState(false);\r\n const [modalVisible, setModalVisible] = useState(false);\r\n const token = useSelector((state) => state.local.token);\r\n const theme = useSelector((state) => state.local.theme);\r\n const { setTooltip } = useContext(MyContext);\r\n \r\n useEffect(() => {\r\n token ? setLoggedIn(true) : setLoggedIn(false);\r\n }, [token]);\r\n\r\n const handleClickOnSearch = () => {\r\n props.history.push(`/result?`);\r\n };\r\n\r\n //TO PREVENT THE ONBOARDING VIDEO FROM SHOWING UP IN EVERY PLACE\r\n useEffect(() => {\r\n if (props.history.location.pathname !== '/director') {\r\n setModalVisible(false);\r\n setTooltip({ quickLiveTooltip: false });\r\n }\r\n }, [props.history.location.pathname]);\r\n\r\n useEffect(() => {\r\n setModalVisible(false);\r\n }, []);\r\n\r\n return (\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n props.popupHandler(component, logo)\r\n }\r\n closePopup={props.closePopup}\r\n />\r\n \r\n \r\n\r\n
\r\n {loggedIn ? (\r\n \r\n \r\n \r\n ) : null}\r\n\r\n {props.history.location.pathname === '/director' ? (\r\n setModalVisible(true)} color={theme === 'dark' ? '#EADCFF' : '#3B3B3B'}/>\r\n ): (\r\n null\r\n )}\r\n
\r\n\r\n setTooltip({quickLiveTooltip: true})}\r\n modalVisible={modalVisible}\r\n setModalVisible={setModalVisible}\r\n quickGuide={quickGuide}\r\n setQuickGuide={setQuickGuide}\r\n /> \r\n
\r\n );\r\n};\r\n\r\nexport default withRouter(HeaderContent);\r\n","import React from \"react\";\r\nimport Menu from \"../../layout/sidebar/components/menu\";\r\nimport { withRouter } from \"react-router-dom\";\r\n\r\nimport \"./tabNavigator.scss\";\r\n\r\nconst tabNavigator = (props) => {\r\n return (\r\n
\r\n props.popupHandler(component)}\r\n location={props.location}\r\n history={props.history}\r\n />\r\n
\r\n );\r\n};\r\n\r\nexport default withRouter(tabNavigator);\r\n","import React, { Component } from \"react\";\r\nimport { Layout as MsdLayout, Modal } from \"@pmviulive/msd-reactjs\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { connect } from \"react-redux\";\r\nimport {\r\n BrowserView,\r\n isBrowser,\r\n isMobile,\r\n MobileView,\r\n isIOS,\r\n isAndroid,\r\n isIE,\r\n} from \"react-device-detect\";\r\nimport Sidebar from \"./sidebar/sidebar\";\r\nimport HeaderContent from \"./header/header\";\r\nimport Popup from \"../sharedComponents/popup/popup\";\r\nimport TabNavigator from \"../sharedComponents/tabNavigator/tabNavigator\";\r\n\r\nimport \"./layout.scss\";\r\n\r\nconst { Header, Content, Sider } = MsdLayout;\r\n\r\nclass Layout extends Component {\r\n state = {\r\n collapsed: false,\r\n component: null,\r\n popup: false,\r\n withoutLogo: false,\r\n downloadApp: true,\r\n // showAdBanner: localStorage.getItem(\"adBanner\") ? false : true,\r\n };\r\n componentWillUnmount() {\r\n window.removeEventListener(\"resize\", () => this.handleResize(this));\r\n }\r\n componentDidMount() {\r\n if (isMobile && this.props.location.pathname === \"/register\") {\r\n this.setState({\r\n collapsed: true,\r\n });\r\n }\r\n if (\r\n isBrowser &&\r\n document.getElementsByClassName(\"ant-layout\")[0] &&\r\n document.getElementsByClassName(\"topTags\")[0]\r\n ) {\r\n document.getElementsByClassName(\"ant-layout\")[0].style.marginLeft =\r\n \"190px\";\r\n // document.getElementsByClassName(\"topTags\")[0].style.marginLeft = \"190px\";\r\n }\r\n window.addEventListener(\"resize\", () => this.handleResize(this));\r\n\r\n if (window.location.search.includes(\"?code=\") && isMobile) {\r\n this.setState({ collapsed: true });\r\n }\r\n }\r\n // closeAdBanner = () => {\r\n // this.setState({\r\n // showAdBanner: false,\r\n // });\r\n // localStorage.setItem(\"adBanner\", true);\r\n // };\r\n handleResize(_this) {\r\n const antLayout = document.getElementsByClassName(\"ant-layout\")[0];\r\n const categoryLayout = document.getElementsByClassName(\"topTags\")[0];\r\n if (window.innerWidth <= 760 && antLayout && categoryLayout) {\r\n antLayout.style.marginLeft = \"0px\";\r\n categoryLayout.style.marginLeft = \"0px\";\r\n } else {\r\n if (!_this.state.collapsed && isBrowser && antLayout && categoryLayout) {\r\n antLayout.style.marginLeft = \"190px\";\r\n antLayout.classList.add(\"big\");\r\n antLayout.classList.remove(\"small\");\r\n antLayout.classList.remove(\"meduim\");\r\n // categoryLayout.style.marginLeft = \"190px\";\r\n } else if (\r\n _this.state.collapsed &&\r\n isBrowser &&\r\n antLayout &&\r\n categoryLayout\r\n ) {\r\n antLayout.style.marginLeft = \"80px\";\r\n categoryLayout.style.marginLeft = \"80px\";\r\n antLayout.classList.add(\"meduim\");\r\n antLayout.classList.remove(\"small\");\r\n antLayout.classList.remove(\"big\");\r\n }\r\n }\r\n }\r\n handleLayout = ({ status }) => {\r\n const layout = document.getElementsByClassName(\"ant-layout\")[0];\r\n\r\n if (status && isBrowser) {\r\n layout.style.marginLeft = \"80px\";\r\n layout.classList.add(\"small\");\r\n layout.classList.remove(\"big\");\r\n } else if (!status && isBrowser) {\r\n layout.style.marginLeft = \"190px\";\r\n layout.classList.add(\"big\");\r\n document\r\n .getElementsByClassName(\"ant-layout\")[0]\r\n .classList.remove(\"small\");\r\n }\r\n };\r\n\r\n toggle = () => {\r\n const status = !this.state.collapsed;\r\n this.handleLayout({ status });\r\n\r\n if (status) {\r\n this.drawerClose();\r\n }\r\n this.setState({\r\n collapsed: status,\r\n });\r\n };\r\n\r\n handleDrawerClose = () => {\r\n this.handleLayout({ status: false });\r\n this.setState({\r\n collapsed: false,\r\n component: null,\r\n });\r\n };\r\n\r\n handleDrawerOpen = () => {\r\n this.handleLayout({ status: true });\r\n this.setState({\r\n collapsed: true,\r\n });\r\n };\r\n\r\n popupHandler = (component, logo) => {\r\n this.setState({\r\n component: component,\r\n popup: true,\r\n withoutLogo: logo ? true : false,\r\n });\r\n };\r\n\r\n closePopup = () => {\r\n this.setState({\r\n component: null,\r\n popup: false,\r\n });\r\n };\r\n drawerClose = () => {\r\n this.setState({\r\n component: null,\r\n });\r\n };\r\n\r\n render() {\r\n return !isIE ? (\r\n
\r\n {/* \r\n
\r\n \r\n
\r\n */}\r\n \r\n {this.props.hideLayout ? null : (\r\n \r\n \r\n this.popupHandler(component)}\r\n drawerClose={this.drawerClose}\r\n location={this.props.location}\r\n history={this.props.history}\r\n quickLiveTooltip={this.props.quickLiveTooltip}\r\n setTooltips={this.props.setTooltips}\r\n />\r\n \r\n \r\n )}\r\n\r\n \r\n {this.props.hideLayout ? null : (\r\n \r\n {this.state.downloadApp && isMobile ? (\r\n
\r\n {isAndroid ? (\r\n \r\n \r\n Download Android app\r\n \r\n ) : isIOS ? (\r\n \r\n \r\n Download iOS app\r\n \r\n ) : null}\r\n \r\n this.setState({\r\n downloadApp: false,\r\n })\r\n }\r\n >\r\n X\r\n \r\n
\r\n ) : null}\r\n\r\n
\r\n \r\n this.popupHandler(component, logo)\r\n }\r\n closePopup={this.closePopup}\r\n theme={this.props.theme}\r\n />\r\n
\r\n
\r\n )}\r\n\r\n {this.props.children}\r\n {this.props.hideLayout ? null : (\r\n \r\n this.popupHandler(component)}\r\n toggleClick={this.toggle}\r\n collapsed={this.state.collapsed}\r\n />\r\n \r\n )}\r\n
\r\n \r\n\r\n {this.state.popup ? (\r\n \r\n {this.state.component}\r\n \r\n ) : null}\r\n
\r\n ) : (\r\n
IE is not supported. Download Chrome/Opera/Firefox
\r\n );\r\n }\r\n}\r\nconst mapStateToProps = (state) => {\r\n return {\r\n theme: state.local.theme,\r\n };\r\n};\r\nexport default connect(mapStateToProps)(withRouter(Layout));\r\n","import React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { applicationError as ErrorPage } from \"@pmviulive/vume-reactjs\";\r\n\r\nclass ErrorBoundaries extends React.Component {\r\n state = {\r\n errorFound: false,\r\n error: null,\r\n info: null,\r\n };\r\n\r\n componentDidCatch(error, info) {\r\n this.setState({\r\n errorFound: true,\r\n error: error,\r\n info: info,\r\n });\r\n }\r\n homePageHandler = () => {\r\n this.setState({\r\n errorFound: false,\r\n error: null,\r\n info: null,\r\n });\r\n this.props.history.push(\"/\");\r\n };\r\n\r\n render() {\r\n if (this.state.errorFound) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return {this.props.children};\r\n }\r\n}\r\n\r\nexport default withRouter(ErrorBoundaries);\r\n","import React, { Component,createContext } from \"react\";\r\nimport { getLocations, getAllCategories } from \"@pmviulive/vume-js\";\r\nimport {\r\n saveToken,\r\n saveServer,\r\n saveLocations,\r\n saveCategories,\r\n saveTheme,\r\n} from \"./config/store/localRedux/actions\";\r\nimport { Spinner, Modal } from \"@pmviulive/msd-reactjs\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { connect } from \"react-redux\";\r\nimport Routes from \"./routes/routes\";\r\nimport { Offline } from \"@pmviulive/react-detect-offline\";\r\nimport Layout from \"./view/layout/layout\";\r\nimport { googleRecaptchaCode, googleApiAddress } from \"./config/serverConfig\";\r\nimport { serverError } from \"./config/errorHandler\";\r\nimport ErrorBoundaries from \"./config/errorBoundary\";\r\nimport ReactGA from \"react-ga\";\r\nimport { GoogleReCaptchaProvider } from \"react-google-recaptcha-v3\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\nimport { getServerBasedOnPoints, getClosestServer } from \"@pmviulive/msd-js\";\r\nimport * as Sentry from \"@sentry/react\";\r\nimport \"./root.scss\";\r\nimport * as firebase from \"firebase/app\";\r\nimport \"firebase/analytics\";\r\nimport {isMobile} from \"react-device-detect\";\r\nimport MyProvider, { MyContext } from \"./view/sharedComponents/MyProvider/MyProvider\";\r\n\r\n\r\nclass App extends Component {\r\n state = {\r\n isOnline: true,\r\n };\r\n componentDidMount() {\r\n if (window.location.search.includes(\"?privacy=true\")) {\r\n this.props.history.push(\"/privacy\");\r\n }\r\n const theme = localStorage.getItem(\"theme\") || \"light\";\r\n this.props.saveTheme(theme);\r\n let serialNumber = localStorage.getItem(\"serialNumber\");\r\n if (serialNumber) {\r\n } else {\r\n serialNumber = uuidv4();\r\n localStorage.setItem(\"serialNumber\", serialNumber);\r\n }\r\n if (\r\n localStorage.getItem(\"user\") &&\r\n !localStorage.getItem(\"token\") &&\r\n !sessionStorage.getItem(\"token\")\r\n ) {\r\n localStorage.clear();\r\n }\r\n if (sessionStorage.getItem(\"server\")) {\r\n this.props.saveServer(sessionStorage.getItem(\"server\"));\r\n this.initial(sessionStorage.getItem(\"server\"));\r\n } else {\r\n this.getClosestServer();\r\n if (\"geolocation\" in navigator) {\r\n try {\r\n navigator.geolocation.getCurrentPosition((position) => {\r\n this.getServerBasedOnPoints(\r\n position.coords.latitude,\r\n position.coords.longitude\r\n );\r\n }, this.getClosestServer);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n } else {\r\n this.getClosestServer();\r\n }\r\n }\r\n\r\n const environment = process.env.REACT_APP_API_HOST.includes(\"dev\")\r\n ? \"dev-viulive-web\"\r\n : process.env.REACT_APP_API_HOST.includes(\"stg\")\r\n ? \"stg-viulive-web\"\r\n : \"prd-viulive-web\";\r\n if (\r\n process.env.REACT_APP_IS_PRODUCTION === \"true\" ||\r\n process.env.REACT_APP_LEVEL === \"stg\"\r\n ) {\r\n Sentry.init({\r\n dsn: \"https://73dd136923cb43ac82423f5d3710e077@o417594.ingest.sentry.io/5318485\",\r\n enableAutoSessionTracking: true,\r\n environment: environment,\r\n });\r\n }\r\n\r\n // try {\r\n // window.addEventListener(\"offline\", () => this.offline());\r\n // window.addEventListener(\"online\", () => this.online());\r\n // } catch (e) {\r\n // console.log(e);\r\n // }\r\n\r\n }\r\n offline = () => {\r\n this.setState({\r\n isOnline: false,\r\n });\r\n };\r\n online = () => {\r\n if (!this.state.isOnline) {\r\n this.setState({\r\n isOnline: true,\r\n });\r\n this.forceUpdate();\r\n }\r\n };\r\n getServerBasedOnPoints = async (lat, lon) => {\r\n const result = await getServerBasedOnPoints(\r\n lat,\r\n lon,\r\n process.env.REACT_APP_SERVER_LOCATION.split(\",\"),\r\n process.env.REACT_APP_API_HOST.split(\",\"),\r\n process.env.REACT_APP_WEBSOCKET_HOST.split(\",\")\r\n );\r\n this.getClosestServer(result);\r\n };\r\n getClosestServer = async (closestServer) => {\r\n let apiHosts = process.env.REACT_APP_API_HOST.split(\",\");\r\n let socketHosts = process.env.REACT_APP_WEBSOCKET_HOST.split(\",\");\r\n if (closestServer) {\r\n apiHosts.push(closestServer[0]);\r\n socketHosts.push(closestServer[1]);\r\n }\r\n const result = await getClosestServer(apiHosts, socketHosts);\r\n\r\n if (result) {\r\n this.props.saveServer(result[0]);\r\n sessionStorage.setItem(\"server\", result[0]);\r\n sessionStorage.setItem(\"ws\", result[1]);\r\n this.initial(result[0]);\r\n }\r\n };\r\n initial = (server) => {\r\n ReactGA.initialize(\"UA-149363161-1\", {\r\n debug: false,\r\n });\r\n\r\n const firebaseConfig = {\r\n apiKey: \"AIzaSyCKi70Qu_vBcOJ1blG7pCr93Q3M_7-7u7s\",\r\n authDomain: \"viulive-254807.firebaseapp.com\",\r\n databaseURL: \"https://viulive-254807.firebaseio.com\",\r\n projectId: \"viulive-254807\",\r\n storageBucket: \"viulive-254807.appspot.com\",\r\n messagingSenderId: \"769287433043\",\r\n appId: \"1:769287433043:web:91090ad6b873752d0a8fa6\",\r\n measurementId: \"G-5YX3DJP7P0\",\r\n };\r\n if (!firebase.apps.length) firebase.initializeApp(firebaseConfig);\r\n\r\n if (process.env.REACT_APP_IS_PRODUCTION === \"true\") {\r\n firebase.analytics();\r\n }\r\n this.props.getLocations(server);\r\n this.props.getAllCategories(server);\r\n this.props.saveToken();\r\n };\r\n componentDidUpdate(prevProps) {\r\n // if (process.env.REACT_APP_LEVEL !== \"dev\") {\r\n // // console.clear();\r\n // }\r\n if (this.props.history.location.pathname !== prevProps.history.pathname) {\r\n ReactGA.pageview(this.props.history.location.pathname);\r\n }\r\n if (this.props.locations && prevProps.locations !== this.props.locations) {\r\n localStorage.setItem(\"locations\", JSON.stringify(this.props.locations));\r\n this.getCurrentLocation();\r\n this.props.saveLocations(this.props.locations);\r\n }\r\n if (\r\n this.props.categories &&\r\n prevProps.categories !== this.props.categories\r\n ) {\r\n this.props.saveCategories(this.props.categories);\r\n }\r\n if (\r\n this.props.serverError &&\r\n this.props.serverError !== prevProps.serverError\r\n ) {\r\n if (navigator.onLine) {\r\n serverError();\r\n }\r\n }\r\n if (\r\n this.props.permissionError &&\r\n this.props.permissionError !== prevProps.permissionError\r\n ) {\r\n this.props.history.push(\"/noPermission\");\r\n }\r\n }\r\n\r\n getCurrentLocation = () => {\r\n if (!this.props.history.location.pathname.includes(\"recaptcha\")) {\r\n if (\"geolocation\" in navigator) {\r\n try {\r\n navigator.geolocation.getCurrentPosition((position) => {\r\n const localApi = googleApiAddress(position);\r\n fetch(localApi)\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((json) => {\r\n if (json.results.length > 0) {\r\n json.results.map((location) => {\r\n if (location.types.includes(\"country\")) {\r\n this.props.localLocations.map((country) => {\r\n if (country.name === location.formatted_address) {\r\n sessionStorage.setItem(\"myLocation\", country.id);\r\n }\r\n return null;\r\n });\r\n }\r\n return null;\r\n });\r\n } else {\r\n return null;\r\n }\r\n });\r\n }, this.errorNavigatorHandler);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n }\r\n };\r\n render() {\r\n const urlSearch = new URLSearchParams(window.location.search);\r\n \r\n return (\r\n \r\n {this.props.server && this.props.categories ? (\r\n \r\n \r\n \r\n {({tooltip, setTooltip}) => (\r\n \r\n {/**/}\r\n {!isMobile &&\r\n \r\n \r\n
\r\n
\r\n

You are currently offline.

\r\n this.forceUpdate()}>Refresh\r\n
\r\n
\r\n \r\n
\r\n }\r\n \r\n \r\n )}\r\n
\r\n
\r\n
\r\n ) : (\r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\nconst mapStateToProps = (state) => {\r\n return {\r\n locations: state.locations.locations,\r\n categories: state.events.categories,\r\n serverError: state.errorHandler.response,\r\n permissionError: state.errorHandler.permissionError,\r\n server: state.local.server,\r\n localLocations: state.local.locations,\r\n token: state.local.token,\r\n theme: state.local.theme,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n getLocations: (server) => dispatch(getLocations(server)),\r\n getAllCategories: (server) => dispatch(getAllCategories(server)),\r\n saveToken: () => dispatch(saveToken()),\r\n saveServer: (server) => dispatch(saveServer(server)),\r\n saveLocations: (locations) => dispatch(saveLocations(locations)),\r\n saveCategories: (categories) => dispatch(saveCategories(categories)),\r\n saveTheme: (theme) => dispatch(saveTheme(theme)),\r\n };\r\n};\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(App));\r\n","import i18n from \"./i18n\";\r\nimport { throwModal } from \"../view/sharedComponents/errors/throwError/throwError\";\r\n\r\nexport const serverError = () => {\r\n throwModal(\"error\", {\r\n title: i18n.t(\"errors.serverError\"),\r\n content: i18n.t(\"errors.serverErrorDetail\"),\r\n });\r\n};\r\n","import * as actions from \"./actions\";\r\nimport { put, all, takeEvery } from \"redux-saga/effects\";\r\nimport * as actionTypes from \"./actionTypes\";\r\n\r\nfunction* saveTokenSaga() {\r\n yield put(actions.saveTokenStart());\r\n let token = null;\r\n if (localStorage.getItem(\"token\")) {\r\n token = localStorage.getItem(\"token\");\r\n } else {\r\n token = sessionStorage.getItem(\"token\");\r\n }\r\n yield put(actions.saveTokenSuccess(token));\r\n}\r\n// ==========================\r\n\r\nfunction* saveServerSaga(action) {\r\n yield put(actions.saveServerSuccess(action.server));\r\n}\r\n\r\n// ==========================\r\n\r\nfunction* saveFirstTimeLoadSaga(action) {\r\n yield put(actions.saveFirstTimeLoadSuccess(action.status));\r\n}\r\n\r\n// ==========================\r\n\r\nfunction* rememberLoginSaga(action) {\r\n yield put(actions.rememberLoginSuccess(action.rememberLogin));\r\n}\r\n// ==========================\r\n\r\nfunction* saveLocationsSaga(action) {\r\n yield put(actions.saveLocationsSuccess(action.locations));\r\n}\r\n\r\n// ==========================\r\n\r\nfunction* saveCategoriesSaga(action) {\r\n yield put(actions.saveCategoriesSuccess(action.categories));\r\n}\r\n// ==========================\r\n\r\nfunction* thumbnailDraggingSaga(action) {\r\n yield put(actions.thumbnailDraggingSuccess(action.stream));\r\n}\r\n// ==========================\r\n\r\nfunction* thumbnailDroppedSaga(action) {\r\n yield put(actions.thumbnailDroppedSuccess(200));\r\n}\r\n// ==========================\r\n\r\nfunction* savePrivateEventKeySaga(action) {\r\n yield put(actions.savePrivateEventKeySuccess(action.accessKey));\r\n}\r\n\r\n// ==========================\r\n\r\nfunction* deletePrivateKeys(action) {\r\n yield put(actions.deletePrivateKeysSuccess());\r\n}\r\n\r\n// ==========================\r\nfunction* saveThemeSaga(action) {\r\n yield put(actions.saveThemeSuccess(action.theme));\r\n}\r\n// ==========================\r\nfunction* saveFavoriteCategoriesSaga(action) {\r\n yield put(actions.saveFavoriteCategoriesSuccess(action.favoriteCategories));\r\n}\r\n// ==========================\r\n\r\nfunction* disableAutoplaySessionSaga(action) {\r\n yield put(actions.disableAutoplaySessionSuccess(action.state));\r\n}\r\n\r\nexport function* watchLocalSaga() {\r\n yield all([\r\n takeEvery(actionTypes.SAVE_TOKEN, saveTokenSaga),\r\n takeEvery(actionTypes.REMEMBER_LOGIN, rememberLoginSaga),\r\n takeEvery(actionTypes.SAVE_SERVER, saveServerSaga),\r\n takeEvery(actionTypes.SAVE_FIRST_TIME_LOAD, saveFirstTimeLoadSaga),\r\n takeEvery(actionTypes.SAVE_LOCATIONS, saveLocationsSaga),\r\n takeEvery(actionTypes.THUMBNAIL_DRAGGING, thumbnailDraggingSaga),\r\n takeEvery(actionTypes.THUMBNAIL_DROPPED, thumbnailDroppedSaga),\r\n takeEvery(actionTypes.SAVE_PRIVATE_EVENT_KEY, savePrivateEventKeySaga),\r\n takeEvery(actionTypes.SAVE_CATEGORIES, saveCategoriesSaga),\r\n takeEvery(actionTypes.DELETE_PRIVATE_KEYS, deletePrivateKeys),\r\n takeEvery(actionTypes.SAVE_THEME, saveThemeSaga),\r\n takeEvery(actionTypes.SAVE_FAVORITE_CATEGORIES, saveFavoriteCategoriesSaga),\r\n takeEvery(actionTypes.DISABLE_AUTOPLAY_SESSION, disableAutoplaySessionSaga),\r\n ]);\r\n}\r\n","import { fork, all } from \"redux-saga/effects\";\r\n\r\nimport {\r\n watchEvents,\r\n watchLocations,\r\n watchAuth,\r\n watchChangePassword,\r\n watchStreams,\r\n watchGetMetaData,\r\n watchTags,\r\n watchUserPlans,\r\n watchReactions,\r\n watchEventView,\r\n watchComments,\r\n watchRoles,\r\n watchSocializing,\r\n watchReports,\r\n watchChats,\r\n watchUsers,\r\n watchProfile,\r\n watchMixer,\r\n watchViubit,\r\n watchInvoice,\r\n watchNotifications,\r\n watchDirector\r\n} from \"@pmviulive/vume-js\";\r\nimport { watchLocalSaga } from \"./localRedux/sagas\";\r\n\r\nexport default function* rootSaga() {\r\n yield all([\r\n fork(watchEvents),\r\n fork(watchStreams),\r\n fork(watchLocations),\r\n fork(watchAuth),\r\n fork(watchChangePassword),\r\n fork(watchGetMetaData),\r\n fork(watchTags),\r\n fork(watchUserPlans),\r\n fork(watchRoles),\r\n fork(watchReactions),\r\n fork(watchEventView),\r\n fork(watchComments),\r\n fork(watchSocializing),\r\n fork(watchLocalSaga),\r\n fork(watchReports),\r\n fork(watchChats),\r\n fork(watchUsers),\r\n fork(watchProfile),\r\n fork(watchMixer),\r\n fork(watchViubit),\r\n fork(watchInvoice),\r\n fork(watchNotifications),\r\n fork(watchDirector),\r\n ]);\r\n}\r\n","import { createStore, applyMiddleware } from \"redux\";\r\nimport createSagaMiddleware from \"redux-saga\";\r\nimport rootSaga from \"./rootSaga\";\r\n\r\nexport default (rootReducer) => {\r\n const sagaMiddleware = createSagaMiddleware();\r\n const store = createStore(rootReducer, applyMiddleware(sagaMiddleware));\r\n sagaMiddleware.run(rootSaga);\r\n\r\n return store;\r\n};\r\n","import * as actionTypes from \"./actionTypes\";\r\n\r\nconst initialState = {\r\n token: null,\r\n loading: false,\r\n rememberLogin: true,\r\n locations: null,\r\n server: null,\r\n dndResponse: null,\r\n accessKeys: [],\r\n categories: null,\r\n theme: null,\r\n disableAutoPlaySession: false,\r\n firstTimeLoad: true,\r\n favoriteCategories: [],\r\n};\r\nconst saveTokenStart = (state) => {\r\n const newState = {\r\n ...state,\r\n token: null,\r\n loading: true,\r\n };\r\n return newState;\r\n};\r\nconst saveTokenSuccess = (state, action) => {\r\n const newState = {\r\n ...state,\r\n loading: false,\r\n token: action.token,\r\n };\r\n return newState;\r\n};\r\n// ================\r\nconst rememberLoginSuccess = (state, action) => {\r\n const newState = {\r\n ...state,\r\n loading: false,\r\n rememberLogin: action.rememberLogin,\r\n };\r\n return newState;\r\n};\r\n// ================\r\n\r\nconst saveServerSuccess = (state, action) => {\r\n const newState = {\r\n ...state,\r\n loading: false,\r\n server: action.server,\r\n };\r\n return newState;\r\n};\r\n\r\n// ================\r\n\r\nconst saveFirstTimeLoadSuccess = (state, action) => {\r\n const newState = {\r\n ...state,\r\n loading: false,\r\n firstTimeLoad: action.status,\r\n };\r\n return newState;\r\n};\r\n// ================\r\n\r\nconst saveLocationsSuccess = (state, action) => {\r\n const newState = {\r\n ...state,\r\n loading: false,\r\n locations: action.locations,\r\n };\r\n return newState;\r\n};\r\n// ================\r\n\r\nconst saveCategoriesSuccess = (state, action) => {\r\n const newState = {\r\n ...state,\r\n loading: false,\r\n categories: action.categories,\r\n };\r\n return newState;\r\n};\r\n// ================\r\n\r\nconst thumbnailDraggingSuccess = (state, action) => {\r\n const newState = {\r\n ...state,\r\n dndResponse: action.response,\r\n };\r\n return newState;\r\n};\r\n// ================\r\n\r\nconst thumbnailDroppedSuccess = (state, action) => {\r\n const newState = {\r\n ...state,\r\n dndResponse: action.response,\r\n };\r\n return newState;\r\n};\r\n// ================\r\n\r\nconst savePrivateEventKeySuccess = (state, action) => {\r\n const newState = {\r\n ...state,\r\n accessKeys: [...state.accessKeys, action.accessKey],\r\n };\r\n return newState;\r\n};\r\n\r\n// ================\r\n\r\nconst deletePrivateKeysSuccess = (state, action) => {\r\n const newState = {\r\n ...state,\r\n accessKeys: [],\r\n };\r\n return newState;\r\n};\r\n\r\n// ================\r\n\r\nconst saveThemeSuccess = (state, action) => {\r\n const newState = {\r\n ...state,\r\n loading: false,\r\n theme: action.theme,\r\n };\r\n return newState;\r\n};\r\n// ================\r\n\r\nconst saveFavoriteCategoriesSuccess = (state, action) => {\r\n const newState = {\r\n ...state,\r\n favoriteCategories: action.favoriteCategories,\r\n };\r\n return newState;\r\n};\r\n// ================\r\n\r\nconst disableAutoplaySessionSuccess = (state, action) => {\r\n const newState = {\r\n ...state,\r\n loading: false,\r\n disableAutoPlaySession: action.state,\r\n };\r\n return newState;\r\n};\r\n\r\nexport const localReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case actionTypes.SAVE_TOKEN_START:\r\n return saveTokenStart(state);\r\n case actionTypes.SAVE_TOKEN_SUCCESS:\r\n return saveTokenSuccess(state, action);\r\n\r\n case actionTypes.SAVE_SERVER_SUCCESS:\r\n return saveServerSuccess(state, action);\r\n\r\n case actionTypes.SAVE_FIRST_TIME_LOAD_SUCCESS:\r\n return saveFirstTimeLoadSuccess(state, action);\r\n\r\n case actionTypes.REMEMBER_LOGIN_SUCCESS:\r\n return rememberLoginSuccess(state, action);\r\n\r\n case actionTypes.SAVE_LOCATIONS_SUCCESS:\r\n return saveLocationsSuccess(state, action);\r\n\r\n case actionTypes.SAVE_CATEGORIES_SUCCESS:\r\n return saveCategoriesSuccess(state, action);\r\n\r\n case actionTypes.THUMBNAIL_DRAGGING_SUCCESS:\r\n return thumbnailDraggingSuccess(state, action);\r\n\r\n case actionTypes.THUMBNAIL_DROPPED_SUCCESS:\r\n return thumbnailDroppedSuccess(state, action);\r\n\r\n case actionTypes.SAVE_PRIVATE_EVENT_KEY_SUCCESS:\r\n return savePrivateEventKeySuccess(state, action);\r\n\r\n case actionTypes.DELETE_PRIVATE_KEYS_SUCCESS:\r\n return deletePrivateKeysSuccess(state, action);\r\n\r\n case actionTypes.SAVE_THEME_SUCCESS:\r\n return saveThemeSuccess(state, action);\r\n\r\n case actionTypes.SAVE_FAVORITE_CATEGORIES_SUCCESS:\r\n return saveFavoriteCategoriesSuccess(state, action);\r\n\r\n case actionTypes.DISABLE_AUTOPLAY_SESSION_SUCCESS:\r\n return disableAutoplaySessionSuccess(state, action);\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { combineReducers } from \"redux\";\r\nimport configureStore from \"./createStore\";\r\n\r\nimport {\r\n eventsReducer,\r\n locationsReducer,\r\n authReducer,\r\n changePasswordReducer,\r\n streamsReducer,\r\n errorHandlerReducer,\r\n getMetaDataReducer,\r\n tagsReducer,\r\n userPlanReducer,\r\n reactionReducer,\r\n eventViewReducer,\r\n commentsReducer,\r\n socializingReducer,\r\n reportsReducer,\r\n chatsReducer,\r\n usersReducer,\r\n profileReducer,\r\n mixerReducer,\r\n viubitReducer,\r\n invoiceReducer,\r\n profileNotificationsReducer,\r\n directorReducer,\r\n} from \"@pmviulive/vume-js\";\r\n\r\nimport { localReducer } from \"./localRedux/reducers\";\r\n/* ------------- Assemble The Reducers ------------- */\r\n\r\nexport const reducers = combineReducers({\r\n events: eventsReducer,\r\n locations: locationsReducer,\r\n auth: authReducer,\r\n changePassword: changePasswordReducer,\r\n streams: streamsReducer,\r\n errorHandler: errorHandlerReducer,\r\n metaData: getMetaDataReducer,\r\n tags: tagsReducer,\r\n userPlans: userPlanReducer,\r\n reactions: reactionReducer,\r\n eventView: eventViewReducer,\r\n comments: commentsReducer,\r\n socializing: socializingReducer,\r\n reports: reportsReducer,\r\n local: localReducer,\r\n chats: chatsReducer,\r\n users: usersReducer,\r\n profile: profileReducer,\r\n mixer: mixerReducer,\r\n viubit: viubitReducer,\r\n invoice: invoiceReducer,\r\n notifications: profileNotificationsReducer,\r\n director: directorReducer,\r\n});\r\n\r\nexport default () => {\r\n return configureStore(reducers);\r\n};\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === \"localhost\" ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === \"[::1]\" ||\r\n // 127.0.0.0/8 are considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === \"production\" && \"serviceWorker\" in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener(\"load\", () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n \"This web app is being served cache-first by a service \" +\r\n \"worker. To learn more, visit https://bit.ly/CRA-PWA\"\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then((registration) => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === \"installed\") {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n \"New content is available and will be used when all \" +\r\n \"tabs for this page are closed. See https://bit.ly/CRA-PWA.\"\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log(\"Content is cached for offline use.\");\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error during service worker registration:\", error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl, {\r\n headers: { \"Service-Worker\": \"script\" },\r\n })\r\n .then((response) => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get(\"content-type\");\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf(\"javascript\") === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then((registration) => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n \"No internet connection found. App is running in offline mode.\"\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if (\"serviceWorker\" in navigator) {\r\n navigator.serviceWorker.ready\r\n .then((registration) => {\r\n registration.unregister();\r\n })\r\n .catch((error) => {\r\n console.error(error.message);\r\n });\r\n }\r\n}\r\n","import React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { BrowserRouter } from \"react-router-dom\";\r\nimport { Provider } from \"react-redux\";\r\nimport { loadStripe } from \"@stripe/stripe-js\";\r\nimport { Elements } from \"@stripe/react-stripe-js\";\r\nimport App from \"./App\";\r\nimport createStore from \"./config/store/index\";\r\n\r\nimport * as serviceWorker from \"./serviceWorker\";\r\n\r\nif (process.env.REACT_APP_LEVEL == \"prd\") {\r\n console.log = function no_console() {};\r\n console.warn = function no_console() {};\r\n console.error = function no_console() {};\r\n console.debug = function no_console() {};\r\n console.info = function no_console() {};\r\n}\r\n\r\nconst store = createStore();\r\nconst stripePromise = loadStripe(\r\n process.env.REACT_APP_LEVEL === \"prd\"\r\n ? \"pk_live_51IyXESIgSSfOBJhH2h1uIxC5H4o86loaJbQigJXZWt3ijv2kS29wkvqiaQGTrwHjL81oSfsK12RbdkXlKi71ZQmw00YGnvD9kV\"\r\n : \"pk_test_51IyXESIgSSfOBJhHkpuMn9t7FWekurUeQ6zukp3K0jssmMGQnaXWd9Qxu1EbpYDHEBBFOkfXUdREfpWtfQlE6i2g00Bp9I5Joa\"\r\n);\r\nconst app = (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n);\r\n\r\nReactDOM.render(app, document.getElementById(\"root\"));\r\n\r\nserviceWorker.unregister();\r\n","import I18n from \"i18n-js\";\r\nimport { en } from \"@pmviulive/vume-js\";\r\n// Enable fallbacks if you want `en-US` and `en-GB` to fallback to `en`\r\nI18n.fallbacks = true;\r\nI18n.locale = \"en\";\r\nI18n.defaultLocale = \"en\";\r\n// English language is the main language for fall back:\r\nI18n.translations = {\r\n en: en,\r\n};\r\n\r\nexport default I18n;\r\n","export const webUrl = process.env.REACT_APP_WEB_URL;\r\nexport const version = process.env.REACT_APP_VERSION;\r\nexport const level = process.env.REACT_APP_LEVEL;\r\nexport const googleLoginCode = process.env.REACT_APP_GOOGLE_LOGIN_CODE;\r\nexport const facebookLoginCode = process.env.REACT_APP_FACEBOOK_LOGIN_CODE;\r\nexport const googleRecaptchaCode = process.env.REACT_APP_GOOGLE_RECAPTCHA;\r\nexport const googleRecaptchaCodeV2 = process.env.REACT_APP_GOOGLE_RECAPTCHA_v2;\r\n\r\nexport const googleApiAddress = (position) => {\r\n return `https://maps.googleapis.com/maps/api/geocode/json?latlng=${position.coords.latitude},${position.coords.longitude}&key=AIzaSyCKi70Qu_vBcOJ1blG7pCr93Q3M_7-7u7s`;\r\n};\r\n"],"sourceRoot":""}