UNPKG

@cake-fxd/rn-case

Version:

ReactNative Case

1 lines 3.5 kB
"use strict";var _interopRequireWildcard=require("@babel/runtime/helpers/interopRequireWildcard");var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _tslib=require("tslib");var _lib=require("@cake-fxd/rn-elements/lib");var _asyncStorage=_interopRequireDefault(require("@react-native-community/async-storage"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _ChapterCaseContext=_interopRequireDefault(require("../ChpaterCase/ChapterCaseContext"));var _config=require("../util/config");var _px2dp=_interopRequireDefault(require("../util/px2dp"));var _styles=require("./styles");var styles=(0,_styles.createStyle)();var EVENT='CHAPTER_GUESTURE';var CoverCase=function CoverCase(props){var _useState=(0,_react.useState)(new _reactNative.Animated.Value(_config.WIDTH-(0,_px2dp["default"])(236))),_useState2=(0,_slicedToArray2["default"])(_useState,1),translateX=_useState2[0];var chapterContext=(0,_react.useContext)(_ChapterCaseContext["default"]);var ref=(0,_react.useRef)(null);var _useState3=(0,_react.useState)(false),_useState4=(0,_slicedToArray2["default"])(_useState3,2),showGuesture=_useState4[0],toggleGuestureShow=_useState4[1];(0,_react.useEffect)(function(){animateShowGuesture();},[]);(0,_react.useEffect)(function(){var _a,_b,_c;if(props.isScrolling){(_a=ref.current)===null||_a===void 0?void 0:_a.stop();return;}if(chapterContext.page===props.position){(_b=ref.current)===null||_b===void 0?void 0:_b.play();}else{(_c=ref.current)===null||_c===void 0?void 0:_c.stop();}},[chapterContext.page,props.isScrolling]);function animateShowGuesture(){return(0,_tslib.__awaiter)(this,void 0,void 0,_regenerator["default"].mark(function _callee(){var isGuestered;return _regenerator["default"].wrap(function _callee$(_context){while(1){switch(_context.prev=_context.next){case 0:_context.next=2;return _asyncStorage["default"].getItem(EVENT);case 2:isGuestered=_context.sent;if(!isGuestered){_context.next=5;break;}return _context.abrupt("return");case 5:_asyncStorage["default"].setItem(EVENT,'true');toggleGuestureShow(true);_reactNative.Animated.loop(_reactNative.Animated.timing(translateX,{toValue:(0,_px2dp["default"])(200),useNativeDriver:false,duration:1000})).start();case 8:case"end":return _context.stop();}}},_callee);}));}return _react["default"].createElement(_reactNative.View,{style:styles.container},showGuesture&&_react["default"].createElement(_reactNative.Animated.Image,{source:require("../../assets/imgs/guster.png"),style:{width:(0,_px2dp["default"])(236),height:(0,_px2dp["default"])(123),position:'absolute',bottom:(0,_px2dp["default"])(100),left:0,zIndex:100,transform:[{translateX:translateX}]}}),_react["default"].createElement(_reactNative.Animated.View,{style:[styles.coverContainer]},_react["default"].createElement(_reactNative.Image,{source:require("../../assets/imgs/chapter.png"),style:styles.coverBg}),_react["default"].createElement(_reactNative.Image,{source:{uri:props.image},style:styles.coverImg})),_react["default"].createElement(_lib.FontText,{text:props.title,style:styles.textStyle}),_react["default"].createElement(_lib.AudioSpeaker,{url:props.audio,ref:ref}));};var _default=CoverCase;exports["default"]=_default;