react-native-timacare 3.3.3 → 3.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/lib/commonjs/components/keyboardspace/index.js +1 -1
  2. package/lib/commonjs/components/keyboardspace/index.js.flow +74 -113
  3. package/lib/commonjs/components/keyboardspace/index.js.map +1 -1
  4. package/lib/commonjs/screens/digital-lending/Step1.js +1 -1
  5. package/lib/commonjs/screens/digital-lending/Step1.js.flow +1 -1
  6. package/lib/commonjs/screens/digital-lending/Step1.js.map +1 -1
  7. package/lib/module/components/keyboardspace/index.js +1 -1
  8. package/lib/module/components/keyboardspace/index.js.map +1 -1
  9. package/lib/module/screens/digital-lending/Step1.js +1 -1
  10. package/lib/module/screens/digital-lending/Step1.js.map +1 -1
  11. package/lib/typescript/components/keyboardspace/index.d.ts +9 -22
  12. package/lib/typescript/components/keyboardspace/index.d.ts.map +1 -1
  13. package/package.json +1 -13
  14. package/src/components/keyboardspace/index.tsx +74 -113
  15. package/src/screens/digital-lending/Step1.tsx +1 -1
  16. package/lib/commonjs/components/logoTima/index.js +0 -2
  17. package/lib/commonjs/components/logoTima/index.js.flow +0 -32
  18. package/lib/commonjs/components/logoTima/index.js.map +0 -1
  19. package/lib/commonjs/components/logoTima/logo.png +0 -0
  20. package/lib/commonjs/components/logoTima/slogan.png +0 -0
  21. package/lib/commonjs/screens/intro/Store.js +0 -2
  22. package/lib/commonjs/screens/intro/Store.js.flow +0 -36
  23. package/lib/commonjs/screens/intro/Store.js.map +0 -1
  24. package/lib/commonjs/screens/intro/background_initial.png +0 -0
  25. package/lib/commonjs/screens/intro/index.js +0 -2
  26. package/lib/commonjs/screens/intro/index.js.flow +0 -300
  27. package/lib/commonjs/screens/intro/index.js.map +0 -1
  28. package/lib/commonjs/screens/intro/rightBottom.png +0 -0
  29. package/lib/module/components/logoTima/index.js +0 -2
  30. package/lib/module/components/logoTima/index.js.map +0 -1
  31. package/lib/module/components/logoTima/logo.png +0 -0
  32. package/lib/module/components/logoTima/slogan.png +0 -0
  33. package/lib/module/screens/intro/Store.js +0 -2
  34. package/lib/module/screens/intro/Store.js.map +0 -1
  35. package/lib/module/screens/intro/background_initial.png +0 -0
  36. package/lib/module/screens/intro/index.js +0 -2
  37. package/lib/module/screens/intro/index.js.map +0 -1
  38. package/lib/module/screens/intro/rightBottom.png +0 -0
  39. package/lib/typescript/components/logoTima/index.d.ts +0 -2
  40. package/lib/typescript/components/logoTima/index.d.ts.map +0 -1
  41. package/lib/typescript/screens/intro/Store.d.ts +0 -8
  42. package/lib/typescript/screens/intro/Store.d.ts.map +0 -1
  43. package/lib/typescript/screens/intro/index.d.ts +0 -2
  44. package/lib/typescript/screens/intro/index.d.ts.map +0 -1
  45. package/src/components/logoTima/index.tsx +0 -32
  46. package/src/components/logoTima/logo.png +0 -0
  47. package/src/components/logoTima/slogan.png +0 -0
  48. package/src/screens/intro/Store.tsx +0 -36
  49. package/src/screens/intro/background_initial.png +0 -0
  50. package/src/screens/intro/index.tsx +0 -300
  51. package/src/screens/intro/rightBottom.png +0 -0
@@ -1,28 +1,31 @@
1
- /**
2
- * Created by andrewhurst on 10/5/15.
3
- */
4
1
  //@ts-nocheck
5
- import React, { Component } from 'react';
6
- import PropTypes from 'prop-types';
2
+ import React, { useEffect, useState } from 'react';
7
3
  import {
8
4
  Keyboard,
9
5
  LayoutAnimation,
10
6
  View,
11
7
  Dimensions,
12
- ViewPropTypes,
13
8
  Platform,
14
9
  StyleSheet,
10
+ ViewStyle,
11
+ KeyboardEvent,
15
12
  } from 'react-native';
16
13
 
14
+ type Props = {
15
+ topSpacing?: number;
16
+ onToggle?: (isOpen: boolean, height: number) => void;
17
+ style?: ViewStyle;
18
+ };
19
+
17
20
  const styles = StyleSheet.create({
18
21
  container: {
22
+ position: 'absolute',
19
23
  bottom: 0,
20
24
  left: 0,
21
25
  right: 0,
22
26
  },
23
27
  });
24
28
 
