UNPKG

@cake-fxd/rn-case

Version:

ReactNative Case

1 lines 4.38 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 _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));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 _ImageSelect=_interopRequireDefault(require("@cake-fxd/rn-elements/lib/ImageSelect"));var _asyncStorage=_interopRequireDefault(require("@react-native-community/async-storage"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _withCaseBackground=_interopRequireDefault(require("../CaseBackground/withCaseBackground"));var _styles=_interopRequireDefault(require("../PicSelectCase/styles"));var _useLeaveAnimate2=_interopRequireDefault(require("../hooks/useLeaveAnimate"));var _useTextSize=_interopRequireDefault(require("../hooks/useTextSize"));var _config=require("../util/config");var _px2dp=_interopRequireDefault(require("../util/px2dp"));var _textCount=require("../util/textCount");var styles=(0,_styles["default"])();var WordExerciseCase=function WordExerciseCase(props){var textFont=(0,_useTextSize["default"])(props.text,_textCount.WORD_TEXT_COUNTS);var _useLeaveAnimate=(0,_useLeaveAnimate2["default"])(props.onComplete),getLaveAnimateStyle=_useLeaveAnimate.getLaveAnimateStyle;var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2["default"])(_useState,2),showTeacherExplain=_useState2[0],toggleShowExplain=_useState2[1];var _useState3=(0,_react.useState)(false),_useState4=(0,_slicedToArray2["default"])(_useState3,2),showTeacherFollow=_useState4[0],toggleShowTeacherFollow=_useState4[1];(0,_react.useEffect)(function(){showGuide();},[]);function showGuide(){return(0,_tslib.__awaiter)(this,void 0,void 0,_regenerator["default"].mark(function _callee(){var isShowExplain;return _regenerator["default"].wrap(function _callee$(_context){while(1){switch(_context.prev=_context.next){case 0:_context.next=2;return _asyncStorage["default"].getItem('WordExerciseGuide');case 2:isShowExplain=_context.sent;if(!isShowExplain){_asyncStorage["default"].setItem('WordExerciseGuide','true');toggleShowExplain(true);}case 4:case"end":return _context.stop();}}},_callee);}));}function handleSelect(correct){var _a;return(0,_tslib.__awaiter)(this,void 0,void 0,_regenerator["default"].mark(function _callee2(){return _regenerator["default"].wrap(function _callee2$(_context2){while(1){switch(_context2.prev=_context2.next){case 0:if(correct){(_a=props.onSelect)===null||_a===void 0?void 0:_a.call(props);}else{toggleShowTeacherFollow(true);}case 1:case"end":return _context2.stop();}}},_callee2);}));}return _react["default"].createElement(_reactNative.View,{style:styles.container},showTeacherExplain&&_react["default"].createElement(_lib.TeacherExplain,{resources:{explainList:props.explainList},mode:"audioOnly",style:{position:'absolute',height:_config.HEIGHT,top:-(0,_px2dp["default"])(124)},onComplete:function onComplete(){toggleShowExplain(false);}}),showTeacherFollow&&_react["default"].createElement(_lib.TeacherExplain,{resources:(0,_extends2["default"])({},props.teacherFollow),mode:"followRead",style:{position:'absolute',height:_config.HEIGHT,top:-(0,_px2dp["default"])(124)},onComplete:function onComplete(){toggleShowTeacherFollow(false);}}),_react["default"].createElement(_lib.TextReader,{text:props.text,audio:{url:props.audio,autoPlay:props.autoPlay},audioAbsolute:true,textStyle:textFont===null||textFont===void 0?void 0:textFont.style}),props.isSelected&&_react["default"].createElement(_lib.FadeAnimate,null,_react["default"].createElement(_reactNative.Text,{style:styles.translation},props.translate)),_react["default"].createElement(_reactNative.Animated.View,{style:(0,_extends2["default"])({},getLaveAnimateStyle())},_react["default"].createElement(_ImageSelect["default"],{optionStyle:[props.options.length>2?styles.optionMoreStyle:styles.optionStyle],onSelect:handleSelect,options:props.options})));};var _default=(0,_withCaseBackground["default"])(WordExerciseCase);exports["default"]=_default;