{"version":3,"sources":["assets/global_ic_apprequired.png","assets/no_video.png","assets/china_ic_apprequired.png","assets/global_ic_apprequired_ns.png","assets/icon_close.png","assets/icon_air_playback_s.svg","assets/download_error.svg","assets/icon_web_base.svg","assets/icon_web_button_normal.svg","assets/icon_web_button_pressed.svg","assets/video_poster.png","assets/icon_web_logo_pressed.svg","constants/Global.js","constants/Lang.js","network/AxiosInstance.js","components/ModalAppRequiredInfo.js","components/VideoDownloadExceededInfo.js","components/DownloadBtnComponent.js","utils/HandleIosVersion.js","components/VideoComponent.js","components/PasswordComponent.js","components/LogoComponent.js","utils/FetchBlobConvertToBase64.js","layout/QRCodeData.js","layout/Home.js","layout/UnAuthorizedAccess.js","App.js","serviceWorker.js","reducers/i18n.js","index.js","assets/icon_web_logo_normal.svg"],"names":["module","exports","__webpack_require__","p","Strings","WEB_API","WEB_CHECK_IPORIGIN_COUNTRY","WEB_CHECK_IPFOR_GLOBALSITES","WEB_GET_DATAFROM_URL","WEB_AUTHORIZE_REQUEST","CONSTANTS","API_KEY","USER_ID","LOGIN_FAILURE_COUNT","DEFAULT_TOKEN_QRCODE","DEFAULT_QRCODE_PASSWORD","PRODUCT_ID_BO23","PRODUCT_ID_LINK_NS","URL_STRING","HOMEPAGE","QRCODE_URL","ACCESS_DENIED","ERROR_CODE","USER_NOT_EXIST","INCORRECT_PASSWORD","BLOB_CDN_URL","BASE_PATH","CONTAINER","translationsObject","en","VIDEO_NOT_AVAILABLE","ENTERPASSWORD","INPUTPASSWORD","PASSWORD","INCORRECTPASSWORD","REMAINIG_ATTEMPT","SUBMIT","CANCEL","MAX_TRY_EXCEEDED","EXPIRY_DATE","BTN_DOWNLOAD_VIDEO","BTN_DOWNLOAD_VIDEO_CN","BTN_INSTALL_APP","APP_REQUIRED_INFO","APP_REQUIRED_INFO_NSLINK","APP_REQUIRED_INFO_CN","APP_REQUIRED_BTN_OK","TITLE_DOWNLOAD_EXCEEDED","SUBTITLE_DOWNLOAD_EXCEEDED","BACK_BUTTON_TEXT_DOWNLOAD_EXCEEDED","WARN_MSG_DOWNLOAD_NOT_SUPPORTED","WE_CHAT_ALERT_MSG_CN","WE_CHAT_ALERT_MSG_CN_2","ja","fr","de","es","zh-cn","zh-hk","zh-tw","ko","pt","it","APIHandler","Object","classCallCheck","this","createClass","key","value","Promise","resolve","reject","axios","get","then","res","AxiosInstance","create","baseURL","data","headers","x-api-key","GlobalStrings","Authorization","localStorage","getItem","AUTH_TOKEN","Translate","require","ModalAppRequiredInfo","_Component","props","_this","possibleConstructorReturn","getPrototypeOf","call","state","iconLiplayApp","globalAppIcon","appRequiredInfoMsg","inherits","isChinaWebApp","setState","chinaAppIcon","react_default","a","createElement","isBo23App","globalAppIconNSLink","_this$props","isVisible","handleOk","handleCancel","_this$state","modal","visible","footer","title","src","iconClose","onClick","className","alt","es_button","closable","maskClosable","centered","Component","imgIconFailed","VideoDownloadExceededInfo","titleText","subtitleText","dismissButtonText","prevProps","setDownloadExceededTexts","VideoDownloadExceededInfo_Translate","topValueOfDownloadButton","topValueOfCenterContent","dismissBtnStyle","handleBackBtn","style","display","concat","top","margin","textAlign","id","styles","gb","downloadBtn","borderColor","borderRadius","backgroundColor","color","width","height","cn","padding","installBtn","CHINA_APK_DOWNLOAD_URL","CHINA_IOS_DOWNLOAD_URL","DownloadBtnComponent","handleOnClickInstall","window","open","handleOnClickInstalliOS","document","location","renderDownloadButtonDiv","isVideoDownloadButtonVisible","isVideoButtonDisabled","isChinaConfig","handleDownloadBtnClick","refDownloadBtn","isAndroid","disabled","ref","DownloadBtnComponent_Translate","isIOS","isIosVersion15_Above","parseFloat","osVersion","iconWebBaseImage","imgNoImageInfoIos","iosImageDescStyle","paddingTop","paddingRight","paddingLeft","flex","justifyContent","antIcon","icon","type","fontSize","spin","VideoComponent","videoUrl","imageUrl","handleImageLoaded","playVideo","showNoImageInfo","showSoundbtn","handleOntouchStartPlayBtn","web_play_btn_icon","showWebPlayBtnIcon","dataExpiryDate","videoExist","handleSoundFinishedPlaying","isDownloadSpinnerVisible","isShowImageAsPoster","showMaskImageForVideo","ContentDiv","onEnded","playsInline","preload","poster","onContextMenuCapture","event","preventDefault","console","log","onLoad","imageDiv","playBtnDiv","onTouchStart","onTouchEnd","onTouchCancel","onTouchMove","onMouseDown","onMouseUp","draggable","videoInProgress","indicator","spinning","VideoComponent_Translate","FormItem","Form","Item","_class","apply","arguments","onCancel","onCreate","form","loading_passwordImage","showRemainingAttempts","modalErrorMessage","modalLoginFailureCount","getFieldDecorator","minHeight","PasswordComponent_Translate","okText","cancelText","onOk","es_form","layout","label","rules","required","message","input","autoFocus","LogoComponent","logoIcon","fetchAsBlob","url","fetch","response","blob","convertBlobToBase64","reader","FileReader","onerror","onload","result","readAsDataURL","_regeneratorRuntime","Op","prototype","hasOwn","hasOwnProperty","defineProperty","obj","desc","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","context","Context","makeInvokeMethod","tryCatch","fn","arg","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","invoke","record","__await","unwrapped","error","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","done","methodName","undefined","return","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","catch","thrown","delegateYield","iconWebPlayButtonNormal","iconWebPlayButtonPressed","iconWeblogoNormal","imgNoImageInfo","posterDefaultImage","VIDEO_DOWNLOAD","STATUS_FLAG","DISABLED","ENABLED","DEFAULT_OR_NOT_DEFINED","QrCodeData","componentDidMount","countrywiseRestrictionChina","countrywiseRestrictionInChina","countrywiseRestrictionGlobal","countrywiseRestrictionInGlobal","soundPasswordProtect","soundCheckiPasswordProtect","isProductionBuild","firebaseLinkObject","bo23","firebaseDynamicLink_BO23","firebaseDynamicLink_BO23_Stg","nsLink","firebaseDynamicLink_NSLink","firebaseDynamicLink_NSLink_Stg","firebaseDynamicLinkRef","current","isChinaBuild","handleCountrywiseRestrictionForChina","handleCountryRestrictionForGlobal","verifiedIp","handleAppStart","addEventListener","updateDimensions","setVideoDownloadExceededInfoStyle","handleLocalStorageExpiry","split","Date","removeItem","handleSetFailureCount","count","oneday","setMinutes","getMinutes","setItem","join","e","mapToBlobCdnUrl","blobUrl","handleGetQrCodeData","password","failCount","parseInt","LangStrings","hash","sha256","update","hashedPassword","hex","config","showMainContainerLoading","post","uId","Uid","_ref","asyncToGenerator","_callee","dateTime","date","cdnVideoUrl","cdnImageUrl","productId","_this$firebaseDynamic","favicon","_favicon","failureCount","_context","expirationDate","checkVideoDownloadAllowed","videoDownloadFlag","videoUrlDownload","imageUrlDownload","loading","isVideoDownloadCountExceeded","productIdRef","firebaseDynamicLink","getElementById","href","convertBlobToBase64Image","convertBlobToBase64Video","status","formRef","setFieldsValue","Password","QRCodeData_Translate","_x","_ref2","_callee2","dataUrl","videoDataUrl","_context2","showMainContainer","isVideoLoaded","setTimeout","_x2","_x3","_ref3","_callee3","_context3","isVideoDownloadInProgress","dismissVideoLoader","_x4","startVideoLoading","checkforVideo","startPlayVideo","videoNode","readyState","b","setInterval","dismissVideoLoaderIos15","clearInterval","play","pause","soundIconPressedState","duration","paused","showPlaying","web_icon_logo_instax","handleResetSound","video","isVideoPlaying","showModal","handleCreate","validateFields","saveFormRef","handleOkAppRequiredModal","_this$state2","isAppRequiredModalVisible","bo23OrNSLinkVideo","CustomUriParams","encodeURIComponent","btoa","replace","dynamicLinkParams","isVideoDownloadExceedWarningVisible","isVideoDownloadSupportedPlatform","handleCancelAppRequiredModal","renderPasswordPopUp","PasswordComponent","wrappedComponentRef","renderAppRequiredModal","_this$state3","components_ModalAppRequiredInfo","renderVideoDownloadExceededInfo","_this$state4","topValueCenterContentOverlay","topValueDownloadButtonOverlay","downloadExceededDismissBtnStyle","components_VideoDownloadExceededInfo","handleBackBtnDownloadExceededInfo","displayWarningForCN","showCnWarningText","downloadBtnRef","React","createRef","match","params","uid","playFromPosition","removeEventListener","_this2","history","_this3","bodyRect","body","getBoundingClientRect","downloadBtnRect","ReactDOM","findDOMNode","offset","topValueForCenterContent","dismissBtnWidth","downloadExceededDismissStyle","_this$state5","components_LogoComponent","components_VideoComponent","components_DownloadBtnComponent","es_alert","description","showIcon","icon_air_playback_s","Header","Layout","Home","cardwidth","currentPage","handleCountrywiseRestriction","_this4","flexDirection","layout_default","fontFamily","Content","UnAuthorizedAcesss","screenWidthConfig","breakpoints","innerWidth","contentPadding","UnAuthorizedAccess_Header","alignContent","App","initialiseApiHandler","init","Switch","Route","exact","path","component","QRCodeData","withRouter","Boolean","hostname","i18n","action","i18nStrings","store","createStore","combineReducers","objectSpread","reducers","i18nReducer","applyMiddleware","thunk","syncTranslationWithStore","dispatch","loadTranslations","language","navigator","languages","userLanguage","setLocale","toLowerCase","render","BrowserRouter","src_App","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.fbd60a0a.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/global_ic_apprequired.18d7e73a.png\";","module.exports = __webpack_public_path__ + \"static/media/no_video.0bcebeed.png\";","module.exports = __webpack_public_path__ + \"static/media/china_ic_apprequired.18d7e73a.png\";","module.exports = __webpack_public_path__ + \"static/media/global_ic_apprequired_ns.10bded94.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKgAAACoCAYAAAB0S6W0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA5FJREFUeNrs3V1u2kAUgFGMujDYSvfQZ+C5e+hWYGcUpFAl1FFCPaT353xSFCXhgYxP7LEdeabz+bySorY2BAJUAlSASoBKgApQCVABKgEqASpAJUAFqASoBKgAlQAVoBKgEqACVAJUgEqASoAKUAlQCVABKgEqQCVAJUAFqASoAJUAlQBV5r5Ff4PTNP31vZ/775vr5x/7XyebcFnR18mawr/BF6AvKHeXj83dS04XqFvUAP3fQD96o1t71DdHmf399y7jswf0CUAvg32c2XNCOg/zOk7Hd358HZvD6zGKvv2znCRtPvm6421+Cue747hzFj9+0B+pJdJP4PyDdO7wD+jX1grpAzjTFR7ogjllC6SVcWbag0LaEGcmoAeH+344r2W7UL9kg5S5BLVwLN7c2HCZaexcdMkdoxJ70gF/qIdMv2+qs/juSDseRdJdZuqKtOsUJ+V10G5IO8+/016o74K0+8lh6jtJ1ZG6clHgVmdVpHAWAVoRKZzFgFZCCmdRoBWQwlkcaGakcDYBmhEpnM2AZkIKZ1OgGZDC2RxoZKRwAhoWKZyAhkUKJ6BhkcIJaFikcAIaFimcgIZFCiegYZHCCWhYpHACGhYpnONK8+CGr2gErBvYLDg9wDYR0EFIV1lwZgDqED/+cO+wDmg5pHACGhYpnICGRQonoGGRwgloWKRwAhoWKZyACtBmDbyA33qxMUBj44QU0PA4IQU0PE5IAQ2PE1JAw+OEFNDwOCEF9MtwblcWGwM0Ks7rHSIr4gEaFuftC0gBDYsTUkDD44QU0PA4IQU0PE5IAQ2PE1JAw+OEFNDwOCEFNDxOSAENjxNSQMPjhBTQNI9AhLQh0GzP54S0EdCsD4+FtAHQ7E82hrQw0CqP3Ya0INBqz4SHtBDQqgsWQFoAaPXVNCBNDLTLUi/dka7hjF9npGs4IQUUTkirA7W8YE+kmfag1r5siDQF0Mtgwjke6Q7QcW3gHI7UHnTg3BPOJyDNcJiv+g/LrZZ6+VekGcZonWTw4Xz+nBTQBZ3gHI70BOi4DnCORXp5XYq97XQ+n2O/wWl6Pak/zpx9XjfIAc7Zk6APxyv89s8E9P7sE8rHztbnxgtQqcEcVIBKgEqAClAJUAlQASoBKkAlQCVABagEqACVAJUAFaASoAJUAlQCVIBKgApQCVAJUAEqASpADYEAlQAVoBKgEqACVAJUgEqASrP9FmAApwEUh4zHfDwAAAAASUVORK5CYII=\"","module.exports = __webpack_public_path__ + \"static/media/icon_air_playback_s.a15699b5.svg\";","module.exports = __webpack_public_path__ + \"static/media/download_error.0c34165d.svg\";","module.exports = __webpack_public_path__ + \"static/media/icon_web_base.b6fa09f8.svg\";","module.exports = __webpack_public_path__ + \"static/media/icon_web_button_normal.5a91c37b.svg\";","module.exports = __webpack_public_path__ + \"static/media/icon_web_button_pressed.e5d0c4c7.svg\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlgAAAMgCAIAAABwAouTAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAvUSURBVHhe7dUxAQAgDMCwgX/P48FFk6cSenZ3AKDq/gJAkhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAKQZIQBpRghAmhECkGaEAITNPCeCCT0u1OorAAAAAElFTkSuQmCC\"","module.exports = __webpack_public_path__ + \"static/media/icon_web_logo_pressed.a0a82e0a.svg\";","const Strings = {\r\n /**\r\n * API\r\n */\r\n WEB_API: {\r\n WEB_CHECK_IPORIGIN_COUNTRY: \"api/user/checkIpOriginCountry\",\r\n WEB_CHECK_IPFOR_GLOBALSITES: \"api/user/checkIfIpFromRestrictedCountry\",\r\n WEB_GET_DATAFROM_URL: \"api/data/getDataByUid\",\r\n WEB_AUTHORIZE_REQUEST: \"api/user/authorizeSmartphone\",\r\n },\r\n /**\r\n * Constants\r\n */\r\n CONSTANTS: {\r\n API_KEY: \"2ef78ed9-ca04-48ec-8087-ef9ba116b436\",\r\n USER_ID: \"USER_ID\",\r\n LOGIN_FAILURE_COUNT: \"LOGIN_FAILURE_COUNT\",\r\n\r\n DEFAULT_TOKEN_QRCODE: \"65359f6329ecweb75359f6329ectoken1235\",\r\n DEFAULT_QRCODE_PASSWORD: \"0000\",\r\n\r\n PRODUCT_ID_BO23 : \"bo-23\",\r\n PRODUCT_ID_LINK_NS : \"NSLink\"\r\n },\r\n\r\n /**\r\n * Url Strings\r\n */\r\n URL_STRING: {\r\n HOMEPAGE: \"/\",\r\n QRCODE_URL: \"/:uid\",\r\n ACCESS_DENIED: \"/accessdenied\",\r\n },\r\n\r\n /**\r\n * Error Codes\r\n */\r\n ERROR_CODE: {\r\n USER_NOT_EXIST: 6003,\r\n INCORRECT_PASSWORD: 16003,\r\n },\r\n\r\n BLOB_CDN_URL: {\r\n BASE_PATH: \"https://cdn.instax.com/instaxbo23storagecontainer\",\r\n CONTAINER: \"instaxbo23storagecontainer\",\r\n },\r\n};\r\n\r\nexport default Strings;\r\n","const translationsObject = {\r\n en: {\r\n VIDEO_NOT_AVAILABLE: \"The video was not uploaded or has been deleted\",\r\n ENTERPASSWORD: \"Enter Password\",\r\n INPUTPASSWORD: \"Please input the pin/password \",\r\n PASSWORD: \"Password\",\r\n INCORRECTPASSWORD: \"Incorrect Password\",\r\n REMAINIG_ATTEMPT: \"Remaining Attempts\",\r\n SUBMIT: \"SUBMIT\",\r\n CANCEL: \"CANCEL\",\r\n MAX_TRY_EXCEEDED:\r\n \"You have exceeded the maximum number of attempts, Please retry after some time..!\",\r\n EXPIRY_DATE: \"Browse period\",\r\n BTN_DOWNLOAD_VIDEO: \"Download\",\r\n BTN_DOWNLOAD_VIDEO_CN: \"Download\",\r\n BTN_INSTALL_APP: \"Install\",\r\n APP_REQUIRED_INFO:\r\n `The free instax mini Link app is required for downloading. \\n` +\r\n `If the app is installed, it will start automatically and downloading will begin. \\n` +\r\n `If the app is not installed, you will be taken to the App Store or Google Play Store, where you can download the app.`,\r\n APP_REQUIRED_INFO_NSLINK:\r\n `The free instax mini Link for Nintendo app is required for downloading. \\n` +\r\n `If the app is installed, it will start automatically and downloading will begin. \\n` +\r\n `If the app is not installed, you will be taken to the App Store or Google Play Store, where you can download the app.`,\r\n APP_REQUIRED_INFO_CN:\r\n `The free instax mini Link app is required for downloading. \\n ` +\r\n `If the app is already installed, press “Download”. \\n` +\r\n `If the app is not installed, press “Install”.`,\r\n APP_REQUIRED_BTN_OK: \"OK\",\r\n TITLE_DOWNLOAD_EXCEEDED: \"You have reached the download limit.\",\r\n SUBTITLE_DOWNLOAD_EXCEEDED:\r\n \"Cannot download as there are no more downloads remaining.\",\r\n BACK_BUTTON_TEXT_DOWNLOAD_EXCEEDED: \"OK\",\r\n WARN_MSG_DOWNLOAD_NOT_SUPPORTED:\r\n \"The Android or iOS app is required to use the download function.\",\r\n WE_CHAT_ALERT_MSG_CN : `After pressing \"`,\r\n WE_CHAT_ALERT_MSG_CN_2 : ` (playback button)\", if the data reading status on the screen continues for a while, click \"...\" in the upper right and select \"Open in the Default Browser\". Please enter the password again.`\r\n },\r\n ja: {\r\n VIDEO_NOT_AVAILABLE: \"動画がアップロードされていないか、削除されています。\",\r\n ENTERPASSWORD: \"Enter Password\",\r\n INPUTPASSWORD: \"Please input the pin/password \",\r\n PASSWORD: \"Password\",\r\n INCORRECTPASSWORD: \"Incorrect Password\",\r\n REMAINIG_ATTEMPT: \"Remaining Attempts\",\r\n SUBMIT: \"SUBMIT\",\r\n CANCEL: \"CANCEL\",\r\n EXPIRY_DATE: \"閲覧期限\",\r\n BTN_DOWNLOAD_VIDEO: \"ダウンロード\",\r\n BTN_DOWNLOAD_VIDEO_CN: \"Download\",\r\n BTN_INSTALL_APP: \"Install\",\r\n APP_REQUIRED_INFO:\r\n `ダウンロード機能を利用するためには\"instax mini Link\"(無料アプリ)が必要です。\\n` +\r\n `アプリがインストールされている場合は自動でアプリが起動し、ダウンロードが開始されます。\\n` +\r\n `アプリがインストールされていない場合はアプリストアへ移動しますので、アプリをダウンロードしてください。`,\r\n APP_REQUIRED_INFO_NSLINK:\r\n `ダウンロード機能を利用するためには\"instax mini Link for Nintendo\"(無料アプリ)が必要です。\\n` +\r\n `アプリがインストールされている場合は自動でアプリが起動し、ダウンロードが開始されます。\\n` +\r\n `アプリがインストールされていない場合はアプリストアへ移動しますので、アプリをダウンロードしてください。`,\r\n APP_REQUIRED_INFO_CN:\r\n `ダウンロード機能を利用するためには\"instax mini Link\"(無料アプリ)が必要です。\\n` +\r\n `アプリがインストールされている場合は”Download\"、\\n ` +\r\n `アプリがインストールされていない場合は”Install”を押してください。`,\r\n APP_REQUIRED_BTN_OK: \"OK\",\r\n TITLE_DOWNLOAD_EXCEEDED: \"ダウンロード上限回数に達しました。\",\r\n SUBTITLE_DOWNLOAD_EXCEEDED:\r\n \"ダウンロード上限回数に達しているためダウンロードできません。\",\r\n BACK_BUTTON_TEXT_DOWNLOAD_EXCEEDED: \"OK\",\r\n WARN_MSG_DOWNLOAD_NOT_SUPPORTED:\r\n \"ダウンロード機能を使うにはアプリはAndroid又はiOSのアプリが必要になります。\",\r\n WE_CHAT_ALERT_MSG_CN:\"『\",\r\n WE_CHAT_ALERT_MSG_CN_2:\"(再生ボタン)』を押してからしばらくの間、画面上のデータ読込状態が続いている場合、右上の『...』をクリックして、『デフォルトのブラウザで開く』を選択し、再びパスワードを入力してください。\"\r\n },\r\n fr: {\r\n VIDEO_NOT_AVAILABLE: \"La vidéo n'a pas été téléchargée ou a été supprimée\",\r\n ENTERPASSWORD: \"Enter Password\",\r\n INPUTPASSWORD: \"Please input the pin/password \",\r\n PASSWORD: \"Password\",\r\n INCORRECTPASSWORD: \"Incorrect Password\",\r\n REMAINIG_ATTEMPT: \"Remaining Attempts\",\r\n SUBMIT: \"SUBMIT\",\r\n CANCEL: \"CANCEL\",\r\n EXPIRY_DATE: \"Période de navigation\",\r\n BTN_DOWNLOAD_VIDEO: \"Télécharger\",\r\n BTN_DOWNLOAD_VIDEO_CN: \"Télécharger\",\r\n BTN_INSTALL_APP: \"Installer\",\r\n APP_REQUIRED_INFO:\r\n `L'application gratuite instax mini Link est requise pour le téléchargement. \\n` +\r\n `Si l'application est installée, elle démarre automatiquement et le téléchargement commence. \\n ` +\r\n ` Si l'application n'est pas installée, vous serez dirigé vers l'App Store ou le Google Play Store, où vous pourrez télécharger l'application.`,\r\n APP_REQUIRED_INFO_NSLINK:\r\n `L'application gratuite instax mini Link for Nintendo est requise pour le téléchargement. \\n` +\r\n `Si l'application est installée, elle démarre automatiquement et le téléchargement commence. \\n ` +\r\n ` Si l'application n'est pas installée, vous serez dirigé vers l'App Store ou le Google Play Store, où vous pourrez télécharger l'application.`,\r\n APP_REQUIRED_INFO_CN:\r\n `L'application gratuite instax mini Link est requise pour le téléchargement. \\n` +\r\n `Si l'application est déjà installée, cliquez sur « Télécharger ». \\n` +\r\n `Si l'application n'est pas installée, cliquez sur « Installer ».`,\r\n APP_REQUIRED_BTN_OK: \"OK\",\r\n TITLE_DOWNLOAD_EXCEEDED: \"Vous avez atteint la limite de téléchargement.\",\r\n SUBTITLE_DOWNLOAD_EXCEEDED:\r\n \"Téléchargement impossible, car il ne reste plus de téléchargements.\",\r\n BACK_BUTTON_TEXT_DOWNLOAD_EXCEEDED: \"OK\",\r\n WARN_MSG_DOWNLOAD_NOT_SUPPORTED:\r\n \"L'application Android ou iOS est nécessaire pour utiliser la fonction de téléchargement.\",\r\n WE_CHAT_ALERT_MSG_CN: \"Après avoir appuyé sur \\\"\",\r\n WE_CHAT_ALERT_MSG_CN_2: \" (bouton de lecture)\\\", si l'état de lecture des données sur l'écran se poursuit pendant un certain temps, cliquez sur \\\"...\\\" dans le haut à droite et sélectionnez \\\"Ouvrir dans le navigateur par défaut\\\". Veuillez saisir le mot de passe de nouveau.\"\r\n },\r\n de: {\r\n VIDEO_NOT_AVAILABLE:\r\n \"Das Video wurde nicht hochgeladen oder wurde gelöscht\",\r\n ENTERPASSWORD: \"Enter Password\",\r\n INPUTPASSWORD: \"Please input the pin/password \",\r\n PASSWORD: \"Password\",\r\n INCORRECTPASSWORD: \"Incorrect Password\",\r\n REMAINIG_ATTEMPT: \"Remaining Attempts\",\r\n SUBMIT: \"SUBMIT\",\r\n CANCEL: \"CANCEL\",\r\n EXPIRY_DATE: \"Zu durchsuchender Zeitraum\",\r\n BTN_DOWNLOAD_VIDEO: \"Download\",\r\n BTN_DOWNLOAD_VIDEO_CN: \"Download\",\r\n BTN_INSTALL_APP: \"Installieren\",\r\n APP_REQUIRED_INFO:\r\n `Zum Herunterladen wird die kostenlose „instax mini Link“-App benötigt. \\n ` +\r\n `Wenn die App installiert ist, startet sie automatisch und der Download beginnt. \\n ` +\r\n `Wenn die App nicht installiert ist, werden Sie zum App Store oder Google Play Store weitergeleitet, wo Sie die App herunterladen können.`,\r\n APP_REQUIRED_INFO_NSLINK:\r\n `Zum Herunterladen wird die kostenlose „instax mini Link for Nintendo“-App benötigt. \\n ` +\r\n `Wenn die App installiert ist, startet sie automatisch und der Download beginnt. \\n ` +\r\n `Wenn die App nicht installiert ist, werden Sie zum App Store oder Google Play Store weitergeleitet, wo Sie die App herunterladen können.`,\r\n APP_REQUIRED_INFO_CN:\r\n `Zum Herunterladen wird die kostenlose „instax mini Link“-App benötigt. \\n` +\r\n `Wenn die App bereits installiert ist, klicken Sie auf „Download“. \\n` +\r\n `Wenn die App nicht installiert ist, klicken Sie auf „Installieren“.`,\r\n APP_REQUIRED_BTN_OK: \"OK\",\r\n TITLE_DOWNLOAD_EXCEEDED: \"Sie haben das Download-Limit erreicht.\",\r\n SUBTITLE_DOWNLOAD_EXCEEDED:\r\n \"Herunterladen nicht möglich, da keine Downloads mehr übrig sind.\",\r\n BACK_BUTTON_TEXT_DOWNLOAD_EXCEEDED: \"OK\",\r\n WARN_MSG_DOWNLOAD_NOT_SUPPORTED:\r\n \"Um die Download-Funktion verwenden zu können, ist die Android- oder iOS-App erforderlich.\",\r\n WE_CHAT_ALERT_MSG_CN:\"Nach dem Drücken von \\\"\" ,\r\n WE_CHAT_ALERT_MSG_CN_2 : \" (Wiedergabetaste)\\\" klicken Sie auf \\\"...\\\" oben rechts und wählen Sie \\\"im Standardbrowser öffnen\\\". Bitte geben Sie das Passwort ein. aufs Neue.\"\r\n },\r\n es: {\r\n VIDEO_NOT_AVAILABLE:\r\n \"El video no se ha subido correctamente o ha sido eliminado\",\r\n ENTERPASSWORD: \"Enter Password\",\r\n INPUTPASSWORD: \"Please input the pin/password \",\r\n PASSWORD: \"Password\",\r\n INCORRECTPASSWORD: \"Incorrect Password\",\r\n REMAINIG_ATTEMPT: \"Remaining Attempts\",\r\n SUBMIT: \"SUBMIT\",\r\n CANCEL: \"CANCEL\",\r\n EXPIRY_DATE: \"Examinar periodo\",\r\n BTN_DOWNLOAD_VIDEO: \"Descargar\",\r\n BTN_DOWNLOAD_VIDEO_CN: \"Descargar\",\r\n BTN_INSTALL_APP: \"Instalar\",\r\n APP_REQUIRED_INFO:\r\n `Se requiere la aplicación instax mini Link para realizar la descarga. \\n` +\r\n `Si está instalada, la aplicación se iniciará automáticamente y comenzará la descarga. \\n` +\r\n `Si la aplicación no está instalada, serás dirigido a App Store o Google Play Store, donde puedes descargar la aplicación.`,\r\n APP_REQUIRED_INFO_NSLINK:\r\n `Se requiere la aplicación instax mini Link for Nintendo para realizar la descarga. \\n` +\r\n `Si está instalada, la aplicación se iniciará automáticamente y comenzará la descarga. \\n` +\r\n `Si la aplicación no está instalada, serás dirigido a App Store o Google Play Store, donde puedes descargar la aplicación.`,\r\n APP_REQUIRED_INFO_CN:\r\n `Se requiere la aplicación instax mini Link gratuita para realizar la descarga. \\n` +\r\n `Si la aplicación ya está instalada, pulsa “Descargar”.\\n` +\r\n `Si la aplicación no está instalada, pulsa “Instalar”.`,\r\n APP_REQUIRED_BTN_OK: \"Aceptar\",\r\n TITLE_DOWNLOAD_EXCEEDED: \"Has alcanzado el límite de descarga.\",\r\n SUBTITLE_DOWNLOAD_EXCEEDED:\r\n \"No es posible descargar porque no queda ninguna descarga.\",\r\n BACK_BUTTON_TEXT_DOWNLOAD_EXCEEDED: \"Aceptar\",\r\n WARN_MSG_DOWNLOAD_NOT_SUPPORTED:\r\n \"Se requiere la aplicación Android o iOS para usar la función de descarga.\",\r\n WE_CHAT_ALERT_MSG_CN: \"Después de presionar \\\"\",\r\n WE_CHAT_ALERT_MSG_CN_2: \" (botón de reproducción)\\\", si el estado de lectura de datos en la pantalla continúa durante un tiempo, haga clic en \\\"...\\\" en la parte superior derecha y seleccione \\\"Abrir en el navegador predeterminado\\\". Ingrese la contraseña de nuevo.\"\r\n },\r\n \"zh-cn\": {\r\n //Simplified Chinese\r\n VIDEO_NOT_AVAILABLE: \"视频未上传或已被删除\",\r\n ENTERPASSWORD: \"输入密码\",\r\n INPUTPASSWORD: \"请输入pin码/密码\",\r\n PASSWORD: \"密码\",\r\n INCORRECTPASSWORD: \"密码不正确\",\r\n REMAINIG_ATTEMPT: \"剩余可输入次数\",\r\n SUBMIT: \"提交\",\r\n CANCEL: \"取消\",\r\n EXPIRY_DATE: \"浏览期间\",\r\n BTN_DOWNLOAD_VIDEO: \"下载\",\r\n BTN_DOWNLOAD_VIDEO_CN: \"下载\",\r\n BTN_INSTALL_APP: \"安装\",\r\n APP_REQUIRED_INFO:\r\n `需要instax mini Link应用程序(免费)才能下载。 \\n` +\r\n `如果安装了该应用程序,将自动启动并开始下载。 \\n` +\r\n `如果未安装该应用程序,会将您转到App Store或Google Play Store,您可以在其中下载该应用程序。`,\r\n APP_REQUIRED_INFO_NSLINK:\r\n `需要instax mini Link for Nintendo应用程序(免费)才能下载。 \\n` +\r\n `如果安装了该应用程序,将自动启动并开始下载。 \\n` +\r\n `如果未安装该应用程序,会将您转到App Store或Google Play Store,您可以在其中下载该应用程序。`,\r\n APP_REQUIRED_INFO_CN:\r\n `需要instax mini Link应用程序(免费)才能下载。 \\n` +\r\n `如果您已经安装了该应用程序,将自动启动并开始下载。\\n ` +\r\n `如果您尚未安装该应用程序,请点击“安装”按钮,进行下载。`,\r\n APP_REQUIRED_BTN_OK: \"确定\",\r\n TITLE_DOWNLOAD_EXCEEDED: \"您已达到下载次数上限。\",\r\n SUBTITLE_DOWNLOAD_EXCEEDED: \"无法下载,因为没有更多剩余下载次数。\",\r\n BACK_BUTTON_TEXT_DOWNLOAD_EXCEEDED: \"确定\",\r\n WARN_MSG_DOWNLOAD_NOT_SUPPORTED: \"使用下载功能需要Android或iOS应用程序。\",\r\n WE_CHAT_ALERT_MSG_CN: \"*如果您按下“\",\r\n WE_CHAT_ALERT_MSG_CN_2 : \"(播放按钮)”后一段时间,画面仍处在数据读取状态,请尝试点击右上角“…”按键,并选择“在默认浏览器中打开”,然后重新输入密码。\"\r\n },\r\n \"zh-hk\": {\r\n //Traditional Chinese\r\n VIDEO_NOT_AVAILABLE: \"影片未上傳或已刪除\",\r\n ENTERPASSWORD: \"輸入密碼\",\r\n INPUTPASSWORD: \"請輸入 PIN 碼/密碼\",\r\n PASSWORD: \"密碼\",\r\n INCORRECTPASSWORD: \"密碼錯誤\",\r\n REMAINIG_ATTEMPT: \"剩餘的嘗試次數\",\r\n SUBMIT: \"提交\",\r\n CANCEL: \"取消\",\r\n EXPIRY_DATE: \"瀏覽期間\",\r\n BTN_DOWNLOAD_VIDEO: \"下載\",\r\n BTN_DOWNLOAD_VIDEO_CN: \"下載\",\r\n BTN_INSTALL_APP: \"安裝\",\r\n APP_REQUIRED_INFO:\r\n `需要安裝免費版 instax mini Link 應用程式才能下載。\\n` +\r\n `如果安裝了應用程式,應用程式將自動啟動並開始下載。 \\n` +\r\n `如果未安裝應用程式,系統將會引導您到 App Store 或 Google Play 商店下載該應用程式。`,\r\n APP_REQUIRED_INFO_NSLINK:\r\n `需要安裝免費版 instax mini Link for Nintendo 應用程式才能下載。\\n` +\r\n `如果安裝了應用程式,應用程式將自動啟動並開始下載。 \\n` +\r\n `如果未安裝應用程式,系統將會引導您到 App Store 或 Google Play 商店下載該應用程式。`,\r\n APP_REQUIRED_INFO_CN:\r\n `需要安裝免費版 instax mini Link 應用程式才能下載。 \\n` +\r\n `如果已安裝應用程式,請按「下載」。\\n` +\r\n `如果未安裝應用程式,請按「安裝」。`,\r\n APP_REQUIRED_BTN_OK: \"確定\",\r\n TITLE_DOWNLOAD_EXCEEDED: \"您已達到下載限制。\",\r\n SUBTITLE_DOWNLOAD_EXCEEDED: \"無法下載,因為沒有其他剩餘的檔案要下載。\",\r\n BACK_BUTTON_TEXT_DOWNLOAD_EXCEEDED: \"確定\",\r\n WARN_MSG_DOWNLOAD_NOT_SUPPORTED:\r\n \"您需要 Android 或 iOS 應用程式才能使用下載功能。\",\r\n WE_CHAT_ALERT_MSG_CN: \"*如果您按下“\",\r\n WE_CHAT_ALERT_MSG_CN_2 : \"(播放按鈕)”後一段時間,畫面仍處在數據讀取狀態,請嘗試點擊右上角“…”按鍵,並選擇“在預設瀏覽器中打開”,然後重新輸入密碼。\"\r\n },\r\n \"zh-tw\": {\r\n //Traditional Chinese\r\n VIDEO_NOT_AVAILABLE: \"影片未上傳或已刪除\",\r\n ENTERPASSWORD: \"輸入密碼\",\r\n INPUTPASSWORD: \"請輸入 PIN 碼/密碼\",\r\n PASSWORD: \"密碼\",\r\n INCORRECTPASSWORD: \"密碼錯誤\",\r\n REMAINIG_ATTEMPT: \"剩餘的嘗試次數\",\r\n SUBMIT: \"提交\",\r\n CANCEL: \"取消\",\r\n EXPIRY_DATE: \"瀏覽期間\",\r\n BTN_DOWNLOAD_VIDEO: \"下載\",\r\n BTN_DOWNLOAD_VIDEO_CN: \"下載\",\r\n BTN_INSTALL_APP: \"安裝\",\r\n APP_REQUIRED_INFO:\r\n `需要安裝免費版 instax mini Link 應用程式才能下載。\\n` +\r\n `如果安裝了應用程式,應用程式將自動啟動並開始下載。 \\n` +\r\n `如果未安裝應用程式,系統將會引導您到 App Store 或 Google Play 商店下載該應用程式。`,\r\n APP_REQUIRED_INFO_NSLINK:\r\n `需要安裝免費版 instax mini Link for Nintendo 應用程式才能下載。\\n` +\r\n `如果安裝了應用程式,應用程式將自動啟動並開始下載。 \\n` +\r\n `如果未安裝應用程式,系統將會引導您到 App Store 或 Google Play 商店下載該應用程式。`,\r\n APP_REQUIRED_INFO_CN:\r\n `需要安裝免費版 instax mini Link 應用程式才能下載。 \\n` +\r\n `如果已安裝應用程式,請按「下載」。\\n` +\r\n `如果未安裝應用程式,請按「安裝」。`,\r\n APP_REQUIRED_BTN_OK: \"確定\",\r\n TITLE_DOWNLOAD_EXCEEDED: \"您已達到下載限制。\",\r\n SUBTITLE_DOWNLOAD_EXCEEDED: \"無法下載,因為沒有其他剩餘的檔案要下載。\",\r\n BACK_BUTTON_TEXT_DOWNLOAD_EXCEEDED: \"確定\",\r\n WARN_MSG_DOWNLOAD_NOT_SUPPORTED:\r\n \"您需要 Android 或 iOS 應用程式才能使用下載功能。\",\r\n WE_CHAT_ALERT_MSG_CN: \"*如果您按下“\",\r\n WE_CHAT_ALERT_MSG_CN_2 : \"(播放按鈕)”後一段時間,畫面仍處在數據讀取狀態,請嘗試點擊右上角“…”按鍵,並選擇“在預設瀏覽器中打開”,然後重新輸入密碼。\"\r\n },\r\n ko: {\r\n VIDEO_NOT_AVAILABLE: \"동영상이 업로드되지 않았거나 삭제되었습니다.\",\r\n ENTERPASSWORD: \"Enter Password\",\r\n INPUTPASSWORD: \"Please input the pin/password \",\r\n PASSWORD: \"Password\",\r\n INCORRECTPASSWORD: \"Incorrect Password\",\r\n REMAINIG_ATTEMPT: \"Remaining Attempts\",\r\n SUBMIT: \"SUBMIT\",\r\n CANCEL: \"CANCEL\",\r\n EXPIRY_DATE: \"검색 기간\",\r\n BTN_DOWNLOAD_VIDEO: \"다운로드\",\r\n BTN_DOWNLOAD_VIDEO_CN: \"다운로드\",\r\n BTN_INSTALL_APP: \"설치\",\r\n APP_REQUIRED_INFO:\r\n `무료 instax mini Link 앱이 있어야 다운로드 가능합니다. \\n` +\r\n `앱이 설치된 경우, 자동으로 앱이 시작되어 다운로드를 개시합니다. \\n` +\r\n `앱이 설치되지 않은 경우, 앱을 다운로드하실 수 있도록 App Store나 Google Play Store로 이동합니다.`,\r\n APP_REQUIRED_INFO_NSLINK:\r\n `무료 instax mini Link for Nintendo 앱이 있어야 다운로드 가능합니다. \\n` +\r\n `앱이 설치된 경우, 자동으로 앱이 시작되어 다운로드를 개시합니다. \\n` +\r\n `앱이 설치되지 않은 경우, 앱을 다운로드하실 수 있도록 App Store나 Google Play Store로 이동합니다.`,\r\n APP_REQUIRED_INFO_CN:\r\n `무료 instax mini Link 앱이 있어야 다운로드 가능합니다. \\n` +\r\n `앱을 이미 설치한 경우 “다운로드”를 누르십시오. \\n` +\r\n `앱이 설치되지 않은 경우 “설치”를 누르십시오.`,\r\n APP_REQUIRED_BTN_OK: \"OK\",\r\n TITLE_DOWNLOAD_EXCEEDED: \"다운로드 한도에 도달했습니다.\",\r\n SUBTITLE_DOWNLOAD_EXCEEDED:\r\n \"다운로드 한도에 도달해 더 이상 다운로드할 수 없습니다.\",\r\n BACK_BUTTON_TEXT_DOWNLOAD_EXCEEDED: \"OK\",\r\n WARN_MSG_DOWNLOAD_NOT_SUPPORTED:\r\n \"Android 또는 iOS 앱이 있어야 다운로드 기능을 사용할 수 있습니다.\",\r\n WE_CHAT_ALERT_MSG_CN : \"\\\"\",\r\n WE_CHAT_ALERT_MSG_CN_2: \" (재생 버튼)\\\"을 누른 후 화면의 데이터 읽기 상태가 잠시 동안 계속되면 오른쪽 상단에서 \\\"...\\\"을 클릭하고 \\\"기본 브라우저에서\\\"열기 \\\"를 선택하십시오. 비밀번호를 입력하십시오. 다시.\"\r\n },\r\n pt: {\r\n VIDEO_NOT_AVAILABLE: \"O vídeo não foi carregado ou foi eliminado\",\r\n ENTERPASSWORD: \"Enter Password\",\r\n INPUTPASSWORD: \"Please input the pin/password \",\r\n PASSWORD: \"Password\",\r\n INCORRECTPASSWORD: \"Incorrect Password\",\r\n REMAINIG_ATTEMPT: \"Remaining Attempts\",\r\n SUBMIT: \"SUBMIT\",\r\n CANCEL: \"CANCEL\",\r\n EXPIRY_DATE: \"Tempo de navegação\",\r\n BTN_DOWNLOAD_VIDEO: \"Download\",\r\n BTN_DOWNLOAD_VIDEO_CN: \"Download\",\r\n BTN_INSTALL_APP: \"Instalar\",\r\n APP_REQUIRED_INFO:\r\n `É necessário ter o aplicativo gratuito instax mini Link para baixar. \\n` +\r\n `Se o aplicativo estiver instalado, ele será iniciado automaticamente e o download começará. \\n` +\r\n `Se o aplicativo não estiver instalado, você será levado à Loja de Aplicativos ou à Loja do Google Play, onde poderá baixar o aplicativo.`,\r\n APP_REQUIRED_INFO_NSLINK:\r\n `É necessário ter o aplicativo gratuito instax mini Link for Nintendo para baixar. \\n` +\r\n `Se o aplicativo estiver instalado, ele será iniciado automaticamente e o download começará. \\n` +\r\n `Se o aplicativo não estiver instalado, você será levado à Loja de Aplicativos ou à Loja do Google Play, onde poderá baixar o aplicativo.`,\r\n APP_REQUIRED_INFO_CN:\r\n `É necessário ter o aplicativo gratuito instax mini Link para baixar. \\n ` +\r\n `Se o aplicativo já estiver instalado, pressione \"Download\". \\n` +\r\n `Se o aplicativo não estiver instalado, pressione \"Instalar\".`,\r\n APP_REQUIRED_BTN_OK: \"OK\",\r\n TITLE_DOWNLOAD_EXCEEDED: \"Você atingiu o limite de downloads.\",\r\n SUBTITLE_DOWNLOAD_EXCEEDED:\r\n \"Não é possível baixar porque não há mais downloads disponíveis.\",\r\n BACK_BUTTON_TEXT_DOWNLOAD_EXCEEDED: \"OK\",\r\n WARN_MSG_DOWNLOAD_NOT_SUPPORTED:\r\n \"O aplicativo para Android ou iOS é necessário para utilizar a função de download.\",\r\n WE_CHAT_ALERT_MSG_CN: \"Depois de pressionar \\\"\",\r\n WE_CHAT_ALERT_MSG_CN_2: \" (botão de reprodução)\\\", se o status de leitura de dados na tela continuar por um tempo, clique em \\\"...\\\" no canto superior direito e selecione \\\"Abra no navegador padrão\\\". Digite a senha novamente.\"\r\n },\r\n it: {\r\n VIDEO_NOT_AVAILABLE: \"Il video non e stato caricato o e stato cancellato\",\r\n ENTERPASSWORD: \"Inserisci la password\",\r\n INPUTPASSWORD: \"Inserisci il pin/password\",\r\n PASSWORD: \"Password\",\r\n INCORRECTPASSWORD: \"Password incorretta\",\r\n REMAINIG_ATTEMPT: \"Tentativi rimasti\",\r\n SUBMIT: \"INVIA\",\r\n CANCEL: \"ANNULLA\",\r\n EXPIRY_DATE: \"Periodo di navigazione\",\r\n BTN_DOWNLOAD_VIDEO: \"Scarica\",\r\n BTN_DOWNLOAD_VIDEO_CN: \"Scarica\",\r\n BTN_INSTALL_APP: \"Installa\",\r\n APP_REQUIRED_INFO:`E richiesta l'app gratuita instax mini Link per il download. \\n` +\r\n `Se l'app e installata, partira automaticamente e iniziera il download. \\n` +\r\n `Se l'app non e installata, verrai indirizzato all'App Store o al Google Play Store, dove potrai scaricare l'app.`,\r\n APP_REQUIRED_INFO_NSLINK:\r\n `E richiesta l'app gratuita instax mini Link for Nintendo per il download.\\n` +\r\n `Se l'app e installata, partira automaticamente e iniziera il download.\\n` +\r\n `Se l'app non e installata, verrai indirizzato all'App Store o al Google Play Store, dove potrai scaricare l'app.`,\r\n APP_REQUIRED_INFO_CN:\r\n `E richiesta l'app gratuita instax mini Link per il download.\\n` +\r\n `Se l'app e gia installata, premi 'Scarica'.\\n` +\r\n `Se l'app non e installata, premi 'Installa'.`,\r\n APP_REQUIRED_BTN_OK: \"OK\",\r\n TITLE_DOWNLOAD_EXCEEDED: \"Hai raggiunto il limite di download.\",\r\n SUBTITLE_DOWNLOAD_EXCEEDED:\r\n \"Impossibile scaricare in quanto non ci sono piu download disponibili.\",\r\n BACK_BUTTON_TEXT_DOWNLOAD_EXCEEDED: \"OK\",\r\n WARN_MSG_DOWNLOAD_NOT_SUPPORTED:\r\n \"E richiesta l'app Android o iOS per utilizzare la funzione di download.\",\r\n WE_CHAT_ALERT_MSG_CN: `Dopo aver premuto \"`,\r\n WE_CHAT_ALERT_MSG_CN_2: ` (pulsante di riproduzione)\", se lo stato di lettura dei dati sullo schermo continua per un po', fai clic su \"...\" in alto a destra e seleziona \"Apri nel browser predefinito\". Inserisci nuovamente la password.`\r\n }\r\n};\r\n\r\nexport default translationsObject;\r\n","import axios from \"axios\";\r\nimport GlobalStrings from \"../constants/Global\";\r\n/**\r\n * Reading baseUrl from config.json\r\n */\r\nexport default class APIHandler {\r\n static AxiosInstance;\r\n\r\n init() {\r\n return new Promise((resolve, reject) => {\r\n axios.get(\"config.json\").then((res) => {\r\n APIHandler.AxiosInstance = axios.create({\r\n baseURL: res.data.baseURL,\r\n headers: {\r\n \"x-api-key\": GlobalStrings.CONSTANTS.API_KEY,\r\n Authorization:\r\n \"Bearer \" +\r\n localStorage.getItem(GlobalStrings.CONSTANTS.AUTH_TOKEN),\r\n },\r\n });\r\n resolve();\r\n });\r\n });\r\n }\r\n}\r\n","import React, { Component } from \"react\"\r\nimport { Modal, Button } from \"antd\"\r\nimport \"../css/ModalAppRequiredInfo.css\"\r\nimport chinaAppIcon from \"../assets/china_ic_apprequired.png\"\r\nimport globalAppIcon from \"../assets/global_ic_apprequired.png\"\r\nimport globalAppIconNSLink from \"../assets/global_ic_apprequired_ns.png\"\r\nimport iconClose from \"../assets/icon_close.png\"\r\nvar Translate = require('react-redux-i18n').Translate;\r\n\r\nclass ModalAppRequiredInfo extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n iconLiplayApp: globalAppIcon,\r\n appRequiredInfoMsg: \"\"\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n\r\n if (this.props.isChinaWebApp) {\r\n this.setState({\r\n iconLiplayApp: chinaAppIcon,\r\n appRequiredInfoMsg: \r\n })\r\n }\r\n else {\r\n this.setState({\r\n iconLiplayApp: this.props.isBo23App ? globalAppIcon : globalAppIconNSLink,\r\n appRequiredInfoMsg: \r\n })\r\n }\r\n }\r\n\r\n render() {\r\n const { isVisible, handleOk, handleCancel } = this.props;\r\n const { appRequiredInfoMsg, iconLiplayApp } = this.state;\r\n return (\r\n\r\n < div >\r\n \r\n \"\"\r\n
{appRequiredInfoMsg}
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n \r\n }\r\n closable={false} /**for avoiding default close-btn */\r\n maskClosable={false}\r\n centered /** it makes the modal vertically center. */\r\n className=\"modal-app-required\"\r\n />\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default ModalAppRequiredInfo;","import React, { Component } from 'react';\r\nimport { Button } from 'antd';\r\nimport '../css/common.css'\r\nimport '../css/VideoDownloadExceededInfo.css'\r\nvar Translate = require('react-redux-i18n').Translate;\r\nvar imgIconFailed = require('./../assets/download_error.svg');\r\n\r\nclass VideoDownloadExceededInfo extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n titleText: \"Title\",\r\n subtitleText: \"Subtitle\",\r\n dismissButtonText: \"Back\"\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if(this.props != prevProps){\r\n this.setDownloadExceededTexts();\r\n }\r\n }\r\n \r\n setDownloadExceededTexts() {\r\n this.setState({\r\n dismissButtonText: ,\r\n titleText: ,\r\n subtitleText: \r\n });\r\n }\r\n\r\n render() {\r\n const { titleText, subtitleText, dismissButtonText } = this.state\r\n const { isVisible, topValueOfDownloadButton, topValueOfCenterContent, dismissBtnStyle,\r\n handleBackBtn } = this.props\r\n\r\n return (\r\n
\r\n
\r\n \"\"\r\n \r\n

{titleText}

\r\n

{subtitleText}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n )\r\n }\r\n}\r\nexport default VideoDownloadExceededInfo;","import React, { Component } from 'react'\r\nimport { Button } from 'antd';\r\nimport { isAndroid, isIOS } from 'react-device-detect';\r\nimport '../css/qrcodedata.css';\r\nvar Translate = require('react-redux-i18n').Translate;\r\n\r\nconst styles = {\r\n gb: {\r\n downloadBtn: {\r\n borderColor: \"#857e6b\",\r\n borderRadius: \"6px\",\r\n backgroundColor: \"#f6f6f6\",\r\n color: \"#857e6b\",\r\n width: \"59.8%\",\r\n height: \"29pt\"\r\n }\r\n },\r\n cn: {\r\n downloadBtn: {\r\n borderColor: \"#857e6b\",\r\n borderRadius: \"6px\",\r\n backgroundColor: \"#f6f6f6\",\r\n color: \"#857e6b\",\r\n padding: \"2pt\",\r\n height: \"27pt\"\r\n },\r\n installBtn: {\r\n borderColor: \"#857e6b\",\r\n borderRadius: \"6px\",\r\n backgroundColor: \"#f6f6f6\",\r\n color: \"#857e6b\",\r\n padding: \"2pt\",\r\n height: \"27pt\"\r\n }\r\n }\r\n}\r\nconst CHINA_APK_DOWNLOAD_URL =\r\n \"https://sp.fujifilm.com.cn/instax/apk/instax_mini_link_app_download.html\";\r\nconst CHINA_IOS_DOWNLOAD_URL = \"https://apps.apple.com/app/id1478853024\";\r\nclass DownloadBtnComponent extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n\r\n handleOnClickInstall = () => {\r\n window.open(CHINA_APK_DOWNLOAD_URL, \"_blank\");\r\n }\r\n\r\n handleOnClickInstalliOS = () => {\r\n document.location = CHINA_IOS_DOWNLOAD_URL;\r\n }\r\n renderDownloadButtonDiv = () => {\r\n const {\r\n isVideoDownloadButtonVisible, isVideoButtonDisabled, isChinaConfig,\r\n handleDownloadBtnClick, refDownloadBtn } = this.props;\r\n if (isChinaConfig && isAndroid) {\r\n return
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n }\r\n //for using custom uri scheme\r\n else if (isChinaConfig && isIOS) {\r\n return
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n }\r\n //global\r\n else {\r\n return
\r\n \r\n
\r\n }\r\n\r\n }\r\n render() {\r\n return (
\r\n {this.renderDownloadButtonDiv()}\r\n
)\r\n }\r\n\r\n}\r\nexport default DownloadBtnComponent","import { isIOS, osVersion } from \"react-device-detect\";\r\n\r\nexport const isIosVersion15_Above = () => {\r\n if (isIOS && parseFloat(osVersion) >= 15) {\r\n return true;\r\n }\r\n return false;\r\n};\r\n","import React, { Component } from \"react\";\r\nimport { Spin, Icon } from \"antd\";\r\nimport { isIosVersion15_Above } from \"../utils/HandleIosVersion\";\r\nvar iconWebBaseImage = require(\"./../assets/icon_web_base.svg\");\r\nvar imgNoImageInfoIos = require(\"./../assets/no_video.png\");\r\nvar Translate = require(\"react-redux-i18n\").Translate;\r\n\r\nconst iosImageDescStyle = {\r\n paddingTop: \"17%\",\r\n paddingRight: \"7%\",\r\n paddingLeft: \"10%\",\r\n flex: 1,\r\n justifyContent: \"center\",\r\n display: \"flex\",\r\n};\r\nconst antIcon = ;\r\n\r\nclass VideoComponent extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n const {\r\n videoUrl,\r\n imageUrl,\r\n handleImageLoaded,\r\n playVideo,\r\n showNoImageInfo,\r\n showSoundbtn,\r\n handleOntouchStartPlayBtn,\r\n web_play_btn_icon,\r\n showWebPlayBtnIcon,\r\n dataExpiryDate,\r\n videoExist,\r\n handleSoundFinishedPlaying,\r\n isDownloadSpinnerVisible,\r\n isShowImageAsPoster,\r\n showMaskImageForVideo\r\n } = this.props;\r\n\r\n var ContentDiv = (\r\n event.preventDefault()}\r\n >\r\n \r\n Your browser does not support the video tag.\r\n \r\n );\r\n\r\n if (!videoExist) {\r\n console.log(\"no video\");\r\n ContentDiv = (\r\n
\r\n \r\n
\r\n );\r\n }\r\n if (imageUrl) {\r\n var imageDiv = (\r\n
\r\n event.preventDefault()}\r\n alt=\"thumbnail\"\r\n />\r\n
\r\n );\r\n }\r\n if (imageUrl && isIosVersion15_Above() && showMaskImageForVideo) {\r\n var imageDiv = (\r\n
\r\n event.preventDefault()}\r\n alt=\"thumbnail\"\r\n />\r\n
\r\n );\r\n }\r\n var playBtnDiv = (\r\n event.preventDefault()}\r\n onContextMenuCapture={(event) => event.preventDefault()}\r\n onMouseDown={handleOntouchStartPlayBtn}\r\n onMouseUp={playVideo}\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n var videoInProgress = (\r\n \r\n \r\n \r\n );\r\n\r\n return (\r\n
\r\n
\r\n \"\"\r\n
\r\n {ContentDiv}\r\n {imageDiv}\r\n
\r\n {playBtnDiv}\r\n {videoInProgress}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n : {dataExpiryDate}\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default VideoComponent;\r\n","import React, { Component } from \"react\";\r\nimport { Input, Form, Modal, Spin } from \"antd\";\r\nimport \"../css/qrcodedata.css\";\r\nconst FormItem = Form.Item;\r\nvar Translate = require(\"react-redux-i18n\").Translate;\r\nexport default Form.create()(\r\n class extends Component {\r\n render() {\r\n const {\r\n visible,\r\n onCancel,\r\n onCreate,\r\n form,\r\n loading_passwordImage,\r\n showRemainingAttempts,\r\n modalErrorMessage,\r\n modalLoginFailureCount,\r\n } = this.props;\r\n const { getFieldDecorator } = form;\r\n return (\r\n
\r\n }\r\n okText={}\r\n cancelText={}\r\n onCancel={onCancel}\r\n onOk={onCreate}\r\n // style={{ maxWidth: \"350px\" }}\r\n maskClosable={false}\r\n className=\"modal-password-prompt\"\r\n >\r\n
\r\n }>\r\n {getFieldDecorator(\"Password\", {\r\n rules: [\r\n {\r\n required: true,\r\n message: ,\r\n },\r\n ],\r\n })()}\r\n \r\n
\r\n \r\n {modalErrorMessage}\r\n \r\n
\r\n
\r\n \r\n \r\n .. {5 - modalLoginFailureCount}\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n );\r\n }\r\n }\r\n);\r\n","import React from \"react\";\r\n\r\nconst LogoComponent = (props) => {\r\n const { logoIcon } = props;\r\n return (\r\n
\r\n event.preventDefault()}\r\n src={logoIcon}\r\n />\r\n
\r\n );\r\n};\r\n\r\nexport default LogoComponent;\r\n","/**\r\n * For downloading and\r\n * converting image/blob url to base 64.\r\n * @param {blobUrl} url\r\n */\r\nexport const fetchAsBlob = (url) =>\r\n fetch(url).then((response) => response.blob());\r\n\r\nexport const convertBlobToBase64 = (blob) =>\r\n new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.onerror = reject;\r\n reader.onload = () => {\r\n resolve(reader.result);\r\n };\r\n reader.readAsDataURL(blob);\r\n });\r\n","// ***********************************************************************\r\n// Assembly : FujiFilm.InstaxMini.UserWeb\r\n// Author : Pranav K\r\n// Created : 14-06-2021\r\n// Modified On :14-06-2021\r\n// ***********************************************************************\r\n// \r\n// Copyright © 2021\r\n// \r\n// \r\n// ***********************************************************************\r\nimport React, { Component } from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport GlobalStrings from \"../constants/Global\";\r\nimport LangStrings from \"../constants/Lang\";\r\nimport APIHandler from \"../network/AxiosInstance\";\r\nimport { sha256 } from \"js-sha256\";\r\n// eslint-disable-next-line\r\nimport \"../css/qrcodedata.css\";\r\nimport axios from \"axios\";\r\nimport { Alert, Spin } from \"antd\";\r\nimport { isIOS, isAndroid } from \"react-device-detect\";\r\nimport ModalAppRequiredInfo from \"../components/ModalAppRequiredInfo\";\r\nimport VideoDownloadExceededInfo from \"../components/VideoDownloadExceededInfo\";\r\nimport DownloadBtnComponent from \"../components/DownloadBtnComponent\";\r\nimport VideoComponent from \"../components/VideoComponent\";\r\nimport PasswordComponent from \"../components/PasswordComponent\";\r\nimport LogoComponent from \"../components/LogoComponent\";\r\nimport {\r\n fetchAsBlob,\r\n convertBlobToBase64,\r\n} from \"../utils/FetchBlobConvertToBase64\";\r\nimport { isIosVersion15_Above } from \"../utils/HandleIosVersion\";\r\nimport icon_air_playback_s from \"../assets/icon_air_playback_s.svg\";\r\nimport Strings from \"../constants/Global\";\r\nvar iconWebPlayButtonNormal = require(\"./../assets/icon_web_button_normal.svg\");\r\nvar iconWebPlayButtonPressed = require(\"./../assets/icon_web_button_pressed.svg\");\r\nvar iconWeblogoNormal = require(\"./../assets/icon_web_logo_normal.svg\");\r\nvar Translate = require(\"react-redux-i18n\").Translate;\r\nvar imgNoImageInfo = require(\"./../assets/no_video.png\");\r\nvar posterDefaultImage = require(\"./../assets/video_poster.png\");\r\n\r\nconst VIDEO_DOWNLOAD = {\r\n STATUS_FLAG: {\r\n DISABLED: 100,\r\n ENABLED: 101,\r\n DEFAULT_OR_NOT_DEFINED: 0,\r\n },\r\n};\r\n\r\nclass QrCodeData extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.downloadBtnRef = React.createRef();\r\n //firebaseLik\r\n this.firebaseDynamicLinkRef = React.createRef();\r\n this.productIdRef = React.createRef();\r\n this.state = {\r\n Uid: this.props.match.params.uid,\r\n videoUrl: null,\r\n videoUrlDownload: null,\r\n imageUrlDownload: null,\r\n imageUrl: null,\r\n isVideoPlaying: false,\r\n dataExpiryDate: \"\",\r\n loading: true,\r\n showSoundbtn: \"\",\r\n showNoImageInfo: \"none\",\r\n showMainContainer: \"none\",\r\n showMainContainerLoading: \"\",\r\n showPlaying: \"none\",\r\n playFromPosition: 0,\r\n visible: false,\r\n videoExist: true,\r\n web_play_btn_icon: iconWebPlayButtonNormal,\r\n web_icon_logo_instax: iconWeblogoNormal,\r\n loading_passwordImage: false,\r\n modalErrorMessage: \"\",\r\n modalLoginFailureCount: 0,\r\n showRemainingAttempts: \"none\",\r\n showWebPlayBtnIcon: \"\",\r\n soundCheckiPasswordProtect: false,\r\n verifiedIp: false,\r\n soundIconPressedState: false,\r\n isVideoDownloadButtonVisible: \"none\",\r\n isVideoButtonDisabled: false,\r\n isVideoDownloadCountExceeded: false,\r\n isVideoDownloadExceedWarningVisible: false,\r\n isVideoDownloadSupportedPlatform: true,\r\n isAppRequiredModalVisible: false,\r\n topValueDownloadButtonOverlay: 0,\r\n topValueCenterContentOverlay: 0,\r\n downloadExceededDismissBtnStyle: null,\r\n firebaseDynamicLink: null,\r\n isChinaConfig: false,\r\n isProductionBuild: true,\r\n isVideoLoaded: false,\r\n isVideoDownloadInProgress: false,\r\n isDownloadSpinnerVisible: false,\r\n //the below state false means --> load image only after a video play,\r\n //initial time actual poster from video tag is displayed.\r\n isShowImageAsPoster: false,\r\n showMaskImageForVideo: false,\r\n showCnWarningText : false\r\n };\r\n }\r\n\r\n componentDidMount = () => {\r\n axios.get(\"config.json\").then((res) => {\r\n var countrywiseRestrictionChina = res.data.countrywiseRestrictionInChina;\r\n var countrywiseRestrictionGlobal =\r\n res.data.countrywiseRestrictionInGlobal;\r\n var soundPasswordProtect = res.data.soundCheckiPasswordProtect;\r\n\r\n var isProductionBuild = res.data.isProductionBuild;\r\n // Handle firebase dynamic link\r\n const firebaseDynamicLinkBo23 = isProductionBuild ? res.data.firebaseDynamicLink_BO23 : res.data.firebaseDynamicLink_BO23_Stg;\r\n const firebaseDynamicLinkNSLink = isProductionBuild ? res.data.firebaseDynamicLink_NSLink : res.data.firebaseDynamicLink_NSLink_Stg;\r\n const firebaseLinkObject = {bo23:firebaseDynamicLinkBo23, nsLink:firebaseDynamicLinkNSLink}\r\n //store the link in ref\r\n this.firebaseDynamicLinkRef.current = firebaseLinkObject\r\n\r\n var isChinaBuild = res.data.isChinaBuild;\r\n\r\n // eslint-disable-next-line\r\n if (soundPasswordProtect == \"true\") {\r\n soundPasswordProtect = true;\r\n } else {\r\n soundPasswordProtect = false;\r\n }\r\n this.setState({\r\n isChinaConfig: isChinaBuild,\r\n soundCheckiPasswordProtect: soundPasswordProtect,\r\n isProductionBuild: isProductionBuild,\r\n });\r\n // eslint-disable-next-line\r\n if (countrywiseRestrictionChina == \"true\") {\r\n //China Deploy\r\n this.handleCountrywiseRestrictionForChina();\r\n }\r\n // eslint-disable-next-line\r\n else if (countrywiseRestrictionGlobal == \"true\") {\r\n //Global Deploy\r\n this.handleCountryRestrictionForGlobal();\r\n } else {\r\n this.setState({ verifiedIp: true });\r\n this.handleAppStart();\r\n }\r\n });\r\n\r\n // update the dimensions when browser resize event triggers.\r\n window.addEventListener(\"resize\", this.updateDimensions);\r\n };\r\n\r\n updateDimensions = () => {\r\n this.setVideoDownloadExceededInfoStyle();\r\n };\r\n\r\n componentWillUnmount() {\r\n window.removeEventListener(\"resize\", this.updateDimensions);\r\n }\r\n\r\n /**\r\n * Countrywise Restriction Part of China\r\n */\r\n handleCountrywiseRestrictionForChina() {\r\n APIHandler.AxiosInstance.post(\r\n GlobalStrings.WEB_API.WEB_CHECK_IPORIGIN_COUNTRY\r\n ).then((response) => {\r\n console.log(response);\r\n if (response.data.status === 0) {\r\n this.setState({ verifiedIp: true });\r\n this.handleAppStart();\r\n } else {\r\n this.setState({ verifiedIp: false });\r\n this.props.history.push(GlobalStrings.URL_STRING.ACCESS_DENIED);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Handle Countrywise(China-country) restriction For Global\r\n */\r\n handleCountryRestrictionForGlobal() {\r\n APIHandler.AxiosInstance.post(\r\n GlobalStrings.WEB_API.WEB_CHECK_IPFOR_GLOBALSITES\r\n ).then((response) => {\r\n console.log(response);\r\n if (response.data.status === 0) {\r\n this.setState({ verifiedIp: true });\r\n this.handleAppStart();\r\n } else {\r\n this.setState({ verifiedIp: false });\r\n this.props.history.push(GlobalStrings.URL_STRING.ACCESS_DENIED);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Start Call After Verification\r\n * Check If Passwordpromt Needed\r\n */\r\n handleAppStart() {\r\n const { soundCheckiPasswordProtect } = this.state;\r\n\r\n if (soundCheckiPasswordProtect) {\r\n this.setState({\r\n showMainContainerLoading: \"none\",\r\n visible: true,\r\n });\r\n } else {\r\n this.handleGetQrCodeData(GlobalStrings.CONSTANTS.DEFAULT_QRCODE_PASSWORD);\r\n }\r\n this.handleLocalStorageExpiry();\r\n }\r\n\r\n handleLocalStorageExpiry = () => {\r\n //check if past expiration date\r\n if (\r\n localStorage.getItem(GlobalStrings.CONSTANTS.LOGIN_FAILURE_COUNT) != null\r\n ) {\r\n var value = localStorage\r\n .getItem(GlobalStrings.CONSTANTS.LOGIN_FAILURE_COUNT)\r\n .split(\";\");\r\n\r\n if (new Date(value[1]) < new Date()) {\r\n localStorage.removeItem(GlobalStrings.CONSTANTS.LOGIN_FAILURE_COUNT);\r\n }\r\n }\r\n };\r\n\r\n handleSetFailureCount = (count) => {\r\n var values = [];\r\n var oneday = new Date();\r\n oneday.setMinutes(oneday.getMinutes() + 1); //one min from now\r\n values.push(count);\r\n values.push(oneday);\r\n try {\r\n localStorage.setItem(\r\n GlobalStrings.CONSTANTS.LOGIN_FAILURE_COUNT,\r\n values.join(\";\")\r\n );\r\n } catch (e) {}\r\n };\r\n\r\n /**For mapping blob url to global CDN Url */\r\n mapToBlobCdnUrl = (blobUrl) => {\r\n return (\r\n GlobalStrings.BLOB_CDN_URL.BASE_PATH +\r\n blobUrl.split(GlobalStrings.BLOB_CDN_URL.CONTAINER)[1]\r\n );\r\n };\r\n\r\n handleGetQrCodeData = (password) => {\r\n //Checking login failure count.\r\n this.handleLocalStorageExpiry();\r\n var loginFailureCount = localStorage.getItem(\r\n GlobalStrings.CONSTANTS.LOGIN_FAILURE_COUNT\r\n );\r\n if (loginFailureCount == null) {\r\n this.handleSetFailureCount(\"0\");\r\n }\r\n var failCount = localStorage\r\n .getItem(GlobalStrings.CONSTANTS.LOGIN_FAILURE_COUNT)\r\n .split(\";\");\r\n var countInt = parseInt(failCount[0], 10) + 1;\r\n if (countInt > 5) {\r\n this.setState({\r\n modalErrorMessage: LangStrings.en.MAX_TRY_EXCEEDED,\r\n showRemainingAttempts: \"none\",\r\n });\r\n return;\r\n }\r\n\r\n //Password hashing using sha256\r\n var hash = sha256.create();\r\n hash.update(password);\r\n var hashedPassword = hash.hex();\r\n\r\n let config = {\r\n headers: {\r\n Authorization: \"Bearer \" + GlobalStrings.CONSTANTS.DEFAULT_TOKEN_QRCODE,\r\n },\r\n };\r\n\r\n this.setState({\r\n showMainContainerLoading: \"\",\r\n loading_passwordImage: true,\r\n modalErrorMessage: \"\",\r\n showRemainingAttempts: \"none\",\r\n });\r\n\r\n const { isChinaConfig, isProductionBuild } = this.state;\r\n //Handling API response.\r\n APIHandler.AxiosInstance.post(\r\n GlobalStrings.WEB_API.WEB_GET_DATAFROM_URL,\r\n { uId: this.state.Uid, password: hashedPassword },\r\n config\r\n )\r\n .then(async (response) => {\r\n console.log(response);\r\n this.setState({ loading_passwordImage: false });\r\n if (response.data.data) {\r\n var dateTime = response.data.data.expirationDate;\r\n var date = dateTime.split(\"T\")[0];\r\n\r\n if (!isChinaConfig && isProductionBuild) {\r\n var cdnVideoUrl = this.mapToBlobCdnUrl(response.data.data.videoUrl);\r\n var cdnImageUrl = this.mapToBlobCdnUrl(response.data.data.imageUrl);\r\n } else {\r\n cdnVideoUrl = response.data.data.videoUrl;\r\n cdnImageUrl = response.data.data.imageUrl;\r\n }\r\n\r\n this.checkVideoDownloadAllowed(response.data.data.videoDownloadFlag);\r\n this.setState({\r\n videoUrlDownload: cdnVideoUrl,\r\n imageUrlDownload: cdnImageUrl,\r\n imageUrl: posterDefaultImage,\r\n dataExpiryDate: date,\r\n loading: false,\r\n videoExist: true,\r\n showSoundbtn: \"\",\r\n isVideoDownloadCountExceeded:\r\n response.data.data.isVideoDownloadCountExceeded,\r\n });\r\n\r\n //handle firebase dynamic link based on produt id\r\n const {productId} = response.data.data;\r\n this.productIdRef.current = productId;\r\n const {bo23,nsLink} = this.firebaseDynamicLinkRef.current;\r\n if(productId === Strings.CONSTANTS.PRODUCT_ID_BO23){\r\n this.setState({firebaseDynamicLink: bo23})\r\n const favicon = document.getElementById(\"favicon\");\r\n favicon.href = \"/favicon.png\";\r\n console.log(\"favicon\",favicon);\r\n }\r\n else{\r\n this.setState({firebaseDynamicLink: nsLink})\r\n const favicon = document.getElementById(\"favicon\");\r\n favicon.href = \"/favicon_ns.png\";\r\n console.log(\"favicon\",favicon);\r\n }\r\n\r\n this.handleCancel();\r\n this.handleSetFailureCount(\"0\");\r\n if (isIosVersion15_Above()) {\r\n console.log(\"its iOS 15 -> set to display image as poster\");\r\n this.setState({ isShowImageAsPoster: true });\r\n }\r\n\r\n console.log(\"called image download async\");\r\n await this.convertBlobToBase64Image(cdnImageUrl, cdnVideoUrl);\r\n\r\n //check if IOS 15 or above\r\n //then give url\r\n if (isIosVersion15_Above()) {\r\n console.log(\"its iOS 15\");\r\n } else {\r\n console.log(\"called async\");\r\n await this.convertBlobToBase64Video(cdnVideoUrl);\r\n console.log(\"finished async\");\r\n }\r\n } else if (\r\n response.data.status === GlobalStrings.ERROR_CODE.INCORRECT_PASSWORD\r\n ) {\r\n const form = this.formRef.props.form;\r\n form.setFieldsValue({ Password: \"\" });\r\n\r\n var failureCount = localStorage\r\n .getItem(GlobalStrings.CONSTANTS.LOGIN_FAILURE_COUNT)\r\n .split(\";\");\r\n var count = parseInt(failureCount[0], 10) + 1;\r\n\r\n this.handleSetFailureCount(count);\r\n\r\n if (count >= 5) {\r\n this.setState({\r\n modalErrorMessage: LangStrings.en.MAX_TRY_EXCEEDED,\r\n showRemainingAttempts: \"none\",\r\n });\r\n return;\r\n } else {\r\n this.setState({\r\n modalErrorMessage: ,\r\n modalLoginFailureCount: count,\r\n showRemainingAttempts: \"\",\r\n });\r\n }\r\n } else {\r\n this.setState({\r\n showSoundbtn: \"none\",\r\n showWebPlayBtnIcon: \"none\",\r\n showNoImageInfo: \" \",\r\n loading: false,\r\n videoExist: false,\r\n visible: false,\r\n videoUrl: imgNoImageInfo,\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n };\r\n\r\n convertBlobToBase64Image = async (dataUrl, videoDataUrl) => {\r\n return new Promise((resolve, reject) => {\r\n fetchAsBlob(dataUrl)\r\n .then(convertBlobToBase64)\r\n .then((res) => {\r\n if (isIosVersion15_Above()) {\r\n this.setState({ videoUrl: videoDataUrl });\r\n }\r\n this.setState({\r\n imageUrl: res,\r\n showMainContainerLoading: \"none\",\r\n showMainContainer: \"\",\r\n isVideoLoaded: true,\r\n });\r\n //For getting dimesions after loading the image.\r\n setTimeout(() => {\r\n this.setVideoDownloadExceededInfoStyle();\r\n }, 500);\r\n resolve();\r\n });\r\n });\r\n };\r\n\r\n convertBlobToBase64Video = async (dataUrl) => {\r\n this.setState({\r\n isVideoDownloadInProgress: true,\r\n isDownloadSpinnerVisible: true,\r\n showWebPlayBtnIcon: \"none\",\r\n });\r\n return new Promise((resolve, reject) => {\r\n fetchAsBlob(dataUrl)\r\n .then(convertBlobToBase64)\r\n .then((res) => {\r\n this.setState({\r\n videoUrl: res,\r\n isVideoDownloadInProgress: false,\r\n });\r\n setTimeout(this.dismissVideoLoader, 2000);\r\n resolve();\r\n });\r\n });\r\n };\r\n\r\n /**\r\n * This for checking video download permission is granted or not.\r\n */\r\n checkVideoDownloadAllowed = (videoDownloadFlag) => {\r\n //check the video status flag for enabling or disabling the download button.\r\n // eslint-disable-next-line\r\n if (videoDownloadFlag == VIDEO_DOWNLOAD.STATUS_FLAG.ENABLED) {\r\n this.setState({ isVideoDownloadButtonVisible: \"\" });\r\n } else {\r\n this.setState({ isVideoDownloadButtonVisible: \"none\" });\r\n }\r\n };\r\n\r\n /**\r\n * Image Loaded Call-back from img tag.\r\n */\r\n handleImageLoaded = () => {\r\n console.log(\"handle data loaded ----\");\r\n\r\n this.setState({\r\n showMainContainerLoading: \"none\",\r\n showMainContainer: \"\",\r\n isVideoLoaded: true,\r\n });\r\n\r\n //For getting dimesions after loading the image.\r\n setTimeout(() => {\r\n this.setVideoDownloadExceededInfoStyle();\r\n }, 500);\r\n };\r\n\r\n /**\r\n * For Playing Video\r\n */\r\n playVideo = () => {\r\n console.log(\"play video click detected\");\r\n if (isIosVersion15_Above()) {\r\n //show image, off video\r\n this.setState({ showMaskImageForVideo: true });\r\n this.startVideoLoading();\r\n this.checkforVideo();\r\n } else {\r\n this.startPlayVideo();\r\n }\r\n };\r\n\r\n checkforVideo = () => {\r\n //Every 500ms, check if the video element has loaded\r\n var videoNode = document.getElementById(\"id_video\");\r\n console.log(videoNode.readyState);\r\n var b = setInterval(() => {\r\n if (videoNode.readyState === 4) {\r\n console.log(\"enough video loaded\");\r\n console.log(videoNode.readyState);\r\n setTimeout(this.dismissVideoLoaderIos15, 6000);\r\n clearInterval(b);\r\n }\r\n }, 500);\r\n };\r\n\r\n startVideoLoading = () => {\r\n var videoNode = document.getElementById(\"id_video\");\r\n videoNode.play();\r\n videoNode.pause();\r\n console.log(videoNode.readyState);\r\n\r\n this.setState({\r\n isDownloadSpinnerVisible: true,\r\n showWebPlayBtnIcon: \"none\",\r\n });\r\n };\r\n\r\n dismissVideoLoaderIos15 = () => {\r\n this.setState({\r\n isDownloadSpinnerVisible: false,\r\n showMaskImageForVideo: false,\r\n isShowImageAsPoster: false,\r\n });\r\n console.log(\"dismiss loader called\");\r\n var videoNode = document.getElementById(\"id_video\");\r\n videoNode.play();\r\n };\r\n\r\n startPlayVideo = () => {\r\n var videoNode = document.getElementById(\"id_video\");\r\n if (this.state.soundIconPressedState) {\r\n videoNode.play();\r\n console.log(\"duration\" + videoNode.duration);\r\n if (videoNode.duration > 0 && !videoNode.paused) {\r\n //Its playing\r\n this.setState({\r\n showPlaying: \"\",\r\n showWebPlayBtnIcon: \"none\",\r\n soundIconPressedState: false,\r\n isShowImageAsPoster: false,\r\n });\r\n } else {\r\n //Not playing...maybe paused, stopped or never played.\r\n videoNode.pause();\r\n this.setState({\r\n soundIconPressedState: false,\r\n showWebPlayBtnIcon: \"\",\r\n showSoundbtn: \"\",\r\n web_play_btn_icon: iconWebPlayButtonNormal,\r\n web_icon_logo_instax: require(\"./../assets/icon_web_logo_normal.svg\"),\r\n });\r\n console.log(\"video state---> paused\");\r\n }\r\n }\r\n };\r\n\r\n dismissVideoLoader = () => {\r\n console.log(\"dismiss loader called\");\r\n this.setState({\r\n isDownloadSpinnerVisible: false,\r\n showWebPlayBtnIcon: \"\",\r\n });\r\n };\r\n\r\n handleOntouchStartPlayBtn = () => {\r\n this.setState({\r\n web_play_btn_icon: iconWebPlayButtonPressed,\r\n web_icon_logo_instax: require(\"./../assets/icon_web_logo_pressed.svg\"),\r\n soundIconPressedState: true,\r\n });\r\n //Allow only 5 Seconds for Pressed State\r\n setTimeout(this.handleResetSound, 5000);\r\n };\r\n\r\n /**\r\n * Reset Sound\r\n */\r\n handleResetSound = () => {\r\n console.log(\"call reset\");\r\n var video = document.getElementById(\"id_video\");\r\n if (\r\n (video.duration <= 0 || video.paused) &&\r\n !this.state.isDownloadSpinnerVisible\r\n ) {\r\n this.setState({\r\n showPlaying: \"none\",\r\n showWebPlayBtnIcon: \"\",\r\n showSoundbtn: \"\",\r\n soundIconPressedState: false,\r\n web_play_btn_icon: iconWebPlayButtonNormal,\r\n web_icon_logo_instax: require(\"./../assets/icon_web_logo_normal.svg\"),\r\n });\r\n }\r\n };\r\n\r\n /**\r\n * Sound Finished Callback -react-sound\r\n */\r\n handleSoundFinishedPlaying = () => {\r\n console.log(\"called video finished\");\r\n\r\n this.setState({\r\n isShowImageAsPoster: true,\r\n isVideoPlaying: false,\r\n showPlaying: \"none\",\r\n soundIconPressedState: false,\r\n showWebPlayBtnIcon: \"\",\r\n showSoundbtn: \"\",\r\n web_play_btn_icon: iconWebPlayButtonNormal,\r\n web_icon_logo_instax: require(\"./../assets/icon_web_logo_normal.svg\"),\r\n });\r\n };\r\n\r\n /**\r\n * Sound Cheki Password Protection Operations.\r\n */\r\n showModal = () => {\r\n this.setState({ visible: true });\r\n };\r\n\r\n handleCancel = () => {\r\n this.setState({ visible: false });\r\n };\r\n\r\n handleCreate = () => {\r\n const form = this.formRef.props.form;\r\n console.log(\"form values\" + form);\r\n form.validateFields((err, values) => {\r\n if (err) {\r\n return;\r\n }\r\n this.handleGetQrCodeData(values.Password);\r\n });\r\n };\r\n\r\n saveFormRef = (formRef) => {\r\n this.formRef = formRef;\r\n };\r\n\r\n /**\r\n * Redirect to app if exist\r\n * or goto playstore / app store using firebase dynamic link.\r\n */\r\n handleOkAppRequiredModal = () => {\r\n const {\r\n Uid,\r\n videoUrlDownload,\r\n imageUrlDownload,\r\n isVideoDownloadCountExceeded,\r\n firebaseDynamicLink,\r\n isChinaConfig,\r\n } = this.state;\r\n //on clicking ok button , disable the download button and dismiss the modal\r\n this.setState({\r\n isVideoButtonDisabled: true,\r\n isAppRequiredModalVisible: false,\r\n });\r\n //if download count exceeded then show warning and exit\r\n if (isVideoDownloadCountExceeded) {\r\n return false;\r\n }\r\n\r\n //handle dynamic link parameter for bo23 & NS Link\r\n var bo23OrNSLinkVideo = null;\r\n if (this.productIdRef.current === Strings.CONSTANTS.PRODUCT_ID_BO23) {\r\n bo23OrNSLinkVideo = \"isInstaxBO23Video\";\r\n }\r\n else {\r\n bo23OrNSLinkVideo = \"isInstaxNSLinkVideo\";\r\n }\r\n //custom uri scheme for China\r\n if (isChinaConfig) {\r\n if (isAndroid) {\r\n //android browser compatible code (including UC)\r\n var CustomUriParams =\r\n \"intent://https://instax.com?uid=\" +\r\n Uid +\r\n \"&videoUrl=\" +\r\n encodeURIComponent(window.btoa(videoUrlDownload)) +\r\n \"&imageUrl=\" +\r\n encodeURIComponent(window.btoa(imageUrlDownload)) +\r\n \"&\"+bo23OrNSLinkVideo+\"=\" +\r\n true +\r\n \"&isChina=\" +\r\n isChinaConfig;\r\n window.location.replace(\r\n \"intent://\" +\r\n CustomUriParams +\r\n \"#Intent;package=\" +\r\n firebaseDynamicLink +\r\n \";scheme=com.fujifilm.instaxbod;\" +\r\n \"S.browser_fallback_url=\" +\r\n firebaseDynamicLink +\r\n \"://\" +\r\n CustomUriParams +\r\n \";end\",\r\n \"_blank\"\r\n );\r\n } else if (isIOS) {\r\n CustomUriParams =\r\n \"://https://instax.com?uid=\" +\r\n Uid +\r\n \"&videoUrl=\" +\r\n encodeURIComponent(window.btoa(videoUrlDownload)) +\r\n \"&imageUrl=\" +\r\n encodeURIComponent(window.btoa(imageUrlDownload)) +\r\n \"&\"+bo23OrNSLinkVideo+\"=\" +\r\n true +\r\n \"&isChina=\" +\r\n isChinaConfig;\r\n document.location = firebaseDynamicLink + CustomUriParams;\r\n }\r\n return false;\r\n }\r\n\r\n //Uncomment for enabling dev dynamic link => for iOS\r\n // if (isIOS) {\r\n // var devFirebaseDynamicLink =\r\n // \"https://instaxbod.page.link/?efr=1&ibi=com.trenser.InstaxBOD&isi=1478853024&amv=40&apn=com.fujifilm.instaxminiLink&link=\";\r\n // var dynamicLinkParams =\r\n // \"https://instax.com?uid%3D\" +\r\n // Uid +\r\n // \"%26videoUrl%3D\" +\r\n // encodeURIComponent(window.btoa(videoUrlDownload)) +\r\n // \"%26imageUrl%3D\" +\r\n // encodeURIComponent(window.btoa(imageUrlDownload)) +\r\n // \"%26isChina%3D\" +\r\n // isChinaConfig +\r\n // \"%26isInstaxBO23Video%3D\" +\r\n // true;\r\n // window.open(devFirebaseDynamicLink + dynamicLinkParams, \"_blank\");\r\n // return false;\r\n // }\r\n //Uncomment when using production build, Dynamic Link in production is same for both iOS/andriod.\r\n\r\n var dynamicLinkParams =\r\n \"https://instax.com?uid%3D\" +\r\n Uid +\r\n \"%26videoUrl%3D\" +\r\n encodeURIComponent(window.btoa(videoUrlDownload)) +\r\n \"%26imageUrl%3D\" +\r\n encodeURIComponent(window.btoa(imageUrlDownload)) +\r\n \"%26isChina%3D\" +\r\n isChinaConfig +\r\n \"%26\"+bo23OrNSLinkVideo+\"%3D\" +\r\n true;\r\n\r\n window.open(firebaseDynamicLink + dynamicLinkParams, \"_self\");\r\n //Prod global => https://instaxminilink.page.link/?efr=1&ibi=com.fujifilm.instaxminiLink&isi=1478853024&amv=39&apn=com.fujifilm.instaxminiLink&link=\r\n };\r\n\r\n /**\r\n * If download Limit Exceeded then show warning msg.\r\n * If is Andriod/iOS show the App Required Modal.\r\n */\r\n handleDownloadBtnClick = () => {\r\n //show warning message if other than iOS/Andriod.\r\n if (isIOS || isAndroid) {\r\n //show exceeded modal if download count exceeded.\r\n if (this.state.isVideoDownloadCountExceeded) {\r\n this.setState({\r\n isVideoDownloadExceedWarningVisible: this.state\r\n .isVideoDownloadCountExceeded,\r\n isVideoButtonDisabled: true,\r\n });\r\n return false;\r\n }\r\n //check if it is iOS or android platform.\r\n //then show the app required modal.\r\n\r\n this.setState({\r\n isVideoDownloadSupportedPlatform: true,\r\n isAppRequiredModalVisible: true,\r\n });\r\n } else {\r\n this.setState({\r\n isVideoDownloadSupportedPlatform: false,\r\n });\r\n return false;\r\n }\r\n };\r\n\r\n /**\r\n * Dismiss the app required modal.\r\n */\r\n handleCancelAppRequiredModal = () => {\r\n this.setState({ isAppRequiredModalVisible: false });\r\n };\r\n\r\n /**\r\n * Used to invoke password Modal.\r\n */\r\n renderPasswordPopUp = () => {\r\n if (this.state.visible) {\r\n return (\r\n \r\n );\r\n }\r\n };\r\n\r\n /**\r\n * It is used to render App Required Modal,\r\n * When Clicking the Download Button\r\n */\r\n renderAppRequiredModal = () => {\r\n const { isAppRequiredModalVisible, isChinaConfig } = this.state;\r\n if (isAppRequiredModalVisible) {\r\n return (\r\n \r\n );\r\n }\r\n };\r\n\r\n /**\r\n * Used to render video dowmload info.\r\n */\r\n renderVideoDownloadExceededInfo = () => {\r\n const {\r\n isVideoDownloadExceedWarningVisible,\r\n topValueCenterContentOverlay,\r\n topValueDownloadButtonOverlay,\r\n downloadExceededDismissBtnStyle,\r\n } = this.state;\r\n\r\n return (\r\n \r\n );\r\n };\r\n\r\n /**\r\n * Get Overlay layout - Position\r\n * For child video download component..\r\n */\r\n setVideoDownloadExceededInfoStyle() {\r\n var bodyRect = document.body.getBoundingClientRect();\r\n var downloadBtnRect = ReactDOM.findDOMNode(\r\n this.downloadBtnRef.current\r\n ).getBoundingClientRect();\r\n var offset = downloadBtnRect.top - bodyRect.top;\r\n\r\n const percentUptoOverlayCenterContent = 54 / 100;\r\n var topValueForCenterContent =\r\n offset * percentUptoOverlayCenterContent - downloadBtnRect.height;\r\n var dismissBtnWidth = downloadBtnRect.width;\r\n if (this.state.isChinaConfig && isAndroid) {\r\n // there is two buttons and spacing in the case of china : download & install\r\n dismissBtnWidth = downloadBtnRect.width * 2.1;\r\n }\r\n const downloadExceededDismissStyle = {\r\n borderColor: \"#857e6b\",\r\n borderRadius: \"8px\",\r\n backgroundColor: \"white\",\r\n color: \"#857e6b\",\r\n padding: \"0 39.6%\",\r\n height: downloadBtnRect.height,\r\n width: dismissBtnWidth,\r\n };\r\n\r\n this.setState({\r\n topValueDownloadButtonOverlay: offset,\r\n topValueCenterContentOverlay: topValueForCenterContent,\r\n downloadExceededDismissBtnStyle: downloadExceededDismissStyle,\r\n showCnWarningText : true\r\n });\r\n }\r\n\r\n /**\r\n * handle back button of the download exceeded info\r\n */\r\n handleBackBtnDownloadExceededInfo = () => {\r\n this.setState({ isVideoDownloadExceedWarningVisible: false });\r\n };\r\n\r\n /**display warning text for CN only */\r\n displayWarningForCN = () =>{\r\n if(this.state.isChinaConfig && this.state.showCnWarningText && this.state.showMainContainerLoading === \"none\"){\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n /**\r\n * main rendering method.\r\n */\r\n render() {\r\n const {\r\n showMainContainer,\r\n showMainContainerLoading,\r\n web_icon_logo_instax,\r\n isVideoDownloadButtonVisible,\r\n isVideoButtonDisabled,\r\n isVideoDownloadSupportedPlatform,\r\n isChinaConfig,\r\n showNoImageInfo,\r\n videoExist,\r\n web_play_btn_icon,\r\n showSoundbtn,\r\n showWebPlayBtnIcon,\r\n dataExpiryDate,\r\n videoUrl,\r\n imageUrl,\r\n isVideoPlaying,\r\n isVideoLoaded,\r\n isDownloadSpinnerVisible,\r\n } = this.state;\r\n\r\n return (\r\n
\r\n {this.renderVideoDownloadExceededInfo()}\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 type=\"warning\"\r\n closable\r\n showIcon\r\n />\r\n
\r\n {this.renderAppRequiredModal()}\r\n {this.renderPasswordPopUp()}\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \"play\r\n \r\n \r\n
\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default QrCodeData;\r\n","// ***********************************************************************\r\n// Assembly : FujiFilm.InstaxMini.UserWeb\r\n// Author : Pranav K\r\n// Created : 30-11-2018\r\n// ***********************************************************************\r\n// \r\n// Copyright © 2018\r\n// \r\n// \r\n// ***********************************************************************\r\nimport React, { Component } from \"react\";\r\nimport Layout from \"antd/lib/layout/layout\";\r\nimport GlobalStrings from \"../constants/Global\";\r\nimport axios from \"axios\";\r\nimport APIHandler from \"../network/AxiosInstance\";\r\nconst { Header } = Layout;\r\n\r\n/**\r\n * Sample HomePage\r\n *\r\n */\r\nclass Home extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: true,\r\n cardwidth: 800,\r\n verifiedIp: false,\r\n currentPage: window.location.href.split(\"://\")[1],\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n //Check whether country restriction active or not.\r\n axios.get(\"config.json\").then((res) => {\r\n var countrywiseRestrictionChina = res.data.countrywiseRestrictionInChina;\r\n var countrywiseRestrictionGlobal =\r\n res.data.countrywiseRestrictionInGlobal;\r\n // eslint-disable-next-line\r\n if (countrywiseRestrictionChina == \"true\") {\r\n this.handleCountrywiseRestriction();\r\n }\r\n // eslint-disable-next-line\r\n else if (countrywiseRestrictionGlobal == \"true\") {\r\n this.handleCountryRestrictionForGlobal();\r\n } else {\r\n this.setState({ verifiedIp: true });\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * IP Restriction Part\r\n */\r\n handleCountrywiseRestriction() {\r\n APIHandler.AxiosInstance.post(\r\n GlobalStrings.WEB_API.WEB_CHECK_IPORIGIN_COUNTRY\r\n ).then((response) => {\r\n console.log(response);\r\n\r\n if (response.data.status === 0) {\r\n this.setState({ verifiedIp: true });\r\n } else {\r\n this.setState({ verifiedIp: false });\r\n this.props.history.push(GlobalStrings.URL_STRING.ACCESS_DENIED);\r\n }\r\n });\r\n }\r\n\r\n handleCountryRestrictionForGlobal() {\r\n APIHandler.AxiosInstance.post(\r\n GlobalStrings.WEB_API.WEB_CHECK_IPFOR_GLOBALSITES\r\n ).then((response) => {\r\n console.log(response);\r\n if (response.data.status === 0) {\r\n this.setState({ verifiedIp: true });\r\n } else {\r\n this.setState({ verifiedIp: false });\r\n this.props.history.push(GlobalStrings.URL_STRING.ACCESS_DENIED);\r\n }\r\n });\r\n }\r\n\r\n render() {\r\n const { verifiedIp, currentPage } = this.state;\r\n if (verifiedIp) {\r\n return (\r\n \r\n \r\n
\r\n \r\n
\r\n

