correction des bug

This commit is contained in:
Novic-Djef 2023-10-28 07:22:46 +01:00
parent 62910a38d3
commit cccee161ab
19 changed files with 16178 additions and 2242 deletions

View File

@ -51,11 +51,18 @@ import WalletRetrait from './screens/wallet/WalletRetrait';
import CreateIdentification from './screens/identification/createIdentification';
import WalletDetailUser from './screens/wallet/WalletDetailUser';
import WalletOptionSelect from './screens/wallet/WalletOptionSelect';
import PaymentCarteVersAutreWallet from './app/screens/wallet/user/PaymentCarteVersAutreWallet';
import PaymentCarteVersAutreWalletNanosante from './app/screens/nano-sante/paymentCard/PaymentCarteVersAutreWalletNanosante';
import AutreCarteN from './screens/nano-sante/paymentCard/AutreCarteN';
import CarteLierN from './screens/nano-sante/paymentCard/carteLierN';
import AutreCarte from './screens/wallet/user/AutreCarte';
import CarteLier from './screens/wallet/user/CarteLier'
import ValidateIdentification from './screens/identification/validateIdentification';
import CreateIdentificationUser from './screens/identification/CreateIdentificationUser';
import OperateurOptionSelect from './screens/wallet/OperateurOptionSelect';
import PaiementFacture from './screens/wallet/PaiementFacture';
import EnvoieWalletToWalletUser from './screens/wallet/user/EnvoieWalletToWalletUser';
import EnvoieWalletToWalletUsers from './screens/wallet/user/EnvoieWalletToWalletUsers';
import EnvoieWalletToCashUser from './screens/wallet/user/EnvoieWalletToCash';
import LinkCard from './screens/wallet/user/LinkCard';
import EnvoieWalletToCardUser from './screens/wallet/user/EnvoieWalletToCardUser';
@ -124,9 +131,16 @@ const AppStack = createDrawerNavigator({
about: About,
walletDetailUser: WalletDetailUser,
walletOptionSelect: WalletOptionSelect,
paymentCarteVersAutreWallet: PaymentCarteVersAutreWallet,
autreCarte: AutreCarte,
carteLier: CarteLier,
paymentCarteVersAutreWalletNanosante: PaymentCarteVersAutreWalletNanosante,
autreCarteN: AutreCarteN,
carteLierN: CarteLierN,
operateurOptionSelect: OperateurOptionSelect,
paiementFacture: PaiementFacture,
envoieWalletToWalletUser: EnvoieWalletToWalletUser,
envoieWalletToWalletUsers: EnvoieWalletToWalletUsers,
envoieWalletToCashUser: EnvoieWalletToCashUser,
envoieWalletToCardUser: EnvoieWalletToCardUser,
envoieWalletToBankUser: EnvoieWalletToBankUser,
@ -253,6 +267,8 @@ const AppAgentStack = createDrawerNavigator({
walletDepot: WalletDepot,
walletRetrait: WalletRetrait,
walletOptionSelect: WalletOptionSelect,
CarteLier: CarteLier,
AutreCarte: AutreCarte,
operateurOptionSelect: OperateurOptionSelect,
paiementFacture: PaiementFacture,
retraitEnCashAgent: RetraitEnCashAgent,

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

View File

@ -151,11 +151,18 @@ const AppStack = createDrawerNavigator(
notificationview: Notifications,
configuration: Configurations,
about: About,
carteLier: CarteLier,
autreCarte: AutreCarte,
paymentCarteVersAutreWallet: PaymentCarteVersAutreWallet,
paymentCarteVersAutreWalletNanosante: PaymentCarteVersAutreWalletNanosante,
carteLierN: CarteLierN,
autreCarteN: AutreCarteN,
walletDetailUser: WalletDetailUser,
walletOptionSelect: WalletOptionSelect,
operateurOptionSelect: OperateurOptionSelect,
paiementFacture: PaiementFacture,
envoieWalletToWalletUser: EnvoieWalletToWalletUser,
createGroupNanoCredit: CreateGroupNanoCredit,
envoieWalletToCashUser: EnvoieWalletToCashUser,
envoieWalletToCardUser: EnvoieWalletToCardUser,
envoieWalletToBankUser: EnvoieWalletToBankUser,

788
app/screens/fr.json Normal file
View File

@ -0,0 +1,788 @@
{
"WELCOME": "Bienvenue sur iLink World !",
"WAITING_LONG": "Veuillez patienter un instant",
"HELP": "Aide",
"SIMPLE_USER": "Utilisateur simple",
"ABOUT": "A Propos",
"ACTION_TREAT_DEMAND": "Traiter la demande",
"ABOUT_TEXT": "iLink est une application qui facilitera vos transactions financières près de votre position, et vous donne les points multiservices prêt de chez vous.",
"GEOLOCATED_USER": "Utilisateur géo-localisé",
"SUPERVISOR": "Superviseur",
"THE_SUPERVISOR": "Le superviseur",
"AGENT": "Agent",
"THE_AGENT": "L'agent",
"USER": "Utilisateur",
"HYPERVISOR": "Hyperviseur",
"YOU_HAVE": "Vous avez",
"OPEN": "Ouvert",
"POSITION": "Ma position",
"TAKE_MY_PLACE": "Prendre ma position",
"MAP": "La carte",
"BSR": "Bonsoir",
"ACCOUNT_CREATED_SUCCESS": "Le compte a été crée avec succès.\nVous recevrez dans quelques minutes un email et un sms avec vos informations.\nNous allons vous rediriger vers la page de connexion",
"OR_BIG": "OU",
"FOR_NUMB": "Pour le ",
"FILTER_DATE": "Filtre de date",
"SUBTITLE_ACTIVE_ACCOUNT": "Activez votre compte à l'aide du code qui a été envoyé sur votre mail ou votre numéro de téléphone",
"ASK_FOR_CREDIT": "Demander du crédit",
"ASK_CREDIT": "Demandes de crédit",
"ASK_SUPERIOR_CREDIT": "Demander du crédit à votre supérieur",
"ASK_FOR_SUPERVISOR": "Demandes de superviseurs",
"ASK_HYPERVISOR": "Devenir Hyperviseur",
"ASK_FOR_HYPERVISOR": "Demander à devenir hyperviseur",
"ASK_SUPERVISOR": "Devenir Superviseur",
"ASK_FOR_SUPERVISOR1": "Demander à devenir superviseur",
"CREDIT_ASK_FROM_MEMBERS": "Demandes de crédit de vos membres",
"ASK_MEMBERS": "Demandes d'adhésion",
"AMOUNT_LABEL": "Montant",
"TTC_AMOUNT": "Montant TTC",
"AMOUNT_LABEL_DESCRIPTION": "Veuillez saisir le montant",
"DESTINATAIRE": "Destinataire",
"ERROR_LABEL": "Message d'information",
"NO_BANK_AVAILABLE": "Aucune banque disponible",
"BANK_LIST": "Liste des banques",
"NO_OPERATOR_AVAILABLE": "Aucun opérateur disponible",
"DEPOSIT_SUCCESS": "Dépôt effectué avec succès",
"SUCCESS": "Succès",
"ETAT": "Etat",
"ETAT_STATE": "Etat ou Province",
"MY_ACCOUNT": "Mon compte",
"WALLET": "Wallet",
"DEPOSIT": "Dépôt",
"EN_ATTENTE_DE_VALIDATION": "En attente de validation",
"REMBOURSE": "Remboursé",
"NON_VALIDE": "Non validé",
"VALIDE": "Validé",
"ENVOIE_ARGENT": "Envoyer de l'argent",
"RETRAIT_ARGENT": "Retirer de l'argent",
"CONFIRM_DEPOSIT": "Confirmer le dépôt",
"CONFIRM_WITHDRAWAL": "Confirmer le retrait",
"ENTER_VALID_AMOUNT": "Entrer un montant valide",
"ENTER_AMOUNT_SUPERIOR_ZEROR": "Entrer un montant supérieur à zero",
"AMOUNT_SUPERIOR_TO_PRINCIPAL_ACCOUNT": "Montant supérieur à celui du compte principal de l'agent",
"ENTER_VALID_SERIAL_NUMBER": "Veuillez renseigner un numéro de série correct",
"MAKE_DEPOSIT": "Effectuer un dépôt",
"MAKE_WITHDRAWAL": "Effectuer un retrait",
"WITHDRAWAL_TYPE": "Mode de paiement",
"PAYMENT_DONE": "Paiement effectué",
"PAYMENT_PHONE": "",
"PAYMENT_COULD_NOT_MADE": "Le paiement n'a pas pu être effectué",
"PAYMENT_ERROR": "Erreur de paiement",
"CHOOSE_SOURCE": "Choisir la source",
"CHANGE_SOURCE_CARD": "Changer le type du numéro de saisie",
"CREDIT_CARD": "Carte de crédit",
"CREDIT_ACCOUNT": "Compte crédit",
"SAVINGS_ACCOUNT": "Compte épargne",
"SAVINGS": "Epargnes",
"SAVING": "Epargne",
"CREDITS": "Crédits",
"PHONE_SET_AS_DEFAULT": "Téléphone par défaut pour les notifications",
"NUMERO_DE_SERIE": "Numéro de série",
"NUMERO_DE_SERIE_DESCRIPTION": "Veuillez saisir le numéro de série",
"CARD_NUMBER_LABEL": "Numéro de la carte",
"CARD_EXPIRY_LABEL": "Date. exp.",
"CARD_CVC_LABEL": "CVC/CCV",
"CVC_CARD_ERROR": "Code CVC est erroné",
"EXPIRY_CARD_ERROR": "Date est incorrect",
"CARD_NUMBER_ERROR": "Numéro de carte incorrect",
"THIS_FIELD_IS_REQUIRED": "Ce champ est requis",
"PLEASE_ENTER_THE_AMOUNT": "Veuillez renseigne le montant",
"CHOOSE_OPTION": "Veuillez sélectionner une option",
"CHOOSE_OPERATOR": "Veuillez sélectionner un opérateur",
"DEPOSIT_DESCRIPTION": "Effectuer un dépôt",
"ERROR_TRANSFER": "Erreur de transfert",
"SUCCESS_TRANSFER": "Transfert effectué",
"WITHDRAWAL_SUCCESS": "Retrait effectué",
"WITHDRAWAL_ERROR": "Erreur de retrait",
"WALLET_TO_WALLET_SUCCESS_TRANSFER": "Transfert de wallet à wallet effectué avec succès",
"WITHDRAWAL": "Retrait",
"LINK_CARD": "Lier ma carte",
"LINK_CARD_REATTACH": "Lier | Rattacher",
"REATTACH_CARD": "Rattacher mon compte",
"REATTACH__MY_CARD": "Rattacher ma carte",
"HISTORY_SAVINGS": "Historique des épargnes",
"HISTORY_CREDIT": "Historique des crédits",
"TRANSFER_IN_ACCOUNT": "Transfert dans le compte",
"WITHDRAWAL_IN_CASH": "Retrait en cash",
"WITHDRAWAL_IN_CASH_DESCRIPTION": "Retrait d'argent en cash",
"WITHDRAWAL_WALLET_TO_CASH_DESCRIPTION": "Retirer de l'argent de votre Wallet vers cash",
"WITHDRAWAL_CARD_TO_WALLET": "Carte vers wallet",
"WITHDRAWAL_CARD_ORDER_WALLET": "Carte non liée vers autre wallet",
"WITHDRAWAL_CARD_ORDER_WALLET_LIER": "Carte liée vers autre wallet",
"WITHDRAWAL_BANK_TO_WALLET": "Banque vers wallet",
"WITHDRAWAL_BANK_TO_CASH": "Banque vers cash",
"WITHDRAWAL_CARD_TO_WALLET_DESCRIPTION": "Retrait d'argent de votre carte vers wallet",
"WITHDRAWAL_CARD_TO_CASH": "Carte vers cash",
"WITHDRAWAL_CARD_TO_CASH_AGENT": "Retrait carte vers cash",
"WITHDRAWAL_CARD_TO_ORDER_CASH_AGENT": "Retrait carte vers autre vallet",
"WITHDRAWAL_CARD_TO_CASH_DESCRIPTION": "Retrait de l'argent de votre carte vers cash",
"WITHDRAWAL_CARD_TO_CASH_DESCRIPTION_AGENT": "Retrait de l'argent de carte vers cash",
"DEPOSIT_CASH_TO_WALLET": "Cash vers wallet iLinkWorld",
"DEPOSIT_CASH_TO_WALLET_DESCRIPTION": "Dépôt Cash vers wallet iLinkWorld",
"DEPOSIT_CASH_TO_OTHER_WALLET": "Cash vers autre wallet",
"DEPOSIT_CASH_TO_OTHER_WALLET_DESCRIPTION": "Envoie de Cash vers autre wallet",
"DEPOSIT_CASH_TO_VISA": "Cash vers carte visa",
"DEPOSIT_CASH_TO_VISA_DESCRIPTION": "Envoie d'argent de Cash vers carte visa",
"DEPOSIT_CASH_TO_BANK": "Cash vers banque",
"DEPOSIT_WALLET_TO_WALLET": "Wallet vers wallet",
"ENVOIE_WALLET_TO_WALLET": "Envoie Wallet vers wallet",
"ENVOIE_WALLET_TO_ORDER_WALLET" :"Envoie Wallet vers autre wallet",
"DEPOSIT_WALLET_TO_CASH": "Wallet vers cash",
"ENVOIE_WALLET_TO_CASH": "Wallet vers cash",
"DEPOSIT_WALLET_TO_CARD": "Wallet vers carte",
"ENVOIE_WALLET_TO_CARD": "Envoie Wallet vers carte",
"DEPOSIT_WALLET_TO_BANK": "Wallet vers banque",
"ENVOIE_WALLET_TO_BANK": "Envoie Wallet vers banque",
"DEPOSIT_CASH_TO_CASH": "Cash vers cash",
"ENVOIE_CASH_TO_CASH": "Envoie d'argent en cash vers cash",
"TRANSACTION_DETAIL": "Détail de la transaction",
"DEMAND_DETAIL": "Détail de la demande",
"FEES_AND_TAXES": "Frais et taxes",
"TAXES": "Taxes",
"INTERET": "Intérêt",
"CREATE_GROUP": "Créer un groupe",
"MANAGE_GROUP": "Gérer le groupe",
"VALIDATION_DEMAND": "Demandes de validation",
"DELETE_DEMAND": "Demande de suppression",
"TYPE_DEMAND": "Type de demande",
"GROUP_INFOS": "Renseigner les informations du groupe",
"FILL_INFORMATION": "Veuillez renseigner les informations",
"GROUP_CODE": "Code du groupe",
"SUCCESS_CREATION_GROUP": "Informations sur la 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",
"GROUP": "Groupe",
"INDIVIDUAL": "Individuel",
"LIMIT_OF_CREDIT": "Limite du crédit",
"CODE_USER_ILINK_SPONSOR_1": "Code utilisateur iLink Sponsor 1",
"CODE_USER_ILINK_SPONSOR_2": "Code utilisateur iLink Sponsor 2",
"CODE_USER_ILINK_SPONSOR_3": "Code utilisateur iLink Sponsor 3",
"JOIN_GROUP": "Adhérer à un groupe",
"OPEN_ACCOUNT": "Ouvrir un compte",
"MANAGE_CREDIT": "Gérer son crédit",
"MANAGE_SAVINGS": "Gérer son épargne",
"CODE_IBAN": "Code IBAN",
"INIT_COUNTRY": "Pays de départ",
"CARD_ISSUING_COUNTRY": "Pays d'émission de la carte",
"FINAL_COUNTRY": "Pays d'arrivée",
"AMOUNT_FINAL_COUNTRY": "Montant Pays d'arrivée",
"AMOUNT_INIT_COUNTRY":"Montant pays de départ",
"INIT_AMOUNT": "Montant initial",
"FINAL_AMOUNT": "Montant final",
"NET_AMOUNT": "Montant net",
"CODE_WALLET": "Code Wallet",
"CODE_RETRAIT": "Code Retrait",
"TYPE_IDENTIFIANT": "Type d'identifiant",
"PAYS_DESTINATION": "Pays destination",
"ACTIVE_WALLET": "Réseau payeur",
"ID_TYPE_DESTINATAIRE": "id destinataire",
"DEPOSIT_TO_CASH": "Wallet vers cash",
"DEPOSIT_TO_CARD": "Wallet vers carte",
"DEPOSIT_TO_BANK": "Wallet vers banque",
"NANO_CREDIT": "Nano crédit",
"NANO_CREDIT_LIST": "Liste des nano crédit",
"NANO_CREDIT_DISABLE": "Nano crédit désactivé",
"SAVINGS_LIST": "Liste des épargnes",
"NO_NANO_CREDIT": "Aucune demande de nano crédit",
"NO_SAVINGS": "Aucune épargne",
"NANO_CREDIT_DESCRIPTION": "Nano crédit iLink",
"NANO_SANTE": "Nano santé",
"NANO_SANTE_DESCRIPTION": "Nano santé iLink",
"CAUTION_TYPE": "Type de caution",
"DEMAND_NANO_CREDIT": "Demande de nano crédit",
"REFUND_NANO_CREDIT": "Rembourser un nano crédit",
"SAVE_MONEY": "Epargner de l'argent",
"SAVE_MONEY_TYPE": "Type d'épargne",
"REFUND_DONE": "Remboursement effectué",
"CAUTION_CREDIT": "Cautionner une demande",
"CAUTIONNEMENT_DONE": "Cautionnement effectué",
"ID_DEMAND": "Identifiant de la demande",
"ID_SAVINGS": "Identifiant de l'épargne",
"PAIEMENT_EAU": "Eau",
"PAIEMENT_ELECTRICITY": "Electricité",
"PAIEMENT_ECOLE": "Ecole",
"PAIEMENT_CREDIT_TELEPHONIQUE": "Crédit téléphonique",
"PAIEMENT_ABONNEMENT_TV": "Abonnement TV",
"NON_APPLICABLE": "Non applicable",
"DATE": "Date",
"DEMAND_DATE": "Date de la demande",
"DATE_REMBOURSEMENT_PREVU": "Date de remboursement prévu",
"DATE_REMBOURSEMENT": "Date de remboursement",
"AMOUNT_REFUND": "Montant remboursé",
"AMOUNT_WITHDRAWAL": "Montant retiré",
"AMOUNT_PARTIALLY_REFUND": "Montant partiellement remboursé",
"FINAL_DATE": "Date de fin",
"CASSATION_DATE": "Date de cassation",
"VALIDATION_DATE": "Date de validation",
"HISTORY_DETAIL": "Détail de l'historique",
"DEMAND_DURATION_IN_MONTH": "Durée (en mois)",
"PAIEMENT_FACTURE": "Achat de Produits",
"PAIEMENT_FACTURE_CARD_LIER": "Paiement de facture carte liée",
"PAIEMENT_FACTURE_MOBILE_MONEY": "Paiement de facture mobile money",
"PAIEMENT_FACTURE_WALLET": "Paiement de facture wallet",
"PAIEMENT_FACTURE_ORDER_CARD": "Paiement de facture Autre carte",
"NUMERO_ABONNE": "Numéro d'abonnée",
"IDENTIFIANT_ETUDIANT": "Identifiant étudiant",
"ENTER_VALID_IDENTIFIANT_ETUDIANT": "Entrer un identifiant étudiant valide",
"ENTER_VALID_NUMERO_ABONNE": "Entrer un numéro d'abonné valide",
"ENTER_VALID_PHONE_NUMBER": "Entrer un numéro de téléphone valide",
"WITHDRAWAL_DESCRIPTION": "Effectuer un retrait",
"COMMISSION_ACCOUNT_TITLE": "Cpt. commission",
"CONFIRM": "Confirmer",
"CONFIRM_TRANSFER_COMMISSION": "Confirmer le transfert des commissions",
"PRINCIPAL_ACCOUNT_TITLE": "Cpt. principal",
"NUMERO_COMPTE": "N° de compte",
"COMMISSION_TRANSFER_SUCCESS": "Les commissions ont été transférées vers le compte principal",
"COMMISSION_TRANSFER_ERROR_EMPTY": "Le solde commission est vide",
"TRANSACTION_ID": "Numéro de transaction",
"OPERATION": "Opération",
"OPERATIONS": "Opérations",
"TRANSACTIONS": "Transactions",
"TRANSACTION_HISTORY": "Historique des transactions",
"HISTORY": "Historique",
"WITHDRAWAL_TRANSACTION_HISTORY_DESCRIPTION": "Retrait de",
"DEPOSIT_TRANSACTION_HISTORY_DESCRIPTION": "Dépôt de",
"NO_WALLET_HISTORY": "Aucune transaction à ce jour",
"DEMAND_SEND": "Demande envoyé",
"EPARGNE_DEPOSE": "Epargne déposée",
"BREAK_EPARGNE_DONE": "Epargne cassée avec succès",
"BREAK_EPARGNE": "Casser mon épargne",
"ID_EPARGNE": "Identifiant de l'épargne",
"NO_DEMAND_CREATION_GROUP": "Aucune demande de création de groupe",
"NO_WALLET_ACTIVED": "Aucun wallet n'est activé pour votre compte",
"TRANSFER_TO_PRINCIPAL_ACCOUNT": "Transférer commissions",
"PRINCIPAL": "Principal",
"CREATION_DATE": "Date de création",
"ENTER_YOUR_CARD_ID": "Entrer vos identifiants bancaires",
"THE_ACCOUNT": "Le compte ",
"NO_GEO_POINT_CODE": "Vous n'avez aucun point geolocalisé libre",
"NO_DEMAND_ADHESION": "Vous n'avez aucune demande d'adhesion",
"ACTIVATED": "a été activé",
"CREDIT_MANAGE": "Gestion de credit",
"GROUP_MANAGE": "Gestion du groupe",
"MODIFY_GROUP": "Modifier le groupe",
"DELETE_GROUP": "Supprimer le groupe",
"CREATOR": "Créateur",
"NOTIFICATIONS": "Notification",
"NO_NOTIFICATION": "Vous n'avez aucune notification",
"CONFIGURATIONS": "Configuration",
"LOGOUT": "Déconnexion",
"HINT_HOME_SEARCH": " Chercher un lieu, quartier ou ville ",
"MY_NETWORK": "Mon Réseau",
"MY_GROUP": "Mon groupe",
"CHANGE_MAP": "Changer de carte",
"CHANGE_NETWORK": "Changer de reseau",
"PRINT_ALL": "Tout Afficher",
"PRINT_MY_NETWORK": "Afficher mon reseau",
"MY_GROUP_MAP": "Carte de mon groupe",
"GROUP_MEMBERS": "Les membres du groupe",
"NAME": "Nom(s)",
"FIRSTNAME": "Prénom(s) ",
"NAME_EMETTEUR": "Nom(s) émetteur",
"EMETTEUR": "Emetteur",
"FIRSTNAME_EMETTEUR": "Prénom(s) émetteur",
"EMAIL_EMETTEUR": "Email émetteur ",
"PHONE_EMETTEUR": "Téléphone émetteur ",
"ID_DESTINATAIRE": "Identifiant destinataire ",
"NUMERO_IDENTITE_EMETTEUR": "Numéro d'identité de l'émetteur",
"NAME_DESTINATAIRE": "Nom(s) destinataire",
"FIRSTNAME_DESTINATAIRE": "Prénom(s) destinatire",
"EMAIL_DESTINATAIRE": "Email destinataire ",
"NUMERO_IDENTITE_DESTINATAIRE": "Numéro d'identité du destinataire",
"AND": "et",
"ADMIN": "Administrateur",
"SUPER_ADMIN": "Super administrateur",
"GEOLOCATED": "Agent géo-localisé",
"DELETE_GEOLOCATED_USER": "Supprimer",
"ADDRESS": "Adresse",
"CREDIT": "Crédit",
"NEXT": "Suivant",
"PREVIOUS": "Précédent",
"SPONSOR_CODE": "Code parrain",
"CODE_SPONSOR": "Code sponsor",
"SOLDE_UNVAIBLE": "solde non disponible",
"TEXT_BIG_CREATE_AGENT_1": "Inscrivez-vous en comme Agent",
"EMAIL": "Email",
"COUNTRY": "Pays",
"LOADING_INFO": "Chargement des informations...",
"LOADING": "Chargement",
"LOADING_DESCRIPTION_COUNTRY": "Patientez un instant ! nous récuperons les informations sur votre pays...",
"NETWORK": "Réseau",
"PHONE": "Télephone",
"PHONE_NUMBER": "Numéro de téléphone",
"CHOICE_NETWORK": "Choisissez un réseau",
"COUNTRY_CHOICE": "Choisissez un pays",
"CHOICE_TOWN": "Choisissez une ville",
"PIECE_IDENTITE": "Pièce d'identité",
"IDENTITY_CARD": "Carte d'identité",
"NUMERO_IDENTITE": "Numéro d'identité",
"PASSEPORT": "Passeport",
"OTHER_IDENTITY_PIECE": "Autre",
"IDENTITY_NUMBER": "N° de la pièce",
"IDENTITY_PIECE_EXPIRY_DATE": "Date d'expiration",
"LAST_STEP": "Derniere étape",
"ID_TRANSACTION": "Identifiant de la transaction",
"ACTIVE_ACCOUNT": "Activez le compte !",
"ACTIVE_USER": "Activer",
"LAST_STEP_TEXT": "Activez votre compte à l'aide du code de validation qui vous a été envoyé sur votre adresse e-mail et sur votre numero de téléphone",
"NETWORK_CHOICE": "Choix du réseau",
"CHOICE_NETWORK_TEXT": "Definir un réseau à afficher",
"NO_NETWORK_CORRESPONDING": "Ce réseau n'a aucun point",
"MENU_FILTER": " Menu Filtre de distance",
"MY_DEMAND": "Mes demandes",
"TEXT_FILTER_DISTANCE": "Definir la distance à chercher (en km ) ",
"WAIT_LOADING_POSITION": "Nous avons besoin de la position de votre lieu de travail",
"CONNEXION_SUCCESSFUL": "Connexion réussie !",
"UNABLE_TO_CONNECT": "Le numéro de téléphone et le mot de passe sont incorrects",
"TITLE_CHOICE_TYPE_ACCOUNT": "Choisissez le type de compte que vous souhaitez créer",
"ALREADY_HAVE_AN_ACCOUNT": "Avez-vous déjà un compte ?",
"AGENT_ACCOUNT": "Compte Agent",
"UNABLE_TO_CONNECT_TITLE": "Impossible de se connecter",
"DISTANCE_ARROUND": "Autour de vous",
"UNABLE_TO_CREATE_ACCOUNT": "Impossible de créer un compte ",
"TO_YOU": " de vous",
"TREAT_DEMAND": "Déjà traité",
"PHONE_NUMBER_ADMIN": "Numéro de transaction",
"FAILED_TEXT_CONTACT_ADMIN": "Impossible de créer un compte veuillez contacter les administrateurs",
"HYPERVISOR_MUST_VALIDATE_SUPERVISOR": "Votre code de validation vous sera envoyé une fois que votre Hyperviseur l'aura validé",
"ACCOUNT_SUCCESSFULL_CREATED": "Le compte a été crée avec succès.\nVous recevrez dans quelques minutes un email et un sms avec vos informations.\nNous allons vous rediriger vers la page de connexion",
"langue": {
"french": "Francais",
"english": "Anglais"
},
"ERROR_FILTER": "Erreur survenue lors du filtre",
"ERROR_LABLE": "Information",
"ERROR_TRANSFER_COMMISSION": "Erreur de transfert des commissions",
"TRANSFER_COMMISSION_IMPOSSIBLE": "Transfert des commissions impossible",
"ERROR_FILTER_TEXT": "Probleme rencontré lors du filtrage.",
"ERROR_TREATMENT_DEMAND": "Erreur de traitement de la demande",
"ERROR_IDENTIFICATION": "Erreur d'identification",
"SUCCESS_IDENTIFICATION": "Identification réussie",
"REFUSER_DEMANDE": "Refuser la demande",
"REFUSED": "Refusé",
"ACCEPTER_DEMANDE": "Accepter la demande",
"DEMAND_STATE": "Etat de la demande",
"CANCEL_ON": "Annulé le",
"CANCEL_BY_HYPERVISOR": "Annuler par l'hyperviseur",
"SUCCESS_TRANSFER_COMMISSION": "Transfert de commission",
"YOUR_THERE": "Vous êtes ici",
"FILTER": "Filtrer",
"QUIT": "Quitter",
"COMMISSION_FEES": "Frais de commission",
"TOTAL": "Total",
"QUIT_": "Quitter",
"OK": "OK",
"SIMPLE": "Simple",
"BLOCKED": "Bloqué",
"APP_FULLNAME": "Ilink World",
"GUIDE_TITLE": "Bienvenue dans le Guide de",
"GUIDE_USER_SIMPLE": "Guide pour un utilisateur",
"GUIDE_AGENT": "Guide pour un agent",
"REPOSITIONNING": "Repositionner",
"WRONG_PHONE_NUMBER": "Numéro incorrect !",
"WRONG_PASSWORD": "Mot de passe incorrect !",
"NETWORK_LOST": "Connexion perdue !",
"SHOW": "Afficher",
"CALL": "Appeler",
"MODIFY": "Modifier",
"FORGOTTEN_PASSWORD": "Mots de passe oublié ?",
"CONNECT_USER": "Se connecter",
"PASSWORD": "Mot de passe",
"CONFIRM_PASSWORD": "Confirmez le mot de passe",
"PASSWORD_MODIFY": "Modifiez votre mot de passe",
"OLD_PASSWORD": "Ancien mot de passe",
"NEW_PASSWORD": "Nouveau mot de passe",
"CONFIRM_NEW_PASSWORD": "Confirmerz le nouveau mot de passe",
"PLEASE_ENTER_THE_PASSWORD": "Veuillez renseigner le mot de passe",
"PLEASE_ENTER_CORRECT_PASSWORD": "Veuillez renseigner un mot de passe correct",
"MODIFY_AMOUNT": " Modifier le montant",
"ENTER_NEW_AMOUNT_TO_SEND": " Entrer le nouveau montant à envoyer",
"AMOUNT": "Montant",
"STATUS": "Statut",
"CANCEL": "Quitter",
"CANCEL_LABEL": "Annuler",
"SUBMIT_LABEL": "Valider",
"PHISIC_SECURITY": "Sécurité physique",
"TEXT_GUIDE_USER_1": "Vous venez de vous Connecter.\n Votre localisation est marquée au centre de la carte avec l'indication \"Vous êtes ici\" ",
"TEXT_GUIDE_USER_3": "En cliquant sur le bouton '+' vous ouvrirez le menu d'options",
"TEXT_GUIDE_USER_4": "Cliquez sur un marqueur pour avoir les informations sur un point",
"TEXT_GUIDE_USER_2": "Cliquez sur le bouton de menu en haut à droite pour decouvrir le menu et l'option de déconnexion",
"TEXT_GUIDE_USER_5": "Cliquez sur l'option 'Filtrer' pour filtrer vos points en fonction de leur distance par rapport à vous",
"TEXT_GUIDE_USER_6": "Cliquez sur l'option 'Changer de reseau ' pour afficher les points d'autres reseaux",
"TEXT_GUIDE_USER_7": "Cliquez sur l'option ' Itineraire' pour afficher le chemin à suivre pour ce rendre vers le point",
"TEXT_GUIDE_USER_10": "Consultez la liste des membre de votre groupe",
"TEXT_GUIDE_USER_11": "Cliquez sur l'option de profil pour avoir des informations lier à votre compte",
"CATEGORY": "Catégorie",
"WAY": "Itinéraire",
"ADD_NETWORK": "Ajouter un réseau",
"POINT_NUMBER": "Nombres de points",
"SUPERIOR_CODE": "Code parrain",
"ADD_SUCCES": "Ajout reussi",
"ADD_SUCCESS_TEXT": "Le numéro a été ajouté au reseau avec succès ",
"MEMBER_CODE": "Code membre",
"MEMBER_INFO": "Information du membre",
"DEMAND_INFO": "Information sur la demande",
"NO_MEMBERS": "Aucun membre enregistré",
"ACCOUNT_NOT_ACTIVE": "Votre compte n'est pas activé",
"ENTER_VALIDATION_CODE": "Saisissez le code de validation qui vous a été envoyé.",
"ENTER_VALIDATION_CODE1": "Saisissez le code de validation.",
"SUPERVISOR_NUMBER": "Nombre de superviseurs",
"GEOLOCATED_NUMBER": "Nombre de points par superviseur",
"ACTIVATE_ACCOUNT": "Activer le compte",
"SEND": "Envoyer !",
"CHANGE_INFORMATION": "Modifier mes informations",
"VALIDATE": "Valider",
"NO_VALIDATE": "Non validé",
"VALIDATION": "Validation",
"VALIDATIONS": "validations",
"LIMITE_GROUP": "Limite crédit",
"SELECT_YOUR_WALLET": "Selectionner un wallet",
"CONNECT": "Connexion",
"TEXT_BIG_CREATE_1": "Inscrivez vous en tant qu'Utilisateur",
"TEXT_SUBTITLE_CREATE_1": "Renseignez vos informations personnelles",
"USER_ACCOUNT": "Compte Utilisateur",
"USER_CONNECT": "Connexion utilisateur",
"GIVE_CONNECT_INFO": "Entrez vos informations de connexion",
"CREATE_ACCOUNT": "créer un compte",
"CHOOSE_LANGUAGE": "Choisir la langue",
"MODIFY_PASSWORD": "Mot de passe oublié",
"CONTACT": "Contact",
"UPDATE": "... mise à jour",
"FAQ": "FAQ",
"UPDATE_POSITION_TEXT": "Mettre à jour ma position",
"YOU_ARE": "Vous êtes ?",
"GIVE_ID_FOR_RECOVERY": "Saisissez votre identifiant, nous vous enverrons un nouveau mot de passe.",
"SELECT_ACCOUNT_TYPE": "Sélectionnez un type de compte !",
"BRAVO": "Bravo !",
"HELP_CONGRAT_MESSAGE": "Vous savez maintenant comment utiliser iLink",
"REPLAY_HELP": "Revoir le didacticiel",
"BACK_TO_HELP_HOME": "Revenir à l'aide",
"USE_APP": "Utiliser l'application",
"HIDE_AT_STARTUP": "Masquer au prochain démarrage ?",
"PATH_YOU_ARE": "Vous êtes à ",
"PATH_TO_POINT": " du point que vous avez cliqué.",
"PATH_YOU_WILL": "Vous y serez en ",
"PRECISE_SEARCH": "Affinez votre recherche",
"SEARCH_DISTANCE": "Distance",
"SEARCH_5": "5 km",
"SEARCH_15": "15 km",
"SEARCH_20": "20 km",
"SEARCH_25": "25 km",
"SEARCH": "Rechercher",
"SEE_VIDEO": "Voir la vidéo",
"SEE_TUTO": "Voir le tutoriel",
"SELECT_NETWORK": "Sélectionner votre réseau",
"DELETE": "Supprimer",
"FREE": "disponibles",
"SAVED": "enregistrés",
"CREATE": "Créer",
"JOIN": "Rejoindre",
"PROFILE_PICTURE": "Photo de profil",
"FRONT_FACE_CB": "Face avant CB",
"BACK_FACE_CB": "Face arrière CB",
"PREVISUALISATION": "Prévisualisation",
"ACCOUNT_INFO": " Information sur mon compte",
"ALREADY_IDENTIFIED": "Vous êtes déjà identifié",
"CREATE_MY_IDENTIFICATION": "Créer mon identification",
"NOT_IDENTIFIED": "Ce numéro existe, son identification n'est pas encore saisi",
"NOT_VALIDATED": "Votre identicaiton n'est pas encore validé",
"ALREADY_VALIDATED": "L'identification de ce client a déjà été validée",
"MODIFY_IDENTIFICATION": "Modifier mon identification",
"NOT_YET_IDENTIFY": "Vous n'êtes pas encore identifié",
"IDENTIFICATION": " Identification",
"CREATION_IDENTIFICATION": "Création",
"CREATION_IDENTIFICATION_CLIENT": "M'identifier",
"CREATION_IDENTIFICATION_DESCRIPTION": "Identifier un client",
"CREATION_IDENTIFICATION_DESCRIPTION_SUBSCREEN": "Saisir l'identité d'un client",
"VALIDATE_IDENTIFICATION": "Validation",
"VALIDATE_IDENTIFICATION_DESCRIPTION": "Valider une identité client",
"IDENTIFICATION_INFORMATION": "Information sur l'identification",
"CREATE_IDENTIFICATION_TITLE": "Veuillez renseigner les informations du client",
"REGISTER_YOURSELF": "Enregistrez-vous",
"REGISTRATION": "Inscription",
"CHANGE_LANG_LABEL": "Changer la langue",
"GIVE_PERSONNAL_INFO": "Renseignez vos information personnelles",
"YOUR_GEOLOCATION": "Votre localisation",
"HISTORY_REQUEST": "Historique des demandes",
"ASK_REQUEST_HISTORY": "Demander un historique",
"GIVE_HISTORY_INFO": "Informations sur votre historique",
"HISTORY_TYPE": "Type",
"INVALID_MONTANT": "Montant invalide",
"HISTORY_TYPE_ASK": "Demandes",
"DEMANDE_RECEIVE": "Demandes reçues",
"MY_DEMANDE": "Mes demandes",
"PHONE_TRANSACTION": "Numéro de transaction",
"DEMAND_TEXT_FIRST_PART": "a effectué une demande de ",
"DEMAND_TEXT_FIRST_PART_YOU": "Vous avez effectué une demande de ",
"DEMANDE_SEND": " Demande Envoyée",
"DEMAND_RECEIVE": "Demandes reçues",
"DEMAND_VALIDATION_GROUP_RECEIVE": "Demandes de validation",
"DEMAND_DELETE_GROUP_RECEIVE": "Demandes de suppression",
"TO_": " crédit auprès de ",
"DEMAND_SEND_SUCCESFUL": "Votre demande a été envoyée avec succès !",
"SAVE_HISTORY": "Enregistrer l'historique",
"MAKE_REQUEST": "Faire une demande",
"DATE_WRONG": "La date de fin ne peut être antérieure à la date de début",
"LOADING_DOTS": "Chargement...",
"LOADING_PROGRESS": "Chargement en cours",
"EMPTY_LIST_REQUEST": "Aucune demande",
"MEMBER_LIST": "Liste des membres",
"FREE_CODE_LIST": "Liste des codes disponibles",
"NO_ITEM_REQUEST": "Aucun élément ne correspond",
"MEMBERSHIP_REQUEST": "Demandes d'adhésion",
"HISTORY_TYPE_REQUEST": "Requêtes",
"TREAT": "Traité",
"EXIT_TITLE": "Fermer iLink World !",
"EXIT_DESC": "Voulez-vous vraiment fermer iLink World ?",
"NO_TREAT": "Non traité",
"EXIT": "Fermer",
"PERIOD": "Période",
"DISCONNEXION": "Déconnexion",
"DISCONNEXION_TEXT": "Voulez-vous vraiment vous deconnecter ? Cette action effacera toutes vos données temporaires.",
"HISTORY_START": "Début",
"YES": "Oui",
"NO": "Non",
"CONNEXION_LOST_CHECK": "Connexion perdue. Veuillez vérifier votre connexion !",
"ACCOUNT_ACTIVATE_TEXT": "Votre compte a été activé avec succès !",
"HISTORY_END": "Fin",
"DONT_VALIDATE_ACCOUNT": "Compte non validé",
"CONNEXION_SUCCESSFULL_TEXT": "Connexion réussie. Bienvenue dans iLink World ! ",
"UNVALIDATE_ACCOUNT_TEXT": "Votre hyperviseur n'a pas encore validé votre compte",
"TEXT_NEED_POSITION": "Veuillez mettre à jour votre position !",
"TITLE_NEED_POSITION": "Votre position doit être mise à jour",
"POSITION_UPDATE_SUCCESS_TEXT": "Votre position a été mise à jour avec succès !",
"UPDATE_SUCCESS": "Mise à jour reussie !",
"TITLE_UPDATE_POSITION_FAILED": "Impossible de mettre à jour votre position",
"TEXT_UPDATE_POSITION_FAILED_1": "Impossible de recuperer votre code membre",
"TEXT_UPDATE_POSITION_FAILED_2": "Impossible de recuperer votre position",
"TITLE_ERROR_SURVENU": "Une erreur est survenue !",
"TITLE_PROBLE_COME": "Un problème a été rencontré",
"TITLE_SUPPRESS_CONFIRM": "Confirmation de suppression",
"TEXT_SUPPRESS_CONFIRM": "Voulez vous vraiment supprimer cet utilisateur ?",
"TEXT_ERROR_START_APPLICATION": "Une erreur est survenue au démarrage de iLink World. Veuillez relancer iLink World",
"TEXT_UNABLE_TO_GET_YOUR_POSITION": "Impossible de recupérez votre position. Veuillez verifier que votre GPS est activé et relancez iLink World",
"RESTART": "RECOMMENCER",
"TEXT_UNABLE_TO_GET_COUNTRY_INFO": "Impossible de recupérer les informations de votre pays. Verifiez votre connexion internet ! cliquez sur \"Ok\" pour reessayer",
"TITLE_UNABLE_TO_AUTORISE": "Echec de l'autorisation",
"MISSING_AUTORISATION_LOCATION": "iLink World n'est pas autorisé à acceder à votre position. Veuillez autoriser iLink World à accéder à votre localisation et relancez iLink World",
"TEXT_FORGOTTEN_PASSWORD": "Saisissez votre identifiant,nous vous enverrons un nouveau mot de passe\n",
"TEXT_NETWORK_UNABLE": "Réseau non disponible, voulez vous réessayer ?",
"LOADING_TEXT_MARKERS": "Suite des points ",
"NO_NETWORK_MARKER": "Aucun point trouvé dans la zone ",
"NO_POINT_FOUND": "Aucun point trouvé ",
"LAUNCH_POINT_WITH_FILTER": "Voulez-vous relancer la recherche dans un rayon de ",
"LOADING_TEXT_MARKERS_2": "autour",
"UNABLE_GET_INFORMATION": "Problème de récuperation des Informations",
"UNABLE_GET_INFORMATION_TEXT": "Vérifiez que votre GPS est activé et mis en mode haute precision et relancez iLink World",
"TITLE_HELP_SOON": "Aide non disponible !",
"YOUR_NETWORK": "Sélectionner votre réseau",
"HELP_SOON": "Un tutoriel vous aidant dans la compréhension des fonctionnalités de l'application vous sera bientôt mis à disposition.",
"ATTACH_ASSURANCE_CARD": "Rattaché une carte d'assuré",
"SUBSCRIBE_ASSURANCE": "Souscrire à une assurance",
"BAY_ASSURANCE": "Paiement Assurence",
"ADD_SUBSCRIBE": "Ajouter un ayant droit",
"DELETE_SUBSCRIBE": "Supprimer un ayant droit",
"STOP_SUBSCRIBE": "Arrêter son assurance",
"RENEW_INSSURANCE": "Renouveler son assurance ",
"MANAGE_ASSURANCE": "Gérer son assurance",
"MANAGE_HEALTH": "Gérer ses soins",
"DEMAND_AUTORIZATION_HEALTH": "Demande de prise en charge",
"HISTORIC_HEALTH": "Historique",
"VALID_HEALTH": "Valider un soin ",
"ACTIVATE_INSSURANCE": "Payer son assurance",
"AMOUNT_PER_DURATION": "Montant par durée",
"AMOUNT_PRIME": "Montant de la prime",
"ASSURE": "Assuré",
"NUMERO_ASSURE": "Numéro de l'assuré",
"NOM_ASSURE": "Nom de l'assuré",
"PRENOM_ASSURE": "Prénom de l'assuré",
"DATE_NAISSANCE": "Date de naissance",
"SEXE": "Sexe",
"MASCULIN": "Masculin",
"FEMININ": "Féminin",
"AFFILIATION": "Affiliation",
"ENFANT": "Enfant",
"CONJOINT": "Conjoint",
"ADD_AYANT_DROIT": "Ajouter un ayant droit",
"AYANT_DROITS": "Ayant droit",
"SELECT_INSURANCE": "Sélectionner une assurance",
"COPIE_LEGALISE_ACTE_NAISSANCE_CERTIFICAT_NAISSANCE": "Acte \n naissance",
"DOCUMENT_JUSTICE_ENFANT_ADOPTE": "Document adoption \n ou tutelle (facultatif) ",
"ACTE_MARIAGE": "Acte mariage",
"CNI_FRONT_FACE": "Face avant identité",
"CNI_BACK_FACE": "Face arrière identité",
"PLEASE_SELECT_INSURANCE_BEFORE": "Veuillez d'abord sélectionner une assurance",
"NUMBER_MAX_BENEFICIARY": "Nombre maximum d'ayant droit atteint",
"BENEFICIARY_SUCCESSFULLY_ADDED": "L'ayant droit a été correctement ajouté",
"NUMBER_OF_MONTHS": "Nbre de mois",
"MINIMUM_AMOUNT": "Montant min.",
"AMOUNT_PER_MONTH": "Type d'assurance",
"DETAIL": "Détail",
"PRIME_AMOUNT": "Montant de la prime",
"AYANT_DROIT": "Ayant(s) droit(s)",
"SELECT_SUBSCRIPTION": "Sélectionner une souscription",
"SAISIR_FEUILLE_SOIN": "Créer une consultation",
"MODIFIER_FEUILLE_SOIN": "Modifier une feuille de soin",
"EXECUTER_PRESCRIPTION": "Exécuter prescription",
"FACTURER_FEUILLES_SOINS": "Facturer les feuilles de soins",
"FICHE_DE_SOIN": "Fiche de soins",
"PATIENT": "Patient",
"PRATICIEN": "Praticien",
"PRESCRIPTION_MEDICALE": "Prescription",
"ADD_PRESCRIPTION_MEDICALE": "Ajouter une prescription",
"SITUATION": "Situation",
"CODE_AGREMENT_ETS": "Code agrément",
"NOM_PRATICIEN": "Nom du praticien",
"PRENOM_PRATICIEN": "Prénom du praticien",
"NOM_CLIENT": "Nom du client",
"PRENOM_CLIENT": "Prénom du client",
"CODE_AGREMENT": "Code agrément",
"CLASSIFICATION": "Classification",
"COURANTE": "Courante",
"LONGUE": "Longue",
"ACCIDENT": "Accident",
"GROSSESSE": "Grossesse",
"ADD_PRESTATION": "Ajouter une consultation",
"ADD_PRESCRIPTION": "Ajouter une prescription",
"VISITE_DOMICILE": "Visite domicile ",
"CODE_ACTE": "Code acte ",
"TICKET_MONDERATEUR": "Ticket modérateur",
"AMOUNT_PER_INSURANCE": "Montant par assurance",
"CONDITION_PRISE_CHARGE": "Condition de prise en charge",
"AFFECTION_COURANTE": "Affection courante",
"AFFECTION_LONGUE": "Affection longue durée",
"EXONERE": "Exonéré",
"DATE_ACCIDENT": "Date accident",
"DATE_DEBUT_GROSSESSE": "Date début de grossesse",
"DATE_FIN_GROSSESSE": "Date fin de grossesse",
"BRING_YOUR_CAMERA_CLOSER_TO_SCAN_QR_CODE": "Approchez votre caméra du QR Code afin de le scanner",
"CLOSE": "Fermer",
"EMPTY_LIST": "Liste vide",
"NO_ASSURE_MATCH_SEARCH": "Aucun assuré ne correspond à la recherche",
"NO_ASSURE": "Aucun assuré",
"LIST_ASSURE": "Liste des assurés",
"ASSURE_NON_EN_REGLE": "Assuré non en règle",
"CLASSE_PRESTATAIRE": "Classe de prestataire",
"FRAIS_DEPLACEMENT": "Frais de déplacement",
"AJOUTER_MEDICAMENT": "Ajouter médicament/appareil",
"AJOUTER_EXAMEN": "Ajouter autre acte ou examen",
"POSOLOGIE": "Posologie",
"QUANTITE": "Quantité",
"LISTE_MEDICAMENT": "Liste des médicaments",
"PRESTATION": "Prestation",
"MEDICAMENT": "Médicament",
"EXAMEN": "Examen",
"PRESTATION_SUCCESSFULLY_ADD": "Prestation ajouté avec succès",
"EXAMENS_SUCCESSFULLY_ADD": "Examen ajouté avec succès",
"PRESCRIPTIONS_SUCCESSFULLY_ADD": "Prescription ajouté avec succès",
"PRESCRIPTIONS_SUCCESSFULLY_MODIFY": "Prescription modifié avec succès",
"YOU_MUST_ADD_AT_LEAST_ONE_PRESTATION": "Vous devez ajouter au moins une prestation",
"NO_DRUG_MATCH_YOU_SEARCH": "Aucun médicament ne correspond à votre recherche, voulez-vous en ajouter ?",
"COMPRESSED": "Comprimé",
"SYRUP": "Sirop",
"SOLUTION": "Solution",
"SUPPOSITORY": "Suppositoire",
"DEVICE": "Appareillage",
"AJOUTER_NOUVEAU_MEDICAMENT": "Ajouter un nouveau médicament",
"SOUS_ORDONNANCE": "Sous ordonnance ?",
"PLEASE_SELECT_CONDITON_PRISE_CHARGE_FIRST": "Veuillez d'abord sélectionner la conditon de prise en charge",
"STATE": "Etat",
"INSTITUTE_NAME": "Nom de l'institution",
"ACCEPT": "Accepter",
"REJECT": "Rejeter",
"NO_CONSULTATION_DEMAND": "Aucune demande de consultation",
"LIST_CONSULTATION": "Liste des consultations",
"MODIFY_CONSULTATION": "Modifier une consultation",
"MEDICAMENTS": "Médicaments",
"MODIFIER_MEDICAMENT": "Modifier médicament",
"MODIFIER_EXAMEN": "Modifier examen",
"EXAMENS_SUCCESSFULLY_MODIFY": "Examen modifié avec succès",
"PRESTATION_SUCCESSFULLY_MODIFY": "Prestation modifié avec succès",
"MODIFY_PRESTATION": "Modifier une consultation",
"LIST_PRESTATION": "Liste des consultations",
"NO_CONSULTATION": "Aucune consultation",
"NO_EXECUTION": "Aucune exécution",
"LISTE_CONSULTATION": "Liste des consultations",
"LIST_EXECUTION": "Liste des exécutions",
"MODIFY_EXECUTION": "Modifier une exécution",
"SOUSCRIPTION": "Souscriptions",
"FEUILLE_SOIN": "Feuille de soins",
"SOINS": "Soins",
"TOTAL_BONUS_AMOUNT": "Total de la prime",
"BONUS_AMOUNT": "Montant de la prime de base",
"MONTANT_ASSURANCE": "Montant de l'assurance",
"MONTANT_ASSURE": "Montant de l'assuré",
"DEMANDES": "Demandes",
"ACTE": "Acte",
"AGENT_VALIDEUR": "Agent valideur",
"AGENT_VALIDEUR_EMAIL": "Email agent valideur",
"AGENT_VALIDEUR_PHONE": "Téléphone agent valideur",
"TEXT_SUPPRESS_CONFIRM_BENEFICIARY": "Voulez vous vraiment supprimer cet ayant droit ?",
"ENTER_PASSWORD_TO_VALID_MODIFICATION": "Renseigner votre mot de passe et valider la suppression de l'ayant pour le supprimé définitivement",
"PLEASE_SELECT_AT_LEAST_ASSURE": "Veuillez sélectionner au moins un ayant droit",
"ID": "ID",
"INVOICE_ID": "ID facture",
"INVOICE": "Facture",
"INFORMATION_MESSAGE": "Message d'information",
"MONTANT_ASSURANCE_CONSOMME": "Montant de l'assurance consommé",
"MONTANT_ASSURANCE_RESTANTE": "Montant de l'assurance restante",
"NO_BENEFICIARY": "Aucun ayant droit",
"PRIME_PRINCIPAL": "Prime principal",
"IDENTIFIANT": "ID",
"FACT": "Fact.",
"MNT": "Mnt.",
"ECH": "Ech.",
"PER": "Per.",
"ASSURE_SUSPENDU": "Cet assuré est suspendu",
"ASSURE_PRINCIPAL_SUSPENDU": "L'assuré principal est suspendu",
"CONSULTATION": "Consultation",
"ACTE_EXAMEN": "Acte et examen",
"AMOUNT_FREE": "Montant libre",
"DESCRIPTION": "Description",
"EXECUTION": "Execution",
"UNIT_QUANTITE": "Qté unitaire",
"NO_USAGER_CORRESPONDING_TO_SEARCH": "Aucun usager ne correspond à votre recherche",
"USAGER_SEARCH": "Recherche d'un usager",
"BY_NAME": "Par nom",
"BY_QR_CODE": "Par QR Code",
"SCAN": "Scanner",
"QUANTITY_CANNOT_BE_SUPERIOR": "La quantité ne doit pas être supérieure à",
"EXCLUSION": "Exclusion",
"VALIDATION_EFFECTUE": "Validation effectué",
"USER_SUCCESSFULLY_VALIDATED": "Utilisateur validé avec succès",
"BENEFICIARY": "Bénéficiaire",
"AUTORISATION_SOIN": "Autorisation soin",
"PAYMENT_METHOD": "Méthode de paiement",
"MOBILE_MONEY": "Mobile Money",
"ORANGE_MONEY": "Orange Money",
"MTN_MOBILE_MONEY": "MTN mobile Money",
"PAYPAL": "Paypal",
"RESTE":"Reste",
"MOTIF": "Motif",
"NEXT_ECHEANCE": "Prochaine échéance",
"MONTANT_RESTANT": "Montant restant",
"LAST_PAYMENT": "Dernier paiement",
"AMOUNT_PER_SPLIT": "Montant min. par échéance",
"ETAT_ASSURANCE": "Etat assurance",
"PRIME_BASE": "Prime de base",
"PAYMENTS": "Paiements",
"SEE_MORE": "Voir plus",
"MIANG_SLOGAN": "Transfert d'argent national",
"ENREGISTREMENT_UBA": "Enregistrement UBA",
"PROBLEM_OCCUR": "probleme d'Itineraire ",
"PROBLEM_OCCUR_DIRECTION": "Désolé mais nous ne pouvons pas tracer l'Itineraire un probleme est survenue",
"ZIP_CODE": "Code Postal",
"CUSTOMER_STATE": "Lieu d'habitation",
"CUSTOMER_COUNTRY": "Pays client",
"SELECT_COUNTRY": "Sélectionnez un pays",
"CITY": "Ville",
"SURNAME": "Noms de famille",
"CARD_COUNTRY": "Pays de la carte",
"EXCHANGE_TAUX": "Taux d'echange",
"CARD_LINK": "carte liée",
"OTHER_CARD": "Autre carte",
"CHOUSE_PAYEMENT_MODE": "Choisisez le mode de payement",
"ERROR_TREATMENT_REQUEST": "erreur de traitement de la requete"
}

View File

@ -516,7 +516,7 @@ class Home extends BaseScreen {
if (c.length > 0 && pays) {
this.setState({filternetwork: c[0], myNetwork: c[0], filternetworkTemp: c[0]})
//this.retrieveAllPoint(pays)
// this.retrieveAllPoint(pays)
} else {
if (this.state.user) {
@ -946,7 +946,7 @@ class Home extends BaseScreen {
}}>
<Icon name={this.state.markers.length >= this.state.currentNetworkSize ? "close" : "refresh"}
size={32}
color={this.state.markers.length >= this.state.currentNetworkSize ? "red" : "grey"}
color={this.state.markers.length >= this.state.currentNetworkSize ? "red" : "refresh"}
/>
</TouchableOpacity>
</View>

View File

@ -10,7 +10,8 @@ import {
StyleSheet,
Text,
TouchableOpacity,
View
View,
Dimensions
} from 'react-native';
import Icon from 'react-native-vector-icons/MaterialCommunityIcons';
import I18n from 'react-native-i18n'
@ -165,6 +166,8 @@ class WalletDetailUser extends Component {
)*/
}
};
getWalletDetail = () => {
readUser().then((user) => {
@ -466,13 +469,20 @@ class WalletDetailUser extends Component {
);
renderDetailWallet = (wallet) => {
const { width } = Dimensions.get('window');
return (
!isEmptyObject(wallet) ?
(<>
{this.state.triggerTransferCommission && this.renderDialogTransferCommissionResponse()}
<View
style={styles.container}>
//</>style={styles.container}
style={{
flex: 1,
width: width >= 768 ? '50%' : '100%',
backgroundColor: Color.containerBackgroundColor
}}
>
<Animated.View style={{
position: 'absolute',
@ -1219,6 +1229,7 @@ class WalletDetailUser extends Component {
render() {
console.warn("Wallet Detail user Props", this.props);
return (
<>
@ -1327,10 +1338,11 @@ const mapDispatchToProps = dispatch => bindActionCreators({
export default connect(mapStateToProps, mapDispatchToProps)(WalletDetailUser);
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: Color.containerBackgroundColor
},
// container: {
// flex: 1,
// width: width >= 768 ? '50%' : '100%',
// backgroundColor: Color.containerBackgroundColor
// },
indicator: {
height: 2
},

View File

@ -480,6 +480,7 @@ class EnvoiCashVersCashAgent extends Component {
id_wallet_agent: this.state.wallet.id,
final_country: (this.state.paysDestination.filter(element => element.name === this.state.paysDestinationSelect))[0].id,
montant: this.state.montant,
network_destinataire: (this.state.walletActifs.filter(element => element.name === this.state.walletActifSelect))[0].id,
});
}

View File

@ -222,26 +222,81 @@ class RetraitCarteVersCashAgent extends Component {
}
if (resultEnvoieWalletToCard !== null) {
if (resultEnvoieWalletToCard.response !== null) {
Alert.alert(
I18n.t("WITHDRAWAL_SUCCESS"),
resultEnvoieWalletToCard.response,
[
{
text: I18n.t("OK"), onPress: () => {
this.props.envoieUserWalletToCardReset();
IlinkEmitter.emit("refreshWallet");
this.props.navigation.pop();
}
}
if (resultEnvoieWalletToCard.status === 301) {
console.warn('jehfekjfhejkf', resultEnvoieWalletToCard.response.payment_url)
//this.props.envoieUserWalletToCardReset();
try{
console.warn('jehfekjfhejkf', resultEnvoieWalletToCard.response.payment_url)
this.props.navigation.push('webviewScreen', {
url: resultEnvoieWalletToCard.response.payment_url,
requestBody: {
type: 13,
numero_carte: this.state.creditCardInput.values.number.replace(/\s/g, ''),
cvv: this.state.creditCardInput.values.cvc,
expiration_date: this.state.creditCardInput.values.expiry,
id_wallet_agent: this.state.wallet.id,
montant: this.state.montant,
password: this.state.password,
customer_email: this.state.emailCustomer,
customer_name: this.state.nameCustomer,
customer_surname: this.state.surnameCustomer,
customer_address: this.state.adressCustomer,
customer_city: this.state.cityCustomer,
customer_country: (this.state.countryCustomer.filter(element => element.name === this.state.paysDestinationSelect))[0].code_country,
customer_state: this.state.stateCustomer,
customer_zip_code: this.state.codeZipCustomer,
},
transactionType: "USER_CARD_WALLET",
});
} catch(error) {
console.log('error', error);
}
}
if (resultEnvoieWalletToCard.status === 200) {
console.log("bonjour...response: ", resultEnvoieWalletToCard.response)
if (resultEnvoieWalletToCard.response !== null) {
Alert.alert(
I18n.t("WITHDRAWAL_SUCCESS"),
resultEnvoieWalletToCard.data.response,
[
{
text: I18n.t("OK"), onPress: () => {
this.props.envoieUserWalletToCardReset();
IlinkEmitter.emit("refreshWallet");
this.props.navigation.pop();
//navigation.goBack()
}
}
],
{ cancelable: false }
)
}
}
],
{ cancelable: false }
)
}
// if (resultEnvoieWalletToCard.response !== null) {
// Alert.alert(
// I18n.t("WITHDRAWAL_SUCCESS"),
// resultEnvoieWalletToCard.response,
// [
// {
// text: I18n.t("OK"), onPress: () => {
// this.props.envoieUserWalletToCardReset();
// IlinkEmitter.emit("refreshWallet");
// this.props.navigation.pop();
// }
// }
// ],
// { cancelable: false }
// )
// }
}
}
renderDialogGetCommissionResponse = () => {
const { errorEnvoieWalletToCardGetCommission } = this.props;
@ -320,26 +375,26 @@ class RetraitCarteVersCashAgent extends Component {
}} />
<Dialog.Button bold={true} label={I18n.t('SUBMIT_LABEL')} onPress={() => {
this.setState({
isDataSubmit: true,
isModalConfirmVisible: false,
isDataSubmit: true
});
this.props.envoieUserWalletToCardAction({
type: 13,
numero_carte: this.state.creditCardInput.values.number.replace(/\s/g, ''),
cvv: this.state.creditCardInput.values.cvc,
expiration_date: this.state.creditCardInput.values.expiry,
id_wallet_agent: this.state.wallet.id,
montant: this.state.montant,
password: this.state.password,
customer_email: this.state.emailCustomer,
customer_name: this.state.nameCustomer,
customer_surname: this.state.surnameCustomer,
customer_address: this.state.adressCustomer,
customer_city: this.state.cityCustomer,
customer_country: (this.state.countryCustomer.filter(element => element.name === this.state.paysDestinationSelect))[0].code_country,
customer_state: this.state.stateCustomer,
customer_zip_code: this.state.codeZipCustomer,
numero_carte: this.state.creditCardInput.values.number.replace(/\s/g, ''),
cvv: this.state.creditCardInput.values.cvc,
expiration_date: this.state.creditCardInput.values.expiry,
id_wallet_agent: this.state.wallet.id,
montant: this.state.montant,
password: this.state.password,
customer_email: this.state.emailCustomer,
customer_name: this.state.nameCustomer,
customer_surname: this.state.surnameCustomer,
customer_address: this.state.adressCustomer,
customer_city: this.state.cityCustomer,
customer_country: (this.state.countryCustomer.filter(element => element.name === this.state.paysDestinationSelect))[0].code_country,
customer_state: this.state.stateCustomer,
customer_zip_code: this.state.codeZipCustomer,
});
this.props.getCommissionUserWalletToCardReset();
}} />
@ -407,16 +462,16 @@ class RetraitCarteVersCashAgent extends Component {
}
onSubmitSendWalletToCard = () => {
const { countryCustomer, stateCustomer, codeZipCustomer, creditCardInput, montant, password } = this.state;
const { creditCardInput, montant, password } = this.state;
// if (this.ckeckIfFieldIsOK(countryCustomer))
// this.countryCustomerAnim.shake(800);
// else
if (this.ckeckIfFieldIsOK(stateCustomer))
this.stateCustomerAnim.shake(800);
// if (this.ckeckIfFieldIsOK(stateCustomer))
// this.stateCustomerAnim.shake(800);
// else if (this.ckeckIfFieldIsOK(codeZipCustomer))
// this.codeZipCustomerAnim.shake(800);
else if (!creditCardInput.valid)
if (!creditCardInput.valid)
this.codeCVVAnim.shake(800);
else if (this.ckeckIfFieldIsOK(montant) || !this.isMontantValid().isValid) {
this.montantAnim.shake(800);

View File

@ -57,7 +57,7 @@ class AutreCarte extends Component {
headerTintColor: 'white',
headerStyle: {
backgroundColor: Color.primaryColor,
marginTop: 30,
marginTop: 0,
color: 'white'
},
headerTitleStyle: {
@ -417,7 +417,7 @@ class AutreCarte extends Component {
this.props.navigation.push('webviewScreen', {
url: resultEnvoieWalletToWallet.response.payment_url,
requestBody: this.getRequestBody(),
transactionType: "USER_PAY_INSURANCE",
transactionType: "USER_CARD_WALLET",
});
} catch(error) {
@ -436,7 +436,7 @@ class AutreCarte extends Component {
this.props.envoieUserWalletToCardReset();
IlinkEmitter.emit("refreshWallet");
this.props.navigation.pop();
navigation.goBack()
//navigation.goBack()
}
}

View File

@ -34,7 +34,6 @@ import {
envoieUserWalletToCardReset,
envoieUserWalletToCardAction
} from '../../../webservice/EnvoieUserApi';
import { HeaderBackButton } from "react-navigation-stack";
import {FontWeight, Typography} from '../../../config/typography';
import thousands from 'thousands';
import {IlinkEmitter} from '../../../utils/events';
@ -49,34 +48,23 @@ class CarteLier extends Component {
navBarTextColor: '#FFFFFF',
navBarButtonColor: '#FFFFFF'
};
static navigationOptions = ({ navigation }) => {
static navigationOptions = () => {
return {
drawerLabel: () => null,
headerTitle: I18n.t('ENVOIE_ARGENT'),
headerTintColor: 'white',
headerStyle: {
backgroundColor: Color.primaryColor,
marginTop: 30,
marginTop: 0,
color: 'white'
},
headerTitleStyle: {
color: "white"
},
title: I18n.t('ENVOIE_ARGENT'),
headerLeft: (props) => (
console.log("cdcdcdccdcdcd"),
<HeaderBackButton
{...props}
onPress={() => {
console.log("ffffffffffffffffff"),
navigation.navigate(route.walletDepot);
}}
/>
)
title: I18n.t('ENVOIE_ARGENT')
}
};
};
constructor(props) {
super(props);
@ -338,18 +326,18 @@ class CarteLier extends Component {
}
if (resultEnvoieWalletToWallet.status === 200) {
console.log("bonjour...response: ", resultEnvoieWalletToWallet.response)
console.log("bonjour...response: ", resultEnvoieWalletToWallet.result.response)
if (resultEnvoieWalletToWallet.response !== null) {
Alert.alert(
I18n.t("WITHDRAWAL_SUCCESS"),
resultEnvoieWalletToWallet.response,
resultEnvoieWalletToWallet.data.response,
[
{
text: I18n.t("OK"), onPress: () => {
this.props.envoieUserWalletToCardReset();
IlinkEmitter.emit("refreshWallet");
this.props.navigation.pop();
navigation.goBack()
//navigation.goBack()
}
}
@ -650,10 +638,6 @@ class CarteLier extends Component {
(typeof resultEnvoieWalletToWalletGetCommission.response !== 'undefined') &&
this.modalConfirmTransaction(resultEnvoieWalletToWalletGetCommission)
}
<TouchableOpacity
onPress={() => console.log("cdcdcdcdcdcdc")}>
<Text>frfnrrfr</Text>
</TouchableOpacity>
<ScrollView style={styles.container}>
<Text style={styles.subbigtitle}>{I18n.t('WITHDRAWAL_CARD_ORDER_WALLET_LIER')} </Text>

View File

@ -0,0 +1,900 @@
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 Dialog from "react-native-dialog";
import {Dropdown} from 'react-native-material-dropdown-v2';
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 {store} from "../../../redux/store";
import {identityPieces, isIlinkWorldWallet, isNormalInteger, typeIdIDestinataire} from '../../../utils/UtilsFunction';
import {readUser} from '../../../webservice/AuthApi';
import {
getActiveCountryAction,
getActiveCountryByDialCodeAction,
getActiveCountryByDialCodeReset,
getActiveCountryReset,
getPayCountryNetworkAction,
getPayCountryNetworkReset
} from '../../../webservice/CountryApi';
import {
envoieUserWalletToWalletAction,
envoieUserWalletToWalletReset,
getCommissionUserWalletToWalletAction,
getCommissionUserWalletToWalletReset
} from '../../../webservice/EnvoieUserApi';
import {FontWeight, Typography} from '../../../config/typography';
import thousands from 'thousands';
import {IlinkEmitter} from '../../../utils/events';
let theme = require('../../../utils/theme.json');
let route = require('../../../route.json');
class EnvoieWalletToWalletUsers extends Component {
static navigatorStyle = {
navBarBackgroundColor: Color.primaryColor,
statusBarColor: Color.primaryDarkColor,
navBarTextColor: '#FFFFFF',
navBarButtonColor: '#FFFFFF'
};
static navigationOptions = () => {
return {
drawerLabel: () => null,
headerTitle: I18n.t('ENVOIE_ARGENT'),
headerTintColor: 'white',
headerStyle: {
backgroundColor: Color.primaryColor,
marginTop: 0,
color: 'white'
},
headerTitleStyle: {
color: "white"
},
title: I18n.t('ENVOIE_ARGENT')
}
};
constructor(props) {
super(props);
this.state = {
identityPieces: identityPieces(),
identityPiecesName: I18n.t((identityPieces()[0]).name),
paysDestination: [],
paysDestinationSelect: null,
walletActifs: [],
walletActifSelect: null,
typeIdDestinataire: typeIdIDestinataire(),
typeIdDestinataireSelect: (typeIdIDestinataire()[0].value),
numeroTelephoneOrWalletCode: null,
numeroIdentite: null,
montant: null,
password: null,
isIlinkWorldWalletSelect: false,
loading: false,
user: null,
modalVisible: true,
hasLoadActiveCountryList: true,
hasLoadActivePayCountryNetworkList: true,
triggerSubmitClick: false,
isDataSubmit: false,
isModalConfirmVisible: false,
wallet: store.getState().walletDetailReducer.result.response
};
this.props.getActiveCountryReset();
this.props.getActiveCountryByDialCodeReset();
this.props.getPayCountryNetworkReset();
this.props.envoieUserWalletToWalletReset();
this.props.getCommissionUserWalletToWalletReset();
this.props.getActiveCountryAction();
console.log("ENVOIE WALLET PROPS", this.props);
}
componentDidMount() {
readUser().then((user) => {
if (user) {
if (user !== undefined) {
this.setState({user});
}
}
});
}
componentWillReceiveProps(nextProps) {
if (nextProps.resultEnvoieWalletToWalletGetCommission != null) {
if (typeof nextProps.resultEnvoieWalletToWalletGetCommission.response !== 'undefined') {
if (!nextProps.loadingEnvoieWalletToWalletGetCommission)
this.setState({
isModalConfirmVisible: true
});
}
}
}
renderGetActionCountryList = () => {
const {resultActiveCountryList, errorActiveCountryList} = this.props;
if (resultActiveCountryList !== null) {
if (typeof resultActiveCountryList.response !== 'undefined') {
this.setState({
hasLoadActiveCountryList: false,
paysDestination: resultActiveCountryList.response,
paysDestinationSelect: resultActiveCountryList.response[0].name,
});
if (this.state.hasLoadActivePayCountryNetworkList)
this.props.getPayCountryNetworkAction({
id_wallet_user: this.state.wallet.id,
id_country: resultActiveCountryList.response[0].id
});
}
}
if (errorActiveCountryList !== null) {
if (typeof errorActiveCountryList.data !== 'undefined') {
Alert.alert(
I18n.t('ERROR_LABEL'),
errorActiveCountryList.data.error,
[
{
text: I18n.t("OK"), onPress: () => {
this.props.getActiveCountryReset();
}
}
],
{cancelable: false}
)
} else {
Alert.alert(
I18n.t('ERROR_LABEL'),
JSON.stringify(errorActiveCountryList),
[
{
text: I18n.t("OK"), onPress: () => {
this.props.getActiveCountryReset();
}
}
],
{cancelable: false}
)
}
}
}
renderGetPayCountryNetworkResponse = () => {
const {resultPayCountryNetwork, errorPayCountryNetwork} = this.props;
if (resultPayCountryNetwork !== null) {
if (typeof resultPayCountryNetwork.response !== 'undefined') {
if (resultPayCountryNetwork.response.length > 0) {
let typeIdentifiant = isIlinkWorldWallet(resultPayCountryNetwork.response[0].type) ? 'user_code' : 'phone';
this.setState({
hasLoadActivePayCountryNetworkList: false,
walletActifs: resultPayCountryNetwork.response,
walletActifSelect: resultPayCountryNetwork.response[0].name,
typeIdDestinataireSelect: typeIdentifiant,
isIlinkWorldWalletSelect: isIlinkWorldWallet(resultPayCountryNetwork.response[0].type),
modalVisible: false
});
} else if (resultPayCountryNetwork.response.length === 0) {
this.setState({
walletActifs: [],
walletActifSelect: '',
modalVisible: false,
hasLoadActivePayCountryNetworkList: false,
});
}
}
}
if (errorPayCountryNetwork !== null) {
if (typeof errorPayCountryNetwork.data !== 'undefined') {
Alert.alert(
I18n.t('ERROR_LABEL'),
errorPayCountryNetwork.data.error,
[
{
text: I18n.t("OK"), onPress: () => {
this.props.getPayCountryNetworkReset();
}
}
],
{cancelable: false}
)
} else {
Alert.alert(
I18n.t('ERROR_LABEL'),
JSON.stringify(errorPayCountryNetwork),
[
{
text: I18n.t("OK"), onPress: () => {
this.props.getPayCountryNetworkReset();
}
}
],
{cancelable: false}
)
}
}
}
renderEnvoieWalletToWalletResponse = () => {
const {resultEnvoieWalletToWallet, errorEnvoieWalletToWallet} = this.props;
if (errorEnvoieWalletToWallet !== null) {
if (typeof errorEnvoieWalletToWallet.data !== 'undefined') {
Alert.alert(
I18n.t("ERROR_TRANSFER"),
errorEnvoieWalletToWallet.data.error,
[
{
text: I18n.t("OK"), onPress: () => {
this.props.envoieUserWalletToWalletReset();
}
}
],
{cancelable: false}
)
}
}
if (resultEnvoieWalletToWallet !== null) {
if (resultEnvoieWalletToWallet.response !== null) {
Alert.alert(
I18n.t("SUCCESS_TRANSFER"),
resultEnvoieWalletToWallet.response,
[
{
text: I18n.t("OK"), onPress: () => {
this.props.envoieUserWalletToWalletReset();
IlinkEmitter.emit("refreshWallet");
this.props.navigation.pop();
}
}
],
{cancelable: false}
)
}
}
}
renderDialogGetCommissionResponse = () => {
const {errorEnvoieWalletToWalletGetCommission} = this.props;
if (errorEnvoieWalletToWalletGetCommission !== null) {
if (typeof errorEnvoieWalletToWalletGetCommission.data !== 'undefined') {
Alert.alert(
I18n.t("ERROR_LABLE"),
errorEnvoieWalletToWalletGetCommission.data.error,
[
{
text: I18n.t("OK"), onPress: () => {
this.props.getCommissionUserWalletToWalletReset();
}
}
],
{cancelable: false}
)
}
}
}
ckeckIfFieldIsOK(champ) {
return (isNil(champ) || isEqual(champ.length, 0));
}
isMontantValid = () => {
const {montant} = this.state;
if ((parseInt(isEqual(montant, 0)) || montant < 0))
return {
errorMessage: I18n.t('ENTER_AMOUNT_SUPERIOR_ZEROR'),
isValid: false
};
else if (!isNormalInteger(montant))
return {
errorMessage: I18n.t('ENTER_VALID_AMOUNT'),
isValid: false
};
else if (montant > parseInt(this.state.comptePrincipal))
return {
errorMessage: I18n.t('AMOUNT_SUPERIOR_TO_PRINCIPAL_ACCOUNT'),
isValid: false
};
else
return {
errorMessage: '',
isValid: true
};
}
modalConfirmTransaction = (data) => {
const commission = data.response.frais;
const montant_net_final = data.response.montant_net_final;
const montant_net_init = data.response.montant_net_init;
const destinataire = data.response.destinataire;
const exchange_rate = data.response.exchange_rate;
console.log("DATA SEND TO CONFIRM DIALOG", data);
return (
<Dialog.Container useNativeDriver={true} visible={this.state.isModalConfirmVisible}>
<Dialog.Title>{I18n.t('TRANSACTION_DETAIL')}</Dialog.Title>
<View>
<View style={[styles.blockView, {borderBottomColor: Color.borderColor}]}>
<View style={{flexDirection: 'row', marginTop: 10}}>
<View style={{flex: 1}}>
<Text style={[styles.body2]}>{I18n.t('DESTINATAIRE')}</Text>
</View>
<View style={{flex: 1, alignItems: 'flex-end'}}>
<Text style={[Typography.caption1, Color.grayColor]}>{destinataire}</Text>
</View>
</View>
<View style={{flexDirection: 'row', marginTop: 10}}>
<View style={{flex: 1}}>
<Text style={[styles.body2]}>{I18n.t('AMOUNT')}</Text>
</View>
<View style={{flex: 1, alignItems: 'flex-end'}}>
<Text
style={[Typography.caption1, Color.grayColor]}>{`${thousands(this.state.montant, ' ')} ${this.state.wallet.currency_code}`}</Text>
</View>
</View>
<View style={{flexDirection: 'row', marginTop: 10}}>
<View style={{flex: 1}}>
<Text tyle={[Typography.body2]}>{I18n.t('FEES_AND_TAXES')}</Text>
</View>
<View style={{flex: 1, alignItems: 'flex-end'}}>
<Text
style={[Typography.caption1, Color.grayColor]}>{`${thousands(commission, ' ')} ${this.state.wallet.currency_code}`}</Text>
</View>
</View>
</View>
<View style={{paddingVertical: 10}}>
<View style={{flexDirection: 'row', marginTop: 10}}>
<View style={{flex: 1}}>
<Text tyle={[Typography.body2, FontWeight.bold]}>{I18n.t('EXCHANGE_TAUX')}: </Text>
</View>
<View style={{flex: 1, alignItems: 'flex-end'}}>
<Text style={[Typography.caption1, Color.grayColor]}>{exchange_rate}</Text>
</View>
</View>
<View style={{flexDirection: 'row', marginTop: 10}}>
<View style={{flex: 1}}>
<Text tyle={[Typography.body2, FontWeight.bold]}>{I18n.t('NET_AMOUNT')}:</Text>
</View>
<View style={{flex: 1, alignItems: 'flex-end'}}>
<Text style={[Typography.caption1, Color.grayColor]}></Text>
</View>
</View>
<View style={{flexDirection: 'row', marginTop: 10}}>
<View style={{flex: 1}}>
<Text tyle={[Typography.body2]}>{I18n.t('INIT_COUNTRY')}</Text>
</View>
<View style={{flex: 1, alignItems: 'flex-end'}}>
<Text
style={[Typography.caption1, Color.grayColor]}>{`${thousands(montant_net_init, ' ')} ${this.state.wallet.currency_code}`}</Text>
</View>
</View>
<View style={{flexDirection: 'row', marginTop: 10}}>
<View style={{flex: 1}}>
<Text tyle={[Typography.body2]}>{I18n.t('FINAL_COUNTRY')}</Text>
</View>
<View style={{flex: 1, alignItems: 'flex-end'}}>
<Text style={[Typography.caption1, Color.grayColor]}>{montant_net_final}</Text>
</View>
</View>
</View>
</View>
<Dialog.Button bold={true} label={I18n.t('CANCEL_LABEL')} onPress={() => {
this.setState({
isModalConfirmVisible: false
});
}}/>
<Dialog.Button bold={true} label={I18n.t('SUBMIT_LABEL')} onPress={() => {
this.setState({
isModalConfirmVisible: false,
isDataSubmit: true
});
this.props.envoieUserWalletToWalletAction({
type: 1,
id_wallet_user: this.state.wallet.id,
type_id_destinataire : this.state.typeIdDestinataireSelect,
final_country: (this.state.paysDestination.filter(element => element.name === this.state.paysDestinationSelect))[0].id,
id_destinataire: this.state.numeroTelephoneOrWalletCode,
type_document_destinataire: this.state.identityPiecesName,
id_document_destinataire: this.state.numeroIdentite,
network_destinataire: (this.state.walletActifs.filter(element => element.name === this.state.walletActifSelect))[0].id,
montant: this.state.montant,
password: this.state.password
});
this.props.getCommissionUserWalletToWalletReset();
}}
/>
</Dialog.Container>
);
}
onSubmitSendWalletToWallet = () => {
const {
identityPiecesName,
paysDestinationSelect,
numeroIdentite,
walletActifSelect,
typeIdDestinataireSelect,
numeroTelephoneOrWalletCode,
montant,
password
} = this.state;
if (this.ckeckIfFieldIsOK(identityPiecesName))
this.identityPiecesAnim.shake(800);
else if (this.ckeckIfFieldIsOK(paysDestinationSelect))
this.paysDestinationAnim.shake(800);
else if (this.ckeckIfFieldIsOK(walletActifSelect))
this.walletActifAnim.shake(800);
else if (this.ckeckIfFieldIsOK(typeIdDestinataireSelect))
this.typeIdDestinataireAnim.shake(800);
else if (this.ckeckIfFieldIsOK(numeroIdentite))
this.numeroIdentiteAnim.shake(800);
else if (this.ckeckIfFieldIsOK(numeroTelephoneOrWalletCode))
this.numeroTelephoneAnim.shake(800);
else if (this.ckeckIfFieldIsOK(montant) || !this.isMontantValid().isValid) {
console.log("IS MONTANT VALID", this.isMontantValid())
this.montantAnim.shake(800);
} else if (this.ckeckIfFieldIsOK(password))
this.passwordAnim.shake(800);
else {
this.props.getCommissionUserWalletToWalletAction({
type: 1,
network_destinataire: (this.state.walletActifs.filter(element => element.name === this.state.walletActifSelect))[0].id,
id_wallet_user: this.state.wallet.id,
final_country: (this.state.paysDestination.filter(element => element.name === this.state.paysDestinationSelect))[0].id,
id_destinataire: this.state.numeroTelephoneOrWalletCode,
montant: this.state.montant,
});
}
this.setState({
triggerSubmitClick: true
})
}
renderLoader = () => {
return (
<ProgressDialog
visible={this.state.modalVisible || this.props.loadingEnvoieWalletToWalletGetCommission || this.props.loadingEnvoieWalletToWallet || this.props.loadingCountryByDialCode || this.props.loadingActiveCountryList || this.props.loadingCountryByDialCode}
title={I18n.t('LOADING')}
message={I18n.t('LOADING_INFO')}
/>
)
}
render() {
console.log("STATE", this.state);
const {resultEnvoieWalletToWalletGetCommission} = this.props;
//const isFirstElementSelected = this.state.walletActifSelect === this.state.walletActifs[1]?.name;
const lastTwoWallets = this.state.walletActifs.slice(-2).map(wallet => wallet.name);
const isLastTwoElementsSelected = lastTwoWallets.includes(this.state.walletActifSelect);
return (
<>
{(this.state.modalVisible || this.props.loadingEnvoieWalletToWalletGetCommission || this.props.loadingEnvoieWalletToWallet || this.props.loadingCountryByDialCode || this.props.loadingActiveCountryList || this.props.loadingCountryByDialCode) && this.renderLoader()}
{this.state.hasLoadActiveCountryList && this.renderGetActionCountryList()}
{this.state.hasLoadActivePayCountryNetworkList && this.renderGetPayCountryNetworkResponse()}
{this.state.isDataSubmit && this.renderEnvoieWalletToWalletResponse()}
{this.state.triggerSubmitClick && this.renderDialogGetCommissionResponse()}
{
(resultEnvoieWalletToWalletGetCommission !== null) &&
(typeof resultEnvoieWalletToWalletGetCommission.response !== 'undefined') &&
this.modalConfirmTransaction(resultEnvoieWalletToWalletGetCommission)
}
<ScrollView style={styles.container}>
<Text style={styles.subbigtitle}>{I18n.t('DEPOSIT_WALLET_TO_WALLET')}</Text>
<Animatable.View ref={(comp) => {
this.paysDestinationAnim = comp
}}
style={{
width: responsiveWidth(90),
height: 60,
marginTop: 20,
alignSelf: 'center',
borderRadius: 10,
paddingLeft: 20,
paddingRight: 20,
backgroundColor: 'white'
}}>
<Dropdown
label={I18n.t('PAYS_DESTINATION')}
data={this.state.paysDestination}
useNativeDriver={true}
value={this.state.paysDestinationSelect === null ? '' : this.state.paysDestinationSelect}
onChangeText={(value, index, data) => {
this.props.getPayCountryNetworkReset();
let countrySelect = data.filter(element => element.name === value);
this.setState({
paysDestinationSelect: value,
hasLoadActivePayCountryNetworkList: true
}, () => {
this.props.getPayCountryNetworkAction({
id_wallet_user: this.state.wallet.id,
id_country: countrySelect[0].id
});
});
this.props.getCommissionUserWalletToWalletReset();
}}
valueExtractor={(value) => {
return value.name
}}
labelExtractor={(value) => {
return value.name
}}
/>
</Animatable.View>
<Animatable.View ref={(comp) => {
this.walletActifAnim = comp
}}
style={{
width: responsiveWidth(90),
height: 60,
marginTop: 20,
alignSelf: 'center',
borderRadius: 10,
paddingLeft: 20,
paddingRight: 20,
backgroundColor: 'white'
}}>
<Dropdown
label={I18n.t('ACTIVE_WALLET')}
data={this.state.walletActifs}
useNativeDriver={true}
value={isNil(this.state.walletActifSelect) ? '' : this.state.walletActifSelect}
onChangeText={(value, index, data) => {
let activeWalletSelect = data.filter(element => element.name === value);
let typeIdentifiant = isIlinkWorldWallet(activeWalletSelect[0].type) ? I18n.t('CODE_WALLET') : I18n.t('PHONE');
this.setState({
walletActifSelect: value,
typeIdDestinataireSelect: typeIdentifiant
});
}}
valueExtractor={(value) => {
return value.name
}}
labelExtractor={(value) => {
return value.name
}}
/>
</Animatable.View>
{/* {isFirstElementSelected && ( */}
{isLastTwoElementsSelected && (
<>
<Animatable.View ref={(comp) => {
this.nomDestinataireAnim = comp;
} }>
<Fumi iconClass={FontAwesomeIcon} iconName={'user'}
label={`${I18n.t('NAME_DESTINATAIRE')}`}
iconColor={'#f95a25'}
iconSize={20}
value={this.state.nomsDestinataire}
onChangeText={(nomsDestinataire) => {
this.setState({ nomsDestinataire });
} }
style={styles.input}
>
</Fumi>
</Animatable.View>
<Animatable.View ref={(comp) => {
this.prenomsDestinataireAnim = comp;
} }>
<Fumi iconClass={FontAwesomeIcon} iconName={'user-circle-o'}
label={`${I18n.t('FIRSTNAME_DESTINATAIRE')}`}
iconColor={'#f95a25'}
iconSize={20}
value={this.state.prenomsDestinataire}
onChangeText={(prenomsDestinataire) => {
this.setState({ prenomsDestinataire });
} }
style={styles.input}
>
</Fumi>
</Animatable.View>
</>
)}
<Animatable.View ref={(comp) => {
this.typeIdDestinataireAnim = comp
}}
style={{
width: responsiveWidth(90),
height: 60,
marginTop: 20,
alignSelf: 'center',
borderRadius: 10,
paddingLeft: 20,
paddingRight: 20,
backgroundColor: 'white'
}}>
<Dropdown
disabled={this.state.isIlinkWorldWalletSelect}
label={I18n.t('TYPE_IDENTIFIANT')}
data={this.state.typeIdDestinataire}
useNativeDriver={true}
value={this.state.typeIdDestinataireSelect}
onChangeText={(value, index, data) => {
this.setState({typeIdDestinataireSelect: value});
}}
valueExtractor={(value) => {
return value.value
}}
labelExtractor={(value) => {
return I18n.t(value.name)
}}
/>
</Animatable.View>
<Animatable.View ref={(comp) => {
this.numeroTelephoneAnim = comp
}}>
<Fumi iconClass={FontAwesomeIcon}
iconName={isEqual(this.state.typeIdDestinataireSelect, 'phone') ? 'phone' : 'lock'}
label={isEqual(this.state.typeIdDestinataireSelect, 'phone') ? I18n.t('PHONE') : I18n.t('CODE_WALLET')}
iconColor={'#f95a25'}
keyboardType={isEqual(this.state.typeIdDestinataireSelect, 'phone') ? 'phone-pad' : 'default'}
iconSize={20}
value={this.state.numeroTelephoneOrWalletCode}
onChangeText={(numeroTelephoneOrWalletCode) => {
this.setState({numeroTelephoneOrWalletCode})
}}
style={styles.input}
>
</Fumi>
</Animatable.View>
<Animatable.View ref={(comp) => {
this.identityPiecesAnim = comp
}}
style={{
width: responsiveWidth(90),
height: 60,
marginTop: 20,
alignSelf: 'center',
borderRadius: 10,
paddingLeft: 20,
paddingRight: 20,
backgroundColor: 'white'
}}>
<Dropdown
label={I18n.t('PIECE_IDENTITE')}
data={this.state.identityPieces}
useNativeDriver={true}
value={this.state.identityPiecesName}
onChangeText={(value, index, data) => {
this.setState({identityPiecesName: value});
}}
valueExtractor={(value) => {
return I18n.t(value.name)
}}
labelExtractor={(value) => {
return I18n.t(value.name)
}}
/>
</Animatable.View>
<Animatable.View ref={(comp) => {
this.numeroIdentiteAnim = comp
}}>
<Fumi iconClass={FontAwesomeIcon} iconName={'address-card'}
label={`${I18n.t('NUMERO_IDENTITE')}`}
iconColor={'#f95a25'}
iconSize={20}
onChangeText={(numeroIdentite) => {
this.setState({numeroIdentite})
}}
style={styles.input}
>
</Fumi>
</Animatable.View>
<Animatable.View ref={(comp) => {
this.montantAnim = comp
}}>
<Fumi iconClass={FontAwesomeIcon} iconName={'money'}
label={I18n.t('AMOUNT')}
iconColor={'#f95a25'}
keyboardType='numeric'
iconSize={20}
value={this.state.montant}
onChangeText={(montant) => {
this.setState({montant})
}}
style={styles.input}
>
</Fumi>
<View style={{
position: 'absolute',
left: responsiveWidth(82),
top: 35,
flexDirection: 'row'
}}>
<View
style={{
width: 1,
borderLeftColor: '#f0f0f0',
height: 40,
left: -8,
top: -10,
borderLeftWidth: 1,
}}
/>
<Text style={[Typography.body1, FontWeight.bold]}>{this.state.wallet.currency_code}</Text>
</View>
</Animatable.View>
<Animatable.View ref={(comp) => {
this.passwordAnim = comp
}}>
<Fumi iconClass={FontAwesomeIcon} iconName={'lock'}
label={I18n.t('PASSWORD')}
iconColor={'#f95a25'}
iconSize={20}
secureTextEntry={true}
value={this.state.password}
onChangeText={(password) => {
this.setState({password})
}}
style={styles.input}
>
</Fumi>
</Animatable.View>
<Button style={styles.btnvalide}
textStyle={styles.textbtnvalide}
isLoading={this.state.isLoging}
onPress={() => {
this.onSubmitSendWalletToWallet()
}}>
{I18n.t('SUBMIT_LABEL')}</Button>
</ScrollView>
</>
)
}
}
const maptStateToProps = state => ({
loadingCountryByDialCode: state.countryByDialCode.loading,
resultCountryByDialCode: state.countryByDialCode.result,
errorCountryByDialCode: state.countryByDialCode.error,
loadingActiveCountryList: state.activeCountryListReducer.loading,
resultActiveCountryList: state.activeCountryListReducer.result,
errorActiveCountryList: state.activeCountryListReducer.error,
loadingPayCountryNetwork: state.payCountryNetworkReducer.loading,
resultPayCountryNetwork: state.payCountryNetworkReducer.result,
errorPayCountryNetwork: state.payCountryNetworkReducer.error,
loadingEnvoieWalletToWallet: state.envoieUserWalletToWalletReducer.loading,
resultEnvoieWalletToWallet: state.envoieUserWalletToWalletReducer.result,
errorEnvoieWalletToWallet: state.envoieUserWalletToWalletReducer.error,
loadingEnvoieWalletToWalletGetCommission: state.envoieUserWalletToWalletGetCommissionReducer.loading,
resultEnvoieWalletToWalletGetCommission: state.envoieUserWalletToWalletGetCommissionReducer.result,
errorEnvoieWalletToWalletGetCommission: state.envoieUserWalletToWalletGetCommissionReducer.error,
});
const mapDispatchToProps = dispatch => bindActionCreators({
getActiveCountryByDialCodeAction,
getActiveCountryByDialCodeReset,
getPayCountryNetworkAction,
getPayCountryNetworkReset,
getActiveCountryAction,
getActiveCountryReset,
envoieUserWalletToWalletAction,
envoieUserWalletToWalletReset,
getCommissionUserWalletToWalletAction,
getCommissionUserWalletToWalletReset
}, dispatch);
export default connect(maptStateToProps, mapDispatchToProps)(EnvoieWalletToWalletUsers);
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

@ -1,5 +1,5 @@
import React, { useEffect } from "react";
import React, { Component } from "react";
import { View, Text, TouchableOpacity, StyleSheet, ScrollView, Animated } from "react-native";
import { Typography } from "../../../config/typography";
import * as Utils from '../../../utils/DeviceUtils';
@ -19,397 +19,349 @@ import 'moment/locale/en-gb'
let slugify = require('slugify');
import {IlinkEmitter} from "../../../utils/events";
import { readUser } from "../../../webservice/AuthApi";
import { HeaderBackButton } from "react-navigation-stack";
import { color } from "react-native-reanimated";
//import { HeaderBackButton } from 'react-navigation';
// let route = require('./../../../route.json')
// class PaymentCarteVersAutreWallet extends Component {
// static navigatorStyle = {
// navBarBackgroundColor: Color.primaryColor,
// statusBarColor: Color.primaryDarkColor,
// navBarTextColor: '#FFFFFF',
// navBarButtonColor: '#FFFFFF'
// };
// static navigationOptions = () => {
// return {
// //onGoBack: () => this.refresh(),
// drawerLabel: () => null,
// headerTitle: I18n.t('ENVOIE_ARGENT'),
// headerTintColor: 'white',
// headerStyle: {
// backgroundColor: Color.primaryColor,
// marginTop: 30,
// color: 'white'
// },
// headerTitleStyle: {
// color: "white"
// },
// title: I18n.t('ENVOIE_ARGENT'),
// headerLeft: (props) => (
// <HeaderBackButton
// {...props}
// onPress={() => {
// navigation.push(route.walletOptionSelect, {
// optionSelect: optionDepotUserScreen,
// lottie: {
// source: require("../../../datas/json/link_card.json"),
// loop: true
// },
// })
// console.log('screenName');
// }}
// />
// ),
// // headerLeft: (props) => (
// // <HeaderBackButton
// // {...props}
// // onPress={() => {
// // this.props.navigation.push(route.walletOptionSelect, {
// // optionSelect: optionDepotUserScreen,
// // lottie: {
// // source: require("../../../datas/json/link_card.json"),
// // loop: true
// // },
// // })
// // console.log("blbobloblob... ");
// // }}
// // />
// // ),
// }
// };
class PaymentCarteVersAutreWallet extends Component {
static navigatorStyle = {
navBarBackgroundColor: Color.primaryColor,
statusBarColor: Color.primaryDarkColor,
navBarTextColor: '#FFFFFF',
navBarButtonColor: '#FFFFFF'
};
static navigationOptions = () => {
return {
//onGoBack: () => this.refresh(),
drawerLabel: () => null,
headerTitle: I18n.t('ENVOIE_ARGENT'),
headerTintColor: 'white',
headerStyle: {
backgroundColor: Color.primaryColor,
marginTop: 0,
color: 'white'
},
headerTitleStyle: {
color: "white"
},
title: I18n.t('ENVOIE_ARGENT'),
// constructor(props) {
// super(props);
// this.state = {
// with_linked_card: true,
// scrollHeaderY: 0,
// };
}
};
// this.scrollY = new Animated.Value(0);
// this.scrollHeaderY = new Animated.Value(0);
// this.deltaY = new Animated.Value(0);
// this.bgBannerY = new Animated.Value(0);
// IlinkEmitter.on("refreshWallet", this.refresh);
constructor(props) {
super(props);
this.state = {
with_linked_card: true,
scrollHeaderY: 0,
};
// }
// toggleDrawer = () => {
// this.props.navigation.goBack()
// }
// refresh = () => {
this.scrollY = new Animated.Value(0);
this.scrollHeaderY = new Animated.Value(0);
this.deltaY = new Animated.Value(0);
this.bgBannerY = new Animated.Value(0);
IlinkEmitter.on("refreshWallet", this.refresh);
}
toggleDrawer = () => {
this.props.navigation.goBack()
}
refresh = () => {
// console.debug("blbobloblob... ")
console.debug("blbobloblob... ")
readUser().then((user) => {
if (user) {
if (user !== undefined) {
this.props.getWalletDetailActivated(user.id, null);
}
}
});
}
render() {
return (
<>
{/* transactions */}
<View style={styles.container}>
<Animated.View style={{
position: 'absolute',
width: "100%",
zIndex: 1,
// backgroundColor: Color.primaryColor,
height: 140 - this.state.scrollHeaderY,
top: 40,
}}/>
<ScrollView ref={component => this._scrollView = component}
style={{
paddingHorizontal: 20, position: 'absolute',
width: '100%',
height: '100%',
zIndex: 2
}}
scrollEventThrottle={8}
onScroll={Animated.event([
{
nativeEvent: {
contentOffset: {y: this.scrollY},
},
},
],
{
listener: (event) => {
this.setState({scrollHeaderY: event.nativeEvent.contentOffset.y});
}
})}>
<View style={[styles.checkDefault, {borderBottomColor: Color.borderColor}]}>
<Text
style={[Typography.title3, Typography.semibold]}>
{I18n.t('TRANSACTIONS')}
</Text>
</View>
<View style={styles.container}>
<Text style={styles.subbigtitle}>Choisisez la carte que vous voulez utiliser. </Text>
<View style={styles.transactionContainer}>
<View style={[styles.containerTouch]}>
<TouchableOpacity style={styles.contain}
onPress={() => {
this.props.navigation.push(route.carteLier, {
optionSelect: optionenvoieautrewalletScreen,
onGoBack: () => this.refresh(),
lottie: {
source: require("../../../datas/json/wallet_with_cash.json"),
loop: true
}
})
}}
activeOpacity={0.9}>
<Icon name='arrow-bottom-right'
color={Color.primaryColor}
size={30}
style={styles.imageBanner}/>
<View style={[styles.content]}>
<View style={styles.contentTitle}>
<Text style={[Typography.headline, Typography.semibold]}>
{I18n.t('CARD_LINK')}
</Text>
</View>
</View>
</TouchableOpacity>
</View>
<View style={[styles.containerTouch]}>
<TouchableOpacity style={styles.contain}
onPress={() => {
this.props.navigation.push(route.autreCarte, {
optionSelect: optionenvoieautrewalletScreen,
onGoBack: () => this.refresh(),
lottie: {
source: require("../../../datas/json/wallet_with_cash.json"),
loop: true
}
})
}}
activeOpacity={0.9}>
<Icon name='arrow-top-left'
color={Color.primaryColor}
size={30}
style={styles.imageBanner}/>
<View style={[styles.content]}>
<View style={styles.contentTitle}>
<Text style={[Typography.headline, Typography.semibold]}>
{I18n.t('OTHER_CARD')}
</Text>
</View>
</View>
</TouchableOpacity>
</View>
</View>
</View>
</ScrollView>
</View>
</>
);
}
}
// function PaymentCarteVersAutreWallet({navigation}) {
// const navigation = useNavigation()
// useEffect(() => {
// IlinkEmitter.on("refreshWallet", refresh);
// return () => {
// IlinkEmitter.off("refreshWallet", refresh);
// };
// }, []);
// // const handleGoBack = () => {
// // console.debug("blbobloblob... ");
// // //props.navigation.push('walletOptionSelect'); // Retour à la page précédente
// // props.navigation.push(route.walletOptionSelect, {
// // optionSelect: optionDepotUserScreen,
// // lottie: {
// // source: require("../../../datas/json/link_card.json"),
// // loop: true
// // },
// // })
// // }
// const refresh = () => {
// console.debug("blbobloblob... ");
// readUser().then((user) => {
// if (user) {
// if (user !== undefined) {
// this.props.getWalletDetailActivated(user.id, null);
// getWalletDetailActivated(user.id, null);
// }
// }
// });
// }
// render() {
// return (
// <>
// {/* transactions */}
// <View style={styles.container}>
// <Animated.View style={{
// position: 'absolute',
// width: "100%",
// zIndex: 1,
// // backgroundColor: Color.primaryColor,
// height: 140 - this.state.scrollHeaderY,
// top: 40,
// }}/>
// <ScrollView ref={component => this._scrollView = component}
// style={{
// paddingHorizontal: 20, position: 'absolute',
// width: '100%',
// height: '100%',
// zIndex: 2
// }}
// scrollEventThrottle={8}
// onScroll={Animated.event([
// {
// nativeEvent: {
// contentOffset: {y: this.scrollY},
// },
// },
// ],
// {
// listener: (event) => {
// this.setState({scrollHeaderY: event.nativeEvent.contentOffset.y});
// }
// })}>
// <View style={[styles.checkDefault, {borderBottomColor: Color.borderColor}]}>
// <Text
// style={[Typography.title3, Typography.semibold]}>
// {I18n.t('TRANSACTIONS')}
// </Text>
// </View>
// <View style={styles.container}>
// <Text style={styles.subbigtitle}>Choisisez la carte que vous voulez utiliser. </Text>
// <View style={styles.transactionContainer}>
// <View style={[styles.containerTouch]}>
// <TouchableOpacity style={styles.contain}
// return (
// <>
// {/* transactions */}
// <View style={styles.container}>
// <Animated.View
// style={{
// position: 'absolute',
// width: "100%",
// zIndex: 1,
// // backgroundColor: Color.primaryColor,
// height: 140 ,
// top: 40,
// }}
// />
// <ScrollView
// style={{
// paddingHorizontal: 20,
// position: 'absolute',
// width: '100%',
// height: '100%',
// zIndex: 2
// }}
// scrollEventThrottle={8}
// >
// <View style={[styles.checkDefault, { borderBottomColor: Color.borderColor }]}>
// <Text style={[Typography.title3, Typography.semibold]}>
// {I18n.t('TRANSACTIONS')}
// </Text>
// {/* <TouchableOpacity onPress={handleGoBack}>
// <Text>frjbrjbvrkjv</Text>
// </TouchableOpacity> */}
// </View>
// <View style={styles.container}>
// <Text style={styles.subbigtitle}>Choisissez la carte que vous voulez utiliser. </Text>
// <View style={styles.transactionContainer}>
// <View style={[styles.containerTouch]}>
// <TouchableOpacity
// style={styles.contain}
// onPress={() => {
// this.props.navigation.push(route.carteLier, {
// navigation.push(route.carteLier, {
// optionSelect: optionenvoieautrewalletScreen,
// onGoBack: () => this.refresh(),
// onGoBack: refresh,
// lottie: {
// source: require("../../../datas/json/wallet_with_cash.json"),
// loop: true
// }
// })
// }}
// activeOpacity={0.9}>
// <Icon name='arrow-bottom-right'
// color={Color.primaryColor}
// size={30}
// style={styles.imageBanner}/>
// <View style={[styles.content]}>
// <View style={styles.contentTitle}>
// <Text style={[Typography.headline, Typography.semibold]}>
// {I18n.t('CARD_LINK')}
// </Text>
// activeOpacity={0.9}
// >
// <Icon name='arrow-bottom-right'
// color={Color.primaryColor}
// size={30}
// style={styles.imageBanner}
// />
// <View style={[styles.content]}>
// <View style={styles.contentTitle}>
// <Text style={[Typography.headline, Typography.semibold]}>
// {I18n.t('CARD_LINK')}
// </Text>
// </View>
// </View>
// </TouchableOpacity>
// </View>
// </View>
// </TouchableOpacity>
// </View>
// <View style={[styles.containerTouch]}>
// <TouchableOpacity style={styles.contain}
// onPress={() => {
// this.props.navigation.push(route.autreCarte, {
// optionSelect: optionenvoieautrewalletScreen,
// onGoBack: () => this.refresh(),
// lottie: {
// source: require("../../../datas/json/wallet_with_cash.json"),
// loop: true
// }
// })
// }}
// activeOpacity={0.9}>
// <Icon name='arrow-top-left'
// color={Color.primaryColor}
// size={30}
// style={styles.imageBanner}/>
// <View style={[styles.content]}>
// <View style={styles.contentTitle}>
// <Text style={[Typography.headline, Typography.semibold]}>
// {I18n.t('OTHER_CARD')}
// </Text>
// <View style={[styles.containerTouch]}>
// <TouchableOpacity
// style={styles.contain}
// onPress={() => {
// navigation.push(route.autreCarte, {
// optionSelect: optionenvoieautrewalletScreen,
// onGoBack: refresh,
// lottie: {
// source: require("../../../datas/json/wallet_with_cash.json"),
// loop: true
// }
// })
// }}
// activeOpacity={0.9}
// >
// <Icon name='arrow-top-left'
// color={Color.primaryColor}
// size={30}
// style={styles.imageBanner}
// />
// <View style={[styles.content]}>
// <View style={styles.contentTitle}>
// <Text style={[Typography.headline, Typography.semibold]}>
// {I18n.t('OTHER_CARD')}
// </Text>
// </View>
// </View>
// </TouchableOpacity>
// </View>
// </View>
// </TouchableOpacity>
// </View>
// </View>
// </View>
// </ScrollView>
// </View>
// </View>
// </ScrollView>
// </View>
// </>
// );
// }
// }
function PaymentCarteVersAutreWallet(props) {
useEffect(() => {
IlinkEmitter.on("refreshWallet", refresh);
return () => {
IlinkEmitter.off("refreshWallet", refresh);
};
}, []);
// const handleGoBack = () => {
// console.debug("blbobloblob... ");
// //props.navigation.push('walletOptionSelect'); // Retour à la page précédente
// props.navigation.push(route.walletOptionSelect, {
// optionSelect: optionDepotUserScreen,
// lottie: {
// source: require("../../../datas/json/link_card.json"),
// loop: true
// },
// })
// }
// PaymentCarteVersAutreWallet.navigationOptions = () => ({
// headerStyle: {
// backgroundColor: Color.primaryColor, // Couleur de l'en-tête
// //marginTop: 20,
// },
// headerTintColor: 'white', // Couleur du texte de l'en-tête
// headerTitleStyle: {
// color: 'white', // Style du texte du titre
// },
// headerBackTitle: 'Retour', // Texte du bouton de retour
// headerBackTitleStyle: {
// color: 'white', // Style du texte du bouton de retour
// },
// headerTitle: I18n.t('ENVOIE_ARGENT'),
// headerTintColor: 'white',
// headerStyle: {
// backgroundColor: Color.primaryColor,
// marginTop: 0,
// color: 'white'
// },
// headerTitleStyle: {
// color: "white"
// },
// title: I18n.t('ENVOIE_ARGENT'),
const refresh = () => {
console.debug("blbobloblob... ");
readUser().then((user) => {
if (user) {
if (user !== undefined) {
getWalletDetailActivated(user.id, null);
}
}
});
}
return (
<>
{/* transactions */}
<View style={styles.container}>
<Animated.View
style={{
position: 'absolute',
width: "100%",
zIndex: 1,
// backgroundColor: Color.primaryColor,
height: 140 ,
top: 40,
}}
/>
<ScrollView
style={{
paddingHorizontal: 20,
position: 'absolute',
width: '100%',
height: '100%',
zIndex: 2
}}
scrollEventThrottle={8}
>
<View style={[styles.checkDefault, { borderBottomColor: Color.borderColor }]}>
<Text style={[Typography.title3, Typography.semibold]}>
{I18n.t('TRANSACTIONS')}
</Text>
{/* <TouchableOpacity onPress={handleGoBack}>
<Text>frjbrjbvrkjv</Text>
</TouchableOpacity> */}
</View>
<View style={styles.container}>
<Text style={styles.subbigtitle}>Choisissez la carte que vous voulez utiliser. </Text>
<View style={styles.transactionContainer}>
<View style={[styles.containerTouch]}>
<TouchableOpacity
style={styles.contain}
onPress={() => {
props.navigation.push(route.carteLier, {
optionSelect: optionenvoieautrewalletScreen,
onGoBack: refresh,
lottie: {
source: require("../../../datas/json/wallet_with_cash.json"),
loop: true
}
})
}}
activeOpacity={0.9}
>
<Icon name='arrow-bottom-right'
color={Color.primaryColor}
size={30}
style={styles.imageBanner}
/>
<View style={[styles.content]}>
<View style={styles.contentTitle}>
<Text style={[Typography.headline, Typography.semibold]}>
{I18n.t('CARD_LINK')}
</Text>
</View>
</View>
</TouchableOpacity>
</View>
<View style={[styles.containerTouch]}>
<TouchableOpacity
style={styles.contain}
onPress={() => {
props.navigation.push(route.autreCarte, {
optionSelect: optionenvoieautrewalletScreen,
onGoBack: refresh,
lottie: {
source: require("../../../datas/json/wallet_with_cash.json"),
loop: true
}
})
}}
activeOpacity={0.9}
>
<Icon name='arrow-top-left'
color={Color.primaryColor}
size={30}
style={styles.imageBanner}
/>
<View style={[styles.content]}>
<View style={styles.contentTitle}>
<Text style={[Typography.headline, Typography.semibold]}>
{I18n.t('OTHER_CARD')}
</Text>
</View>
</View>
</TouchableOpacity>
</View>
</View>
</View>
</ScrollView>
</View>
</>
);
}
PaymentCarteVersAutreWallet.navigationOptions = ({navigation}) => ({
headerStyle: {
backgroundColor: Color.primaryColor, // Couleur de l'en-tête
//marginTop: 20,
},
headerTintColor: 'white', // Couleur du texte de l'en-tête
headerTitleStyle: {
color: 'white', // Style du texte du titre
},
headerBackTitle: 'Retour', // Texte du bouton de retour
headerBackTitleStyle: {
color: 'white', // Style du texte du bouton de retour
},
headerTitle: I18n.t('ENVOIE_ARGENT'),
headerTintColor: 'white',
headerStyle: {
backgroundColor: Color.primaryColor,
//marginTop: 30,
color: 'white'
},
headerTitleStyle: {
color: "white"
},
title: I18n.t('ENVOIE_ARGENT'),
headerLeft: () => (
<HeaderBackButton
tintColor="#fff" // Couleur du bouton de retour en blanc
onPress={() => {
// navigation.push(route.walletOptionSelect, {
// optionSelect: optionDepotUserScreen,
// lottie: {
// source: require("../../../datas/json/link_card.json"),
// loop: true
// },
// })
props.navigation.pop()
console.debug('jfbfjbfhbfh')
}}
/>
),
});
// });
const styles = StyleSheet.create({

View File

@ -464,13 +464,8 @@ export const optionDepotUserScreen = {
// title: 'WITHDRAWAL_CARD_ORDER_WALLET',
// },
// {
// screen: route.paymentCarteVersAutreWalletNanosante,
// icon: 'hand-spock',
// title: 'PAIEMENT_FACTURE',
// },
]
};
export const optionenvoieautrewalletScreen = {

View File

@ -39,6 +39,8 @@
"ASK_MEMBERS": "Membership applications",
"MY_ACCOUNT": "My account",
"WALLET": "Wallet",
"WITHDRAWAL_CARD_ORDER_WALLET": "Card not linked to other wallet",
"WITHDRAWAL_CARD_ORDER_WALLET_LIER": "Card linked to other wallet",
"NO_BANK_AVAILABLE": "No bank available",
"BANK_LIST": "Bank list",
"NO_OPERATOR_AVAILABLE": "No operator available",
@ -143,6 +145,7 @@
"FILL_INFORMATION": "Please fill in the information",
"GROUP_CODE": "Group code",
"NOM_GROUP": "Group name",
"SURNAME": "Frist Name",
"GROUP": "Group",
"INDIVIDUAL": "Individual",
"LIMIT_OF_CREDIT": "Credit limit",
@ -721,6 +724,7 @@
"MONTANT_ASSURANCE_RESTANTE": "Amount of remaining insurance",
"NO_BENEFICIARY": "No beneficiary",
"CARD_COUNTRY": "Carte country",
"CITY": "City",
"EXCHANGE_TAUX": "Exchange taux",
"MOBILE_MONEY": "Mobile Money",
"ORANGE_MONEY": "Orange Money",

9771
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -20,6 +20,7 @@
"@react-native-community/datetimepicker": "^3.5.2",
"@react-native-community/netinfo": "^6.0.2",
"@react-native-community/viewpager": "^3.3.0",
"@react-native/normalize-color": "^2.1.0",
"apsl-react-native-button": "^3.1.1",
"axios": "^0.19.2",
"events": "^3.0.0",

2807
yarn.lock

File diff suppressed because it is too large Load Diff