25
- // From: https://medium.com/man-moon/writing-modern-react-native-ui-e317ff956f02
26
29
  const defaultAnimation = {
27
30
  duration: 500,
28
31
  create: {
@@ -36,110 +39,68 @@ const defaultAnimation = {
36
39
  },
37
40
  };
38
41
 
39
- export default class KeyboardSpacer extends Component {
40
- static propTypes = {
41
- topSpacing: PropTypes.number,
42
- onToggle: PropTypes.func,
43
- style: ViewPropTypes.style,
44
- };
45
-
46
- static defaultProps = {
47
- topSpacing: 0,
48
- onToggle: () => null,
49
- };
50
-
51
- constructor(props, context) {
52
- super(props, context);
53
- this.state = {
54
- keyboardSpace: 0,
55
- isKeyboardOpened: false,
42
+ const KeyboardSpacer: React.FC<Props> = ({
43
+ topSpacing = 0,
44
+ onToggle = () => {},
45
+ style,
46
+ }) => {
47
+ const [keyboardSpace, setKeyboardSpace] = useState(0);
48
+
49
+ useEffect(() => {
50
+ const showEvent =
51
+ Platform.OS === 'android' ? 'keyboardDidShow' : 'keyboardWillShow';
52
+ const hideEvent =
53
+ Platform.OS === 'android' ? 'keyboardDidHide' : 'keyboardWillHide';
54
+
55
+ const onShow = (event: KeyboardEvent) => {
56
+ if (!event?.endCoordinates) return;
57
+
58
+ let animationConfig = defaultAnimation;
59
+
60
+ if (Platform.OS === 'ios') {
61
+ animationConfig = LayoutAnimation.create(
62
+ event.duration,
63
+ LayoutAnimation.Types[event.easing] || 'keyboard',
64
+ LayoutAnimation.Properties.opacity
65
+ );
66
+ }
67
+
68
+ LayoutAnimation.configureNext(animationConfig);
69
+
70
+ const screenHeight = Dimensions.get('window').height;
71
+ const height = screenHeight - event.endCoordinates.screenY + topSpacing;
72
+
73
+ setKeyboardSpace(height);
74
+ onToggle(true, height);
75
+ };
76
+
77
+ const onHide = (event: KeyboardEvent) => {
78
+ let animationConfig = defaultAnimation;
79
+
80
+ if (Platform.OS === 'ios') {
81
+ animationConfig = LayoutAnimation.create(
82
+ event?.duration || 250,
83
+ LayoutAnimation.Types[event?.easing] || 'keyboard',
84
+ LayoutAnimation.Properties.opacity
85
+ );
86
+ }
87
+
88
+ LayoutAnimation.configureNext(animationConfig);
89
+
90
+ setKeyboardSpace(0);
91
+ onToggle(false, 0);
92
+ };
93
+
94
+ const showSub = Keyboard.addListener(showEvent, onShow);
95
+ const hideSub = Keyboard.addListener(hideEvent, onHide);
96
+
97
+ return () => {
98
+ showSub.remove();
99
+ hideSub.remove();
56
100
  };
57
- this._listeners = null;
58
- this.updateKeyboardSpace = this.updateKeyboardSpace.bind(this);
59
- this.resetKeyboardSpace = this.resetKeyboardSpace.bind(this);
60
- }
61
-
62
- componentDidMount() {
63
- if (Platform.OS === 'ios') {
64
- const updateListener =
65
- Platform.OS === 'android' ? 'keyboardDidShow' : 'keyboardWillShow';
66
- const resetListener =
67
- Platform.OS === 'android' ? 'keyboardDidHide' : 'keyboardWillHide';
68
- this._listeners = [
69
- Keyboard.addListener(updateListener, this.updateKeyboardSpace),
70
- Keyboard.addListener(resetListener, this.resetKeyboardSpace),
71
- ];
72
- }
73
- }
74
-
75
- componentWillUnmount() {
76
- if (this._listeners !== null && this._listeners !== undefined) {
77
- this._listeners.forEach((listener) => listener.remove());
78
- }
79
- }
80
-
81
- updateKeyboardSpace(event) {
82
- // console.log('event', event);
83
- if (!event.endCoordinates) {
84
- return;
85
- }
86
-
87
- let animationConfig = defaultAnimation;
88
- if (Platform.OS === 'ios') {
89
- animationConfig = LayoutAnimation.create(
90
- event.duration,
91
- LayoutAnimation.Types[event.easing],
92
- LayoutAnimation.Properties.opacity
93
- );
94
- }
95
- LayoutAnimation.configureNext(animationConfig);
96
-
97
- // get updated on rotation
98
- const screenHeight = Dimensions.get('window').height;
99
- // when external physical keyboard is connected
100
- // event.endCoordinates.height still equals virtual keyboard height
101
- // however only the keyboard toolbar is showing if there should be one
102
- const keyboardSpace =
103
- screenHeight - event.endCoordinates.screenY + this.props.topSpacing;
104
- // console.log('keyboardSpace', keyboardSpace);
105
- this.setState(
106
- {
107
- keyboardSpace,
108
- isKeyboardOpened: true,
109
- },
110
- this.props.onToggle(true, keyboardSpace)
111
- );
112
- }
113
-
114
- resetKeyboardSpace(event) {
115
- let animationConfig = defaultAnimation;
116
- if (Platform.OS === 'ios') {
117
- animationConfig = LayoutAnimation.create(
118
- event.duration,
119
- LayoutAnimation.Types[event.easing],
120
- LayoutAnimation.Properties.opacity
121
- );
122
- }
123
- LayoutAnimation.configureNext(animationConfig);
124
-
125
- this.setState(
126
- {
127
- keyboardSpace: 0,
128
- isKeyboardOpened: false,
129
- },
130
- this.props.onToggle(false, 0)
131
- );
132
- }
133
-
134
- render() {
135
- return (
136
- <View
137
- style={[
138
- styles.container,
139
- { height: this.state.keyboardSpace },
140
- this.props.style,
141
- ]}
142
- />
143
- );
144
- }
145
- }
101
+ }, [topSpacing, onToggle]);
102
+
103
+ return <View style={[styles.container, { height: keyboardSpace }, style]} />;
104
+ };
105
+
106
+ export default KeyboardSpacer;
@@ -22,10 +22,10 @@ import { Formik } from 'formik';
22
22
  import digitalLendingStore from './store';
23
23
  import { formatDDMMYYY } from '../../utils';
24
24
  import DatePicker from 'react-native-date-picker';
25
- import KeyboardSpacer from '../../components/keyboardspace';
26
25
  import { useNavigation } from '@react-navigation/native';
27
26
  import moment from 'moment';
28
27
  import Loading from '../../components/Loading';
28
+ import KeyboardSpacer from '../../components/keyboardspace';
29
29
 
30
30
  const EnumGender = [
31
31
  {
@@ -1,2 +0,0 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.LogoTima=void 0;var _react=_interopRequireDefault(require("react"));var _reactNative=require("react-native");var _mobxReactLite=require("mobx-react-lite");var Animatable=_interopRequireWildcard(require("react-native-animatable"));var _jsxFileName="/Users/tima/Documents/Tima/tima-care-v2-sdk/src/components/logoTima/index.tsx";function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}var LogoTima=exports.LogoTima=(0,_mobxReactLite.observer)(function LogoTima(){return _react.default.createElement(_reactNative.View,{style:{alignItems:'center',justifyContent:'center'},__self:this,__source:{fileName:_jsxFileName,lineNumber:9,columnNumber:5}},_react.default.createElement(Animatable.View,{animation:'fadeInUp',duration:1000,__self:this,__source:{fileName:_jsxFileName,lineNumber:10,columnNumber:7}},_react.default.createElement(_reactNative.Image,{source:require('./logo.png'),style:{width:200,height:150*200/397,resizeMode:'contain'},__self:this,__source:{fileName:_jsxFileName,lineNumber:11,columnNumber:9}})),_react.default.createElement(Animatable.View,{animation:'fadeInLeft',duration:1000,delay:1000,__self:this,__source:{fileName:_jsxFileName,lineNumber:20,columnNumber:7}},_react.default.createElement(_reactNative.Image,{source:require('./slogan.png'),style:{width:200,height:73*200/397,resizeMode:'contain'},__self:this,__source:{fileName:_jsxFileName,lineNumber:21,columnNumber:9}})));});
2
- //# sourceMappingURL=index.js.map
@@ -1,32 +0,0 @@
1
- //@ts-nocheck
2
- import React from 'react';
3
- import { View, Image } from 'react-native';
4
- import { observer } from 'mobx-react-lite';
5
- import * as Animatable from 'react-native-animatable';
6
-
7
- export const LogoTima = observer(function LogoTima() {
8
- return (
9
- <View style={{ alignItems: 'center', justifyContent: 'center' }}>
10
- <Animatable.View animation={'fadeInUp'} duration={1000}>
11
- <Image
12
- source={require('./logo.png')}
13
- style={{
14
- width: 200,
15
- height: (150 * 200) / 397,
16
- resizeMode: 'contain',
17
- }}
18
- />
19
- </Animatable.View>
20
- <Animatable.View animation={'fadeInLeft'} duration={1000} delay={1000}>
21
- <Image
22
- source={require('./slogan.png')}
23
- style={{
24
- width: 200,
25
- height: (73 * 200) / 397,
26
- resizeMode: 'contain',
27
- }}
28
- />
29
- </Animatable.View>
30
- </View>
31
- );
32
- });
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_mobxReactLite","Animatable","_interopRequireWildcard","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","LogoTima","exports","observer","createElement","View","style","alignItems","justifyContent","__self","__source","fileName","lineNumber","columnNumber","animation","duration","Image","source","width","height","resizeMode","delay"],"sourceRoot":"../../../../src","sources":["components/logoTima/index.tsx"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- 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 _initializerDefineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/initializerDefineProperty"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _applyDecoratedDescriptor2=_interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));var _initializerWarningHelper2=_interopRequireDefault(require("@babel/runtime/helpers/initializerWarningHelper"));var _mobx=require("mobx");var _api=require("../../services/api");var _log=require("../../utils/log");var _reactNative=require("react-native");var _class,_descriptor,_descriptor2;var Store=(_class=function(){function Store(){(0,_classCallCheck2.default)(this,Store);(0,_initializerDefineProperty2.default)(this,"isLoading",_descriptor,this);(0,_initializerDefineProperty2.default)(this,"isError",_descriptor2,this);}(0,_createClass2.default)(Store,[{key:"getOTP",value:function getOTP(params,onSuccess,onFailure){var response;return _regenerator.default.async(function getOTP$(_context){while(1)switch(_context.prev=_context.next){case 0:this.isLoading=true;_context.next=3;return _regenerator.default.awrap(_api.Api.getInstance().getOTP(params));case 3:response=_context.sent;(0,_log.myLog)(response);if(response.kind==='ok'){this.isLoading=false;this.isError=false;if(response.data.meta.errorCode===200){(0,_log.myLog)('data',response.data.data);if(onSuccess){onSuccess(response.data.data);}}}else{this.isLoading=false;this.isError=false;_reactNative.Alert.alert('Lỗi',response.Messages);}case 6:case"end":return _context.stop();}},null,this,null,Promise);}}]);return Store;}(),(_descriptor=(0,_applyDecoratedDescriptor2.default)(_class.prototype,"isLoading",[_mobx.observable],{configurable:true,enumerable:true,writable:true,initializer:function initializer(){return false;}}),_descriptor2=(0,_applyDecoratedDescriptor2.default)(_class.prototype,"isError",[_mobx.observable],{configurable:true,enumerable:true,writable:true,initializer:function initializer(){return false;}}),(0,_applyDecoratedDescriptor2.default)(_class.prototype,"getOTP",[_mobx.action],Object.getOwnPropertyDescriptor(_class.prototype,"getOTP"),_class.prototype)),_class);var registerStore=new Store();var _default=exports.default=registerStore;
2
- //# sourceMappingURL=Store.js.map
@@ -1,36 +0,0 @@
1
- //@ts-nocheck
2
- import { observable, action } from 'mobx';
3
- import { Api } from '../../services/api';
4
- import { myLog } from '../../utils/log';
5
- import { Alert } from 'react-native';
6
- import { save, USER } from '../../utils/storage';
7
-
8
- class Store {
9
- @observable isLoading = false;
10
- @observable isError = false;
11
-
12
- @action
13
- async getOTP(params, onSuccess?, onFailure?) {
14
- this.isLoading = true;
15
- const response = await Api.getInstance().getOTP(params);
16
- myLog(response);
17
- if (response.kind === 'ok') {
18
- this.isLoading = false;
19
- this.isError = false;
20
- if (response.data.meta.errorCode === 200) {
21
- myLog('data', response.data.data);
22
- if (onSuccess) {
23
- onSuccess(response.data.data);
24
- }
25
- }
26
- } else {
27
- this.isLoading = false;
28
- this.isError = false;
29
- Alert.alert('Lỗi', response.Messages);
30
- }
31
- }
32
- }
33
-
34
- const registerStore = new Store();
35
-
36
- export default registerStore;
@@ -1 +0,0 @@
1
- {"version":3,"names":["_mobx","require","_api","_log","_reactNative","_class","_descriptor","_descriptor2","Store","_classCallCheck2","default","_initializerDefineProperty2","_createClass2","key","value","getOTP","params","onSuccess","onFailure","response","_regenerator","async","getOTP$","_context","prev","next","isLoading","awrap","Api","getInstance","sent","myLog","kind","isError","data","meta","errorCode","Alert","alert","Messages","stop","Promise","_applyDecoratedDescriptor2","prototype","observable","configurable","enumerable","writable","initializer","action","Object","getOwnPropertyDescriptor","registerStore","_default","exports"],"sourceRoot":"../../../../src","sources":["screens/intro/Store.tsx"],"mappings":"81BACA,IAAAA,KAAA,CAAAC,OAAA,SACA,IAAAC,IAAA,CAAAD,OAAA,uBACA,IAAAE,IAAA,CAAAF,OAAA,oBACA,IAAAG,YAAA,CAAAH,OAAA,iBAAqC,IAAAI,MAAA,CAAAC,WAAA,CAAAC,YAAA,IAG/B,CAAAC,KAAK,EAAAH,MAAA,qBAAAG,MAAA,KAAAC,gBAAA,CAAAC,OAAA,OAAAF,KAAA,KAAAG,2BAAA,CAAAD,OAAA,mBAAAJ,WAAA,UAAAK,2BAAA,CAAAD,OAAA,iBAAAH,YAAA,WAAAK,aAAA,CAAAF,OAAA,EAAAF,KAAA,GAAAK,GAAA,UAAAC,KAAA,CAIT,SAAAC,OACaC,MAAM,CAAEC,SAAU,CAAEC,SAAU,MAAAC,QAAA,QAAAC,YAAA,CAAAV,OAAA,CAAAW,KAAA,UAAAC,QAAAC,QAAA,iBAAAA,QAAA,CAAAC,IAAA,CAAAD,QAAA,CAAAE,IAAA,SACzC,IAAI,CAACC,SAAS,CAAG,IAAI,CAACH,QAAA,CAAAE,IAAA,UAAAL,YAAA,CAAAV,OAAA,CAAAiB,KAAA,CACCC,QAAG,CAACC,WAAW,CAAC,CAAC,CAACd,MAAM,CAACC,MAAM,CAAC,SAAjDG,QAAQ,CAAAI,QAAA,CAAAO,IAAA,CACd,GAAAC,UAAK,EAACZ,QAAQ,CAAC,CACf,GAAIA,QAAQ,CAACa,IAAI,GAAK,IAAI,CAAE,CAC1B,IAAI,CAACN,SAAS,CAAG,KAAK,CACtB,IAAI,CAACO,OAAO,CAAG,KAAK,CACpB,GAAId,QAAQ,CAACe,IAAI,CAACC,IAAI,CAACC,SAAS,GAAK,GAAG,CAAE,CACxC,GAAAL,UAAK,EAAC,MAAM,CAAEZ,QAAQ,CAACe,IAAI,CAACA,IAAI,CAAC,CACjC,GAAIjB,SAAS,CAAE,CACbA,SAAS,CAACE,QAAQ,CAACe,IAAI,CAACA,IAAI,CAAC,CAC/B,CACF,CACF,CAAC,IAAM,CACL,IAAI,CAACR,SAAS,CAAG,KAAK,CACtB,IAAI,CAACO,OAAO,CAAG,KAAK,CACpBI,kBAAK,CAACC,KAAK,CAAC,KAAK,CAAEnB,QAAQ,CAACoB,QAAQ,CAAC,CACvC,CAAC,wBAAAhB,QAAA,CAAAiB,IAAA,qBAAAC,OAAA,GACF,WAAAjC,KAAA,MAAAF,WAAA,IAAAoC,0BAAA,CAAAhC,OAAA,EAAAL,MAAA,CAAAsC,SAAA,cAtBAC,gBAAU,GAAAC,YAAA,MAAAC,UAAA,MAAAC,QAAA,MAAAC,WAAA,UAAAA,YAAA,QAAa,MAAK,KAAAzC,YAAA,IAAAmC,0BAAA,CAAAhC,OAAA,EAAAL,MAAA,CAAAsC,SAAA,YAC5BC,gBAAU,GAAAC,YAAA,MAAAC,UAAA,MAAAC,QAAA,MAAAC,WAAA,UAAAA,YAAA,QAAW,MAAK,QAAAN,0BAAA,CAAAhC,OAAA,EAAAL,MAAA,CAAAsC,SAAA,WAE1BM,YAAM,EAAAC,MAAA,CAAAC,wBAAA,CAAA9C,MAAA,CAAAsC,SAAA,WAAAtC,MAAA,CAAAsC,SAAA,GAAAtC,MAAA,EAsBT,GAAM,CAAA+C,aAAa,CAAG,GAAI,CAAA5C,KAAK,CAAC,CAAC,CAAC,IAAA6C,QAAA,CAAAC,OAAA,CAAA5C,OAAA,CAEnB0C,aAAa"}
@@ -1,2 +0,0 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.Intro=void 0;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _native=require("@react-navigation/native");var _mobxReactLite=require("mobx-react-lite");var _CommonStyles=require("../CommonStyles");var _keyboardspace=_interopRequireDefault(require("../../components/keyboardspace"));var _MButton=_interopRequireDefault(require("../../components/MButton"));var _theme=require("../../theme");var _MText=require("../../components/MText");var _icons=require("../../assets/icons");var _navigation=require("../../navigation");var _reactNativePagerView=_interopRequireDefault(require("react-native-pager-view"));var _log=require("../../utils/log");var _storage=require("../../utils/storage");var _jsxFileName="/Users/tima/Documents/Tima/tima-care-v2-sdk/src/screens/intro/index.tsx";function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}var Intro=exports.Intro=(0,_mobxReactLite.observer)(function Intro(){var navigation=(0,_native.useNavigation)();var _useState=(0,_react.useState)(0),_useState2=(0,_slicedToArray2.default)(_useState,2),index=_useState2[0],setIndex=_useState2[1];var pagerView=(0,_react.useRef)(null);var skip=function skip(){(0,_storage.save)(_storage.INTRO,'true');navigation.dispatch(_native.CommonActions.reset({index:1,routes:[{name:_navigation.ScreenNames.Register}]}));};return _react.default.createElement(_reactNative.View,{style:[_CommonStyles.commonStyles.fill,_CommonStyles.commonStyles.backgroundWhite],__self:this,__source:{fileName:_jsxFileName,lineNumber:51,columnNumber:5}},_react.default.createElement(_reactNative.SafeAreaView,{style:_CommonStyles.commonStyles.fill,__self:this,__source:{fileName:_jsxFileName,lineNumber:52,columnNumber:7}},_react.default.createElement(_reactNativePagerView.default,{ref:pagerView,style:{flex:1},initialPage:index,onPageSelected:function onPageSelected(event){(0,_log.myLog)(event.nativeEvent);setIndex(event.nativeEvent.position);},__self:this,__source:{fileName:_jsxFileName,lineNumber:53,columnNumber:9}},_react.default.createElement(_reactNative.View,{key:"1",__self:this,__source:{fileName:_jsxFileName,lineNumber:62,columnNumber:11}},_react.default.createElement(_reactNative.View,{style:_CommonStyles.commonStyles.fill,__self:this,__source:{fileName:_jsxFileName,lineNumber:63,columnNumber:13}},_react.default.createElement(_reactNative.Image,{source:require('../../../assets/img/logo.png'),style:{width:80,height:80,alignSelf:'center'},__self:this,__source:{fileName:_jsxFileName,lineNumber:64,columnNumber:15}}),_react.default.createElement(_reactNative.Image,{source:require('../../../assets/img/sao_khue.png'),style:{width:80,height:150,marginTop:24,alignSelf:'center',resizeMode:'contain'},__self:this,__source:{fileName:_jsxFileName,lineNumber:68,columnNumber:15}}),_react.default.createElement(_MText.MText,{style:[_CommonStyles.commonStyles.textNormalBold,{fontSize:18,marginTop:16,color:_theme.color.primary,textAlign:'center'}],__self:this,__source:{fileName:_jsxFileName,lineNumber:78,columnNumber:15}},"Top 10 Sao Khu\xEA 2018"),_react.default.createElement(_MText.MText,{style:[_CommonStyles.commonStyles.textNormal,{fontSize:14,lineHeight:24,marginTop:8,textAlign:'center',paddingHorizontal:36}],__self:this,__source:{fileName:_jsxFileName,lineNumber:91,columnNumber:15}},"T\u1EA1i l\u1EC5 c\xF4ng b\u1ED1 v\xE0 trao danh hi\u1EC7u Sao Khu\xEA 2018, s\u1EA3n ph\u1EA9m S\xE0n k\u1EBFt n\u1ED1i T\xE0i ch\xEDnh Tima c\u1EE7a C\xF4ng ty c\u1ED5 ph\u1EA7n T\u1EADp \u0111o\xE0n Tima \u0111\xE3 l\u1ECDt v\xE0o Top 10 c\xE1c s\u1EA3n ph\u1EA9m, d\u1ECBch v\u1EE5 xu\u1EA5t s\u1EAFc trong t\u1ED5ng s\u1ED1 73 s\u1EA3n ph\u1EA9m, d\u1ECBch v\u1EE5 CNTT \u0111\u01B0\u1EE3c trao gi\u1EA3i."))),_react.default.createElement(_reactNative.View,{key:"2",__self:this,__source:{fileName:_jsxFileName,lineNumber:105,columnNumber:11}},_react.default.createElement(_reactNative.View,{style:_CommonStyles.commonStyles.fill,__self:this,__source:{fileName:_jsxFileName,lineNumber:106,columnNumber:13}},_react.default.createElement(_reactNative.Image,{source:require('../../../assets/img/logo.png'),style:{width:80,height:80,alignSelf:'center'},__self:this,__source:{fileName:_jsxFileName,lineNumber:107,columnNumber:15}}),_react.default.createElement(_reactNative.Image,{source:require('../../../assets/img/slogan.png'),style:{width:'60%',height:150,marginTop:24,alignSelf:'center',resizeMode:'contain'},__self:this,__source:{fileName:_jsxFileName,lineNumber:111,columnNumber:15}}),_react.default.createElement(_MText.MText,{style:[_CommonStyles.commonStyles.textNormalBold,{fontSize:18,marginTop:16,color:_theme.color.primary,textAlign:'center'}],__self:this,__source:{fileName:_jsxFileName,lineNumber:121,columnNumber:15}},"Vay nhanh & d\u1EC5 d\xE0ng h\u01A1n v\u1EDBi Tima"),_react.default.createElement(_reactNative.View,{style:{alignSelf:'center',marginTop:16},__self:this,__source:{fileName:_jsxFileName,lineNumber:134,columnNumber:15}},_react.default.createElement(_reactNative.View,{style:[_CommonStyles.commonStyles.row,_CommonStyles.commonStyles.alignCenter,{marginTop:8}],__self:this,__source:{fileName:_jsxFileName,lineNumber:135,columnNumber:17}},_react.default.createElement(_icons.IconHand,{width:10,height:9,style:{transform:[{scale:1.5}]},__self:this,__source:{fileName:_jsxFileName,lineNumber:142,columnNumber:19}}),_react.default.createElement(_MText.MText,{style:[_CommonStyles.commonStyles.textNormal,{paddingLeft:8,color:_theme.color.primary,textAlign:'center'}],__self:this,__source:{fileName:_jsxFileName,lineNumber:147,columnNumber:19}},"Ch\u1EC9 m\u1EA5t 3 ph\xFAt \u0111\u0103ng k\xFD")),_react.default.createElement(_reactNative.View,{style:[_CommonStyles.commonStyles.row,_CommonStyles.commonStyles.alignCenter,{marginTop:8}],__self:this,__source:{fileName:_jsxFileName,lineNumber:160,columnNumber:17}},_react.default.createElement(_icons.IconHand,{width:10,height:9,style:{transform:[{scale:1.5}]},__self:this,__source:{fileName:_jsxFileName,lineNumber:167,columnNumber:19}}),_react.default.createElement(_MText.MText,{style:[_CommonStyles.commonStyles.textNormal,{paddingLeft:8,color:_theme.color.primary,textAlign:'center'}],__self:this,__source:{fileName:_jsxFileName,lineNumber:172,columnNumber:19}},"Th\xF4ng tin chi ti\u1EBFt & l\xE3i su\u1EA5t minh b\u1EA1ch")),_react.default.createElement(_reactNative.View,{style:[_CommonStyles.commonStyles.row,_CommonStyles.commonStyles.alignCenter,{marginTop:8}],__self:this,__source:{fileName:_jsxFileName,lineNumber:185,columnNumber:17}},_react.default.createElement(_icons.IconHand,{width:10,height:9,style:{transform:[{scale:1.5}]},__self:this,__source:{fileName:_jsxFileName,lineNumber:192,columnNumber:19}}),_react.default.createElement(_MText.MText,{style:[_CommonStyles.commonStyles.textNormal,{paddingLeft:8,color:_theme.color.primary,textAlign:'center'}],__self:this,__source:{fileName:_jsxFileName,lineNumber:197,columnNumber:19}},"Nh\u1EADt k\u1EBFt qu\u1EA3 h\u1ED3 s\u01A1 nhanh ch\xF3ng")))))),_react.default.createElement(_reactNative.View,{style:[_CommonStyles.commonStyles.row,_CommonStyles.commonStyles.alignCenter,{marginBottom:24,marginTop:16,alignSelf:'center'}],__self:this,__source:{fileName:_jsxFileName,lineNumber:214,columnNumber:9}},_react.default.createElement(_reactNative.View,{style:{backgroundColor:index===0?_theme.color.primary:_theme.color.textHint,width:12,height:12,borderRadius:6},__self:this,__source:{fileName:_jsxFileName,lineNumber:221,columnNumber:11}}),_react.default.createElement(_reactNative.View,{style:{backgroundColor:index===1?_theme.color.primary:_theme.color.textHint,width:12,height:12,borderRadius:6,marginLeft:16},__self:this,__source:{fileName:_jsxFileName,lineNumber:229,columnNumber:11}})),_react.default.createElement(_MButton.default,{onPress:function onPress(){if(index==0){pagerView.current.setPage(1);setIndex(1);}else{skip();}},style:[_CommonStyles.commonStyles.justifyCenter,_CommonStyles.commonStyles.alignCenter,{backgroundColor:_theme.color.primary,width:'50%',height:48,borderRadius:24,alignSelf:'center'}],__self:this,__source:{fileName:_jsxFileName,lineNumber:239,columnNumber:9}},_react.default.createElement(_MText.MText,{style:[_CommonStyles.commonStyles.textNormalBold,{fontSize:16,color:'white'}],__self:this,__source:{fileName:_jsxFileName,lineNumber:260,columnNumber:11}},"Ti\u1EBFp theo")),_react.default.createElement(_MButton.default,{onPress:skip,style:[_CommonStyles.commonStyles.justifyCenter,_CommonStyles.commonStyles.alignCenter,{width:'60%',height:48,alignSelf:'center',marginTop:16,marginBottom:24}],__self:this,__source:{fileName:_jsxFileName,lineNumber:269,columnNumber:9}},_react.default.createElement(_MText.MText,{style:[_CommonStyles.commonStyles.textNormal,{fontSize:16,color:_theme.color.primary,textDecorationLine:'underline'}],__self:this,__source:{fileName:_jsxFileName,lineNumber:283,columnNumber:11}},"B\u1ECF qua")),_react.default.createElement(_keyboardspace.default,{__self:this,__source:{fileName:_jsxFileName,lineNumber:296,columnNumber:9}})));});
2
- //# sourceMappingURL=index.js.map
@@ -1,300 +0,0 @@
1
- //@ts-nocheck
2
- import React, { useState, Fragment, useRef } from 'react';
3
- import {
4
- ActivityIndicator,
5
- Alert,
6
- Dimensions,
7
- Image,
8
- ImageStyle,
9
- Platform,
10
- SafeAreaView,
11
- ScrollView,
12
- TextStyle,
13
- View,
14
- ViewStyle,
15
- } from 'react-native';
16
- import { CommonActions, useNavigation } from '@react-navigation/native';
17
- import { observer } from 'mobx-react-lite';
18
- import { commonStyles } from '../CommonStyles';
19
- import KeyboardSpacer from '../../components/keyboardspace';
20
- import * as yup from 'yup';
21
- import { Formik } from 'formik';
22
- import MButton from '../../components/MButton';
23
- import { color } from '../../theme';
24
- import registerStore from './Store';
25
- import { MText, MTextInput } from '../../components/MText';
26
- import { formatMoney, getMoney } from '../../utils';
27
- import moment from 'moment';
28
- import { IconHand, IconSelect, IconSelected } from '../../assets/icons';
29
- import Slider from '@react-native-community/slider';
30
- import { ScreenNames } from '../../navigation';
31
- import { LogoTima } from '../../components/logoTima';
32
- import PagerView from 'react-native-pager-view';
33
- import { myLog } from '../../utils/log';
34
- import { INTRO, save } from '../../utils/storage';
35
- export const Intro = observer(function Intro() {
36
- const navigation = useNavigation();
37
- const [index, setIndex] = useState(0);
38
- const pagerView = useRef(null);
39
-
40
- const skip = () => {
41
- save(INTRO, 'true');
42
- navigation.dispatch(
43
- CommonActions.reset({
44
- index: 1,
45
- routes: [{ name: ScreenNames.Register }],
46
- })
47
- );
48
- };
49
-
50
- return (
51
- <View style={[commonStyles.fill, commonStyles.backgroundWhite]}>
52
- <SafeAreaView style={commonStyles.fill}>
53
- <PagerView
54
- ref={pagerView}
55
- style={{ flex: 1 }}
56
- initialPage={index}
57
- onPageSelected={(event) => {
58
- myLog(event.nativeEvent);
59
- setIndex(event.nativeEvent.position);
60
- }}
61
- >
62
- <View key="1">
63
- <View style={commonStyles.fill}>
64
- <Image
65
- source={require('../../../assets/img/logo.png')}
66
- style={{ width: 80, height: 80, alignSelf: 'center' }}
67
- />
68
- <Image
69
- source={require('../../../assets/img/sao_khue.png')}
70
- style={{
71
- width: 80,
72
- height: 150,
73
- marginTop: 24,
74
- alignSelf: 'center',
75
- resizeMode: 'contain',
76
- }}
77
- />
78
- <MText
79
- style={[
80
- commonStyles.textNormalBold,
81
- {
82
- fontSize: 18,
83
- marginTop: 16,
84
- color: color.primary,
85
- textAlign: 'center',
86
- },
87
- ]}
88
- >
89
- Top 10 Sao Khuê 2018
90
- </MText>
91
- <MText
92
- style={[
93
- commonStyles.textNormal,
94
- {
95
- fontSize: 14,
96
- lineHeight: 24,
97
- marginTop: 8,
98
- textAlign: 'center',
99
- paddingHorizontal: 36,
100
- },
101
- ]}
102
- >{`Tại lễ công bố và trao danh hiệu Sao Khuê 2018, sản phẩm Sàn kết nối Tài chính Tima của Công ty cổ phần Tập đoàn Tima đã lọt vào Top 10 các sản phẩm, dịch vụ xuất sắc trong tổng số 73 sản phẩm, dịch vụ CNTT được trao giải.`}</MText>
103
- </View>
104
- </View>
105
- <View key="2">
106
- <View style={commonStyles.fill}>
107
- <Image
108
- source={require('../../../assets/img/logo.png')}
109
- style={{ width: 80, height: 80, alignSelf: 'center' }}
110
- />
111
- <Image
112
- source={require('../../../assets/img/slogan.png')}
113
- style={{
114
- width: '60%',
115
- height: 150,
116
- marginTop: 24,
117
- alignSelf: 'center',
118
- resizeMode: 'contain',
119
- }}
120
- />
121
- <MText
122
- style={[
123
- commonStyles.textNormalBold,
124
- {
125
- fontSize: 18,
126
- marginTop: 16,
127
- color: color.primary,
128
- textAlign: 'center',
129
- },
130
- ]}
131
- >
132
- Vay nhanh & dễ dàng hơn với Tima
133
- </MText>
134
- <View style={{ alignSelf: 'center', marginTop: 16 }}>
135
- <View
136
- style={[
137
- commonStyles.row,
138
- commonStyles.alignCenter,
139
- { marginTop: 8 },
140
- ]}
141
- >
142
- <IconHand
143
- width={10}
144
- height={9}
145
- style={{ transform: [{ scale: 1.5 }] }}
146
- />
147
- <MText
148
- style={[
149
- commonStyles.textNormal,
150
- {
151
- paddingLeft: 8,
152
- color: color.primary,
153
- textAlign: 'center',
154
- },
155
- ]}
156
- >
157
- Chỉ mất 3 phút đăng ký
158
- </MText>
159
- </View>
160
- <View
161
- style={[
162
- commonStyles.row,
163
- commonStyles.alignCenter,
164
- { marginTop: 8 },
165
- ]}
166
- >
167
- <IconHand
168
- width={10}
169
- height={9}
170
- style={{ transform: [{ scale: 1.5 }] }}
171
- />
172
- <MText
173
- style={[
174
- commonStyles.textNormal,
175
- {
176
- paddingLeft: 8,
177
- color: color.primary,
178
- textAlign: 'center',
179
- },
180
- ]}
181
- >
182
- Thông tin chi tiết & lãi suất minh bạch
183
- </MText>
184
- </View>
185
- <View
186
- style={[
187
- commonStyles.row,
188
- commonStyles.alignCenter,
189
- { marginTop: 8 },
190
- ]}
191
- >
192
- <IconHand
193
- width={10}
194
- height={9}
195
- style={{ transform: [{ scale: 1.5 }] }}
196
- />
197
- <MText
198
- style={[
199
- commonStyles.textNormal,
200
- {
201
- paddingLeft: 8,
202
- color: color.primary,
203
- textAlign: 'center',
204
- },
205
- ]}
206
- >
207
- Nhật kết quả hồ sơ nhanh chóng
208
- </MText>
209
- </View>
210
- </View>
211
- </View>
212
- </View>
213
- </PagerView>
214
- <View
215
- style={[
216
- commonStyles.row,
217
- commonStyles.alignCenter,
218
- { marginBottom: 24, marginTop: 16, alignSelf: 'center' },
219
- ]}
220
- >
221
- <View
222
- style={{
223
- backgroundColor: index === 0 ? color.primary : color.textHint,
224
- width: 12,
225
- height: 12,
226
- borderRadius: 6,
227
- }}
228
- />
229
- <View
230
- style={{
231
- backgroundColor: index === 1 ? color.primary : color.textHint,
232
- width: 12,
233
- height: 12,
234
- borderRadius: 6,
235
- marginLeft: 16,
236
- }}
237
- />
238
- </View>
239
- <MButton
240
- onPress={() => {
241
- if (index == 0) {
242
- pagerView.current.setPage(1);
243
- setIndex(1);
244
- } else {
245
- skip();
246
- }
247
- }}
248
- style={[
249
- commonStyles.justifyCenter,
250
- commonStyles.alignCenter,
251
- {
252
- backgroundColor: color.primary,
253
- width: '50%',
254
- height: 48,
255
- borderRadius: 24,
256
- alignSelf: 'center',
257
- },
258
- ]}
259
- >
260
- <MText
261
- style={[
262
- commonStyles.textNormalBold,
263
- { fontSize: 16, color: 'white' },
264
- ]}
265
- >
266
- Tiếp theo
267
- </MText>
268
- </MButton>
269
- <MButton
270
- onPress={skip}
271
- style={[
272
- commonStyles.justifyCenter,
273
- commonStyles.alignCenter,
274
- {
275
- width: '60%',
276
- height: 48,
277
- alignSelf: 'center',
278
- marginTop: 16,
279
- marginBottom: 24,
280
- },
281
- ]}
282
- >
283
- <MText
284
- style={[
285
- commonStyles.textNormal,
286
- {
287
- fontSize: 16,
288
- color: color.primary,
289
- textDecorationLine: 'underline',
290
- },
291
- ]}
292
- >
293
- Bỏ qua
294
- </MText>
295
- </MButton>
296
- <KeyboardSpacer />
297
- </SafeAreaView>
298
- </View>
299
- );
300
- });