Initialize redux
108
App.js
|
@ -8,7 +8,7 @@
|
|||
|
||||
import React, { Component } from 'react';
|
||||
import { Platform, StyleSheet, Text, View, YellowBox } from 'react-native';
|
||||
import { createSwitchNavigator, createStackNavigator, createDrawerNavigator, createAppContainer, createBottomTabNavigator } from 'react-navigation';
|
||||
import { createSwitchNavigator, createStackNavigator, createDrawerNavigator, createAppContainer, createBottomTabNavigator, HeaderBackButton } from 'react-navigation';
|
||||
import Connect from "./screens/login/Connect";
|
||||
import SplashScreen from "./screens/splashscreen/SplashScreen";
|
||||
import HelpMenu from "./screens/help/HelpMenu";
|
||||
|
@ -39,8 +39,11 @@ import IconWithBadge from "./screens/IconWithBadge"
|
|||
import I18n from "react-native-i18n";
|
||||
import Filter from './screens/home/Filter';
|
||||
import { createMaterialBottomTabNavigator } from 'react-navigation-material-bottom-tabs';
|
||||
import Networks from './screens/home/Networks';
|
||||
import Wallet from './screens/wallet';
|
||||
|
||||
import WalletDetail from './screens/wallet/WalletDetail';
|
||||
import WalletSelect from './screens/wallet/WalletSelect';
|
||||
import { PersistGate } from 'redux-persist/integration/react';
|
||||
import { store, persistor } from './redux/store';
|
||||
const instructions = Platform.select({
|
||||
ios: 'Press Cmd+R to reload,\n' + 'Cmd+D or shake for dev menu',
|
||||
android:
|
||||
|
@ -49,22 +52,11 @@ const instructions = Platform.select({
|
|||
});
|
||||
|
||||
const theme = require("./utils/theme")
|
||||
class HomeScreen extends Component {
|
||||
|
||||
const WalletSelectStack = createStackNavigator({
|
||||
walletSelect: WalletSelect
|
||||
});
|
||||
|
||||
render() {
|
||||
|
||||
return (
|
||||
<View style={styles.container}>
|
||||
<Text style={styles.welcome}>Welcome to iLink World!</Text>
|
||||
<Text style={styles.instructions}>To get started, edit App.js</Text>
|
||||
<Text style={styles.instructions}>{instructions}</Text>
|
||||
</View>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
const AuthStack = createStackNavigator({
|
||||
login: Connect,
|
||||
helpMenu: HelpMenu,
|
||||
|
@ -99,7 +91,24 @@ const AppAgentStack = createDrawerNavigator({
|
|||
sta: createStackNavigator({
|
||||
home: Home,
|
||||
useraccount: UserAccount,
|
||||
wallet: Wallet,
|
||||
walletSelect: {
|
||||
screen: WalletSelectStack,
|
||||
navigationOptions: ({ navigation }) => ({
|
||||
header: null,
|
||||
headerMode: 'none',
|
||||
headerTitle: null,
|
||||
activeColor: '#f0edf6',
|
||||
inactiveColor: '#3e2465',
|
||||
barStyle: { backgroundColor: '#694fad' },
|
||||
headerLeft: (<HeaderBackButton />),
|
||||
drawerLabel: I18n.t('CREDIT_MANAGE'),
|
||||
drawerIcon: ({ tintColor }) => (
|
||||
<Icon
|
||||
name={'credit-card'}
|
||||
size={24}
|
||||
/>)
|
||||
}),
|
||||
},
|
||||
Historique:
|
||||
{
|
||||
screen: createBottomTabNavigator({ myDemand: MyHistory }, {
|
||||
|
@ -121,7 +130,7 @@ const AppAgentStack = createDrawerNavigator({
|
|||
activeColor: '#f0edf6',
|
||||
inactiveColor: '#3e2465',
|
||||
barStyle: { backgroundColor: '#694fad' },
|
||||
|
||||
headerLeft: (<HeaderBackButton />),
|
||||
drawerLabel: I18n.t('CREDIT_MANAGE'),
|
||||
drawerIcon: ({ tintColor }) => (
|
||||
<Icon
|
||||
|
@ -137,7 +146,8 @@ const AppAgentStack = createDrawerNavigator({
|
|||
updateinformation: UpdateInformations,
|
||||
notificationview: Notifications,
|
||||
configuration: Configurations,
|
||||
about: About
|
||||
about: About,
|
||||
walletDetail: WalletDetail
|
||||
})
|
||||
}, {
|
||||
contentComponent: OptionsMenu,
|
||||
|
@ -149,7 +159,24 @@ const AppAdministratorStack = createDrawerNavigator({
|
|||
sta: createStackNavigator({
|
||||
home: Home,
|
||||
useraccount: UserAccount,
|
||||
wallet: Wallet,
|
||||
walletSelect: {
|
||||
screen: WalletSelectStack,
|
||||
navigationOptions: ({ navigation }) => ({
|
||||
header: null,
|
||||
headerMode: 'none',
|
||||
headerTitle: null,
|
||||
activeColor: '#f0edf6',
|
||||
inactiveColor: '#3e2465',
|
||||
barStyle: { backgroundColor: '#694fad' },
|
||||
headerLeft: (<HeaderBackButton />),
|
||||
drawerLabel: I18n.t('CREDIT_MANAGE'),
|
||||
drawerIcon: ({ tintColor }) => (
|
||||
<Icon
|
||||
name={'credit-card'}
|
||||
size={24}
|
||||
/>)
|
||||
}),
|
||||
},
|
||||
Historique: {
|
||||
screen: createBottomTabNavigator({
|
||||
myDemand: MyHistory, OthersDemand: MyHistory
|
||||
|
@ -186,7 +213,8 @@ const AppAdministratorStack = createDrawerNavigator({
|
|||
superviseurgroup: SuperViseurGroupeHome,
|
||||
notificationview: Notifications,
|
||||
configuration: Configurations,
|
||||
about: About
|
||||
about: About,
|
||||
walletDetail: WalletDetail
|
||||
|
||||
})
|
||||
},
|
||||
|
@ -199,7 +227,24 @@ const AppSuperAdministrator = createDrawerNavigator({
|
|||
sta: createStackNavigator({
|
||||
home: Home,
|
||||
useraccount: UserAccount,
|
||||
wallet: Wallet,
|
||||
walletSelect: {
|
||||
screen: WalletSelectStack,
|
||||
navigationOptions: ({ navigation }) => ({
|
||||
header: null,
|
||||
headerMode: 'none',
|
||||
headerTitle: null,
|
||||
activeColor: '#f0edf6',
|
||||
inactiveColor: '#3e2465',
|
||||
barStyle: { backgroundColor: '#694fad' },
|
||||
headerLeft: (<HeaderBackButton />),
|
||||
drawerLabel: I18n.t('CREDIT_MANAGE'),
|
||||
drawerIcon: ({ tintColor }) => (
|
||||
<Icon
|
||||
name={'credit-card'}
|
||||
size={24}
|
||||
/>)
|
||||
}),
|
||||
},
|
||||
Historique: {
|
||||
screen: createBottomTabNavigator({ OthersDemand: MyHistory }, {
|
||||
headerMode: "none",
|
||||
|
@ -230,7 +275,8 @@ const AppSuperAdministrator = createDrawerNavigator({
|
|||
superviseurgroup: SuperViseurGroupeHome,
|
||||
notificationview: Notifications,
|
||||
configuration: Configurations,
|
||||
about: About
|
||||
about: About,
|
||||
walletDetail: WalletDetail
|
||||
|
||||
})
|
||||
}, {
|
||||
|
@ -252,7 +298,19 @@ export const AppNavigator = createSwitchNavigator({
|
|||
});
|
||||
const AppContainer = createAppContainer(AppNavigator);
|
||||
|
||||
export default AppContainer;
|
||||
class App extends React.Component {
|
||||
render() {
|
||||
return (
|
||||
<Provider store={store}>
|
||||
<PersistGate loading={null} persistor={persistor}>
|
||||
<AppContainer />
|
||||
</PersistGate>
|
||||
</Provider>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export default App;
|
||||
|
||||
const styles = StyleSheet.create({
|
||||
container: {
|
||||
|
|
After Width: | Height: | Size: 68 KiB |
After Width: | Height: | Size: 106 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 24 KiB |
|
@ -1,31 +1,31 @@
|
|||
{
|
||||
"discover":"ILink",
|
||||
"stackRoot":"stackcenter",
|
||||
"historiques":"Historique",
|
||||
"options":"menu",
|
||||
"drawer":"drawer",
|
||||
"credrequester":"creditrequest",
|
||||
"login":"Login",
|
||||
"first":"Home",
|
||||
"typeaccountcreate":"typeaccountcreate",
|
||||
"simpleusercreate":"simpleusercreate",
|
||||
"splashscreen":"spashscreen",
|
||||
"useraccount":"useraccount",
|
||||
"configurations":"configuration",
|
||||
"notification":"notification",
|
||||
"modalhistoryfilter":"filterhistory",
|
||||
"superviseurgroup":"superviseurgroup",
|
||||
"historyItemDetails":"historyItemDetails",
|
||||
"forgotpass":"forgottenpass",
|
||||
"confirmcode":"confirmcode",
|
||||
"creationstep2":"step2",
|
||||
"help":"help",
|
||||
"modaloading":"modaloading",
|
||||
"activateaccount":"activateaccout",
|
||||
"addNetwork":"addNetwork",
|
||||
"notificationView":"notificationview",
|
||||
"generateNetwork":"generateNetwork",
|
||||
"helpmenu":"helpMenu",
|
||||
"updateinfo":"updateinformation",
|
||||
"intersticielAds":"intersticielAds"
|
||||
"discover": "ILink",
|
||||
"stackRoot": "stackcenter",
|
||||
"historiques": "Historique",
|
||||
"options": "menu",
|
||||
"drawer": "drawer",
|
||||
"credrequester": "creditrequest",
|
||||
"login": "Login",
|
||||
"first": "Home",
|
||||
"typeaccountcreate": "typeaccountcreate",
|
||||
"simpleusercreate": "simpleusercreate",
|
||||
"splashscreen": "spashscreen",
|
||||
"useraccount": "useraccount",
|
||||
"configurations": "configuration",
|
||||
"notification": "notification",
|
||||
"modalhistoryfilter": "filterhistory",
|
||||
"superviseurgroup": "superviseurgroup",
|
||||
"historyItemDetails": "historyItemDetails",
|
||||
"forgotpass": "forgottenpass",
|
||||
"confirmcode": "confirmcode",
|
||||
"creationstep2": "step2",
|
||||
"help": "help",
|
||||
"modaloading": "modaloading",
|
||||
"activateaccount": "activateaccout",
|
||||
"addNetwork": "addNetwork",
|
||||
"notificationView": "notificationview",
|
||||
"generateNetwork": "generateNetwork",
|
||||
"helpmenu": "helpMenu",
|
||||
"updateinfo": "updateinformation",
|
||||
"intersticielAds": "intersticielAds"
|
||||
}
|
|
@ -38,6 +38,9 @@
|
|||
"COMMISSION_ACCOUNT_TITLE": "Commission account",
|
||||
"PRINCIPAL_ACCOUNT_TITLE": "Principal account",
|
||||
"TRANSFER_TO_PRINCIPAL_ACCOUNT": "Transfer commissions",
|
||||
"PRINCIPAL": "Principal",
|
||||
"ENTER_YOUR_CARD_ID": "Please enter your bank card ID",
|
||||
"SELECT_YOUR_WALLET": "Selec your wallet",
|
||||
"THE_ACCOUNT": "Account ",
|
||||
"NO_GEO_POINT_CODE": "You have no free geolocated point",
|
||||
"NO_DEMAND_ADHESION": "You have no membership request",
|
||||
|
|
|
@ -38,6 +38,8 @@
|
|||
"COMMISSION_ACCOUNT_TITLE": "Cpt. commission",
|
||||
"PRINCIPAL_ACCOUNT_TITLE": "Cpt. principal",
|
||||
"TRANSFER_TO_PRINCIPAL_ACCOUNT": "Transférer les commissions",
|
||||
"PRINCIPAL": "Principal",
|
||||
"ENTER_YOUR_CARD_ID": "Entrer vos identifiants bancaires",
|
||||
"THE_ACCOUNT": "Le compte ",
|
||||
"NO_GEO_POINT_CODE": "Vous n'avez aucun point geolocalisé libre",
|
||||
"NO_DEMAND_ADHESION": "Vous n'avez aucune demande d'adhesion",
|
||||
|
@ -161,6 +163,7 @@
|
|||
"SEND": "Envoyer !",
|
||||
"CHANGE_INFORMATION": "Modifier mes informations",
|
||||
"VALIDATE": "Valider",
|
||||
"SELECT_YOUR_WALLET": "Selectionner un wallet",
|
||||
"CONNECT": "Connexion",
|
||||
"TEXT_BIG_CREATE_1": "Inscrivez vous en tant qu'Utilisateur",
|
||||
"TEXT_SUBTITLE_CREATE_1": "Renseignez vos informations personnelles",
|
||||
|
|
|
@ -0,0 +1,74 @@
|
|||
import React from "react";
|
||||
import { TouchableOpacity, StyleSheet, ActivityIndicator } from "react-native";
|
||||
import { Color } from '../../config/Color';
|
||||
import PropTypes from "prop-types";
|
||||
import CustomText from "../CustomText";
|
||||
import styles from "./styles";
|
||||
|
||||
export default function CustomButton(props) {
|
||||
const {
|
||||
style,
|
||||
styleCustomText,
|
||||
icon,
|
||||
outline,
|
||||
full,
|
||||
round,
|
||||
loading,
|
||||
children,
|
||||
...rest
|
||||
} = props;
|
||||
|
||||
return (
|
||||
<TouchableOpacity
|
||||
{...rest}
|
||||
style={StyleSheet.flatten([
|
||||
[styles.default, { backgroundColor: Color.primaryColor }],
|
||||
outline && [
|
||||
styles.outline,
|
||||
{ backgroundColor: Color.cardBackgroundColor, borderColor: Color.primaryColor }
|
||||
],
|
||||
full && styles.full,
|
||||
round && styles.round,
|
||||
style
|
||||
])}
|
||||
activeOpacity={0.9}
|
||||
>
|
||||
{icon ? icon : null}
|
||||
<CustomText
|
||||
style={StyleSheet.flatten([
|
||||
styles.textDefault,
|
||||
outline && { color: Color.primaryColor },
|
||||
styleCustomText
|
||||
])}
|
||||
numberOfLines={1}
|
||||
>
|
||||
{children || "CustomButton"}
|
||||
</CustomText>
|
||||
{loading ? (
|
||||
<ActivityIndicator
|
||||
size="small"
|
||||
color={outline ? Color.primaryColor : Color.whiteColor}
|
||||
style={{ paddingLeft: 5 }}
|
||||
/>
|
||||
) : null}
|
||||
</TouchableOpacity>
|
||||
);
|
||||
}
|
||||
|
||||
CustomButton.propTypes = {
|
||||
style: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),
|
||||
icon: PropTypes.node,
|
||||
outline: PropTypes.bool,
|
||||
full: PropTypes.bool,
|
||||
round: PropTypes.bool,
|
||||
loading: PropTypes.bool
|
||||
};
|
||||
|
||||
CustomButton.defaultProps = {
|
||||
style: {},
|
||||
icon: null,
|
||||
outline: false,
|
||||
full: false,
|
||||
round: false,
|
||||
loading: false
|
||||
};
|
|
@ -0,0 +1,30 @@
|
|||
import { StyleSheet } from "react-native";
|
||||
import { Typography, FontWeight } from "../../config/typography";
|
||||
import { Color } from '../../config/Color';
|
||||
|
||||
export default StyleSheet.create({
|
||||
default: {
|
||||
height: 56,
|
||||
borderRadius: 8,
|
||||
flexDirection: "row",
|
||||
justifyContent: "center",
|
||||
alignItems: "center",
|
||||
paddingHorizontal: 20
|
||||
},
|
||||
textDefault: {
|
||||
...Typography.headline,
|
||||
color: Color.whiteColor,
|
||||
fontWeight: FontWeight.semibold
|
||||
},
|
||||
outline: {
|
||||
borderWidth: 1
|
||||
},
|
||||
|
||||
full: {
|
||||
width: "100%",
|
||||
alignSelf: "auto"
|
||||
},
|
||||
round: {
|
||||
borderRadius: 28
|
||||
}
|
||||
});
|
11
package.json
|
@ -9,12 +9,15 @@
|
|||
"release-build": "react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/build/intermediates/res/merged/release/ && rm -rf android/app/src/main/res/drawable-* && rm -rf android/app/src/main/res/raw/* && cd android && ./gradlew assembleRelease && cd .. && adb install android/app/build/outputs/apk/release/app-release.apk",
|
||||
"debug-build": "react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/ && cd android && ./gradlew assembleDebug && cd .. && adb install android/app/build/outputs/apk/debug/app-debug.apk",
|
||||
"start-emulator": "emulator -avd Nexus_6P_API_29 -dns-server 8.8.8.8",
|
||||
"start-emulator-pixel": "emulator -avd Pixel_2_API_29_1 -dns-server 8.8.8.8",
|
||||
"run-debug": "cd android && ./gradlew clean && cd .. && react-native run-android",
|
||||
"run-release": "cd android && ./gradlew clean && cd .. && react-native run-android --variant=release"
|
||||
},
|
||||
"dependencies": {
|
||||
"@react-native-community/async-storage": "^1.9.0",
|
||||
"@react-native-community/viewpager": "^3.3.0",
|
||||
"apsl-react-native-button": "^3.1.1",
|
||||
"axios": "^0.19.2",
|
||||
"events": "^3.0.0",
|
||||
"geolib": "^3.0.3",
|
||||
"lottie-ios": "3.1.3",
|
||||
|
@ -31,6 +34,7 @@
|
|||
"react-native-calendario": "^0.2.10",
|
||||
"react-native-cardview": "^2.0.2",
|
||||
"react-native-copilot": "^2.4.3",
|
||||
"react-native-credit-card-input": "^0.4.1",
|
||||
"react-native-db-models": "^0.1.3",
|
||||
"react-native-device-info": "^2.1.1",
|
||||
"react-native-elements": "^1.1.0",
|
||||
|
@ -66,8 +70,13 @@
|
|||
"react-native-vector-icons": "^6.5.0",
|
||||
"react-navigation": "^3.11.0",
|
||||
"react-navigation-material-bottom-tabs": "^1.0.0",
|
||||
"react-redux": "^7.2.0",
|
||||
"realm": "^3.6.5",
|
||||
"reanimated-bottom-sheet": "^1.0.0-alpha.10"
|
||||
"reanimated-bottom-sheet": "^1.0.0-alpha.10",
|
||||
"redux": "^4.0.5",
|
||||
"redux-persist": "^6.0.0",
|
||||
"redux-thunk": "^2.3.0",
|
||||
"slugify": "^1.4.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.4.5",
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
import { WALLET_LIST_PENDING, WALLET_LIST_SUCCESS, WALLET_LIST_ERROR } from "../types/WalletType";
|
||||
|
||||
|
||||
export const fetchWalletListPending = () => ({
|
||||
type: WALLET_LIST_PENDING
|
||||
});
|
||||
|
||||
export const fetchWalletListSuccess = (res) => ({
|
||||
type: WALLET_LIST_SUCCESS,
|
||||
result: res,
|
||||
});
|
||||
|
||||
export const fetchWalletListError = (error) => ({
|
||||
type: WALLET_LIST_ERROR,
|
||||
result: error
|
||||
});
|
|
@ -0,0 +1,29 @@
|
|||
import { WALLET_LIST_PENDING, WALLET_LIST_SUCCESS, WALLET_LIST_ERROR } from "../types/WalletType";
|
||||
|
||||
const initialState = {
|
||||
loading: false,
|
||||
result: null,
|
||||
error: null,
|
||||
};
|
||||
|
||||
export const walletReducer = (state = initialState, action) => {
|
||||
switch (action.type) {
|
||||
case WALLET_LIST_PENDING: return {
|
||||
...state,
|
||||
loading: true
|
||||
}
|
||||
case WALLET_LIST_SUCCESS: return {
|
||||
...state,
|
||||
loading: true,
|
||||
result: action.result,
|
||||
error: null
|
||||
}
|
||||
case WALLET_LIST_ERROR: return {
|
||||
...state,
|
||||
loading: false,
|
||||
result: action.result,
|
||||
error: action.result.statusText,
|
||||
}
|
||||
|
||||
}
|
||||
};
|
|
@ -0,0 +1,8 @@
|
|||
import { combineReducers } from "redux";
|
||||
import { walletReducer } from "./WalletReducer";
|
||||
|
||||
const rootReducer = combineReducers({
|
||||
walletReducer: walletReducer
|
||||
});
|
||||
|
||||
export default rootReducer;
|
|
@ -0,0 +1,21 @@
|
|||
import { AsyncStorage } from "react-native";
|
||||
import { persistReducer, persistStore } from "redux-persist";
|
||||
import { createStore, applyMiddleware } from "redux";
|
||||
import thunk from 'redux-thunk';
|
||||
import rootReducer from "./reducers";
|
||||
|
||||
|
||||
|
||||
const persistConfig = {
|
||||
key: 'root',
|
||||
storage: AsyncStorage,
|
||||
whitelist: [],
|
||||
blacklist: []
|
||||
};
|
||||
|
||||
const persistedReducer = persistReducer(persistConfig, rootReducer);
|
||||
const middlewares = [thunk];
|
||||
const store = createStore(persistedReducer, applyMiddleware(...middlewares));
|
||||
let persistor = persistStore(store);
|
||||
|
||||
export { store, persistor };
|
|
@ -0,0 +1,3 @@
|
|||
export const WALLET_LIST_PENDING = 'WALLET_LIST_PENDING';
|
||||
export const WALLET_LIST_SUCCESS = 'WALLET_LIST_SUCCESS';
|
||||
export const WALLET_LIST_ERROR = 'WALLET_LIST_ERROR';
|
58
route.json
|
@ -1,31 +1,31 @@
|
|||
{
|
||||
"discover":"ILink",
|
||||
"stackRoot":"stackcenter",
|
||||
"historiques":"Historique",
|
||||
"options":"menu",
|
||||
"drawer":"drawer",
|
||||
"credrequester":"creditrequest",
|
||||
"login":"Login",
|
||||
"first":"Home",
|
||||
"typeaccountcreate":"typeaccountcreate",
|
||||
"simpleusercreate":"simpleusercreate",
|
||||
"splashscreen":"spashscreen",
|
||||
"useraccount":"useraccount",
|
||||
"configurations":"configuration",
|
||||
"notification":"notification",
|
||||
"modalhistoryfilter":"filterhistory",
|
||||
"superviseurgroup":"superviseurgroup",
|
||||
"historyItemDetails":"historyItemDetails",
|
||||
"forgotpass":"forgottenpass",
|
||||
"confirmcode":"confirmcode",
|
||||
"creationstep2":"step2",
|
||||
"help":"help",
|
||||
"modaloading":"modaloading",
|
||||
"activateaccount":"activateaccout",
|
||||
"addNetwork":"addNetwork",
|
||||
"notificationView":"notificationview",
|
||||
"generateNetwork":"generateNetwork",
|
||||
"helpmenu":"helpMenu",
|
||||
"updateinfo":"updateinformation",
|
||||
"intersticielAds":"intersticielAds"
|
||||
"discover": "ILink",
|
||||
"stackRoot": "stackcenter",
|
||||
"historiques": "Historique",
|
||||
"options": "menu",
|
||||
"drawer": "drawer",
|
||||
"credrequester": "creditrequest",
|
||||
"login": "Login",
|
||||
"first": "Home",
|
||||
"typeaccountcreate": "typeaccountcreate",
|
||||
"simpleusercreate": "simpleusercreate",
|
||||
"splashscreen": "spashscreen",
|
||||
"useraccount": "useraccount",
|
||||
"configurations": "configuration",
|
||||
"notification": "notification",
|
||||
"modalhistoryfilter": "filterhistory",
|
||||
"superviseurgroup": "superviseurgroup",
|
||||
"historyItemDetails": "historyItemDetails",
|
||||
"forgotpass": "forgottenpass",
|
||||
"confirmcode": "confirmcode",
|
||||
"creationstep2": "step2",
|
||||
"help": "help",
|
||||
"modaloading": "modaloading",
|
||||
"activateaccount": "activateaccout",
|
||||
"addNetwork": "addNetwork",
|
||||
"notificationView": "notificationview",
|
||||
"generateNetwork": "generateNetwork",
|
||||
"helpmenu": "helpMenu",
|
||||
"updateinfo": "updateinformation",
|
||||
"intersticielAds": "intersticielAds"
|
||||
}
|
|
@ -19,7 +19,15 @@ const height = responsiveHeight(100) - 250;
|
|||
var Fabric = require('react-native-fabric');
|
||||
var { Crashlytics } = Fabric;*/
|
||||
export default class UserAccount extends Component {
|
||||
|
||||
static navigatorStyle = {
|
||||
navBarHidden: false,
|
||||
navBarBackgroundColor: theme.primaryDark,
|
||||
navBarTextColor: 'white',
|
||||
navBarButtonColor: 'white',
|
||||
drawUnderStatusBar: false,
|
||||
statusBarColor: theme.primaryDarkAdvanced,
|
||||
statusBarTextColorScheme: 'light',
|
||||
};
|
||||
static navigationOptions = ({ navigation }) => {
|
||||
return {
|
||||
headerTitle: I18n.t('USER_ACCOUNT'),
|
||||
|
|
|
@ -40,6 +40,7 @@ import { withNavigationFocus } from "react-navigation";
|
|||
import IconWithBadge from "../IconWithBadge";
|
||||
import { Appbar, Paragraph, Menu, Divider, Provider } from 'react-native-paper';
|
||||
class MyHistory extends React.Component {
|
||||
|
||||
static navigatorStyle = {
|
||||
navBarBackgroundColor: primary,
|
||||
statusBarColor: primaryDark,
|
||||
|
|
|
@ -1419,17 +1419,6 @@ class Home extends BaseScreen {
|
|||
}
|
||||
this.setState({ myPosition });
|
||||
this.refocusMap(false);
|
||||
/*
|
||||
this.mapRef.animateCamera({
|
||||
center: {
|
||||
latitude: myPosition.latitude,
|
||||
longitude: myPosition.longitude
|
||||
},
|
||||
pitch: 0,
|
||||
heading: 0,
|
||||
altitude: 5,
|
||||
zoom: 12
|
||||
}, 1000); */
|
||||
|
||||
if (user.category) {
|
||||
this.setState({ loadingDialog: false })
|
||||
|
|
|
@ -211,7 +211,7 @@ export default class OptionsMenu extends Component {
|
|||
, { title: I18n.t('CONFIGURATIONS'), id: 4, icon: 'md-settings', active: false }]
|
||||
}
|
||||
_renderItem = (item) => {
|
||||
if (item === "creditrequest" || item === 'historyItemDetails' || item === 'filter' || item === 'networks') {
|
||||
if (item === "creditrequest" || item === 'historyItemDetails' || item === 'filter' || item === 'networks' || item === 'walletDetail') {
|
||||
return null
|
||||
} else {
|
||||
const color = this.state.currentId === item.id ? theme.accent : "grey"
|
||||
|
@ -403,7 +403,7 @@ export default class OptionsMenu extends Component {
|
|||
break
|
||||
case 'useraccount': icon = I18n.t('MY_ACCOUNT')
|
||||
break
|
||||
case 'wallet': icon = I18n.t('WALLET')
|
||||
case 'walletSelect': icon = I18n.t('WALLET')
|
||||
break
|
||||
case 'Historique': icon = I18n.t('CREDIT_MANAGE')
|
||||
break
|
||||
|
@ -428,7 +428,7 @@ export default class OptionsMenu extends Component {
|
|||
break
|
||||
case 'useraccount': icon = "md-person"
|
||||
break
|
||||
case 'wallet': icon = "md-wallet"
|
||||
case 'walletSelect': icon = "md-wallet"
|
||||
break
|
||||
case 'Historique': icon = "md-card"
|
||||
break
|
||||
|
|
|
@ -1,75 +1,48 @@
|
|||
import React, { Component } from 'react';
|
||||
import { Animated, StyleSheet, View, Image, StatusBar, ScrollView, TouchableOpacity, Alert } from 'react-native';
|
||||
let theme = require('./../../utils/theme.json');
|
||||
import { Animated, StyleSheet, View, Image, StatusBar, ScrollView, TouchableOpacity } from 'react-native';
|
||||
import Icon from 'react-native-vector-icons/MaterialCommunityIcons';
|
||||
const route = require('./../../route.json')
|
||||
import I18n from 'react-native-i18n'
|
||||
import { IlinkEmitter } from "../../utils/events";
|
||||
import { TabView, TabBar, SceneMap } from 'react-native-tab-view';
|
||||
import * as Utils from '../../utils/DeviceUtils';
|
||||
import { SafeAreaView } from 'react-navigation';
|
||||
import { Images } from '../../config/Images';
|
||||
import CustomText from '../../components/CustomText';
|
||||
import CustomButton from '../../components/CustomButton';
|
||||
import { Color } from '../../config/Color';
|
||||
import Tag from '../../components/Tag';
|
||||
import { SafeAreaView } from 'react-navigation';
|
||||
import { IlinkEmitter } from "../../utils/events";
|
||||
import { CreditCardInput } from "react-native-credit-card-input";
|
||||
|
||||
require('./../../utils/Translations');
|
||||
require('../../utils/Translations');
|
||||
|
||||
const fakeData = [
|
||||
{
|
||||
name: 'UBA',
|
||||
logo: ''
|
||||
},
|
||||
{
|
||||
name: 'SmallWolrd',
|
||||
logo: ''
|
||||
},
|
||||
{
|
||||
name: 'Wafa Cash',
|
||||
logo: ''
|
||||
},
|
||||
{
|
||||
name: 'Orange Money',
|
||||
logo: ''
|
||||
},
|
||||
{
|
||||
name: 'Mtn Mobile Money',
|
||||
logo: ''
|
||||
},
|
||||
{
|
||||
name: 'Ria',
|
||||
logo: ''
|
||||
},
|
||||
]
|
||||
const FirstRoute = () => (
|
||||
<View style={[styles.container, { padding: 20 }]} >
|
||||
{
|
||||
fakeData.map((item) => (
|
||||
<TouchableOpacity
|
||||
style={[
|
||||
styles.profileItem,
|
||||
{ borderBottomColor: Color.dividerColor, borderBottomWidth: 1 },
|
||||
]}
|
||||
onPress={() => {
|
||||
}}>
|
||||
<CustomText body1>{item.name}</CustomText>
|
||||
<Icon
|
||||
name="chevron-right"
|
||||
size={20}
|
||||
color={Color.primaryColor}
|
||||
style={{ marginLeft: 5 }}
|
||||
enableRTL={true}
|
||||
/>
|
||||
</TouchableOpacity>
|
||||
))
|
||||
}
|
||||
<ScrollView style={[styles.container, { padding: 20 }]}>
|
||||
|
||||
<View style={{ flex: 1 }}>
|
||||
<View style={[styles.checkDefault, { borderBottomColor: Color.borderColor }]}>
|
||||
<CustomText body2>
|
||||
{I18n.t('ENTER_YOUR_CARD_ID')}
|
||||
</CustomText>
|
||||
</View>
|
||||
</View>
|
||||
|
||||
<View style={{ marginTop: 10 }}>
|
||||
|
||||
<CreditCardInput />
|
||||
</View>
|
||||
|
||||
<View style={{ margin: 20 }}>
|
||||
<CustomButton outline onPress={() => { console.log('click') }}>
|
||||
{I18n.t('VALIDATE')}
|
||||
</CustomButton>
|
||||
</View>
|
||||
</ScrollView>
|
||||
);
|
||||
const SecondRoute = () => (
|
||||
<View style={[styles.container, { padding: 20 }]}>
|
||||
<ScrollView style={[styles.container, { padding: 20 }]}>
|
||||
|
||||
</View>
|
||||
</ScrollView>
|
||||
);
|
||||
|
||||
export default class WalletDetail extends Component {
|
||||
|
@ -84,8 +57,56 @@ export default class WalletDetail extends Component {
|
|||
]
|
||||
};
|
||||
this.scrollY = new Animated.Value(0);
|
||||
IlinkEmitter.on("langueChange", this.updateLangue.bind(this));
|
||||
|
||||
}
|
||||
|
||||
static options(passProps) {
|
||||
return {
|
||||
topBar: {
|
||||
drawBehind: false,
|
||||
visible: true,
|
||||
animate: true,
|
||||
buttonColor: 'white',
|
||||
background: {
|
||||
color: 'white',
|
||||
},
|
||||
rightButtons: []
|
||||
},
|
||||
backButton: {
|
||||
visible: true,
|
||||
color: "white"
|
||||
},
|
||||
buttonColor: "white",
|
||||
background: {
|
||||
color: Color.primaryDarkColor
|
||||
},
|
||||
statusBar: {
|
||||
drawBehind: false,
|
||||
visible: true,
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
static navigationOptions = ({ navigation }) => {
|
||||
return {
|
||||
headerTitle: I18n.t('WALLET'),
|
||||
headerStyle: {
|
||||
backgroundColor: Color.primaryColor,
|
||||
paddingTop: 10
|
||||
},
|
||||
headerTitleStyle: {
|
||||
color: "white"
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
updateLangue() {
|
||||
this.props.navigation.setParams({ name: I18n.t('WALLET') })
|
||||
this.forceUpdate()
|
||||
}
|
||||
|
||||
|
||||
handleIndexChange = index => this.setState({ index });
|
||||
|
||||
imageScale = () => {
|
||||
|
@ -142,6 +163,13 @@ export default class WalletDetail extends Component {
|
|||
render() {
|
||||
const { index, routes } = this.state;
|
||||
return (
|
||||
<SafeAreaView forceInset={{ top: 'always' }} style={styles.container}>
|
||||
|
||||
<StatusBar
|
||||
backgroundColor={Color.primaryDarkColor}
|
||||
barStyle="light-content"
|
||||
translucent={false}
|
||||
/>
|
||||
|
||||
<ScrollView style={{
|
||||
flex: 1
|
||||
|
@ -210,6 +238,7 @@ export default class WalletDetail extends Component {
|
|||
renderTabBar={this.renderTabBar}
|
||||
/>
|
||||
</ScrollView>
|
||||
</SafeAreaView>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -217,7 +246,7 @@ export default class WalletDetail extends Component {
|
|||
const styles = StyleSheet.create({
|
||||
container: {
|
||||
flex: 1,
|
||||
backgroundColor: theme.containerBackground
|
||||
backgroundColor: Color.containerBackgroundColor
|
||||
},
|
||||
indicator: {
|
||||
height: 2
|
||||
|
@ -249,5 +278,13 @@ const styles = StyleSheet.create({
|
|||
alignItems: "center",
|
||||
paddingBottom: 20,
|
||||
paddingTop: 20
|
||||
},
|
||||
checkDefault: {
|
||||
flexDirection: "row",
|
||||
justifyContent: "space-between",
|
||||
alignItems: "center",
|
||||
borderBottomWidth: 1,
|
||||
paddingVertical: 15,
|
||||
marginTop: 10
|
||||
}
|
||||
})
|
|
@ -0,0 +1,229 @@
|
|||
import React, { Component } from 'react';
|
||||
import { StyleSheet, View, Image, StatusBar, ScrollView, TouchableOpacity } from 'react-native';
|
||||
import Icon from 'react-native-vector-icons/MaterialCommunityIcons';
|
||||
const route = require('./../../route.json');
|
||||
let slugify = require('slugify');
|
||||
import I18n from 'react-native-i18n'
|
||||
import * as Utils from '../../utils/DeviceUtils';
|
||||
import { Images } from '../../config/Images';
|
||||
import CustomText from '../../components/CustomText';
|
||||
import { Color } from '../../config/Color';
|
||||
import { SafeAreaView } from 'react-navigation';
|
||||
import { baseUrl } from '../../webservice/IlinkConstants';
|
||||
import { IlinkEmitter } from "../../utils/events";
|
||||
import { Provider, Appbar } from 'react-native-paper';
|
||||
|
||||
const card = [
|
||||
{
|
||||
id: "12",
|
||||
name: "Canal +",
|
||||
countryId: "78"
|
||||
},
|
||||
{
|
||||
id: "14",
|
||||
name: "Airtel Money",
|
||||
countryId: "78"
|
||||
},
|
||||
{
|
||||
id: "17",
|
||||
name: "SEEG",
|
||||
countryId: "78"
|
||||
},
|
||||
{
|
||||
id: "19",
|
||||
name: "Juba",
|
||||
countryId: "78"
|
||||
},
|
||||
{
|
||||
id: "77",
|
||||
name: "Mobicash",
|
||||
countryId: "78"
|
||||
},
|
||||
{
|
||||
id: "82",
|
||||
name: "Western Union",
|
||||
countryId: "78"
|
||||
},
|
||||
{
|
||||
id: "95",
|
||||
name: "MoneyGram",
|
||||
countryId: "78"
|
||||
},
|
||||
{
|
||||
id: "100",
|
||||
name: "Express Union",
|
||||
countryId: "78"
|
||||
},
|
||||
{
|
||||
id: "109",
|
||||
name: "Money Express",
|
||||
countryId: "78"
|
||||
},
|
||||
{
|
||||
id: "118",
|
||||
name: "UBA",
|
||||
countryId: "78"
|
||||
},
|
||||
{
|
||||
id: "135",
|
||||
name: "Small World",
|
||||
countryId: "78"
|
||||
},
|
||||
{
|
||||
id: "158",
|
||||
name: "Wari",
|
||||
countryId: "78"
|
||||
},
|
||||
{
|
||||
id: "171",
|
||||
name: "Ria",
|
||||
countryId: "78"
|
||||
},
|
||||
{
|
||||
id: "184",
|
||||
name: "Sigue",
|
||||
countryId: "78"
|
||||
},
|
||||
{
|
||||
id: "197",
|
||||
name: "Ecobank",
|
||||
countryId: "78"
|
||||
},
|
||||
{
|
||||
id: "209",
|
||||
name: "DHL",
|
||||
countryId: "78"
|
||||
},
|
||||
{
|
||||
id: "220",
|
||||
name: "OraBank",
|
||||
countryId: "78"
|
||||
},
|
||||
{
|
||||
id: "223",
|
||||
name: "Satcon",
|
||||
countryId: "78"
|
||||
},
|
||||
{
|
||||
id: "235",
|
||||
name: "FINAM ",
|
||||
countryId: "78"
|
||||
},
|
||||
{
|
||||
id: "237",
|
||||
name: "UBA fs ilink",
|
||||
countryId: "78"
|
||||
}
|
||||
];
|
||||
|
||||
export default class WalletSelect extends Component {
|
||||
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.state = {
|
||||
loading: true
|
||||
}
|
||||
slugify.extend({ '+': 'plus' });
|
||||
IlinkEmitter.on("langueChange", this.updateLangue.bind(this));
|
||||
}
|
||||
|
||||
|
||||
static navigationOptions = ({ navigation }) => ({
|
||||
header: null,
|
||||
headerMode: 'none',
|
||||
headerTitle: null,
|
||||
activeColor: '#f0edf6',
|
||||
inactiveColor: '#3e2465',
|
||||
barStyle: { backgroundColor: '#694fad' },
|
||||
|
||||
drawerLabel: I18n.t('CREDIT_MANAGE'),
|
||||
drawerIcon: ({ tintColor }) => (
|
||||
<Icon
|
||||
name={'credit-card'}
|
||||
size={24}
|
||||
/>)
|
||||
});
|
||||
|
||||
updateLangue() {
|
||||
this.props.navigation.setParams({ name: I18n.t('WALLET') })
|
||||
this.forceUpdate()
|
||||
}
|
||||
|
||||
render() {
|
||||
return (
|
||||
<Provider>
|
||||
<View style={{ flex: 1 }}>
|
||||
|
||||
<StatusBar
|
||||
backgroundColor={Color.primaryDarkColor}
|
||||
barStyle="light-content"
|
||||
translucent={false}
|
||||
/>
|
||||
|
||||
<Appbar.Header dark={true} style={{ backgroundColor: Color.primaryColor }}>
|
||||
<Appbar.BackAction
|
||||
onPress={() => { this.props.navigation.pop() }}
|
||||
/>
|
||||
<Appbar.Content
|
||||
title={I18n.t('WALLET')}
|
||||
subtitle={I18n.t('SELECT_YOUR_WALLET')}
|
||||
/>
|
||||
</Appbar.Header>
|
||||
|
||||
<ScrollView style={{ flex: 1, padding: 20 }}>
|
||||
{
|
||||
card.map((item, index) => {
|
||||
let icon = `${baseUrl}/datas/img/network/${slugify(item.name, { lower: true })}-logo.png`;
|
||||
console.log(icon);
|
||||
return (
|
||||
<TouchableOpacity
|
||||
key={item.id}
|
||||
style={[styles.paymentItem, { borderBottomColor: Color.borderColor }]}
|
||||
onPress={() => this.props.navigation.push('walletDetail')}>
|
||||
<View style={{ flexDirection: 'row', alignItems: 'center' }}>
|
||||
<View style={styles.iconContent}>
|
||||
<Image style={{ width: 48, height: 48 }} source={{ uri: icon }} />
|
||||
</View>
|
||||
<View>
|
||||
<CustomText body1>{item.name}</CustomText>
|
||||
<CustomText footnote grayColor style={{ marginTop: 5 }}>
|
||||
Pays: Gabon
|
||||
</CustomText>
|
||||
</View>
|
||||
</View>
|
||||
{item.primary ? (
|
||||
<CustomText footnote primaryColor>
|
||||
{I18n.t('PRINCIPAL')}
|
||||
</CustomText>
|
||||
) : null}
|
||||
</TouchableOpacity>
|
||||
)
|
||||
})
|
||||
}
|
||||
</ScrollView>
|
||||
</View>
|
||||
</Provider>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
const styles = StyleSheet.create({
|
||||
container: {
|
||||
flex: 1,
|
||||
backgroundColor: Color.containerBackgroundColor,
|
||||
},
|
||||
paymentItem: {
|
||||
flexDirection: "row",
|
||||
alignItems: "center",
|
||||
justifyContent: "space-between",
|
||||
borderBottomWidth: 1,
|
||||
paddingVertical: 5,
|
||||
width: "100%",
|
||||
marginBottom: 15
|
||||
},
|
||||
iconContent: {
|
||||
width: 60,
|
||||
marginRight: 10,
|
||||
alignItems: "center"
|
||||
}
|
||||
});
|
|
@ -1,95 +0,0 @@
|
|||
import React, { Component } from 'react';
|
||||
import { Animated, StyleSheet, View, Image, StatusBar, ScrollView, TouchableOpacity, Alert } from 'react-native';
|
||||
let theme = require('./../../utils/theme.json');
|
||||
import Icon from 'react-native-vector-icons/MaterialCommunityIcons';
|
||||
const route = require('./../../route.json')
|
||||
import I18n from 'react-native-i18n'
|
||||
import { IlinkEmitter } from "../../utils/events";
|
||||
import { TabView, TabBar, SceneMap } from 'react-native-tab-view';
|
||||
import * as Utils from '../../utils/DeviceUtils';
|
||||
import { SafeAreaView } from 'react-navigation';
|
||||
import { Images } from '../../config/Images';
|
||||
import CustomText from '../../components/CustomText';
|
||||
import { Color } from '../../config/Color';
|
||||
import Tag from '../../components/Tag';
|
||||
import WalletDetail from './WalletDetail';
|
||||
|
||||
require('./../../utils/Translations');
|
||||
|
||||
export default class Wallet extends Component {
|
||||
|
||||
constructor(props) {
|
||||
super(props);
|
||||
IlinkEmitter.on("langueChange", this.updateLangue.bind(this));
|
||||
}
|
||||
|
||||
static options(passProps) {
|
||||
return {
|
||||
topBar: {
|
||||
drawBehind: false,
|
||||
visible: true,
|
||||
animate: true,
|
||||
buttonColor: 'white',
|
||||
background: {
|
||||
color: 'white',
|
||||
},
|
||||
rightButtons: []
|
||||
},
|
||||
backButton: {
|
||||
visible: true,
|
||||
color: "white"
|
||||
},
|
||||
buttonColor: "white",
|
||||
background: {
|
||||
color: Color.primaryDarkColor
|
||||
},
|
||||
statusBar: {
|
||||
drawBehind: false,
|
||||
visible: true,
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
static navigationOptions = ({ navigation }) => {
|
||||
return {
|
||||
headerTitle: I18n.t('WALLET'),
|
||||
headerStyle: {
|
||||
backgroundColor: theme.primary,
|
||||
paddingTop: 10
|
||||
},
|
||||
headerTitleStyle: {
|
||||
color: "white"
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
updateLangue() {
|
||||
this.props.navigation.setParams({ name: I18n.t('WALLET') })
|
||||
this.forceUpdate()
|
||||
}
|
||||
|
||||
render() {
|
||||
return (
|
||||
<SafeAreaView forceInset={{ top: 'always' }} style={styles.container}>
|
||||
<StatusBar
|
||||
backgroundColor={Color.primaryDarkColor}
|
||||
barStyle="light-content"
|
||||
translucent={false}
|
||||
/>
|
||||
|
||||
<WalletDetail />
|
||||
|
||||
|
||||
</SafeAreaView>
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
const styles = StyleSheet.create({
|
||||
container: {
|
||||
flex: 1,
|
||||
backgroundColor: theme.containerBackground
|
||||
},
|
||||
|
||||
})
|
|
@ -38,6 +38,9 @@
|
|||
"COMMISSION_ACCOUNT_TITLE": "Commission account",
|
||||
"PRINCIPAL_ACCOUNT_TITLE": "Principal account",
|
||||
"TRANSFER_TO_PRINCIPAL_ACCOUNT": "Transfer commissions",
|
||||
"PRINCIPAL": "Principal",
|
||||
"ENTER_YOUR_CARD_ID": "Please enter your bank card ID",
|
||||
"SELECT_YOUR_WALLET": "Selec your wallet",
|
||||
"THE_ACCOUNT": "Account ",
|
||||
"NO_GEO_POINT_CODE": "You have no free geolocated point",
|
||||
"NO_DEMAND_ADHESION": "You have no membership request",
|
||||
|
|
|
@ -38,6 +38,8 @@
|
|||
"COMMISSION_ACCOUNT_TITLE": "Cpt. commission",
|
||||
"PRINCIPAL_ACCOUNT_TITLE": "Cpt. principal",
|
||||
"TRANSFER_TO_PRINCIPAL_ACCOUNT": "Transférer les commissions",
|
||||
"PRINCIPAL": "Principal",
|
||||
"ENTER_YOUR_CARD_ID": "Entrer vos identifiants bancaires",
|
||||
"THE_ACCOUNT": "Le compte ",
|
||||
"NO_GEO_POINT_CODE": "Vous n'avez aucun point geolocalisé libre",
|
||||
"NO_DEMAND_ADHESION": "Vous n'avez aucune demande d'adhesion",
|
||||
|
@ -161,6 +163,7 @@
|
|||
"SEND": "Envoyer !",
|
||||
"CHANGE_INFORMATION": "Modifier mes informations",
|
||||
"VALIDATE": "Valider",
|
||||
"SELECT_YOUR_WALLET": "Selectionner un wallet",
|
||||
"CONNECT": "Connexion",
|
||||
"TEXT_BIG_CREATE_1": "Inscrivez vous en tant qu'Utilisateur",
|
||||
"TEXT_SUBTITLE_CREATE_1": "Renseignez vos informations personnelles",
|
||||
|
|
|
@ -2,8 +2,8 @@ export const isDebugMode = false
|
|||
//base url test
|
||||
//const baseUrl = "https://ilink-app.com/mobilebackendbeta"
|
||||
//base url production
|
||||
const baseUrl = "https://ilink-app.com/mobilebackend"
|
||||
|
||||
export const baseUrl = "https://ilink-app.com/mobilebackend";
|
||||
export const testBaseUrl = "https://test.ilink-app.com";
|
||||
//base url agent
|
||||
//const baseUrl = "https://ilink-app.com/mobilebackendtest2"
|
||||
|
||||
|
@ -16,5 +16,6 @@ export const networkActionUrl = baseUrl + '/interacted/NetworkAction.php';
|
|||
export const locationActionUrl = baseUrl + '/interacted/LocationAction.php';
|
||||
export const demandeActionUrl = baseUrl + '/interacted/DemandeAction.php';
|
||||
export const configActionUrl = baseUrl + '/interacted/ConfigAction.php'
|
||||
export const walletActionUrl = testBaseUrl + '/walletService/wallets/'
|
||||
export const videoUrl = "https://www.youtube.com/watch?v=wwGPDPsSLWY"
|
||||
export const MARKER_URL = baseUrl + "/interacted/LocationAction.php"
|
||||
|
|
149
yarn.lock
|
@ -624,6 +624,13 @@
|
|||
dependencies:
|
||||
regenerator-runtime "^0.13.4"
|
||||
|
||||
"@babel/runtime@^7.5.5":
|
||||
version "7.9.2"
|
||||
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.9.2.tgz#d90df0583a3a252f09aaa619665367bae518db06"
|
||||
integrity sha512-NE2DtOdufG7R5vnfQUTehdTfNycfUANEtCa9PssN9O/xmTzP4E08UI797ixaei6hBEVL9BI/PsdJS5x7mWoB9Q==
|
||||
dependencies:
|
||||
regenerator-runtime "^0.13.4"
|
||||
|
||||
"@babel/template@^7.0.0", "@babel/template@^7.4.0", "@babel/template@^7.8.3", "@babel/template@^7.8.6":
|
||||
version "7.8.6"
|
||||
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.6.tgz#86b22af15f828dfb086474f964dcc3e39c43ce2b"
|
||||
|
@ -873,6 +880,13 @@
|
|||
"@types/yargs" "^15.0.0"
|
||||
chalk "^3.0.0"
|
||||
|
||||
"@react-native-community/async-storage@^1.9.0":
|
||||
version "1.9.0"
|
||||
resolved "https://registry.yarnpkg.com/@react-native-community/async-storage/-/async-storage-1.9.0.tgz#af26a8879bd2987970fbbe81a9623851d29a56f1"
|
||||
integrity sha512-TlGMr02JcmY4huH1P7Mt7p6wJecosPpW+09+CwCFLn875IhpRqU2XiVA+BQppZOYfQdHUfUzIKyCBeXOlCEbEg==
|
||||
dependencies:
|
||||
deep-assign "^3.0.0"
|
||||
|
||||
"@react-native-community/cli-debugger-ui@^3.0.0":
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-3.0.0.tgz#d01d08d1e5ddc1633d82c7d84d48fff07bd39416"
|
||||
|
@ -1448,6 +1462,13 @@ aws4@^1.8.0:
|
|||
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.9.1.tgz#7e33d8f7d449b3f673cd72deb9abdc552dbe528e"
|
||||
integrity sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==
|
||||
|
||||
axios@^0.19.2:
|
||||
version "0.19.2"
|
||||
resolved "https://registry.yarnpkg.com/axios/-/axios-0.19.2.tgz#3ea36c5d8818d0d5f8a8a97a6d36b86cdc00cb27"
|
||||
integrity sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==
|
||||
dependencies:
|
||||
follow-redirects "1.5.10"
|
||||
|
||||
babel-code-frame@^6.26.0:
|
||||
version "6.26.0"
|
||||
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
|
||||
|
@ -2223,6 +2244,14 @@ capture-exit@^2.0.0:
|
|||
dependencies:
|
||||
rsvp "^4.8.4"
|
||||
|
||||
card-validator@^3.0.0:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/card-validator/-/card-validator-3.0.1.tgz#dcc2fabd6a1cd21f361b2536423a72de99a0894f"
|
||||
integrity sha1-3ML6vWoc0h82GyU2Qjpy3pmgiU8=
|
||||
dependencies:
|
||||
credit-card-type "^5.0.0"
|
||||
lodash "3.10.1"
|
||||
|
||||
caseless@~0.11.0:
|
||||
version "0.11.0"
|
||||
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7"
|
||||
|
@ -2582,6 +2611,11 @@ create-react-context@^0.2.1, create-react-context@^0.2.3:
|
|||
fbjs "^0.8.0"
|
||||
gud "^1.0.0"
|
||||
|
||||
credit-card-type@^5.0.0:
|
||||
version "5.0.4"
|
||||
resolved "https://registry.yarnpkg.com/credit-card-type/-/credit-card-type-5.0.4.tgz#2dd9df280411ce2bb91ed95ac31e814605717aed"
|
||||
integrity sha1-LdnfKAQRziu5Htlawx6BRgVxeu0=
|
||||
|
||||
cross-spawn@^5.0.1, cross-spawn@^5.1.0:
|
||||
version "5.1.0"
|
||||
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
|
||||
|
@ -2675,6 +2709,13 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8:
|
|||
dependencies:
|
||||
ms "2.0.0"
|
||||
|
||||
debug@=3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
|
||||
integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==
|
||||
dependencies:
|
||||
ms "2.0.0"
|
||||
|
||||
debug@^3.1.0, debug@^3.2.6:
|
||||
version "3.2.6"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
|
||||
|
@ -2757,6 +2798,13 @@ dedent@^0.6.0:
|
|||
resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.6.0.tgz#0e6da8f0ce52838ef5cec5c8f9396b0c1b64a3cb"
|
||||
integrity sha1-Dm2o8M5Sg471zsXI+TlrDBtko8s=
|
||||
|
||||
deep-assign@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/deep-assign/-/deep-assign-3.0.0.tgz#c8e4c4d401cba25550a2f0f486a2e75bc5f219a2"
|
||||
integrity sha512-YX2i9XjJ7h5q/aQ/IM9PEwEnDqETAIYbggmdDB3HLTlSgo1CxPsj6pvhPG68rq6SVE0+p+6Ywsm5fTYNrYtBWw==
|
||||
dependencies:
|
||||
is-obj "^1.0.0"
|
||||
|
||||
deep-extend@^0.6.0:
|
||||
version "0.6.0"
|
||||
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
|
||||
|
@ -3391,6 +3439,13 @@ flow-copy-source@^1.3.0:
|
|||
kefir "^3.7.3"
|
||||
yargs "^11.0.0"
|
||||
|
||||
follow-redirects@1.5.10:
|
||||
version "1.5.10"
|
||||
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a"
|
||||
integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==
|
||||
dependencies:
|
||||
debug "=3.1.0"
|
||||
|
||||
for-in@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
|
||||
|
@ -4031,6 +4086,11 @@ is-number@^3.0.0:
|
|||
dependencies:
|
||||
kind-of "^3.0.2"
|
||||
|
||||
is-obj@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
|
||||
integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8=
|
||||
|
||||
is-plain-object@^2.0.3, is-plain-object@^2.0.4:
|
||||
version "2.0.4"
|
||||
resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
|
||||
|
@ -4777,11 +4837,26 @@ locate-path@^5.0.0:
|
|||
dependencies:
|
||||
p-locate "^4.1.0"
|
||||
|
||||
lodash.compact@^3.0.1:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/lodash.compact/-/lodash.compact-3.0.1.tgz#540ce3837745975807471e16b4a2ba21e7256ca5"
|
||||
integrity sha1-VAzjg3dFl1gHRx4WtKK6IeclbKU=
|
||||
|
||||
lodash.every@^4.6.0:
|
||||
version "4.6.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.every/-/lodash.every-4.6.0.tgz#eb89984bebc4364279bb3aefbbd1ca19bfa6c6a7"
|
||||
integrity sha1-64mYS+vENkJ5uzrvu9HKGb+mxqc=
|
||||
|
||||
lodash.isequal@^4.1.4, lodash.isequal@^4.5.0:
|
||||
version "4.5.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
|
||||
integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA=
|
||||
|
||||
lodash.pick@^4.4.0:
|
||||
version "4.4.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3"
|
||||
integrity sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=
|
||||
|
||||
lodash.sortby@^4.7.0:
|
||||
version "4.7.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
|
||||
|
@ -4792,6 +4867,16 @@ lodash.throttle@^4.1.1:
|
|||
resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4"
|
||||
integrity sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=
|
||||
|
||||
lodash.values@^4.3.0:
|
||||
version "4.3.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.values/-/lodash.values-4.3.0.tgz#a3a6c2b0ebecc5c2cba1c17e6e620fe81b53d347"
|
||||
integrity sha1-o6bCsOvsxcLLocF+bmIP6BtT00c=
|
||||
|
||||
lodash@3.10.1:
|
||||
version "3.10.1"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6"
|
||||
integrity sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=
|
||||
|
||||
lodash@^4.0.0, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.3.0, lodash@^4.6.1:
|
||||
version "4.17.15"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
|
||||
|
@ -6119,6 +6204,11 @@ react-is@^16.12.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.3, react-i
|
|||
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.0.tgz#0f37c3613c34fe6b37cd7f763a0d6293ab15c527"
|
||||
integrity sha512-GFMtL0vHkiBv9HluwNZTggSn/sCyEt9n02aM0dSAjGGyqyNlAyftYm4phPxdvCigG15JreC5biwxCgTAJZ7yAA==
|
||||
|
||||
react-is@^16.9.0:
|
||||
version "16.13.1"
|
||||
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
|
||||
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
|
||||
|
||||
react-lifecycles-compat@^3.0.4:
|
||||
version "3.0.4"
|
||||
resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362"
|
||||
|
@ -6188,6 +6278,19 @@ react-native-copilot@^2.4.3:
|
|||
hoist-non-react-statics "^3.0.1"
|
||||
mitt "^1.1.3"
|
||||
|
||||
react-native-credit-card-input@^0.4.1:
|
||||
version "0.4.1"
|
||||
resolved "https://registry.yarnpkg.com/react-native-credit-card-input/-/react-native-credit-card-input-0.4.1.tgz#e62dd1a9beeab6787e5373ba23b93831cbf5f3de"
|
||||
integrity sha1-5i3Rqb7qtnh+U3O6I7k4Mcv1894=
|
||||
dependencies:
|
||||
card-validator "^3.0.0"
|
||||
lodash.compact "^3.0.1"
|
||||
lodash.every "^4.6.0"
|
||||
lodash.pick "^4.4.0"
|
||||
lodash.values "^4.3.0"
|
||||
prop-types "^15.6.0"
|
||||
react-native-flip-card "^3.4.1"
|
||||
|
||||
react-native-db-models@^0.1.3:
|
||||
version "0.1.3"
|
||||
resolved "https://registry.yarnpkg.com/react-native-db-models/-/react-native-db-models-0.1.3.tgz#be4a9f54d711afb46b3ff1c502d62de3154d1a64"
|
||||
|
@ -6216,6 +6319,13 @@ react-native-elements@^1.1.0:
|
|||
react-native-ratings "^6.3.0"
|
||||
react-native-status-bar-height "^2.2.0"
|
||||
|
||||
react-native-flip-card@^3.4.1:
|
||||
version "3.5.5"
|
||||
resolved "https://registry.yarnpkg.com/react-native-flip-card/-/react-native-flip-card-3.5.5.tgz#14f13d5178660e5365e7be4ed8dbb6ff289dd1e8"
|
||||
integrity sha512-7PCMfsQ/7K8oN0NVusYNgK4sanY7KLimnPVj5TadkQaSm0zEi7/Jy/rHfnNQQibNBImov6zzQkmcP8ch6RN5Yw==
|
||||
dependencies:
|
||||
prop-types "^15.5.10"
|
||||
|
||||
react-native-geolocation-service@4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/react-native-geolocation-service/-/react-native-geolocation-service-4.0.0.tgz#257187ea08965dac16016edd383454d310eb7809"
|
||||
|
@ -6597,6 +6707,17 @@ react-proxy@^1.1.7:
|
|||
lodash "^4.6.1"
|
||||
react-deep-force-update "^1.0.0"
|
||||
|
||||
react-redux@^7.2.0:
|
||||
version "7.2.0"
|
||||
resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.2.0.tgz#f970f62192b3981642fec46fd0db18a074fe879d"
|
||||
integrity sha512-EvCAZYGfOLqwV7gh849xy9/pt55rJXPwmYvI4lilPM5rUT/1NxuuN59ipdBksRVSvz0KInbPnp4IfoXJXCqiDA==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.5.5"
|
||||
hoist-non-react-statics "^3.3.0"
|
||||
loose-envify "^1.4.0"
|
||||
prop-types "^15.7.2"
|
||||
react-is "^16.9.0"
|
||||
|
||||
react-refresh@^0.4.0:
|
||||
version "0.4.2"
|
||||
resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.4.2.tgz#54a277a6caaac2803d88f1d6f13c1dcfbd81e334"
|
||||
|
@ -6728,6 +6849,24 @@ reanimated-bottom-sheet@^1.0.0-alpha.10:
|
|||
resolved "https://registry.yarnpkg.com/reanimated-bottom-sheet/-/reanimated-bottom-sheet-1.0.0-alpha.19.tgz#94ea79e7b2896b8f489547415d15d15c99ac44ba"
|
||||
integrity sha512-Q0sGUHYdr5h2n/AY7pKQty35zcUAxxYM1nCl+luSQAyqiY6a5Kf8IBQRsOVvs60sDzqXxtbwxHgM5mkwaiQC4Q==
|
||||
|
||||
redux-persist@^6.0.0:
|
||||
version "6.0.0"
|
||||
resolved "https://registry.yarnpkg.com/redux-persist/-/redux-persist-6.0.0.tgz#b4d2972f9859597c130d40d4b146fecdab51b3a8"
|
||||
integrity sha512-71LLMbUq2r02ng2We9S215LtPu3fY0KgaGE0k8WRgl6RkqxtGfl7HUozz1Dftwsb0D/5mZ8dwAaPbtnzfvbEwQ==
|
||||
|
||||
redux-thunk@^2.3.0:
|
||||
version "2.3.0"
|
||||
resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.3.0.tgz#51c2c19a185ed5187aaa9a2d08b666d0d6467622"
|
||||
integrity sha512-km6dclyFnmcvxhAcrQV2AkZmPQjzPDjgVlQtR0EQjxZPyJ0BnMf3in1ryuR8A2qU0HldVRfxYXbFSKlI3N7Slw==
|
||||
|
||||
redux@^4.0.5:
|
||||
version "4.0.5"
|
||||
resolved "https://registry.yarnpkg.com/redux/-/redux-4.0.5.tgz#4db5de5816e17891de8a80c424232d06f051d93f"
|
||||
integrity sha512-VSz1uMAH24DM6MF72vcojpYPtrTUu3ByVWfPL1nPfVRb5mZVTve5GnNCUV53QM/BZ66xfWrm0CTWoM+Xlz8V1w==
|
||||
dependencies:
|
||||
loose-envify "^1.4.0"
|
||||
symbol-observable "^1.2.0"
|
||||
|
||||
regenerate-unicode-properties@^8.2.0:
|
||||
version "8.2.0"
|
||||
resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec"
|
||||
|
@ -7203,6 +7342,11 @@ slide@^1.1.5:
|
|||
resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707"
|
||||
integrity sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=
|
||||
|
||||
slugify@^1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/slugify/-/slugify-1.4.0.tgz#c9557c653c54b0c7f7a8e786ef3431add676d2cb"
|
||||
integrity sha512-FtLNsMGBSRB/0JOE2A0fxlqjI6fJsgHGS13iTuVT28kViI4JjUiNqp/vyis0ZXYcMnpR3fzGNkv+6vRlI2GwdQ==
|
||||
|
||||
snapdragon-node@^2.0.1:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
|
||||
|
@ -7511,6 +7655,11 @@ symbol-observable@1.0.4:
|
|||
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d"
|
||||
integrity sha1-Kb9hXUqnEhvdiYsi1LP5vE4qoD0=
|
||||
|
||||
symbol-observable@^1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804"
|
||||
integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==
|
||||
|
||||
symbol-tree@^3.2.2:
|
||||
version "3.2.4"
|
||||
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
|
||||
|
|