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 === null ? ' ' : `${word.slice(0, max)}...`; } export const cutStringWithoutDot = (word, max) => { return word === null ? ' ' : `${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(walletName, 'ilink'); } 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 transactionHistoryIlinkLabel = () => { 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 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 optionDepotScreen = { type: 'DEPOT', title: I18n.t('ENVOIE_ARGENT'), subTitle: I18n.t('CHOOSE_OPTION'), options: [ { screen: route.envoieCashVersWalletAgent, icon: 'wallet', title: I18n.t('DEPOSIT_CASH_TO_WALLET'), }, { screen: route.envoieCashVersAutreWalletAgent, icon: 'cash-refund', title: I18n.t('DEPOSIT_CASH_TO_OTHER_WALLET'), }, { screen: route.envoieCashVersCarteAgent, icon: 'credit-card', title: I18n.t('DEPOSIT_CASH_TO_VISA'), }, { screen: route.envoiCashVersCashAgent, icon: 'cash-multiple', title: I18n.t('DEPOSIT_CASH_TO_CASH'), }, { screen: route.operateurOptionSelect, icon: 'bank-transfer-in', title: I18n.t('DEPOSIT_CASH_TO_BANK'), subScreenOption: optionWalletToBank, type: 'WALLET_TO_BANK', }, ] } export const optionRetraitScreen = { type: 'RETRAIT', title: I18n.t('RETRAIT_ARGENT'), subTitle: I18n.t('CHOOSE_OPTION'), options: [ { screen: route.retraitEnCashAgent, icon: 'cash', title: I18n.t('WITHDRAWAL_IN_CASH'), }, { screen: route.retraitCarteVersCashAgent, icon: 'credit-card', title: I18n.t('WITHDRAWAL_CARD_TO_CASH_AGENT'), }, ] } 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: 'credit-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 optionIdentificationUserScreen = { type: 'IDENTIFICATION', title: I18n.t('IDENTIFICATION'), subTitle: I18n.t('CHOOSE_OPTION'), options: [ { screen: route.createIdentificationUser, icon: 'pencil-plus', title: I18n.t('CREATE_MY_IDENTIFICATION'), }, { screen: route.modifyIdentificationUser, icon: 'pencil', title: I18n.t('MODIFY_IDENTIFICATION'), }, ] } export const optionNanoCreditScreen = { type: 'NANO_CREDIT', title: I18n.t('NANO_CREDIT'), subTitle: I18n.t('CHOOSE_OPTION'), options: [ { screen: route.createGroupNanoCredit, icon: 'account-multiple', title: I18n.t('MANAGE_GROUP'), hasSubMenu: true, subMenuOption: [ { title: I18n.t('DELETE'), screen: "" }, { title: I18n.t('CREATE'), screen: route.createGroupNanoCredit }, { title: I18n.t('JOIN'), screen: "" }, { title: I18n.t('VALIDATE'), screen: route.groupNanoCredit }, ], }, /* { screen: "", icon: 'account-multiple-plus', title: I18n.t('JOIN_GROUP'), }, */ { screen: "", icon: 'account-card-details', title: I18n.t('OPEN_ACCOUNT'), }, { screen: "", icon: 'cash', title: I18n.t('MANAGE_CREDIT'), }, { screen: "", icon: 'briefcase-edit', title: I18n.t('MANAGE_SAVINGS'), }, ] } 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 }, ] }