Commit 6bfd7025 by Giang Tran

screen payment

parent 34afef31
...@@ -6,6 +6,7 @@ import rootReducer from './src/Reducers/index'; ...@@ -6,6 +6,7 @@ import rootReducer from './src/Reducers/index';
import RootView from './src/RootView'; import RootView from './src/RootView';
import createSagaMiddleware from 'redux-saga'; import createSagaMiddleware from 'redux-saga';
import rootSaga from './src/Saga/rootSaga'; import rootSaga from './src/Saga/rootSaga';
import {SafeAreaProvider} from 'react-native-safe-area-context';
const sagaMiddleware = createSagaMiddleware(); const sagaMiddleware = createSagaMiddleware();
...@@ -13,9 +14,11 @@ let store = createStore(rootReducer, applyMiddleware(sagaMiddleware)); ...@@ -13,9 +14,11 @@ let store = createStore(rootReducer, applyMiddleware(sagaMiddleware));
sagaMiddleware.run(rootSaga); sagaMiddleware.run(rootSaga);
const App = () => { const App = () => {
return ( return (
<SafeAreaProvider>
<Provider store={store}> <Provider store={store}>
<RootView /> <RootView />
</Provider> </Provider>
</SafeAreaProvider>
); );
}; };
......
...@@ -11,8 +11,9 @@ ...@@ -11,8 +11,9 @@
android:icon="@mipmap/ic_launcher" android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round" android:roundIcon="@mipmap/ic_launcher_round"
android:allowBackup="false" android:allowBackup="false"
android:theme="@style/AppTheme"
android:usesCleartextTraffic="true" android:usesCleartextTraffic="true"
android:theme="@style/AppTheme"> >
<activity <activity
android:name=".MainActivity" android:name=".MainActivity"
android:label="@string/app_name" android:label="@string/app_name"
......
...@@ -60,10 +60,10 @@ ...@@ -60,10 +60,10 @@
00E356EE1AD99517003FC87E /* InvestTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = InvestTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 00E356EE1AD99517003FC87E /* InvestTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = InvestTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
00E356F21AD99517003FC87E /* InvestTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = InvestTests.m; sourceTree = "<group>"; }; 00E356F21AD99517003FC87E /* InvestTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = InvestTests.m; sourceTree = "<group>"; };
06A69E05F2264332A355F4BE /* EvilIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = EvilIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/EvilIcons.ttf"; sourceTree = "<group>"; }; 06A69E05F2264332A355F4BE /* EvilIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = EvilIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/EvilIcons.ttf"; sourceTree = "<group>"; };
09AE2D5BF5DA4DBA8E069CC6 /* Entypo.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = Entypo.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Entypo.ttf"; sourceTree = "<group>"; }; 09AE2D5BF5DA4DBA8E069CC6 /* Entypo.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Entypo.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Entypo.ttf"; sourceTree = "<group>"; };
0FF9EF20DDCF411D9E62EB29 /* AntDesign.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = AntDesign.ttf; path = "../node_modules/react-native-vector-icons/Fonts/AntDesign.ttf"; sourceTree = "<group>"; }; 0FF9EF20DDCF411D9E62EB29 /* AntDesign.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = AntDesign.ttf; path = "../node_modules/react-native-vector-icons/Fonts/AntDesign.ttf"; sourceTree = "<group>"; };
1207B388070649EA8D5E8E53 /* Feather.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = Feather.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Feather.ttf"; sourceTree = "<group>"; }; 1207B388070649EA8D5E8E53 /* Feather.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Feather.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Feather.ttf"; sourceTree = "<group>"; };
12715EC58B6699B513B54F09 /* Pods-Invest.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Invest.debug.xcconfig"; path = "Target Support Files/Pods-Invest/Pods-Invest.debug.xcconfig"; sourceTree = "<group>"; }; 12715EC58B6699B513B54F09 /* Pods-Invest.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Invest.debug.xcconfig"; path = "Target Support Files/Pods-Invest/Pods-Invest.debug.xcconfig"; sourceTree = "<group>"; };
13B07F961A680F5B00A75B9A /* Invest.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Invest.app; sourceTree = BUILT_PRODUCTS_DIR; }; 13B07F961A680F5B00A75B9A /* Invest.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Invest.app; sourceTree = BUILT_PRODUCTS_DIR; };
13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = Invest/AppDelegate.h; sourceTree = "<group>"; }; 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = Invest/AppDelegate.h; sourceTree = "<group>"; };
...@@ -72,33 +72,33 @@ ...@@ -72,33 +72,33 @@
13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = Invest/Images.xcassets; sourceTree = "<group>"; }; 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = Invest/Images.xcassets; sourceTree = "<group>"; };
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = Invest/Info.plist; sourceTree = "<group>"; }; 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = Invest/Info.plist; sourceTree = "<group>"; };
13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = Invest/main.m; sourceTree = "<group>"; }; 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = Invest/main.m; sourceTree = "<group>"; };
15F173A09F964936AB96AFDD /* FontAwesome5_Regular.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = FontAwesome5_Regular.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Regular.ttf"; sourceTree = "<group>"; }; 15F173A09F964936AB96AFDD /* FontAwesome5_Regular.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = FontAwesome5_Regular.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Regular.ttf"; sourceTree = "<group>"; };
1F75FF950F9B4C8AB6A8ECAD /* Octicons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = Octicons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Octicons.ttf"; sourceTree = "<group>"; }; 1F75FF950F9B4C8AB6A8ECAD /* Octicons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Octicons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Octicons.ttf"; sourceTree = "<group>"; };
28AA130FAC7E15FE21302370 /* Pods-Invest-tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Invest-tvOS.debug.xcconfig"; path = "Target Support Files/Pods-Invest-tvOS/Pods-Invest-tvOS.debug.xcconfig"; sourceTree = "<group>"; }; 28AA130FAC7E15FE21302370 /* Pods-Invest-tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Invest-tvOS.debug.xcconfig"; path = "Target Support Files/Pods-Invest-tvOS/Pods-Invest-tvOS.debug.xcconfig"; sourceTree = "<group>"; };
2D02E47B1E0B4A5D006451C7 /* Invest-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Invest-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 2D02E47B1E0B4A5D006451C7 /* Invest-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Invest-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
2D02E4901E0B4A5D006451C7 /* Invest-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Invest-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; 2D02E4901E0B4A5D006451C7 /* Invest-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Invest-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
3243599BDBAB43A18CE82BA0 /* Fontisto.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = Fontisto.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Fontisto.ttf"; sourceTree = "<group>"; }; 3243599BDBAB43A18CE82BA0 /* Fontisto.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Fontisto.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Fontisto.ttf"; sourceTree = "<group>"; };
3D21415C579545A6906C6B62 /* MaterialCommunityIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = MaterialCommunityIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf"; sourceTree = "<group>"; }; 3D21415C579545A6906C6B62 /* MaterialCommunityIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = MaterialCommunityIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf"; sourceTree = "<group>"; };
4ECD31835B4784D2DC719E76 /* libPods-Invest-tvOSTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Invest-tvOSTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 4ECD31835B4784D2DC719E76 /* libPods-Invest-tvOSTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Invest-tvOSTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
5F96EA7789D1E36A43479651 /* libPods-Invest.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Invest.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 5F96EA7789D1E36A43479651 /* libPods-Invest.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Invest.a"; sourceTree = BUILT_PRODUCTS_DIR; };
72B39130AB01DE9359CED049 /* Pods-Invest-InvestTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Invest-InvestTests.release.xcconfig"; path = "Target Support Files/Pods-Invest-InvestTests/Pods-Invest-InvestTests.release.xcconfig"; sourceTree = "<group>"; }; 72B39130AB01DE9359CED049 /* Pods-Invest-InvestTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Invest-InvestTests.release.xcconfig"; path = "Target Support Files/Pods-Invest-InvestTests/Pods-Invest-InvestTests.release.xcconfig"; sourceTree = "<group>"; };
762EB148EB19491EAFC4A90E /* FontAwesome.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = FontAwesome.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome.ttf"; sourceTree = "<group>"; }; 762EB148EB19491EAFC4A90E /* FontAwesome.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = FontAwesome.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome.ttf"; sourceTree = "<group>"; };
7A8D76C2B302272AF1BB9AE1 /* Pods-Invest-InvestTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Invest-InvestTests.debug.xcconfig"; path = "Target Support Files/Pods-Invest-InvestTests/Pods-Invest-InvestTests.debug.xcconfig"; sourceTree = "<group>"; }; 7A8D76C2B302272AF1BB9AE1 /* Pods-Invest-InvestTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Invest-InvestTests.debug.xcconfig"; path = "Target Support Files/Pods-Invest-InvestTests/Pods-Invest-InvestTests.debug.xcconfig"; sourceTree = "<group>"; };
861C2DD486E715FAD030473E /* Pods-Invest-tvOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Invest-tvOSTests.debug.xcconfig"; path = "Target Support Files/Pods-Invest-tvOSTests/Pods-Invest-tvOSTests.debug.xcconfig"; sourceTree = "<group>"; }; 861C2DD486E715FAD030473E /* Pods-Invest-tvOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Invest-tvOSTests.debug.xcconfig"; path = "Target Support Files/Pods-Invest-tvOSTests/Pods-Invest-tvOSTests.debug.xcconfig"; sourceTree = "<group>"; };
90BA5AE1249446BFA1A23D9C /* FontAwesome5_Brands.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = FontAwesome5_Brands.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Brands.ttf"; sourceTree = "<group>"; }; 90BA5AE1249446BFA1A23D9C /* FontAwesome5_Brands.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = FontAwesome5_Brands.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Brands.ttf"; sourceTree = "<group>"; };
9A0F40FD1F05CB7BEC32C9E7 /* Pods-Invest.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Invest.release.xcconfig"; path = "Target Support Files/Pods-Invest/Pods-Invest.release.xcconfig"; sourceTree = "<group>"; }; 9A0F40FD1F05CB7BEC32C9E7 /* Pods-Invest.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Invest.release.xcconfig"; path = "Target Support Files/Pods-Invest/Pods-Invest.release.xcconfig"; sourceTree = "<group>"; };
9FB29EE412832B22BEC735C1 /* Pods-Invest-tvOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Invest-tvOSTests.release.xcconfig"; path = "Target Support Files/Pods-Invest-tvOSTests/Pods-Invest-tvOSTests.release.xcconfig"; sourceTree = "<group>"; }; 9FB29EE412832B22BEC735C1 /* Pods-Invest-tvOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Invest-tvOSTests.release.xcconfig"; path = "Target Support Files/Pods-Invest-tvOSTests/Pods-Invest-tvOSTests.release.xcconfig"; sourceTree = "<group>"; };
A6BB8EF021B44C7CBFDA96B6 /* FontAwesome5_Solid.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = FontAwesome5_Solid.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Solid.ttf"; sourceTree = "<group>"; }; A6BB8EF021B44C7CBFDA96B6 /* FontAwesome5_Solid.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = FontAwesome5_Solid.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Solid.ttf"; sourceTree = "<group>"; };
ABCEBFE5646F1EF68E7C87AB /* libPods-Invest-InvestTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Invest-InvestTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; ABCEBFE5646F1EF68E7C87AB /* libPods-Invest-InvestTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Invest-InvestTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
BE69F91CCD98E5B7CDD63526 /* Pods-Invest-tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Invest-tvOS.release.xcconfig"; path = "Target Support Files/Pods-Invest-tvOS/Pods-Invest-tvOS.release.xcconfig"; sourceTree = "<group>"; }; BE69F91CCD98E5B7CDD63526 /* Pods-Invest-tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Invest-tvOS.release.xcconfig"; path = "Target Support Files/Pods-Invest-tvOS/Pods-Invest-tvOS.release.xcconfig"; sourceTree = "<group>"; };
BEA90D2BF5C04242A874FAB6 /* MaterialIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = MaterialIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/MaterialIcons.ttf"; sourceTree = "<group>"; }; BEA90D2BF5C04242A874FAB6 /* MaterialIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = MaterialIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/MaterialIcons.ttf"; sourceTree = "<group>"; };
C0727D77229B4BDB8FFCBD65 /* SimpleLineIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = SimpleLineIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/SimpleLineIcons.ttf"; sourceTree = "<group>"; }; C0727D77229B4BDB8FFCBD65 /* SimpleLineIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = SimpleLineIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/SimpleLineIcons.ttf"; sourceTree = "<group>"; };
CF34849004FE4761A7E7C948 /* Foundation.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = Foundation.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Foundation.ttf"; sourceTree = "<group>"; }; CF34849004FE4761A7E7C948 /* Foundation.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Foundation.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Foundation.ttf"; sourceTree = "<group>"; };
E872AECD387F455590CC1539 /* Ionicons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = Ionicons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Ionicons.ttf"; sourceTree = "<group>"; }; E872AECD387F455590CC1539 /* Ionicons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Ionicons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Ionicons.ttf"; sourceTree = "<group>"; };
ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
ED2971642150620600B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS12.0.sdk/System/Library/Frameworks/JavaScriptCore.framework; sourceTree = DEVELOPER_DIR; }; ED2971642150620600B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS12.0.sdk/System/Library/Frameworks/JavaScriptCore.framework; sourceTree = DEVELOPER_DIR; };
FC653233E0AC368FCB03B57C /* libPods-Invest-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Invest-tvOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; FC653233E0AC368FCB03B57C /* libPods-Invest-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Invest-tvOS.a"; sourceTree = BUILT_PRODUCTS_DIR; };
FCF39514129C4FD0BF839CDD /* Zocial.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = Zocial.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Zocial.ttf"; sourceTree = "<group>"; }; FCF39514129C4FD0BF839CDD /* Zocial.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Zocial.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Zocial.ttf"; sourceTree = "<group>"; };
/* End PBXFileReference section */ /* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */ /* Begin PBXFrameworksBuildPhase section */
...@@ -180,7 +180,6 @@ ...@@ -180,7 +180,6 @@
861C2DD486E715FAD030473E /* Pods-Invest-tvOSTests.debug.xcconfig */, 861C2DD486E715FAD030473E /* Pods-Invest-tvOSTests.debug.xcconfig */,
9FB29EE412832B22BEC735C1 /* Pods-Invest-tvOSTests.release.xcconfig */, 9FB29EE412832B22BEC735C1 /* Pods-Invest-tvOSTests.release.xcconfig */,
); );
name = Pods;
path = Pods; path = Pods;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
...@@ -218,7 +217,6 @@ ...@@ -218,7 +217,6 @@
FCF39514129C4FD0BF839CDD /* Zocial.ttf */, FCF39514129C4FD0BF839CDD /* Zocial.ttf */,
); );
name = Resources; name = Resources;
path = "";
sourceTree = "<group>"; sourceTree = "<group>";
}; };
832341AE1AAA6A7D00B99B32 /* Libraries */ = { 832341AE1AAA6A7D00B99B32 /* Libraries */ = {
...@@ -292,7 +290,6 @@ ...@@ -292,7 +290,6 @@
00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
D10F3A5D59847BD5B121672E /* [CP] Embed Pods Frameworks */, D10F3A5D59847BD5B121672E /* [CP] Embed Pods Frameworks */,
6CC873A1E6FA7C328D7B37A9 /* ShellScript */, 6CC873A1E6FA7C328D7B37A9 /* ShellScript */,
4324640B70CAE4CFDFE62104 /* [CP] Copy Pods Resources */,
); );
buildRules = ( buildRules = (
); );
...@@ -355,6 +352,7 @@ ...@@ -355,6 +352,7 @@
TestTargetID = 13B07F861A680F5B00A75B9A; TestTargetID = 13B07F861A680F5B00A75B9A;
}; };
13B07F861A680F5B00A75B9A = { 13B07F861A680F5B00A75B9A = {
DevelopmentTeam = MXZ24GRH48;
LastSwiftMigration = 1120; LastSwiftMigration = 1120;
}; };
2D02E47A1E0B4A5D006451C7 = { 2D02E47A1E0B4A5D006451C7 = {
...@@ -512,7 +510,6 @@ ...@@ -512,7 +510,6 @@
shellPath = /bin/sh; shellPath = /bin/sh;
shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh"; shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh";
}; };
50AA96423ADD3C77C5478E40 /* [CP] Embed Pods Frameworks */ = { 50AA96423ADD3C77C5478E40 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase; isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
...@@ -856,6 +853,7 @@ ...@@ -856,6 +853,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = MXZ24GRH48;
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
GCC_PREPROCESSOR_DEFINITIONS = ( GCC_PREPROCESSOR_DEFINITIONS = (
"$(inherited)", "$(inherited)",
...@@ -883,6 +881,7 @@ ...@@ -883,6 +881,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = MXZ24GRH48;
INFOPLIST_FILE = Invest/Info.plist; INFOPLIST_FILE = Invest/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
OTHER_LDFLAGS = ( OTHER_LDFLAGS = (
......
import React from 'react'; import React from 'react';
import {View, Text} from 'react-native'; import {
View,
Text,
KeyboardAvoidingView,
ScrollView,
Platform,
} from 'react-native';
import HeaderBack from '../../components/Header/HeaderBack'; import HeaderBack from '../../components/Header/HeaderBack';
import BankInfor from './Tab/BankInfor'; import BankInfor from './Tab/BankInfor';
import GeneralInfor from './Tab/GeneralInfor'; import GeneralInfor from './Tab/GeneralInfor';
...@@ -10,6 +16,11 @@ const Tab = createMaterialTopTabNavigator(); ...@@ -10,6 +16,11 @@ const Tab = createMaterialTopTabNavigator();
const AccountVerificationView = (props) => { const AccountVerificationView = (props) => {
return ( return (
<KeyboardAvoidingView
behavior={Platform.Os === 'ios' ? 'padding' : 'height'}
style={{flex: 1}}
keyboardVerticalOffset={-50}>
<ScrollView showsVerticalScrollIndicator={false}>
<View style={{flex: 1}}> <View style={{flex: 1}}>
<HeaderBack isWhite={true} title={'Xác minh tài khoản'} /> <HeaderBack isWhite={true} title={'Xác minh tài khoản'} />
<Tab.Navigator <Tab.Navigator
...@@ -38,6 +49,8 @@ const AccountVerificationView = (props) => { ...@@ -38,6 +49,8 @@ const AccountVerificationView = (props) => {
/> />
</Tab.Navigator> </Tab.Navigator>
</View> </View>
</ScrollView>
</KeyboardAvoidingView>
); );
}; };
......
...@@ -28,6 +28,7 @@ const GeneralInfor = (props) => { ...@@ -28,6 +28,7 @@ const GeneralInfor = (props) => {
/> />
<TextMulti title={'Địa chỉ'} /> <TextMulti title={'Địa chỉ'} />
<View style={{height: 100}} />
</View> </View>
); );
}; };
......
import React from 'react'; import React from 'react';
import {View, Text} from 'react-native'; import {
View,
Text,
KeyboardAvoidingView,
Platform,
SafeAreaView,
StatusBar,
} from 'react-native';
import HeaderAuthen from '../../components/Header/HeaderAuthen'; import HeaderAuthen from '../../components/Header/HeaderAuthen';
import {createMaterialTopTabNavigator} from '@react-navigation/material-top-tabs'; import {createMaterialTopTabNavigator} from '@react-navigation/material-top-tabs';
import {getFontXD} from '../../Config/Functions'; import {getFontXD} from '../../Config/Functions';
import Login from './Login'; import Login from './Login';
import Registor from './Registor'; import Registor from './Registor';
import {ScrollView} from 'react-native-gesture-handler';
const Tab = createMaterialTopTabNavigator(); const Tab = createMaterialTopTabNavigator();
const Authen = (props) => { const Authen = (props) => {
return ( return (
<KeyboardAvoidingView
behavior={Platform.Os === 'ios' ? 'padding' : 'height'}
style={{flex: 1, backgroundColor: 'white'}}
keyboardVerticalOffset={-50}>
<ScrollView showsVerticalScrollIndicator={false}>
<View style={{flex: 1}}> <View style={{flex: 1}}>
<HeaderAuthen /> <HeaderAuthen />
<View style={{flex: 1, backgroundColor: 'white'}}> <View style={{flex: 1, backgroundColor: 'white'}}>
...@@ -37,6 +49,8 @@ const Authen = (props) => { ...@@ -37,6 +49,8 @@ const Authen = (props) => {
</Tab.Navigator> </Tab.Navigator>
</View> </View>
</View> </View>
</ScrollView>
</KeyboardAvoidingView>
); );
}; };
......
import React from 'react'; import React from 'react';
import {View, Text, StyleSheet, Image, TouchableOpacity} from 'react-native'; import {
View,
Text,
StyleSheet,
Image,
TouchableOpacity,
KeyboardAvoidingView,
Platform,
} from 'react-native';
import InputIcon from '../../components/Input/InputIcon'; import InputIcon from '../../components/Input/InputIcon';
import {getFontXD, HEIGHTXD, WIDTHXD} from '../../Config/Functions'; import {getFontXD, HEIGHTXD, WIDTHXD} from '../../Config/Functions';
import R from '../../assets/R'; import R from '../../assets/R';
import {useNavigation} from '@react-navigation/native'; import {useNavigation} from '@react-navigation/native';
import {TABNAVIGATOR, FORGOTPASSWORD} from '../../routers/ScreenNames'; import {TABNAVIGATOR, FORGOTPASSWORD} from '../../routers/ScreenNames';
const Login = (props) => { const Login = (props) => {
const {navigation} = props; const {navigation} = props;
...@@ -61,6 +70,7 @@ const Login = (props) => { ...@@ -61,6 +70,7 @@ const Login = (props) => {
</TouchableOpacity> </TouchableOpacity>
</View> </View>
</View> </View>
<View style={{height: 100}} />
</View> </View>
); );
}; };
......
import React from 'react';
import {View, Text, StyleSheet, TouchableOpacity, Image} from 'react-native';
import {getFontXD, HEIGHTXD, WIDTHXD, toPriceVnd} from '../../Config/Functions';
import R from '../../assets/R';
import Block from '../../components/Block';
import Icon from 'react-native-vector-icons/MaterialCommunityIcons';
const Item = (props) => {
const {item} = props;
return (
<TouchableOpacity onPress={() => console.log('HEllo')}>
<View style={styles.container}>
<Block flex={1} row center padding={[10, 10]}>
<Image source={item.image} style={styles.imgIcon} />
<Block padding={[0, 10]}>
<Text style={styles.txtBig}>{item.title}</Text>
<Block space={'between'} margin={[10, 0, 0, 0]} row flex={1}>
<Block>
<Text style={styles.txtLeft}>Tien nap toi thieu</Text>
<Text style={styles.txtLeft}>Hoa hong</Text>
<Text style={styles.txtLeft}>Thoi gian</Text>
</Block>
<Block>
<Text style={styles.txtRight}>{item.minPay} USD</Text>
<Text style={styles.txtRight}>{item.rose} USD</Text>
<Text style={styles.txtRight}>{item.time}</Text>
</Block>
</Block>
</Block>
</Block>
</View>
</TouchableOpacity>
);
};
export default React.memo(Item);
const styles = StyleSheet.create({
container: {
marginTop: 10,
height: HEIGHTXD(320),
shadowColor: '#000',
shadowOffset: {
width: 0,
height: 2,
},
shadowOpacity: 0.25,
shadowRadius: 3.84,
elevation: 5,
marginHorizontal: 10,
backgroundColor: R.colors.white,
marginBottom: 10,
borderRadius: HEIGHTXD(30),
},
wrapLeft: {
width: WIDTHXD(16),
borderTopLeftRadius: HEIGHTXD(30),
borderBottomStartRadius: HEIGHTXD(30),
},
wrapDate: {
justifyContent: 'center',
paddingHorizontal: 10,
},
txtTitle: {
fontSize: getFontXD(42),
color: R.colors.black,
fontWeight: 'bold',
},
txt: {
fontSize: getFontXD(39),
color: '#929292',
fontStyle: 'italic',
},
rowBet: {
flexDirection: 'row',
justifyContent: 'space-between',
alignItems: 'center',
},
txtBlack: {
fontSize: getFontXD(42),
color: 'black',
},
imgIcon: {
width: WIDTHXD(220),
height: HEIGHTXD(220),
resizeMode: 'contain',
},
txtLeft: {
fontSize: getFontXD(36),
color: '#929292',
marginBottom: 5,
},
txtBig: {
fontSize: getFontXD(42),
color: '#00359C',
},
txtRight: {
fontSize: getFontXD(36),
fontWeight: 'bold',
marginBottom: 5,
},
});
import React from 'react'; import React from 'react';
import {View, Text} from 'react-native'; import {View, Text, StyleSheet, FlatList} from 'react-native';
import R from '../../assets/R';
import HeaderBack from '../../components/Header/HeaderBack';
import Item from './Item';
const data = [
{
image: R.images.iconNganLuong,
title: 'Ngân lượng',
rose: 0,
time: 'Tức thời',
minPay: 5,
id: '1',
},
{
image: R.images.iconVisa,
title: 'Visa bank',
rose: 0,
time: 'Tức thời',
minPay: 1,
id: '2',
},
{
image: R.images.iconInternet,
title: 'Internet banking',
rose: 0,
time: 'Tức thời',
minPay: 5,
id: '3',
},
{
image: R.images.iconBitcoin,
title: 'Bitcoin',
rose: 0,
time: 'Tức thời',
minPay: 2,
id: '4',
},
{
image: R.images.iconSticpay,
title: 'Sticpay',
rose: 0,
time: 'Tức thời',
minPay: 1,
id: '5',
},
{
image: R.images.iconTether,
title: 'Tether',
rose: 0,
time: 'Tức thời',
minPay: 10,
id: '6',
},
];
const MethodPayView = (props) => { const MethodPayView = (props) => {
return ( return (
<View> <View style={{flex: 1}}>
<Text>MethodPayView screen</Text> <HeaderBack title={'Cài đặt phương thức thanh toán'} />
<View style={{flex: 1}}>
<FlatList
keyExtractor={(item) => item.id}
showsVerticalScrollIndicator={false}
data={data}
renderItem={({item}) => <Item item={item} />}
/>
</View>
</View> </View>
); );
}; };
const styles = StyleSheet.create({});
export default MethodPayView; export default MethodPayView;
...@@ -42,6 +42,13 @@ const images = { ...@@ -42,6 +42,13 @@ const images = {
iconEmail: require('./images/iconEmail1.png'), iconEmail: require('./images/iconEmail1.png'),
iconUser3: require('./images/iconUser3.png'), iconUser3: require('./images/iconUser3.png'),
iconRight1: require('./images/iconRight1.png'), iconRight1: require('./images/iconRight1.png'),
iconNganLuong: require('./images/iconNganLuong.png'),
iconVisa: require('./images/iconVisa.png'),
iconInternet: require('./images/iconInternet.png'),
iconBitcoin: require('./images/iconBitcoin.png'),
iconSticpay: require('./images/iconSticpay.png'),
iconTether: require('./images/iconTether.png'),
}; };
export default images; export default images;
...@@ -41,9 +41,8 @@ export default connect(mapStateToProps, {})(HeaderAuthen); ...@@ -41,9 +41,8 @@ export default connect(mapStateToProps, {})(HeaderAuthen);
const styles = StyleSheet.create({ const styles = StyleSheet.create({
img: { img: {
height: Platform.OS == 'ios' ? HEIGHTXD(750) : HEIGHTXD(920), height: 260,
width: '100%', width: '100%',
justifyContent: 'center', justifyContent: 'center',
alignItems: 'center', alignItems: 'center',
backgroundColor: 'white', backgroundColor: 'white',
......
...@@ -30,4 +30,4 @@ const InputComponent = (props) => { ...@@ -30,4 +30,4 @@ const InputComponent = (props) => {
); );
}; };
export default InputComponent; export default React.memo(InputComponent);
...@@ -31,7 +31,12 @@ const Stack = createStackNavigator(); ...@@ -31,7 +31,12 @@ const Stack = createStackNavigator();
function MyStack(props) { function MyStack(props) {
return ( return (
<Stack.Navigator headerMode={'none'} initialRouteName={ScreenName.AUTHEN}> <Stack.Navigator
screenOptions={{
headerStatusBarHeight: 0,
}}
headerMode={'none'}
initialRouteName={ScreenName.AUTHEN}>
<Stack.Screen name={ScreenName.LOGINSCREEN} component={Login} /> <Stack.Screen name={ScreenName.LOGINSCREEN} component={Login} />
<Stack.Screen name={ScreenName.TABNAVIGATOR} component={TabNavigator} /> <Stack.Screen name={ScreenName.TABNAVIGATOR} component={TabNavigator} />
<Stack.Screen <Stack.Screen
......
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