adhesion ok

This commit is contained in:
Brice Zele 2020-08-19 07:25:24 +01:00
parent e43d6dc6b1
commit 5215f637fe
28 changed files with 2303 additions and 116 deletions

70
App.js
View File

@ -77,6 +77,7 @@ import { bindActionCreators } from 'redux';
import DemandValidationGroup from './screens/nano-credit/DemandGroupNanoCredit'; import DemandValidationGroup from './screens/nano-credit/DemandGroupNanoCredit';
import DemandGroupNanoCreditDetail from './screens/nano-credit/DemandGroupNanoCreditDetail'; import DemandGroupNanoCreditDetail from './screens/nano-credit/DemandGroupNanoCreditDetail';
import NavigationService from './utils/NavigationService'; import NavigationService from './utils/NavigationService';
import AdhererGroupNanoCredit from './screens/nano-credit/AdhererGroupNanoCredit';
const instructions = Platform.select({ const instructions = Platform.select({
ios: 'Press Cmd+R to reload,\n' + 'Cmd+D or shake for dev menu', ios: 'Press Cmd+R to reload,\n' + 'Cmd+D or shake for dev menu',
@ -161,7 +162,8 @@ const AppStack = createDrawerNavigator({
/>) />)
}), }),
}, },
demandeValidationGroupe: DemandGroupNanoCreditDetail demandeValidationGroupe: DemandGroupNanoCreditDetail,
adhererGroupNanoCredit: AdhererGroupNanoCredit
}) })
}, { contentComponent: OptionsMenu, headerMode: 'none', contentOptions: { activeTintColor: theme.accent } }) }, { contentComponent: OptionsMenu, headerMode: 'none', contentOptions: { activeTintColor: theme.accent } })
@ -388,6 +390,31 @@ class App extends React.Component {
} }
} }
goToScreen = (routeName, params, isReset = true) => {
const { navigator } = this.refs;
navigator.dispatch({
type: "Navigation/NAVIGATE",
routeName,
params
});
};
handleDeepLink = (openResult) => {
const data = openResult.notification.payload.additionalData;
this.goToScreen(data.screen, {
id: data.data.id
});
/* if (data && data.id) {
this.goToScreen(data.screen, {
id: data.id,
goToScreen: this.goToScreen
});
} else {
console.log("notification is invalid data");
} */
};
componentWillUnmount() { componentWillUnmount() {
OneSignal.removeEventListener('received', this.onReceived); OneSignal.removeEventListener('received', this.onReceived);
OneSignal.removeEventListener('opened', this.onOpened); OneSignal.removeEventListener('opened', this.onOpened);
@ -398,9 +425,9 @@ class App extends React.Component {
console.log("Notification received: ", notification); console.log("Notification received: ", notification);
} }
onOpened(openResult) { onOpened = (openResult) => {
let data = openResult.notification.payload.additionalData; let data = openResult.notification.payload.additionalData;
//this.handleDeepLink(openResult); this.handleDeepLink(openResult);
console.log('Message: ', openResult.notification.payload.body); console.log('Message: ', openResult.notification.payload.body);
console.log('Data: ', openResult.notification.payload.additionalData); console.log('Data: ', openResult.notification.payload.additionalData);
console.log('isActive: ', openResult.notification.isAppInFocus); console.log('isActive: ', openResult.notification.isAppInFocus);
@ -425,43 +452,6 @@ class App extends React.Component {
}); });
} }
handleDeepLink = openResult => {
const data = openResult.notification.payload.additionalData;
//this.props.setInitialNotification(openResult);
if (data && data.id) {
/* this.goToScreen(data.screen, {
id: data.id,
goToScreen: this.goToScreen
}); */
this.goToScreen("useraccount", {
goToScreen: this.goToScreen
});
} else {
console.log("notification is invalid data");
}
};
goToScreen = (routeName, params, isReset = true) => {
const { navigator } = this.refs;
console.log("APP REFS", this.refs);
// navigator.dispatch({
// type: "Navigation/NAVIGATE",
// routeName,
// params
// });
// if (isReset) {
// const resetAction = NavigationActions.reset({
// index: 0,
// actions: [NavigationActions.navigate({routeName, params})]
// });
// navigator.dispatch(resetAction);
// } else {
// navigator.dispatch({type: 'Navigation/NAVIGATE', routeName: routeName, params});
// }
// this.closeSideMenu();
};
render() { render() {
return ( return (
<Provider store={store}> <Provider store={store}>

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 B

View File

@ -55,5 +55,6 @@
"modifyIdentificationUser": "modifyIdentificationUser", "modifyIdentificationUser": "modifyIdentificationUser",
"createGroupNanoCredit": "createGroupNanoCredit", "createGroupNanoCredit": "createGroupNanoCredit",
"groupNanoCredit": "groupNanoCredit", "groupNanoCredit": "groupNanoCredit",
"demandGroupNanoCreditDetail": "demandeValidationGroupe" "demandGroupNanoCreditDetail": "demandeValidationGroupe",
"adhererGroupNanoCredit": "adhererGroupNanoCredit"
} }

View File

@ -108,6 +108,7 @@
"VALIDATION_DEMAND": "Validation request", "VALIDATION_DEMAND": "Validation request",
"DELETE_DEMAND": "Deletion request", "DELETE_DEMAND": "Deletion request",
"GROUP_INFOS": "Fill in the group information", "GROUP_INFOS": "Fill in the group information",
"GROUP_CODE": "Group code",
"NOM_GROUP": "Group name", "NOM_GROUP": "Group name",
"GROUP": "Group", "GROUP": "Group",
"LIMIT_OF_CREDIT": "Credit limit", "LIMIT_OF_CREDIT": "Credit limit",
@ -331,6 +332,10 @@
"SEND": "Send", "SEND": "Send",
"CHANGE_INFORMATION": "Change my information", "CHANGE_INFORMATION": "Change my information",
"VALIDATE": "Validate", "VALIDATE": "Validate",
"NO_VALIDATE": "Invalid",
"VALIDATION": "validation",
"VALIDATIONS": "validations",
"LIMITE_GROUP": "Credit limit",
"CONNECT": "Connection", "CONNECT": "Connection",
"TEXT_BIG_CREATE_1": "Register as a User", "TEXT_BIG_CREATE_1": "Register as a User",
"TEXT_SUBTITLE_CREATE_1": "Fill in your personal information", "TEXT_SUBTITLE_CREATE_1": "Fill in your personal information",

View File

@ -110,8 +110,11 @@
"VALIDATION_DEMAND": "Demandes de validation", "VALIDATION_DEMAND": "Demandes de validation",
"DELETE_DEMAND": "Demande de suppression", "DELETE_DEMAND": "Demande de suppression",
"GROUP_INFOS": "Renseigner les informations du groupe", "GROUP_INFOS": "Renseigner les informations du groupe",
"GROUP_CODE": "Code du groupe",
"SUCCESS_CREATION_GROUP": "Informations sur la création", "SUCCESS_CREATION_GROUP": "Informations sur la création",
"ERROR_CREATION_GROUP": "Erreur de création", "ERROR_CREATION_GROUP": "Erreur de création",
"ERROR_JOIN_GROUP": "Erreur d'adhésion",
"SUCCES_JOIN_GROUP": "Adhésion réussie",
"NOM_GROUP": "Nom du groupe", "NOM_GROUP": "Nom du groupe",
"GROUP": "Groupe", "GROUP": "Groupe",
"LIMIT_OF_CREDIT": "Limite du crédit", "LIMIT_OF_CREDIT": "Limite du crédit",
@ -337,6 +340,7 @@
"NO_VALIDATE": "Non validé", "NO_VALIDATE": "Non validé",
"VALIDATION": "validation", "VALIDATION": "validation",
"VALIDATIONS": "validations", "VALIDATIONS": "validations",
"LIMITE_GROUP": "Limite crédit",
"SELECT_YOUR_WALLET": "Selectionner un wallet", "SELECT_YOUR_WALLET": "Selectionner un wallet",
"CONNECT": "Connexion", "CONNECT": "Connexion",
"TEXT_BIG_CREATE_1": "Inscrivez vous en tant qu'Utilisateur", "TEXT_BIG_CREATE_1": "Inscrivez vous en tant qu'Utilisateur",

View File

@ -57,6 +57,7 @@
"react-native-material-cards": "^1.0.9", "react-native-material-cards": "^1.0.9",
"react-native-material-dialog": "^0.7.6", "react-native-material-dialog": "^0.7.6",
"react-native-material-dropdown": "^0.11.1", "react-native-material-dropdown": "^0.11.1",
"react-native-onesignal": "^3.9.0",
"react-native-paper": "^2.16.0", "react-native-paper": "^2.16.0",
"react-native-phone-call": "^1.0.9", "react-native-phone-call": "^1.0.9",
"react-native-popup-dialog": "^0.18.3", "react-native-popup-dialog": "^0.18.3",
@ -75,7 +76,7 @@
"react-native-tab-view": "^2.14.0", "react-native-tab-view": "^2.14.0",
"react-native-textinput-effects": "^0.5.1", "react-native-textinput-effects": "^0.5.1",
"react-native-vector-icons": "^6.5.0", "react-native-vector-icons": "^6.5.0",
"react-navigation": "^3.11.0", "react-navigation": "3.9.1",
"react-navigation-material-bottom-tabs": "^1.0.0", "react-navigation-material-bottom-tabs": "^1.0.0",
"react-redux": "^7.2.0", "react-redux": "^7.2.0",
"realm": "^3.6.5", "realm": "^3.6.5",

View File

@ -1,4 +1,4 @@
import { CREATE_GROUP_PENDING, CREATE_GROUP_SUCCESS, CREATE_GROUP_ERROR, CREATE_GROUP_RESET, GET_DEMAND_GROUP_PENDING, GET_DEMAND_GROUP_SUCCESS, GET_DEMAND_GROUP_ERROR, GET_DEMAND_GROUP_RESET, GET_UNIQUE_DEMAND_GROUP_PENDING, GET_UNIQUE_DEMAND_GROUP_RESET, GET_UNIQUE_DEMAND_GROUP_ERROR, GET_UNIQUE_DEMAND_GROUP_SUCCESS, TREAT_DEMAND_GROUP_PENDING, TREAT_DEMAND_GROUP_SUCCESS, TREAT_DEMAND_GROUP_ERROR, TREAT_DEMAND_GROUP_RESET } from "../types/NanoCreditType"; import { CREATE_GROUP_PENDING, CREATE_GROUP_SUCCESS, CREATE_GROUP_ERROR, CREATE_GROUP_RESET, GET_DEMAND_GROUP_PENDING, GET_DEMAND_GROUP_SUCCESS, GET_DEMAND_GROUP_ERROR, GET_DEMAND_GROUP_RESET, GET_UNIQUE_DEMAND_GROUP_PENDING, GET_UNIQUE_DEMAND_GROUP_RESET, GET_UNIQUE_DEMAND_GROUP_ERROR, GET_UNIQUE_DEMAND_GROUP_SUCCESS, TREAT_DEMAND_GROUP_PENDING, TREAT_DEMAND_GROUP_SUCCESS, TREAT_DEMAND_GROUP_ERROR, TREAT_DEMAND_GROUP_RESET, JOIN_GROUP_PENDING, JOIN_GROUP_SUCCESS, JOIN_GROUP_RESET, JOIN_GROUP_ERROR } from "../types/NanoCreditType";
export const fetchCreateGroupPending = () => ({ export const fetchCreateGroupPending = () => ({
type: CREATE_GROUP_PENDING type: CREATE_GROUP_PENDING
@ -71,3 +71,22 @@ export const fetchTreatDemandsGroupError = (error) => ({
export const fetchTreatDemandsGroupReset = () => ({ export const fetchTreatDemandsGroupReset = () => ({
type: TREAT_DEMAND_GROUP_RESET type: TREAT_DEMAND_GROUP_RESET
}); });
export const fetchJoinGroupPending = () => ({
type: JOIN_GROUP_PENDING
});
export const fetchJoinGroupSuccess = (res) => ({
type: JOIN_GROUP_SUCCESS,
result: res,
});
export const fetchJoinGroupError = (error) => ({
type: JOIN_GROUP_ERROR,
result: error
});
export const fetchJoinGroupReset = () => ({
type: JOIN_GROUP_RESET
});

View File

@ -0,0 +1,33 @@
import { JOIN_GROUP_SUCCESS, JOIN_GROUP_ERROR, JOIN_GROUP_PENDING, JOIN_GROUP_RESET } from "../types/NanoCreditType";
const initialState = {
loading: false,
result: null,
error: null
};
export default (state = initialState, action) => {
switch (action.type) {
case JOIN_GROUP_PENDING: return {
...state,
loading: true
}
case JOIN_GROUP_SUCCESS: return {
...state,
loading: false,
result: action.result.data,
error: null
}
case JOIN_GROUP_ERROR: return {
...state,
loading: false,
result: null,
error: action.result
}
case JOIN_GROUP_RESET: return initialState;
default: {
return state;
}
}
};

View File

@ -29,6 +29,7 @@ import SaveOnesignalReducer from "./SaveOnesignalReducer";
import GetDemandsGroupReducer from "./GetDemandsGroupReducer"; import GetDemandsGroupReducer from "./GetDemandsGroupReducer";
import GetUniqueDemandsGroupReducer from "./GetUniqueDemandsGroupReducer"; import GetUniqueDemandsGroupReducer from "./GetUniqueDemandsGroupReducer";
import TreatDemandGroupReducer from "./TreatDemandGroupReducer"; import TreatDemandGroupReducer from "./TreatDemandGroupReducer";
import JoinGroupReducer from "./JoinGroupReducer";
const persistConfig = { const persistConfig = {
key: 'root', key: 'root',
@ -68,6 +69,7 @@ const rootReducer = persistCombineReducers(persistConfig, {
getDemandsGroupReducer: GetDemandsGroupReducer, getDemandsGroupReducer: GetDemandsGroupReducer,
getUniqueDemandsGroupReducer: GetUniqueDemandsGroupReducer, getUniqueDemandsGroupReducer: GetUniqueDemandsGroupReducer,
treatDemandGroupReducer: TreatDemandGroupReducer, treatDemandGroupReducer: TreatDemandGroupReducer,
joinGroupReducer: JoinGroupReducer
}); });

View File

@ -17,3 +17,8 @@ export const TREAT_DEMAND_GROUP_PENDING = 'TREAT_DEMAND_GROUP_PENDING';
export const TREAT_DEMAND_GROUP_SUCCESS = 'TREAT_DEMAND_GROUP_SUCCESS'; export const TREAT_DEMAND_GROUP_SUCCESS = 'TREAT_DEMAND_GROUP_SUCCESS';
export const TREAT_DEMAND_GROUP_ERROR = 'TREAT_DEMAND_GROUP_ERROR'; export const TREAT_DEMAND_GROUP_ERROR = 'TREAT_DEMAND_GROUP_ERROR';
export const TREAT_DEMAND_GROUP_RESET = 'TREAT_DEMAND_GROUP_RESET'; export const TREAT_DEMAND_GROUP_RESET = 'TREAT_DEMAND_GROUP_RESET';
export const JOIN_GROUP_PENDING = 'JOIN_GROUP_PENDING';
export const JOIN_GROUP_SUCCESS = 'JOIN_GROUP_SUCCESS';
export const JOIN_GROUP_ERROR = 'JOIN_GROUP_ERROR';
export const JOIN_GROUP_RESET = 'JOIN_GROUP_RESET';

View File

@ -55,5 +55,6 @@
"modifyIdentificationUser": "modifyIdentificationUser", "modifyIdentificationUser": "modifyIdentificationUser",
"createGroupNanoCredit": "createGroupNanoCredit", "createGroupNanoCredit": "createGroupNanoCredit",
"groupNanoCredit": "groupNanoCredit", "groupNanoCredit": "groupNanoCredit",
"demandGroupNanoCreditDetail": "demandeValidationGroupe" "demandGroupNanoCreditDetail": "demandeValidationGroupe",
"adhererGroupNanoCredit": "adhererGroupNanoCredit"
} }

View File

@ -657,32 +657,8 @@ class Home extends BaseScreen {
//IlinkEmitter.on("langueChange", this.updateLangue.bind(this)) //IlinkEmitter.on("langueChange", this.updateLangue.bind(this))
OneSignal.addEventListener('received', this.onReceived);
OneSignal.addEventListener('opened', this.onOpened);
//OneSignal.addEventListener('ids', this.onIds);
}; };
componentWillUnmount() {
OneSignal.removeEventListener('received', this.onReceived);
OneSignal.removeEventListener('opened', this.onOpened);
//OneSignal.removeEventListener('ids', this.onIds);
}
onReceived(notification) {
console.log("Notification received: ", notification);
}
onOpened(openResult) {
let data = openResult.notification.payload.additionalData;
this.props.navigation.push()
/* this.props.navigation.navigate(data.screen, {
id: data.data.id
}); */
//NavigationService.navigate('useraccount');
}
/* updateLangue() { /* updateLangue() {
this.props.navigation.setParams({ name: I18n.t('MAP') }) this.props.navigation.setParams({ name: I18n.t('MAP') })
this.forceUpdate(); this.forceUpdate();
@ -1450,7 +1426,6 @@ class Home extends BaseScreen {
translucent={true} translucent={true}
/> />
{/* Start here to comment */} {/* Start here to comment */}
{/*
{ {
(this.state.loadingDialog || this.props.loading) ? (this.state.loadingDialog || this.props.loading) ?
<View <View
@ -1487,7 +1462,7 @@ class Home extends BaseScreen {
this.setState({ showProgress: false }) this.setState({ showProgress: false })
Alert.alert(I18n.t("PROBLEM_OCCUR"), I18n.t("PROBLEM_OCCUR_DIRECTION"), [{ text: "Ok", onPress: () => { } }]) Alert.alert(I18n.t("PROBLEM_OCCUR"), I18n.t("PROBLEM_OCCUR_DIRECTION"), [{ text: "Ok", onPress: () => { } }])
}} }}
/> */} />
{this.makeCardSearch()} {this.makeCardSearch()}
{this.makeSlidingUp()} {this.makeSlidingUp()}
{this.makeDialogLoader()} {this.makeDialogLoader()}

View File

@ -0,0 +1,263 @@
import Button from 'apsl-react-native-button';
import isEqual from 'lodash/isEqual';
import isNil from 'lodash/isNil';
import React, { Component } from 'react';
import { Alert, ScrollView, StyleSheet, Text, View } from 'react-native';
import * as Animatable from 'react-native-animatable';
import I18n from 'react-native-i18n';
import { responsiveHeight, responsiveWidth } from 'react-native-responsive-dimensions';
import { ProgressDialog } from 'react-native-simple-dialogs';
import { Fumi } from 'react-native-textinput-effects';
import FontAwesomeIcon from 'react-native-vector-icons/FontAwesome';
import { connect } from 'react-redux';
import { bindActionCreators } from 'redux';
import { Color } from '../../config/Color';
import { FontWeight, Typography } from '../../config/typography';
import { store } from "../../redux/store";
import { IlinkEmitter } from '../../utils/events';
import { readUser } from '../../webservice/AuthApi';
import { joinGroupAction, joinGroupReset } from '../../webservice/NanoCreditApi';
let theme = require('../../utils/theme.json');
let route = require('../../route.json');
class AdhererGroupNanoCredit extends Component {
static navigatorStyle = {
navBarBackgroundColor: Color.primaryColor,
statusBarColor: Color.primaryDarkColor,
navBarTextColor: '#FFFFFF',
navBarButtonColor: '#FFFFFF'
};
static navigationOptions = () => {
return {
drawerLabel: () => null,
headerTitle: I18n.t('JOIN_GROUP'),
headerTintColor: 'white',
headerStyle: {
backgroundColor: Color.primaryColor,
marginTop: 0,
color: 'white'
},
headerTitleStyle: {
color: "white"
},
title: I18n.t('JOIN_GROUP')
}
};
constructor(props) {
super(props);
this.state = {
codeGroupe: null,
codeSponsor: null,
nomGroupe: null,
user: null,
triggerSubmitClick: false,
isSubmitClick: false,
isDataSubmit: false,
isModalConfirmVisible: false,
wallet: store.getState().walletDetailReducer.result.response
};
}
componentDidMount() {
readUser().then((user) => {
if (user) {
if (user !== undefined) {
this.setState({ user });
}
}
});
}
ckeckIfFieldIsOK(champ) {
return (isNil(champ) || isEqual(champ.length, 0));
}
renderCreateGroupReponse = () => {
const { result, error } = this.props;
if (error !== null) {
if (typeof error.data !== 'undefined') {
Alert.alert(
I18n.t("ERROR_JOIN_GROUP"),
error.data.error,
[
{
text: I18n.t("OK"), onPress: () => {
this.props.joinGroupReset();
}
}
],
{ cancelable: false }
)
}
}
if (result !== null) {
if (result.response !== null) {
Alert.alert(
I18n.t("SUCCES_JOIN_GROUP"),
result.response,
[
{
text: I18n.t("OK"), onPress: () => {
this.props.joinGroupReset();
IlinkEmitter.emit("treatNanoGroupDemand");
this.props.navigation.pop();
}
}
],
{ cancelable: false }
)
}
}
}
updateLangue() {
this.props.navigation.setParams({ name: I18n.t('DEPOSIT_TO_CARD') })
this.forceUpdate()
}
onSubmitSendWalletToCard = () => {
const { codeGroupe } = this.state;
if (this.ckeckIfFieldIsOK(codeGroupe))
this.nomGroupeAnim.shake(800);
else {
this.props.joinGroupAction({
id_user: this.state.user.id,
code_groupe: this.state.codeGroupe,
code_sponsor: this.state.user.user_code,
id_user: 12
});
}
this.setState({
isDataSubmit: true
});
}
renderLoader = () => {
return (
<ProgressDialog
visible={this.props.loading}
title={I18n.t('LOADING')}
message={I18n.t('LOADING_INFO')}
/>
)
}
render() {
return (
<>
{(this.props.loading) && this.renderLoader()}
{this.state.isDataSubmit && this.renderCreateGroupReponse()}
<ScrollView style={styles.container}>
<Text style={styles.subbigtitle}>{I18n.t('GROUP_INFOS')}</Text>
<Animatable.View ref={(comp) => { this.nomGroupeAnim = comp }}>
<Fumi iconClass={FontAwesomeIcon} iconName={'code'}
label={I18n.t('GROUP_CODE')}
iconColor={'#f95a25'}
iconSize={20}
value={this.state.codeGroupe}
onChangeText={(codeGroupe) => {
this.setState({ codeGroupe })
}}
style={styles.input}
>
</Fumi>
</Animatable.View>
<Button style={styles.btnvalide}
textStyle={styles.textbtnvalide}
onPress={() => { this.onSubmitSendWalletToCard(); }}>
{I18n.t('SUBMIT_LABEL')}</Button>
</ScrollView>
</>
)
}
}
const maptStateToProps = state => ({
loading: state.joinGroupReducer.loading,
result: state.joinGroupReducer.result,
error: state.joinGroupReducer.error,
});
const mapDispatchToProps = dispatch => bindActionCreators({
joinGroupAction,
joinGroupReset,
}, dispatch);
export default connect(maptStateToProps, mapDispatchToProps)(AdhererGroupNanoCredit);
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: Color.primaryDarkColor,
},
textbtnvalide: {
color: 'white',
fontWeight: 'bold'
},
bigtitle: {
color: 'white',
fontSize: 20,
flex: 1,
fontWeight: 'bold',
textAlign: 'center',
margin: 20,
},
blockView: {
paddingVertical: 10,
borderBottomWidth: 1
},
subbigtitle: {
color: 'white',
fontSize: 17,
textAlign: 'center',
margin: 5,
},
btnvalide: {
marginTop: 20,
marginLeft: 20,
marginRight: 20,
borderColor: 'transparent',
backgroundColor: Color.accentLightColor,
height: 52
},
btnSubmit: {
marginTop: 20,
borderColor: 'transparent',
backgroundColor: Color.accentLightColor,
height: 52,
width: "30%",
marginLeft: 20,
marginRight: 20,
},
input: {
height: 60,
marginTop: responsiveHeight(2),
marginLeft: responsiveWidth(5),
marginRight: responsiveWidth(5),
borderRadius: 5,
}
});

View File

@ -109,6 +109,10 @@ class CreateGroupNanoCredit extends Component {
}; };
} }
ckeckIfFieldIsOK(champ) {
return (isNil(champ) || isEqual(champ.length, 0));
}
renderCreateGroupReponse = () => { renderCreateGroupReponse = () => {
const { result, error } = this.props; const { result, error } = this.props;

View File

@ -139,6 +139,7 @@ class DemandValidationGroup extends React.Component {
clearInterval(this.intervaller) clearInterval(this.intervaller)
} }
animateSlidingUp(state = false) { animateSlidingUp(state = false) {
const height = responsiveHeight(100) const height = responsiveHeight(100)
let initialValue = !state ? 0 : height, let initialValue = !state ? 0 : height,
@ -288,7 +289,7 @@ class DemandValidationGroup extends React.Component {
</ActionButton.Item> </ActionButton.Item>
<ActionButton.Item buttonColor={purpleLight} title={I18n.t('JOIN_GROUP')} <ActionButton.Item buttonColor={purpleLight} title={I18n.t('JOIN_GROUP')}
onPress={() => { onPress={() => {
this.props.navigation.push(route.adhererGroupNanoCredit);
}} }}
> >
<Icon name="account-multiple" style={styles.actionButtonIcon} /> <Icon name="account-multiple" style={styles.actionButtonIcon} />
@ -297,7 +298,7 @@ class DemandValidationGroup extends React.Component {
} }
refreshData() { refreshData() {
//this.props.getNanoCreditDemandsAction(this.state.user.id); this.props.getNanoCreditDemandsAction(this.state.user.id);
} }
render() { render() {

View File

@ -302,7 +302,7 @@ class DemandGroupNanoCreditDetail extends Component {
renderDetail = () => { renderDetail = () => {
const {resultGetUniqueDemand} = this.props; const { resultGetUniqueDemand } = this.props;
let ago = moment.tz(resultGetUniqueDemand.response.date_creation, 'Etc/GMT+0').format(); let ago = moment.tz(resultGetUniqueDemand.response.date_creation, 'Etc/GMT+0').format();
ago = moment(ago) ago = moment(ago)
return (<View style={styles.container}> return (<View style={styles.container}>

View File

@ -258,7 +258,8 @@ export default class OptionsMenu extends Component {
|| item === 'envoieWalletToCashUser' || item === 'linkCard' || item === 'envoieWalletToCardUser' || item === 'envoieWalletToBankUser' || item === 'retraitWalletVersCashUser' || item === 'envoieWalletToCashUser' || item === 'linkCard' || item === 'envoieWalletToCardUser' || item === 'envoieWalletToBankUser' || item === 'retraitWalletVersCashUser'
|| item === 'retraitCarteVersWalletUser' || item === 'retraitEnCashAgent' || item === 'retraitCarteVersCashAgent' || item === 'envoieCashVersWalletAgent' || item === 'retraitCarteVersWalletUser' || item === 'retraitEnCashAgent' || item === 'retraitCarteVersCashAgent' || item === 'envoieCashVersWalletAgent'
|| item === 'envoieCashVersAutreWalletAgent' || item === 'retraitCarteVersCashUser' || item === 'envoiCashVersCashAgent' || item === 'envoieCashVersCashAgent' || item === 'envoieCashVersAutreWalletAgent' || item === 'retraitCarteVersCashUser' || item === 'envoiCashVersCashAgent' || item === 'envoieCashVersCashAgent'
|| item === 'envoieCashVersCarteAgent' || item === 'modifyIdentificationUser' || item === 'createGroupNanoCredit' || item === 'groupNanoCredit' || item === 'demandeValidationGroupe') { || item === 'envoieCashVersCarteAgent' || item === 'modifyIdentificationUser' || item === 'createGroupNanoCredit' || item === 'groupNanoCredit' || item === 'demandeValidationGroupe'
|| item === 'adhererGroupNanoCredit') {
return null return null
} else { } else {
const color = this.state.currentId === item.id ? theme.accent : "grey" const color = this.state.currentId === item.id ? theme.accent : "grey"

View File

@ -108,6 +108,7 @@
"VALIDATION_DEMAND": "Validation request", "VALIDATION_DEMAND": "Validation request",
"DELETE_DEMAND": "Deletion request", "DELETE_DEMAND": "Deletion request",
"GROUP_INFOS": "Fill in the group information", "GROUP_INFOS": "Fill in the group information",
"GROUP_CODE": "Group code",
"NOM_GROUP": "Group name", "NOM_GROUP": "Group name",
"GROUP": "Group", "GROUP": "Group",
"LIMIT_OF_CREDIT": "Credit limit", "LIMIT_OF_CREDIT": "Credit limit",

View File

@ -110,8 +110,11 @@
"VALIDATION_DEMAND": "Demandes de validation", "VALIDATION_DEMAND": "Demandes de validation",
"DELETE_DEMAND": "Demande de suppression", "DELETE_DEMAND": "Demande de suppression",
"GROUP_INFOS": "Renseigner les informations du groupe", "GROUP_INFOS": "Renseigner les informations du groupe",
"GROUP_CODE": "Code du groupe",
"SUCCESS_CREATION_GROUP": "Informations sur la création", "SUCCESS_CREATION_GROUP": "Informations sur la création",
"ERROR_CREATION_GROUP": "Erreur de création", "ERROR_CREATION_GROUP": "Erreur de création",
"ERROR_JOIN_GROUP": "Erreur d'adhésion",
"SUCCES_JOIN_GROUP": "Adhésion réussie",
"NOM_GROUP": "Nom du groupe", "NOM_GROUP": "Nom du groupe",
"GROUP": "Groupe", "GROUP": "Groupe",
"LIMIT_OF_CREDIT": "Limite du crédit", "LIMIT_OF_CREDIT": "Limite du crédit",

View File

@ -54,6 +54,7 @@ export const getCreditDemand = testBaseUrl + '/walletService/groups/demands';
export const linkCardUrl = testBaseUrl + '/walletService/identifications/rattach_card'; export const linkCardUrl = testBaseUrl + '/walletService/identifications/rattach_card';
export const groupUrl = testBaseUrl + '/walletService/groups'; export const groupUrl = testBaseUrl + '/walletService/groups';
export const treatDemandUrl = testBaseUrl + '/walletService/groups/demands/validate'; export const treatDemandUrl = testBaseUrl + '/walletService/groups/demands/validate';
export const joinGroupUrl = testBaseUrl + '/walletService/groups/join';
export const saveOnesignalIds = testBaseUrl + '/notificationService/onesignal'; export const saveOnesignalIds = testBaseUrl + '/notificationService/onesignal';
export const authKeyUrl = testBaseUrl + '/oauth/token'; export const authKeyUrl = testBaseUrl + '/oauth/token';

View File

@ -1,9 +1,9 @@
import axios from "axios"; import axios from "axios";
import I18n from 'react-native-i18n'; import I18n from 'react-native-i18n';
import { fetchCreateGroupError, fetchCreateGroupPending, fetchCreateGroupReset, fetchCreateGroupSuccess, fetchTreatDemandsGroupPending, fetchTreatDemandsGroupSuccess, fetchTreatDemandsGroupError, fetchTreatDemandsGroupReset } from "../redux/actions/NanoCreditAction"; import { fetchCreateGroupError, fetchCreateGroupPending, fetchCreateGroupReset, fetchCreateGroupSuccess, fetchTreatDemandsGroupPending, fetchTreatDemandsGroupSuccess, fetchTreatDemandsGroupError, fetchTreatDemandsGroupReset, fetchJoinGroupPending, fetchJoinGroupSuccess, fetchJoinGroupError, fetchJoinGroupReset } from "../redux/actions/NanoCreditAction";
import { store } from "../redux/store"; import { store } from "../redux/store";
import { groupUrl, treatDemandUrl } from "./IlinkConstants"; import { groupUrl, treatDemandUrl, joinGroupUrl } from "./IlinkConstants";
export const createGroupAction = (data) => { export const createGroupAction = (data) => {
@ -80,3 +80,41 @@ export const treatDemandGroupReset = () => {
dispatch(fetchTreatDemandsGroupReset()); dispatch(fetchTreatDemandsGroupReset());
} }
} }
export const joinGroupAction = (data) => {
const auth = store.getState().authKeyReducer;
const authKey = auth !== null ? `${auth.authKey.token_type} ${auth.authKey.access_token}` : '';
return dispatch => {
dispatch(fetchJoinGroupPending());
axios({
url: `${joinGroupUrl}`,
method: 'POST',
data,
headers: {
'Authorization': authKey,
'X-Localization': I18n.currentLocale()
}
})
.then(response => {
console.log(response);
dispatch(fetchJoinGroupSuccess(response));
})
.catch(error => {
if (error.response)
dispatch(fetchJoinGroupError(error.response));
else if (error.request)
dispatch(fetchJoinGroupError(error.request))
else
dispatch(fetchJoinGroupError(error.message))
});
}
}
export const joinGroupReset = () => {
return dispatch => {
dispatch(fetchJoinGroupReset());
}
}

View File

@ -1003,23 +1003,24 @@
resolved "https://registry.yarnpkg.com/@react-native-community/viewpager/-/viewpager-3.3.0.tgz#e613747a43a31a6f3278f817ba96fdaaa7941f23" resolved "https://registry.yarnpkg.com/@react-native-community/viewpager/-/viewpager-3.3.0.tgz#e613747a43a31a6f3278f817ba96fdaaa7941f23"
integrity sha512-tyzh79l4t/hxiyS9QD3LRmWMs8KVkZzjrkQ8U8+8To1wmvVCBtp8BenvNsDLTBO7CpO/YmiThpmIdEZMr1WuVw== integrity sha512-tyzh79l4t/hxiyS9QD3LRmWMs8KVkZzjrkQ8U8+8To1wmvVCBtp8BenvNsDLTBO7CpO/YmiThpmIdEZMr1WuVw==
"@react-navigation/core@~3.5.1": "@react-navigation/core@~3.4.1":
version "3.5.2" version "3.4.2"
resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-3.5.2.tgz#3a3d147b8419e5839e0f2ad4dea086bd2d307fe3" resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-3.4.2.tgz#bec563e94fde40fbab3730cdc97f22afbb2a1498"
integrity sha512-HgKXci1h74aETgm5CXMBoIWG8R7VZG1eUUHYb3BdxwekdiZjW1P/srjiXzsCqFGlsESnVIOIkzT4DqI9J752Bw== integrity sha512-7G+iDzLSTeOUU4vVZeRZKJ+Bd7ds7ZxYNqZcB8i0KlBeQEQfR74Ounfu/p0KIEq2RiNnaE3QT7WVP3C87sebzw==
dependencies: dependencies:
hoist-non-react-statics "^3.3.0" hoist-non-react-statics "^3.3.0"
path-to-regexp "^1.7.0" path-to-regexp "^1.7.0"
query-string "^6.4.2" query-string "^6.4.2"
react-is "^16.8.6" react-is "^16.8.6"
"@react-navigation/native@~3.6.2": "@react-navigation/native@~3.4.0":
version "3.6.5" version "3.4.2"
resolved "https://registry.yarnpkg.com/@react-navigation/native/-/native-3.6.5.tgz#97b0b9a48f059a0704e3527f40fb034720ef363d" resolved "https://registry.yarnpkg.com/@react-navigation/native/-/native-3.4.2.tgz#ed1efe79627a9d50258088d793d6d5eca8b5c382"
integrity sha512-ttEmnokFVf09CvrkzlPIdfA693KfYcRxTYf9OZwp0Ll6El27UYjJD4arwGc+zvlohjTErCdba6CAKV702Wv28w== integrity sha512-oDUZ9y10nM4td3nGmcMCkq2pYRCSOMPxLOPs55lWdT9CwY8PB/3sFuQrSW50/t0krO9KvAjclYfOLywuOB1Vtg==
dependencies: dependencies:
hoist-non-react-statics "^3.3.2" hoist-non-react-statics "^3.0.1"
react-native-safe-area-view "^0.14.8" react-native-safe-area-view "^0.14.1"
react-native-screens "^1.0.0 || ^1.0.0-alpha"
"@types/babel__core@^7.1.0": "@types/babel__core@^7.1.0":
version "7.1.6" version "7.1.6"
@ -3860,7 +3861,7 @@ hoist-non-react-statics@^2.3.1, hoist-non-react-statics@^2.5.0:
resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47"
integrity sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw== integrity sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==
hoist-non-react-statics@^3.0.1, hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2: hoist-non-react-statics@^3.0.1, hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0:
version "3.3.2" version "3.3.2"
resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45"
integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
@ -6274,9 +6275,9 @@ qs@~6.5.2:
integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
query-string@^6.4.2: query-string@^6.4.2:
version "6.11.1" version "6.13.1"
resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.11.1.tgz#ab021f275d463ce1b61e88f0ce6988b3e8fe7c2c" resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.13.1.tgz#d913ccfce3b4b3a713989fe6d39466d92e71ccad"
integrity sha512-1ZvJOUl8ifkkBxu2ByVM/8GijMIPx+cef7u3yroO3Ogm4DOdZcF5dcrWTIlSHe3Pg/mtlt6/eFjObDfJureZZA== integrity sha512-RfoButmcK+yCta1+FuU8REvisx1oEzhMKwhLUNcepQTPGcNMp1sIqjnfCtfnvGSQZQEhaBHvccujtWoUV3TTbA==
dependencies: dependencies:
decode-uri-component "^0.2.0" decode-uri-component "^0.2.0"
split-on-first "^1.0.0" split-on-first "^1.0.0"
@ -6327,12 +6328,12 @@ react-devtools-core@^3.6.3:
shell-quote "^1.6.1" shell-quote "^1.6.1"
ws "^3.3.1" ws "^3.3.1"
react-is@^16.12.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.3, react-is@^16.8.4, react-is@^16.8.6: react-is@^16.12.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.3, react-is@^16.8.4:
version "16.13.0" version "16.13.0"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.0.tgz#0f37c3613c34fe6b37cd7f763a0d6293ab15c527" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.0.tgz#0f37c3613c34fe6b37cd7f763a0d6293ab15c527"
integrity sha512-GFMtL0vHkiBv9HluwNZTggSn/sCyEt9n02aM0dSAjGGyqyNlAyftYm4phPxdvCigG15JreC5biwxCgTAJZ7yAA== integrity sha512-GFMtL0vHkiBv9HluwNZTggSn/sCyEt9n02aM0dSAjGGyqyNlAyftYm4phPxdvCigG15JreC5biwxCgTAJZ7yAA==
react-is@^16.9.0: react-is@^16.8.6, react-is@^16.9.0:
version "16.13.1" version "16.13.1"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
@ -6711,10 +6712,10 @@ react-native-safe-area-view@^0.12.0:
dependencies: dependencies:
hoist-non-react-statics "^2.3.1" hoist-non-react-statics "^2.3.1"
react-native-safe-area-view@^0.14.8: react-native-safe-area-view@^0.14.1:
version "0.14.8" version "0.14.9"
resolved "https://registry.yarnpkg.com/react-native-safe-area-view/-/react-native-safe-area-view-0.14.8.tgz#ef33c46ff8164ae77acad48c3039ec9c34873e5b" resolved "https://registry.yarnpkg.com/react-native-safe-area-view/-/react-native-safe-area-view-0.14.9.tgz#90ee8383037010d9a5055a97cf97e4c1da1f0c3d"
integrity sha512-MtRSIcZNstxv87Jet+UsPhEd1tpGe8cVskDXlP657x6rHpSrbrc+y13ZNXrwAgGNNhqQNX7UJT68ZIq//ZRmvw== integrity sha512-WII/ulhpVyL/qbYb7vydq7dJAfZRBcEhg4/UWt6F6nAKpLa3gAceMOxBxI914ppwSP/TdUsandFy6lkJQE0z4A==
dependencies: dependencies:
hoist-non-react-statics "^2.3.1" hoist-non-react-statics "^2.3.1"
@ -6725,6 +6726,13 @@ react-native-safe-modules@^1.0.0:
dependencies: dependencies:
dedent "^0.6.0" dedent "^0.6.0"
"react-native-screens@^1.0.0 || ^1.0.0-alpha":
version "1.0.0-alpha.23"
resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-1.0.0-alpha.23.tgz#25d7ea4d11bda4fcde2d1da7ae50271c6aa636e0"
integrity sha512-tOxHGQUN83MTmQB4ghoQkibqOdGiX4JQEmeyEv96MKWO/x8T2PJv84ECUos9hD3blPRQwVwSpAid1PPPhrVEaw==
dependencies:
debounce "^1.2.0"
react-native-screens@^2.3.0: react-native-screens@^2.3.0:
version "2.3.0" version "2.3.0"
resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-2.3.0.tgz#fd2b0c841f4fdebb2937c0e84acccc62bf9ebb22" resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-2.3.0.tgz#fd2b0c841f4fdebb2937c0e84acccc62bf9ebb22"
@ -6776,7 +6784,7 @@ react-native-switch-selector@^1.1.14:
resolved "https://registry.yarnpkg.com/react-native-switch-selector/-/react-native-switch-selector-1.1.14.tgz#953fc2fb1f1feb97e9a3a1fc7f87718a7b4c2a5b" resolved "https://registry.yarnpkg.com/react-native-switch-selector/-/react-native-switch-selector-1.1.14.tgz#953fc2fb1f1feb97e9a3a1fc7f87718a7b4c2a5b"
integrity sha512-VhmasNtYuJpG5B0954vyMSvOcT1qM6WQeZ1hrx6OxgcH6kdfZynC77MKlj8w022wI1AccyPCQrttgne+WSe5Wg== integrity sha512-VhmasNtYuJpG5B0954vyMSvOcT1qM6WQeZ1hrx6OxgcH6kdfZynC77MKlj8w022wI1AccyPCQrttgne+WSe5Wg==
react-native-tab-view@^1.2.0, react-native-tab-view@^1.4.1: react-native-tab-view@^1.2.0, react-native-tab-view@^1.3.4, react-native-tab-view@^1.4.1:
version "1.4.1" version "1.4.1"
resolved "https://registry.yarnpkg.com/react-native-tab-view/-/react-native-tab-view-1.4.1.tgz#f113cd87485808f0c991abec937f70fa380478b9" resolved "https://registry.yarnpkg.com/react-native-tab-view/-/react-native-tab-view-1.4.1.tgz#f113cd87485808f0c991abec937f70fa380478b9"
integrity sha512-Bke8KkDcDhvB/z0AS7MnQKMD2p6Kwfc1rSKlMOvg9CC5CnClQ2QEnhPSbwegKDYhUkBI92iH/BYy7hNSm5kbUQ== integrity sha512-Bke8KkDcDhvB/z0AS7MnQKMD2p6Kwfc1rSKlMOvg9CC5CnClQ2QEnhPSbwegKDYhUkBI92iH/BYy7hNSm5kbUQ==
@ -6851,10 +6859,10 @@ react-native@0.61.5:
stacktrace-parser "^0.1.3" stacktrace-parser "^0.1.3"
whatwg-fetch "^3.0.0" whatwg-fetch "^3.0.0"
react-navigation-drawer@~1.4.0: react-navigation-drawer@1.2.1:
version "1.4.0" version "1.2.1"
resolved "https://registry.yarnpkg.com/react-navigation-drawer/-/react-navigation-drawer-1.4.0.tgz#70f3dd83e3da9cd4ea6e2739526502c823d466b9" resolved "https://registry.yarnpkg.com/react-navigation-drawer/-/react-navigation-drawer-1.2.1.tgz#7bd5efeee7d2f611d3ebb0933e0c8e8eb7cafe52"
integrity sha512-ZyWBozcjB2aZ7vwCALv90cYA2NpDjM+WALaiYRshvPvue8l7cqynePbHK8GhlMGyJDwZqp4MxQmu8u1XAKp3Bw== integrity sha512-T2kaBjY2c4/3I6noWFnaf/c18ntNH5DsST38i+pdc2NPxn5Yi5lkK+ZZTeKuHSFD4a7G0jWY9OGf1iRkHWLMAQ==
dependencies: dependencies:
react-native-tab-view "^1.2.0" react-native-tab-view "^1.2.0"
@ -6867,12 +6875,20 @@ react-navigation-material-bottom-tabs@^1.0.0:
prop-types "^15.6.0" prop-types "^15.6.0"
react-navigation-tabs "~1.2.0" react-navigation-tabs "~1.2.0"
react-navigation-stack@1.5.3: react-navigation-stack@1.3.0:
version "1.5.3" version "1.3.0"
resolved "https://registry.yarnpkg.com/react-navigation-stack/-/react-navigation-stack-1.5.3.tgz#cdc9f5a6dbdc55509a15f60d765722573dec1997" resolved "https://registry.yarnpkg.com/react-navigation-stack/-/react-navigation-stack-1.3.0.tgz#34bbddb068c094c9ab843e36059b9fd92b728250"
integrity sha512-MQcwDVbZUYsTtDJb5cFOSm+K+e7KpUCoROaGoUOR+JHWE3uuaJ3pd/Nu+32a57J98TNBf4qq0+2TPJWl6z6IBg== integrity sha512-ouyD1GkRksJSGuvAuqrJnlJnZ5g2g/+/WB/MTa8BzjSBvyOgruD5TrmEkpViCOMr1R17C8D4Htln90H4D+NV3Q==
react-navigation-tabs@1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/react-navigation-tabs/-/react-navigation-tabs-1.1.2.tgz#10b7501522d99960340a0d23a471d571b70aeb82"
integrity sha512-D4fecSwZfvNh5WHTURmUVrNSgy3tiNfID0n5eKTOhCz4Sls4EM2l27UTX833ngxXhQ1FqRtBxzQZ+Dp1FWJ1pw==
dependencies: dependencies:
prop-types "^15.7.2" hoist-non-react-statics "^2.5.0"
prop-types "^15.6.1"
react-lifecycles-compat "^3.0.4"
react-native-tab-view "^1.3.4"
react-navigation-tabs@~1.2.0: react-navigation-tabs@~1.2.0:
version "1.2.0" version "1.2.0"
@ -6883,16 +6899,16 @@ react-navigation-tabs@~1.2.0:
prop-types "^15.6.1" prop-types "^15.6.1"
react-native-tab-view "^1.4.1" react-native-tab-view "^1.4.1"
react-navigation@^3.11.0: react-navigation@3.9.1:
version "3.13.0" version "3.9.1"
resolved "https://registry.yarnpkg.com/react-navigation/-/react-navigation-3.13.0.tgz#e802bb5174c1ec8b727c69f8e4409ff1351a5250" resolved "https://registry.yarnpkg.com/react-navigation/-/react-navigation-3.9.1.tgz#2b2545f5c11905b534d96996c658d0691bc5f11f"
integrity sha512-r64bTImY2aNye8wtd39ubouVB6ZMJqjVQYKxH4LFmOav4FsI59fQTDN7sZzyJa29owowYw/wVkh+NWGT+tdD1A== integrity sha512-4rUQXGT0yvLb9yX9NDuKdrXb/NcAPGUHDTlto8Fg4Tm23uuyBBSrDVStqC59rUM4JcoQnRqhenN2wXGvWE+WYA==
dependencies: dependencies:
"@react-navigation/core" "~3.5.1" "@react-navigation/core" "~3.4.1"
"@react-navigation/native" "~3.6.2" "@react-navigation/native" "~3.4.0"
react-navigation-drawer "~1.4.0" react-navigation-drawer "1.2.1"
react-navigation-stack "1.5.3" react-navigation-stack "1.3.0"
react-navigation-tabs "~1.2.0" react-navigation-tabs "1.1.2"
react-proxy@^1.1.7: react-proxy@^1.1.7:
version "1.1.8" version "1.1.8"