UNPKG

@cake-fxd/rn-case

Version:

ReactNative Case

1 lines 4.12 kB
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _inherits2=_interopRequireDefault(require("@babel/runtime/helpers/inherits"));var _possibleConstructorReturn2=_interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));var _getPrototypeOf2=_interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));var _lib=require("@cake-fxd/rn-elements/lib");var _TextReader=_interopRequireDefault(require("@cake-fxd/rn-elements/lib/TextReader"));var _react=_interopRequireDefault(require("react"));var _reactNative=require("react-native");var _CaseGather=require("../CaseGather");var _px2dp=_interopRequireDefault(require("../util/px2dp"));var _textCount=require("../util/textCount");function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=(0,_getPrototypeOf2["default"])(Derived),result;if(hasNativeReflectConstruct){var NewTarget=(0,_getPrototypeOf2["default"])(this).constructor;result=Reflect.construct(Super,arguments,NewTarget);}else{result=Super.apply(this,arguments);}return(0,_possibleConstructorReturn2["default"])(this,result);};}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Date.prototype.toString.call(Reflect.construct(Date,[],function(){}));return true;}catch(e){return false;}}var PosterCase=function(_React$Component){(0,_inherits2["default"])(PosterCase,_React$Component);var _super=_createSuper(PosterCase);function PosterCase(props){var _this;(0,_classCallCheck2["default"])(this,PosterCase);_this=_super.call(this,props);_this._onSelect=function(_correct){var feedbackAudio=_this.props.feedbackAudio;var correct=feedbackDefault.correct,inCorrect=feedbackDefault.inCorrect;if(feedbackAudio){correct=feedbackAudio.correct;inCorrect=feedbackAudio.inCorrect;}_this.audio.play(_correct?correct:inCorrect);if(_correct){_this.setState({showNextBtn:true});}};_this.state={showNextbtn:false};_this.audio=new _lib.AudioPlayer();return _this;}(0,_createClass2["default"])(PosterCase,[{key:"render",value:function render(){var _this2=this;var _this$props=this.props,text=_this$props.text,audio=_this$props.audio,_this$props$poster=_this$props.poster,url=_this$props$poster.url,positions=_this$props$poster.positions,onComplete=_this$props.onComplete;var showNextBtn=this.state.showNextBtn;var len=text.length;var text_style={};_textCount.WORD_TEXT_COUNTS.map(function(item){if(len>=item.min&&len<=item.max){text_style=item.style;}});return _react["default"].createElement(_CaseGather.CaseContext.Consumer,null,function(context){return _react["default"].createElement(_reactNative.View,{style:styles.container},_react["default"].createElement(_reactNative.View,{style:styles.word},_react["default"].createElement(_TextReader["default"],{text:text,audio:{url:audio},audioAbsolute:true,textStyle:text_style})),_react["default"].createElement(_lib.PosterPicker,{options:positions,image:url,onSelect:_this2._onSelect}),showNextBtn&&_react["default"].createElement(_lib.NextButton,{onPress:function onPress(){return onComplete===null||onComplete===void 0?void 0:onComplete();},style:styles.nextBtn}));});}}]);return PosterCase;}(_react["default"].Component);var _default=PosterCase;exports["default"]=_default;var feedbackDefault={correct:require("../../assets/audios/feedback_correct.mp3"),inCorrect:require("../../assets/audios/feedback_wrong.mp3")};var styles=_reactNative.StyleSheet.create({container:{width:'100%',height:'100%',alignItems:'center',justifyContent:'flex-start',backgroundColor:'#FFF4D2'},word:{marginTop:(0,_px2dp["default"])(120),marginBottom:(0,_px2dp["default"])(30)},nextBtn:{position:'absolute',bottom:(0,_px2dp["default"])(70)}});