{currentPage}

\r\n \r\n \r\n \r\n );\r\n } else {\r\n return
;\r\n }\r\n }\r\n}\r\nexport default Home;\r\n","// ***********************************************************************\r\n// Assembly : FujiFilm.InstaxMini.UserWeb\r\n// Author : Pranav K\r\n// Created : 30-11-2018\r\n// ***********************************************************************\r\n// \r\n// Copyright © 2018\r\n// \r\n// \r\n// ***********************************************************************\r\nimport React, { Component } from 'react';\r\nimport Layout from 'antd/lib/layout/layout';\r\nconst { Header, Content } = Layout;\r\n\r\nclass UnAuthorizedAcesss extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: true,\r\n cardwidth: 800,\r\n contentPadding: '0px 150px'\r\n }\r\n console.log(this.props)\r\n console.log(this.props.match.params.uid)\r\n }\r\n\r\n componentDidMount() {\r\n this.screenWidthConfig();\r\n }\r\n /**\r\n * Adjust card width according to screen width.\r\n */\r\n screenWidthConfig = () => {\r\n const breakpoints = {\r\n desktop: 1040,\r\n tablet: 840,\r\n mobile: 540\r\n };\r\n if (window.innerWidth > breakpoints.mobile) {\r\n this.setState({ cardwidth: window.innerWidth - 50 })\r\n this.setState({ contentPadding: '0px 20px' })\r\n\r\n } else if (window.innerWidth <= breakpoints.mobile) {\r\n this.setState({ cardwidth: window.innerWidth - 50 })\r\n this.setState({ contentPadding: '0px 20px' })\r\n }\r\n }\r\n render() {\r\n const { contentPadding } = this.state;\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 Access Denied..!!\r\n
\r\n \r\n You are not authorized to view this page..!\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 UnAuthorizedAcesss;","import React, { Component } from 'react';\r\nimport { Route, Switch, withRouter } from 'react-router-dom';\r\nimport QRCodeData from './layout/QRCodeData';\r\nimport APIHandler from './network/AxiosInstance';\r\nimport GlobalStrings from \"./constants/Global\";\r\nimport Home from './layout/Home';\r\nimport UnAuthorizedAcesss from './layout/UnAuthorizedAccess';\r\n\r\n/**\r\n * Class App Routes to All Components.\r\n */\r\nclass App extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = { initialiseApiHandler: false }\r\n\r\n }\r\n\r\n componentDidMount() {\r\n new APIHandler().init().then(() => {\r\n\r\n this.setState({ initialiseApiHandler: true });\r\n })\r\n }\r\n\r\n render() {\r\n if (this.state.initialiseApiHandler) {\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 } else {\r\n return (\r\n
\r\n
\r\n );\r\n }\r\n }\r\n}\r\n\r\nexport default withRouter(App);\r\n","// In production, we register a service worker to serve assets from local cache.\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 the \"N+1\" visit to a page, since previously\r\n// cached resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\r\n// This link also includes instructions on opting out of this behavior.\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.1/8 is 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);\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://goo.gl/SC7cgQ'\r\n );\r\n });\r\n } else {\r\n // Is not local host. 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 installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the old content will have been purged and\r\n // the fresh content will have been added to the cache.\r\n // It's the perfect time to display a \"New content is\r\n // available; please refresh.\" message in your web app.\r\n console.log('New content is available; please refresh.');\r\n\r\n // Execute callback\r\n if (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.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 .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n if (\r\n response.status === 404 ||\r\n response.headers.get('content-type').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.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","const i18n = (state, action) => {\r\n switch (action.type) {\r\n case 'i18n': return state;\r\n default: return state\r\n }\r\n}\r\n\r\nexport default i18n;","// ***********************************************************************\r\n// Assembly : FujiFilm.InstaxMini.AdminUI\r\n// Author : Pranav K\r\n// Created : 23-10-2018\r\n//\r\n// Last Modified By : Pranav K\r\n// Last Modified On : 23-10-2018\r\n// ***********************************************************************\r\n// \r\n// Copyright © 2018\r\n// \r\n// \r\n// ***********************************************************************\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './css/index.css';\r\n// import './../node_modules/bootstrap/dist/css/bootstrap.min.css';\r\n// import '../node_modules/font-awesome/css/font-awesome.min.css';\r\nimport App from './App';\r\nimport i18nStrings from \"./constants/Lang.js\";\r\nimport './../node_modules/antd/lib/modal/style/css';\r\nimport './../node_modules/antd/lib/form/style/css';\r\nimport './../node_modules/antd/lib/input/style/css';\r\nimport './../node_modules/antd/lib/spin/style/css';\r\nimport './../node_modules/antd/lib/layout/style/css';\r\nimport './../node_modules/antd/lib/alert/style/css';\r\nimport { BrowserRouter } from \"react-router-dom\"\r\nimport * as serviceWorker from './serviceWorker';\r\nimport { createStore, combineReducers, applyMiddleware } from 'redux';\r\nimport thunk from 'redux-thunk';\r\nimport { loadTranslations, setLocale, syncTranslationWithStore, i18nReducer } from 'react-redux-i18n';\r\nimport reducers from './reducers/i18n';\r\n//const langArray = ['en', 'ja', 'fr', 'de', 'es', 'ko', 'pt', 'zh-CN', 'zh-TW', 'zh-HK'];\r\n\r\nconst translationsObject = i18nStrings;\r\n\r\nconst store = createStore(\r\n combineReducers({\r\n ...reducers,\r\n i18n: i18nReducer\r\n }),\r\n applyMiddleware(thunk)\r\n);\r\nsyncTranslationWithStore(store)\r\nstore.dispatch(loadTranslations(translationsObject));\r\n\r\nconst language = (navigator.languages && navigator.languages[0]) ||\r\n navigator.language || navigator.userLanguage;\r\nstore.dispatch(setLocale(language.toLowerCase()));\r\n\r\nReactDOM.render(\r\n\r\n \r\n , document.getElementById('root'));\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: http://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n","module.exports = __webpack_public_path__ + \"static/media/icon_web_logo_normal.dac5c9bd.svg\";"],"sourceRoot":""}