ilink-world/utils/UtilsFunction.js

546 lines
17 KiB
JavaScript

import I18n from 'react-native-i18n';
import isEqual from 'lodash/isEqual';
import Toast from 'react-native-root-toast';
import { Color } from '../config/Color';
let slugify = require('slugify');
let route = require('./../route.json');
export const thousandsSeparators = (num) => {
var num_parts = num.toString().split(".");
num_parts[0] = num_parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, " ");
return num_parts.join(".");
}
export const cutString = (word, max) => {
return `${word.slice(0, max)}...`;
}
export const isNormalInteger = (str) => {
if (/[ `!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?~]/.test(str))
return false;
else
return true;
}
export const displayToast = (message) => {
Toast.show(message, {
duration: Toast.durations.SHORT,
position: Toast.positions.BOTTOM,
backgroundColor: Color.primaryColor,
shadow: true,
animation: true,
hideOnPress: true,
delay: 0,
onShow: () => {
// calls on toast\`s appear animation start
},
onShown: () => {
// calls on toast\`s appear animation end.
},
onHide: () => {
// calls on toast\`s hide animation start.
},
onHidden: () => {
// calls on toast\`s hide animation end.
}
});
}
export const isIlinkWorldWallet = (walletName) => {
return isEqual(slugify(walletName).toLowerCase(), 'ilink-world');
}
export const isEmptyObject = (obj) => {
for (let prop in obj) {
if (obj.hasOwnProperty(prop)) {
return false;
}
}
return JSON.stringify(obj) === JSON.stringify({});
}
export const identityPieces = () => {
return [
{
name: I18n.t('IDENTITY_CARD')
},
{
name: I18n.t('PASSEPORT')
},
{
name: I18n.t('OTHER_IDENTITY_PIECE')
},
]
}
export const typeIdIDestinataire = () => {
return [
{
name: I18n.t('PHONE')
},
{
name: I18n.t('CODE_WALLET')
}
]
}
export const paysDestinationData = () => {
return [
{
name: 'Cameroun'
},
{
name: 'Gabon'
},
{
name: 'Congo'
},
{
name: 'Sénégal'
},
{
name: 'Côte d\'Ivoire'
},
]
}
export const walletActifData = () => {
return [
{
name: 'UBA'
},
{
name: 'SOGO'
},
{
name: 'Small World'
},
{
name: 'UBA fs iLink'
},
{
name: 'iLink World'
},
]
}
export const inputCardSource = () => [
{
name: I18n.t('NUMERO_DE_SERIE'),
value: 'serial-number'
},
{
name: I18n.t('CREDIT_CARD'),
value: 'credit-card'
},
]
export const transactionHistoryLabel = () => {
return [
{
icon: 'arrow-expand',
label: 'Type'
},
{
icon: 'inbox-arrow-up',
label: 'Source'
},
{
icon: 'cash',
label: I18n.t('AMOUNT_LABEL')
},
{
icon: 'account-arrow-right',
label: I18n.t('DESTINATAIRE')
},
{
icon: 'calendar-clock',
label: 'Date'
},
]
}
export const transactionHistoryUser = () => {
return [
{
type: 'depot',
source: 'wallet',
montant: 10000,
destinataire: 'John Doe',
date: '2020-05-15',
},
{
type: 'retrait',
source: 'wallet',
montant: 10000,
destinataire: 'John Doe',
date: '2020-05-15',
},
];
}
export const optionDepotScreen = {
type: 'DEPOT',
title: I18n.t('ENVOIE_ARGENT'),
subTitle: I18n.t('CHOOSE_OPTION'),
options: [
{
screen: route.walletDepot,
icon: 'wallet',
title: I18n.t('DEPOSIT_CASH_TO_WALLET'),
},
{
screen: route.walletDepot,
icon: 'cash-refund',
title: I18n.t('DEPOSIT_CASH_TO_OTHER_WALLET'),
},
{
screen: route.walletDepot,
icon: 'credit-card',
title: I18n.t('DEPOSIT_CASH_TO_VISA'),
},
{
screen: route.walletDepot,
icon: 'bank-transfer-in',
title: I18n.t('DEPOSIT_CASH_TO_BANK'),
},
]
}
export const optionRetraitScreen = {
type: 'RETRAIT',
title: I18n.t('RETRAIT_ARGENT'),
subTitle: I18n.t('CHOOSE_OPTION'),
options: [
{
screen: route.walletRetrait,
icon: 'cash',
title: I18n.t('WITHDRAWAL_IN_CASH'),
},
]
}
export const optionWalletToBank = {
title: I18n.t('DEPOSIT_TO_BANK'),
subTitle: I18n.t('CHOOSE_OPERATOR'),
options: [
{
type: 'WALLET_TO_BANK_USER',
screen: route.envoieWalletToBankUser,
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
title: 'Banque numéro 1',
},
{
type: 'WALLET_TO_BANK_USER',
screen: route.envoieWalletToBankUser,
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
title: 'Banque numéro 2',
},
{
type: 'WALLET_TO_BANK_USER',
screen: route.envoieWalletToBankUser,
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
title: 'Banque numéro 3',
},
{
type: 'WALLET_TO_BANK_USER',
screen: route.envoieWalletToBankUser,
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
title: 'Banque numéro 4',
},
{
type: 'WALLET_TO_BANK_USER',
screen: route.envoieWalletToBankUser,
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
title: 'Banque numéro 5',
},
{
type: 'WALLET_TO_BANK_USER',
screen: route.paiementFacture,
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
title: 'Banque numéro 6',
},
]
}
export const optionRetraitUserScreen = {
type: 'RETRAIT_USER',
title: I18n.t('RETRAIT_ARGENT'),
subTitle: I18n.t('CHOOSE_OPTION'),
options: [
{
screen: route.retraitWalletVersCashUser,
icon: 'wallet',
title: I18n.t('WITHDRAWAL_WALLET_TO_CASH'),
},
{
screen: route.retraitCarteVersCashUser,
icon: 'credit-card-refund',
title: I18n.t('WITHDRAWAL_CARD_TO_CASH'),
},
{
screen: route.retraitCarteVersWalletUser,
icon: 'card',
title: I18n.t('WITHDRAWAL_CARD_TO_WALLET'),
},
]
}
export const optionDepotUserScreen = {
type: 'DEPOT_USER',
title: I18n.t('ENVOIE_ARGENT'),
subTitle: I18n.t('CHOOSE_OPTION'),
options: [
{
screen: route.envoieWalletToWalletUser,
icon: 'wallet',
title: I18n.t('DEPOSIT_WALLET_TO_WALLET'),
},
{
screen: route.envoieWalletToCashUser,
icon: 'cash-refund',
title: I18n.t('DEPOSIT_TO_CASH'),
},
{
screen: route.envoieWalletToCardUser,
icon: 'credit-card',
title: I18n.t('DEPOSIT_TO_CARD'),
},
{
type: 'WALLET_TO_BANK',
screen: route.operateurOptionSelect,
icon: 'bank-transfer-in',
title: I18n.t('DEPOSIT_TO_BANK'),
subScreenOption: optionWalletToBank
},
]
}
export const optionIdentificationScreen = {
type: 'IDENTIFICATION',
title: I18n.t('IDENTIFICATION'),
subTitle: I18n.t('CHOOSE_OPTION'),
options: [
{
screen: route.createIdentification,
icon: 'pencil-plus',
title: I18n.t('CREATION_IDENTIFICATION_DESCRIPTION_SUBSCREEN'),
},
{
screen: route.validateIdentification,
icon: 'check-circle',
title: I18n.t('VALIDATE_IDENTIFICATION_DESCRIPTION'),
},
]
}
export const optionPaiementEauElectricite = {
title: I18n.t('PAIEMENT_FACTURE'),
subTitle: I18n.t('CHOOSE_OPERATOR'),
options: [
{
type: 'PAIEMENT_EAU_ELECTRICITE',
screen: route.paiementFacture,
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
title: 'Opérateur eau-électricité 1',
},
{
type: 'PAIEMENT_EAU_ELECTRICITE',
screen: route.paiementFacture,
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
title: 'Opérateur eau-électricité 2',
},
{
type: 'PAIEMENT_EAU_ELECTRICITE',
screen: route.paiementFacture,
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
title: 'Opérateur eau-électricité 3',
},
{
type: 'PAIEMENT_EAU_ELECTRICITE',
screen: route.paiementFacture,
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
title: 'Opérateur eau-électricité 4',
},
{
type: 'PAIEMENT_EAU_ELECTRICITE',
screen: route.paiementFacture,
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
title: 'Opérateur eau-électricité 5',
},
{
type: 'PAIEMENT_EAU_ELECTRICITE',
screen: route.paiementFacture,
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
title: 'Opérateur eau-électricité 6',
},
]
}
export const optionPaiementCreditTelephonique = {
title: I18n.t('PAIEMENT_FACTURE'),
subTitle: I18n.t('CHOOSE_OPERATOR'),
options: [
{
type: 'PAIEMENT_CREDIT_TELEPHONE',
screen: route.paiementFacture,
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
title: 'Opérateur téléphonique 1',
},
{
type: 'PAIEMENT_CREDIT_TELEPHONE',
screen: route.paiementFacture,
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
title: 'Opérateur téléphonique 2',
},
{
type: 'PAIEMENT_CREDIT_TELEPHONE',
screen: route.paiementFacture,
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
title: 'Opérateur téléphonique 3',
},
{
type: 'PAIEMENT_CREDIT_TELEPHONE',
screen: route.paiementFacture,
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
title: 'Opérateur téléphonique 4',
},
{
type: 'PAIEMENT_CREDIT_TELEPHONE',
screen: route.paiementFacture,
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
title: 'Opérateur téléphonique 5',
},
{
type: 'PAIEMENT_CREDIT_TELEPHONE',
screen: route.paiementFacture,
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
title: 'Opérateur téléphonique 6',
},
]
}
export const optionPaiementAbonnementTV = {
title: I18n.t('PAIEMENT_FACTURE'),
subTitle: I18n.t('CHOOSE_OPERATOR'),
options: [
{
type: 'PAIEMENT_ABONNEMENT_TV',
screen: route.paiementFacture,
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
title: 'Opérateur abonnement TV 1',
},
{
type: 'PAIEMENT_ABONNEMENT_TV',
screen: route.paiementFacture,
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
title: 'Opérateur abonnement TV 2',
},
{
type: 'PAIEMENT_ABONNEMENT_TV',
screen: route.paiementFacture,
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
title: 'Opérateur abonnement TV 3',
},
{
type: 'PAIEMENT_ABONNEMENT_TV',
screen: route.paiementFacture,
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
title: 'Opérateur abonnement TV 4',
},
{
type: 'PAIEMENT_ABONNEMENT_TV',
screen: route.paiementFacture,
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
title: 'Opérateur abonnement TV 5',
},
{
type: 'PAIEMENT_ABONNEMENT_TV',
screen: route.paiementFacture,
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
title: 'Opérateur abonnement TV 6',
},
]
}
export const optionPaiementEcole = {
title: I18n.t('PAIEMENT_FACTURE'),
subTitle: I18n.t('CHOOSE_OPERATOR'),
options: [
{
type: 'PAIEMENT_ECOLE',
screen: route.paiementFacture,
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
title: 'Opérateur école 1',
},
{
type: 'PAIEMENT_ECOLE',
screen: route.paiementFacture,
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
title: 'Opérateur école 2',
},
{
type: 'PAIEMENT_ECOLE',
screen: route.paiementFacture,
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
title: 'Opérateur école 3',
},
{
type: 'PAIEMENT_ECOLE',
screen: route.paiementFacture,
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
title: 'Opérateur école 4',
},
{
type: 'PAIEMENT_ECOLE',
screen: route.paiementFacture,
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
title: 'Opérateur école 5',
},
{
type: 'PAIEMENT_ECOLE',
screen: route.paiementFacture,
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
title: 'Opérateur école 6',
},
]
}
export const optionPaiementFacture = {
type: 'FACTURE',
title: I18n.t('PAIEMENT_FACTURE'),
subTitle: I18n.t('CHOOSE_OPTION'),
options: [
{
type: 'FACTURE_WATER_ELECTRICITY',
icon: 'water',
title: 'Paiement eau/électricité',
screen: route.operateurOptionSelect,
subScreenOption: optionPaiementEauElectricite
},
{
type: 'FACTURE_SCHOOL',
icon: 'school',
title: 'Paiement école',
screen: route.operateurOptionSelect,
subScreenOption: optionPaiementEcole
},
{
type: 'FACTURE_PHONE',
icon: 'phone-classic',
title: 'Paiement crédit téléphonique',
screen: route.operateurOptionSelect,
subScreenOption: optionPaiementCreditTelephonique
},
{
type: 'FACTURE_TV',
icon: 'television-classic',
title: 'Paiement abonnement TV',
screen: route.operateurOptionSelect,
subScreenOption: optionPaiementAbonnementTV
},
]
}