Commit 85ec6e8d by Giang Tran

Merge branch 'thuynt_change_bank_view' into '08_April'

fix bug bank dialog

See merge request !3
parents 7e120a1c 966d0e67
...@@ -35,12 +35,12 @@ android_library( ...@@ -35,12 +35,12 @@ android_library(
android_build_config( android_build_config(
name = "build_config", name = "build_config",
package = "com.invest", package = "com.dcv.invest",
) )
android_resource( android_resource(
name = "res", name = "res",
package = "com.invest", package = "com.dcv.invest",
res = "src/main/res", res = "src/main/res",
) )
......
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.invest"> package="com.dcv.invest">
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA"/> <uses-permission android:name="android.permission.CAMERA"/>
......
package com.invest; package com.dcv.invest;
import android.os.Bundle; import android.os.Bundle;
import com.facebook.react.ReactActivity; import com.facebook.react.ReactActivity;
import com.zoontek.rnbootsplash.RNBootSplash; import com.zoontek.rnbootsplash.RNBootSplash;
......
package com.invest; package com.dcv.invest;
import android.app.Application; import android.app.Application;
import android.content.Context; import android.content.Context;
import com.facebook.react.PackageList; import com.facebook.react.PackageList;
import com.facebook.react.ReactApplication; import com.facebook.react.ReactApplication;
import com.reactnativecommunity.netinfo.NetInfoPackage; import com.reactnativecommunity.netinfo.NetInfoPackage;
import com.zoontek.rnbootsplash.RNBootSplashPackage;
import com.zoontek.rnbootsplash.RNBootSplashPackage;
import com.BV.LinearGradient.LinearGradientPackage;
import com.oblador.vectoricons.VectorIconsPackage;
import com.oblador.vectoricons.VectorIconsPackage;
import com.facebook.react.ReactInstanceManager; import com.facebook.react.ReactInstanceManager;
import com.facebook.react.ReactNativeHost; import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage; import com.facebook.react.ReactPackage;
import com.facebook.soloader.SoLoader; import com.facebook.soloader.SoLoader;
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
import java.util.List; import java.util.List;
import com.facebook.react.ReactApplication; //<- Dòng này
import com.zoontek.rnbootsplash.RNBootSplashPackage;
public class MainApplication extends Application implements ReactApplication { public class MainApplication extends Application implements ReactApplication {
...@@ -72,7 +66,7 @@ public class MainApplication extends Application implements ReactApplication { ...@@ -72,7 +66,7 @@ public class MainApplication extends Application implements ReactApplication {
We use reflection here to pick up the class that initializes Flipper, We use reflection here to pick up the class that initializes Flipper,
since Flipper library is not available in release mode since Flipper library is not available in release mode
*/ */
Class<?> aClass = Class.forName("com.invest.ReactNativeFlipper"); Class<?> aClass = Class.forName("com.dcv.invest.ReactNativeFlipper");
aClass aClass
.getMethod("initializeFlipper", Context.class, ReactInstanceManager.class) .getMethod("initializeFlipper", Context.class, ReactInstanceManager.class)
.invoke(null, context, reactInstanceManager); .invoke(null, context, reactInstanceManager);
......
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
<key>NSCameraUsageDescription</key> <key>NSCameraUsageDescription</key>
<string>Accect connect camera</string> <string>Accect connect camera</string>
<key>NSLocationWhenInUseUsageDescription</key> <key>NSLocationWhenInUseUsageDescription</key>
<string></string> <string/>
<key>NSPhotoLibraryUsageDescription</key> <key>NSPhotoLibraryUsageDescription</key>
<string>To upload images</string> <string>To upload images</string>
<key>UIAppFonts</key> <key>UIAppFonts</key>
......
import React, {useState, useEffect} from 'react'; import React, {useState,useEffect} from 'react';
import { import {
Text, Text,
View, View,
...@@ -8,8 +8,6 @@ import { ...@@ -8,8 +8,6 @@ import {
StyleSheet, StyleSheet,
TextInput, TextInput,
ActivityIndicator, ActivityIndicator,
SafeAreaView,
StatusBar,
} from 'react-native'; } from 'react-native';
import _ from 'lodash'; import _ from 'lodash';
import AntDesign from 'react-native-vector-icons/AntDesign'; import AntDesign from 'react-native-vector-icons/AntDesign';
...@@ -23,16 +21,17 @@ import { ...@@ -23,16 +21,17 @@ import {
} from '../../Config/Functions'; } from '../../Config/Functions';
import I18n from '../../helper/i18/i18n'; import I18n from '../../helper/i18/i18n';
import ItemBank from './ItemBank'; import ItemBank from './ItemBank';
import {SafeAreaView} from 'react-native-safe-area-context';
const SelectBankModal = (props) => { const SelectBankModal = (props) => {
console.log(props); console.log(props)
const [modalVisible, setModalVisible] = useState(false); const [modalVisible, setModalVisible] = useState(false);
const [valueSearch, setValueSearch] = useState(''); const [valueSearch, setValueSearch] = useState('');
const [result, setResult] = useState(props.data); const [result, setResult] = useState(props.data);
const [keySearch, setKeySearch] = useState(''); const [keySearch, setKeySearch] = useState('');
useEffect(() => { useEffect(()=>{
setResult(props.data); setResult(props.data)
}, [props.data]); },[props.data])
const localFilter = (data, allowFields = [], search_text) => { const localFilter = (data, allowFields = [], search_text) => {
if (!data) return []; if (!data) return [];
if (!search_text || search_text === '') return data; if (!search_text || search_text === '') return data;
...@@ -60,12 +59,15 @@ const SelectBankModal = (props) => { ...@@ -60,12 +59,15 @@ const SelectBankModal = (props) => {
}; };
const _onSearch = async (keySearch) => { const _onSearch = async (keySearch) => {
const data = props.data const data = props.data
? localFilter(props.data, ['code', 'name'], keySearch).map((x) => ({ ? localFilter(props.data, ['code', 'name'], keySearch)
.map(
(x) => ({
id: x.id, id: x.id,
code: x.code, code: x.code,
name: x.name, name: x.name,
logo: x.logo, logo: x.logo,
})) })
)
: []; : [];
// remove duplicate // remove duplicate
...@@ -77,8 +79,8 @@ const SelectBankModal = (props) => { ...@@ -77,8 +79,8 @@ const SelectBankModal = (props) => {
setResult(result); setResult(result);
}; };
const _onPressItem = (item) => { const _onPressItem = (item) => {
console.log('_onPressItem', item); console.log('_onPressItem', item)
props.onPressItem(item); props.onPressItem(item)
setValueSearch(item ? item.name : ''); setValueSearch(item ? item.name : '');
setModalVisible(false); setModalVisible(false);
}; };
...@@ -129,11 +131,13 @@ const SelectBankModal = (props) => { ...@@ -129,11 +131,13 @@ const SelectBankModal = (props) => {
</View> </View>
</View> </View>
</TouchableOpacity> </TouchableOpacity>
<Modal <Modal
animated={true} animated={true}
animationType="fade" animationType="fade"
visible={modalVisible} visible={modalVisible}
presentationStyle="pageSheet"> >
<SafeAreaView>
<View style={styles.overViewModal}> <View style={styles.overViewModal}>
<View style={[styles.container]}> <View style={[styles.container]}>
<View style={styles.viewTitle}> <View style={styles.viewTitle}>
...@@ -176,18 +180,21 @@ const SelectBankModal = (props) => { ...@@ -176,18 +180,21 @@ const SelectBankModal = (props) => {
renderItem={({item, index}) => ( renderItem={({item, index}) => (
<ItemBank <ItemBank
item={item} item={item}
isEndItem={index == result.length - 1} isEndItem = {index == result.length - 1}
onPress={(item) => _onPressItem(item)} onPress={(item) => _onPressItem(item)}
/> />
)} )}
/> />
</View> </View>
) : ( ) : (
<Text style={styles.txtEmpty}>{I18n.t('NullDataSearch')}</Text> <Text style={styles.txtEmpty}>
{I18n.t('NullDataSearch')}
</Text>
)} )}
</View> </View>
</View> </View>
</View> </View>
</SafeAreaView>
</Modal> </Modal>
</View> </View>
); );
...@@ -209,14 +216,14 @@ const styles = StyleSheet.create({ ...@@ -209,14 +216,14 @@ const styles = StyleSheet.create({
viewTitle: { viewTitle: {
width: getWidth(), width: getWidth(),
height: HEIGHTXD(85), height: HEIGHTXD(85),
marginTop: WIDTHXD(90), marginTop: WIDTHXD(30),
flexDirection: 'row', flexDirection: 'row',
justifyContent: 'center', justifyContent: 'center',
position: 'relative', position: 'relative',
}, },
txtTitle: { txtTitle: {
marginRight: WIDTHXD(24), marginRight: WIDTHXD(24),
color: R.colors.black0, color: R.colors.black,
fontSize: getFontXD(42), fontSize: getFontXD(42),
}, },
viewContent: { viewContent: {
...@@ -235,7 +242,7 @@ const styles = StyleSheet.create({ ...@@ -235,7 +242,7 @@ const styles = StyleSheet.create({
}, },
flatlist: { flatlist: {
width: getWidth(), width: getWidth(),
marginBottom: HEIGHTXD(250), marginBottom: HEIGHTXD(300)
}, },
input: { input: {
height: WIDTHXD(99), height: WIDTHXD(99),
...@@ -281,14 +288,12 @@ const styles = StyleSheet.create({ ...@@ -281,14 +288,12 @@ const styles = StyleSheet.create({
flexDirection: 'row', flexDirection: 'row',
justifyContent: 'space-between', justifyContent: 'space-between',
alignItems: 'center', alignItems: 'center',
paddingHorizontal: WIDTHXD(24), paddingHorizontal: WIDTHXD(5),
}, },
overViewModal: { overViewModal: {
height: '100%',
justifyContent: 'center', justifyContent: 'center',
alignItems: 'center', alignItems: 'center',
backgroundColor: '#rgba(0,0,0,0.7)', backgroundColor: '#rgba(0,0,0,0.7)',
margin: 0,
}, },
btClose: { btClose: {
alignSelf: 'center', alignSelf: 'center',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment