ilink-world/utils/UtilsFunction.js

303 lines
8.4 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 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 = {
title: I18n.t('DEPOSIT'),
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 = {
title: I18n.t('WITHDRAWAL'),
subTitle: I18n.t('CHOOSE_OPTION'),
options: [
{
screen: route.walletRetrait,
icon: 'cash',
title: I18n.t('WITHDRAWAL_IN_CASH'),
},
]
}
export const optionRetraitUserScreen = {
title: I18n.t('WITHDRAWAL'),
subTitle: I18n.t('CHOOSE_OPTION'),
options: [
{
screen: route.walletDepot,
icon: 'wallet',
title: I18n.t('WITHDRAWAL_WALLET_TO_CASH'),
},
{
screen: route.walletRetrait,
icon: 'credit-card-refund',
title: I18n.t('WITHDRAWAL_CARD_TO_CASH'),
},
{
screen: route.walletRetrait,
icon: 'card',
title: I18n.t('WITHDRAWAL_CARD_TO_WALLET'),
},
]
}
export const optionDepotUserScreen = {
title: I18n.t('DEPOSIT'),
subTitle: I18n.t('CHOOSE_OPTION'),
options: [
{
screen: route.walletDepot,
icon: 'wallet',
title: I18n.t('DEPOSIT_WALLET_TO_WALLET'),
},
{
screen: route.walletDepot,
icon: 'cash-refund',
title: I18n.t('DEPOSIT_TO_CASH'),
},
{
screen: route.walletDepot,
icon: 'credit-card',
title: I18n.t('DEPOSIT_TO_CARD'),
},
{
screen: route.walletDepot,
icon: 'bank-transfer-in',
title: I18n.t('DEPOSIT_TO_BANK'),
},
]
}
export const optionIdentificationScreen = {
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 optionPaiementFacture = {
title: I18n.t('PAIEMENT_FACTURE'),
subTitle: I18n.t('CHOOSE_OPTION'),
options: [
{
icon: 'water',
title: 'Paiement eau/électricité',
screen: route.paiementOptionSelect,
subScreenOption: optionPaiementFactureSubScreen
},
{
icon: 'school',
title: 'Paiement école',
screen: route.paiementOptionSelect,
subScreenOption: optionPaiementFactureSubScreen
},
{
icon: 'phone-classic',
title: 'Paiement crédit téléphonique',
screen: route.paiementOptionSelect,
subScreenOption: optionPaiementFactureSubScreen
},
{
icon: 'television-classic',
title: 'Paiement abonnement TV',
screen: route.paiementOptionSelect,
subScreenOption: optionPaiementFactureSubScreen
},
]
}
export const optionPaiementFactureSubScreen = {
title: I18n.t('PAIEMENT_FACTURE'),
subTitle: I18n.t('CHOOSE_OPTION'),
options: [
{
screen: '',
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
title: 'Opérateur 1',
},
{
screen: '',
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
title: 'Opérateur 2',
},
{
screen: '',
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
title: 'Opérateur 3',
},
{
screen: '',
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
title: 'Opérateur 4',
},
{
screen: '',
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
title: 'Opérateur 5',
},
{
screen: '',
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
title: 'Opérateur 6',
},
]
}