Configuration pour Miang

This commit is contained in:
Brice Zele 2022-05-16 16:01:45 +01:00
parent 42d718f988
commit 823e4fe84b
11 changed files with 103 additions and 57 deletions

4
App.js
View File

@ -245,11 +245,13 @@ const AppStack = createDrawerNavigator({
webviewScreen: WebviewScreen,
PDFViewerScreen: PDFViewerScreen,
}, {
initialRouteName: 'walletDetailUser'
})
}, {
contentComponent: OptionsMenu,
headerMode: 'none',
contentOptions: {activeTintColor: theme.accent}
contentOptions: {activeTintColor: theme.accent},
})
const AppAgentStack = createDrawerNavigator({

File diff suppressed because one or more lines are too long

View File

@ -755,7 +755,9 @@
"NEXT_ECHEANCE": "Prochaine échéance",
"MONTANT_RESTANT": "Montant restant",
"LAST_PAYMENT": "Dernier paiement",
"AMOUNT_PER_SPLIT": "Montant par échéance",
"AMOUNT_PER_SPLIT": "Montant min. par échéance",
"ETAT_ASSURANCE": "Etat assurance",
"PRIME_BASE": "Prime de base"
"PRIME_BASE": "Prime de base",
"PAYMENTS": "Paiements",
"SEE_MORE": "Voir plus"
}

BIN
datas/img/miang-logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

View File

@ -739,7 +739,6 @@ export const insuranceHistoryReducer = (state = INITIAL_STATE, action: Insurance
};
export const checkInsuranceCoverageAmountReducer = (state = INITIAL_STATE, action: InsuranceActions) => {
console.log("ACTION", action);
switch (action.type) {
case InsuranceActions.CHECK_HEALTH_CARE_SHEET_PENDING:
return {
@ -770,7 +769,6 @@ export const checkInsuranceCoverageAmountReducer = (state = INITIAL_STATE, actio
};
export const getExclusionReducer = (state = INITIAL_STATE, action: InsuranceActions) => {
console.log("ACTION", action);
switch (action.type) {
case InsuranceActions.GET_EXCLUSION_PENDING:
return {

View File

@ -2897,7 +2897,6 @@ const mapStateToProps = state => ({
resultSearchUserByName: state.searchUserReducer.result,
errorSearchUserByName: state.searchUserReducer.error,
loadingGetQRCodeDetail: state.getQRCodeDetailReducer.loading,
resultGetQRCodeDetail: state.getQRCodeDetailReducer.result,
errorGetQRCodeDetail: state.getQRCodeDetailReducer.error,

View File

@ -1,45 +1,40 @@
import React, {Component} from 'react';
import {
StyleSheet,
Text,
View,
Image,
Alert,
Animated,
AsyncStorage,
BackHandler,
TouchableOpacity,
Image,
PermissionsAndroid,
Platform,
ProgressBarAndroid,
ScrollView,
Alert,
StatusBar,
AsyncStorage
StyleSheet,
Text,
TouchableOpacity,
View
} from 'react-native';
import PropTypes from 'prop-types';
import FontAwesomeIcon from 'react-native-vector-icons/FontAwesome';
import {responsiveHeight, responsiveWidth, responsiveFontSize} from 'react-native-responsive-dimensions';
import {responsiveFontSize, responsiveHeight, responsiveWidth} from 'react-native-responsive-dimensions';
import {Sae} from 'react-native-textinput-effects';
import Button from 'apsl-react-native-button';
let theme = require('./../../../utils/theme.json');
import {login, saveNewuser, getCountryNetwork, getAppVersion} from './../../../webservice/AuthApi';
import {getCountryNetwork, login, saveNewuser} from './../../../webservice/AuthApi';
import * as Animatable from 'react-native-animatable';
import isEqual from 'lodash/isEqual'
import {getOpenCagePositionInformation} from './../../../webservice/MapService'
import SwitchSelector from 'react-native-switch-selector'
import I18n from 'react-native-i18n'
import {IlinkEmitter} from './../../../utils/events'
import {readUser} from "../../../webservice/AuthApi";
import Spinner from "react-native-loading-spinner-overlay";
import Geolocation from "react-native-geolocation-service";
import {callingCodes} from '@ideditor/country-coder';
let theme = require('./../../../utils/theme.json');
let route = require('./../../../route.json');
require('./../../../utils/Translations')
let country = require('./../../../utils/country_code.json');
import {IlinkEmitter} from './../../../utils/events'
import {readUser} from "../../../webservice/AuthApi";
import {MaterialDialog} from "react-native-material-dialog"
import Spinner from "react-native-loading-spinner-overlay";
import Geolocation from "react-native-geolocation-service";
import {iso1A2Code, callingCodes, emojiFlag, feature} from '@ideditor/country-coder';
import {opencageDataApiKey} from "../../../webservice/IlinkConstants";
const GEOLOCATION_OPTIONS = {enableHighAccuracy: true, timeout: 20000}
const propTypes = {
@ -357,7 +352,8 @@ export class LoginUi extends Component {
}
}
this.props.navigation.navigate(road)
this.props.navigation.navigate(road);
}
@ -544,9 +540,10 @@ export class LoginUi extends Component {
this.setState(previousState => {
return {isLoging: !previousState.isLoging};
})
const user = responseJson;
let user = responseJson;
if (!user.error) {
if (user.etat === "1" || user.etat === 1) {
user.indicatif = this.state.indicatif;
saveNewuser(user);
this.setState({user: user})

View File

@ -1,23 +1,20 @@
import React, { Component } from 'react';
import {
StyleSheet, View, Text, Image, ProgressBarAndroid,
TouchableNativeFeedback, TouchableOpacity,
PermissionsAndroid, NativeModules, StatusBar, Platform, Animated
} from 'react-native';
import { responsiveHeight, responsiveWidth, responsiveFontSize } from 'react-native-responsive-dimensions';
import React, {Component} from 'react';
import {Image, PermissionsAndroid, StatusBar, StyleSheet, View} from 'react-native';
import {responsiveFontSize, responsiveHeight, responsiveWidth} from 'react-native-responsive-dimensions';
import I18n from 'react-native-i18n'
const theme = require('./../../utils/theme.json');
const route = require('./../../route.json');
import { readUser, getPasObject, getPubActiveObject } from '../../webservice/AuthApi';
import { Bubbles, DoubleBounce, Bars, Pulse } from 'react-native-loader';
import {getPasObject, getPubActiveObject, readUser} from '../../webservice/AuthApi';
import Configuration from "../../webservice/persistences/Configuration";
import '../ads/InterticielAds'
import * as Animatable from 'react-native-animatable';
import LottieView from 'lottie-react-native'; // if you have "esModuleInterop": true
import InterticielAds from '../ads/InterticielAds';
import Overlay from 'react-native-elements'
import DeviceInfo from 'react-native-device-info';
export default class SplashScreen extends Component {
import {bindActionCreators} from "redux";
import getAuthApiKey from "../../webservice/AuthKeyApi";
import {connect} from "react-redux";
const theme = require('./../../utils/theme.json');
const route = require('./../../route.json');
class SplashScreen extends Component {
static navigatorStyle = {
drawUnderNavBar: true,
navBarHidden: true,
@ -127,6 +124,14 @@ export default class SplashScreen extends Component {
this.retrieveAndroidInformation()
setTimeout(() => this.bounce(), 500)
this.bounce()
readUser().then(async (user) => {
if (user) {
if (user !== undefined) {
if (user.phone !== undefined)
this.props.getAuthApiKey(user.phone);
}
}
});
}
async requestCameraPermission() {
@ -248,6 +253,19 @@ export default class SplashScreen extends Component {
return ""
}
}
const mapStateToProps = state => ({
loading: state.authKeyReducer.loading,
authKey: state.authKeyReducer.authKey,
error: state.authKeyReducer.error,
});
const mapDispatchToProps = dispatch => bindActionCreators({
getAuthApiKey,
}, dispatch);
export default connect(mapStateToProps, mapDispatchToProps)(SplashScreen);
const styles = StyleSheet.create({
container: {
flex: 1,

View File

@ -68,6 +68,7 @@ import * as Animatable from "react-native-animatable";
import {Fumi} from "react-native-textinput-effects";
import FontAwesomeIcon from "react-native-vector-icons/FontAwesome";
import Button from "../../components/Button";
import Entypo from "react-native-vector-icons/Entypo";
let moment = require('moment-timezone');
@ -138,7 +139,7 @@ class WalletDetailUser extends Component {
};
static navigationOptions = () => {
static navigationOptions = ({ navigation }) => {
return {
//title: I18n.t('WALLET'),
//title: this.isHomeRootView ? I18n.t('WALLET') : ((typeof this.props.navigation.state.params !== 'undefined') && this.props.navigation.state.params.wallet.network),
@ -153,16 +154,24 @@ class WalletDetailUser extends Component {
headerTitleStyle: {
color: "white"
},
title: I18n.t('WALLET')
title: I18n.t('WALLET'),
headerLeft: (
<Entypo
name="menu"
color="#fff"
onPress={()=> {navigation.openDrawer()}}
size={24}
/>
)
}
};
getWalletDetail = () => {
this.props.getWalletDetailActivated(this.props.navigation.state.params.userId, null);
readUser().then((user) => {
if (user) {
if (user !== undefined) {
this.setState({user});
this.props.getWalletDetailActivated(user.id, null);
this.props.getUserIdentificationAction(user.phone);
this.props.getWalletTransactionHistoryUser(user.id);
}
@ -286,8 +295,13 @@ class WalletDetailUser extends Component {
}
refresh = () => {
let userId = this.props.navigation.state.params.userId;
this.props.getWalletDetailActivated(userId, null);
readUser().then((user) => {
if (user) {
if (user !== undefined) {
this.props.getWalletDetailActivated(user.id, null);
}
}
});
}

View File

@ -3,6 +3,7 @@ import {
ActivityIndicator,
Alert,
FlatList,
Image,
Platform,
ProgressBarAndroid,
ScrollView,
@ -101,8 +102,6 @@ class WalletOptionSelect extends Component {
loadMore: false,
historiqueDetailLabel: I18n.t('INVOICE')
}
console.log("WALLET OPTION PROPS", this.props);
console.log("WALLET OPTION STATE", this.state);
IlinkEmitter.on("langueChange", this.updateLangue.bind(this));
@ -134,8 +133,9 @@ class WalletOptionSelect extends Component {
this.willFocus = this.props.navigation.addListener(
'willFocus',
payload => {
console.log("WIIL FOCUS CALL");
readUser().then((user) => {
console.log("user",user);
this.setState({user});
if (user) {
if (user !== undefined) {
if (user.category === undefined) {
@ -323,7 +323,6 @@ class WalletOptionSelect extends Component {
}
renderItem = (options, isOneElement, index) => {
console.log("OPTIONS", options);
return (
isOneElement ?
<>
@ -1648,7 +1647,23 @@ class WalletOptionSelect extends Component {
}*/}
</ScrollView>
</View>
{this.state.user !== null ?
this.state.user.indicatif === '+241' && (this.state.type === 'DEPOT_USER' || this.state.type === 'RETRAIT_USER') && <View
style={{
width: '100%',
height: 50,
position: 'absolute',
bottom: 0,
justifyContent: 'center',
alignItems: 'center',
flexDirection: 'row'
}}>
<Image source={require('../../datas/img/miang-logo.png')}
style={{width: 30, height: 30, borderRadius: 15, marginRight: 10}}/>
<Text>{I18n.t('MIANG_SLOGAN')}</Text>
</View> : null}
</Provider>
);
}

View File

@ -759,5 +759,6 @@
"ETAT_ASSURANCE": "Etat assurance",
"PRIME_BASE": "Prime de base",
"PAYMENTS": "Paiements",
"SEE_MORE": "Voir plus"
"SEE_MORE": "Voir plus",
"MIANG_SLOGAN": "Miang, transfert d'argent national"
}