import React, { useEffect, useState, useContext } from 'react'; import { View, Text, Pressable, StyleSheet, Alert } from 'react-native'; import { useNavigation, useRoute } from '@react-navigation/native'; import { getUsuariotoPay } from '../hooks/getUserDeUna'; import { AuthContext } from '../context/Auth/AuthContext'; import { Loader } from './Loader'; export const ValorPagar = () => { const [valorPagar, setvalorPagar] = useState(0.0); const route = useRoute(); interface InfoPerson { name: string; number: number; } const [InformacionUsuario] = useState(); const { cargarUserCredit, dataUserCreditor, token } = useContext(AuthContext); const [isLoading, setisLoading] = useState(false); const navigate = useNavigation(); async function cargarDatos(token: string) { setisLoading(true); try { console.log(token) const phone = route.params.number.replace(/\s+/g, ''); const data = await getUsuariotoPay(token, phone); cargarUserCredit(data); setisLoading(false); } catch (error) { Alert.alert('Error', 'No se pudo cargar el usuario'); cargarUserCredit(null); navigate.navigate('PantallaInicial'); setisLoading(false); } } useEffect(() => { async function loadData() { await cargarDatos(token!); if (!dataUserCreditor) { navigate.goBack(); console.log("Aqui ") } } loadData() }, [route.params.number]); function touchNumber(num: number) { if (valorPagar < 1000) { if (num >= 0 && num <= 0.09) { setvalorPagar(valorPagar * 10 + num); } else { if (num === 10) { setvalorPagar(valorPagar * 100); } } } if (num === 11) { let aux: RegExpMatchArray | null = (valorPagar / 10) .toString() .match(/^\d+(?:\.\d{0,2})?/); if (aux != null) { setvalorPagar(Number.parseFloat(aux.toString())); } } } if (isLoading) { return ( ); } return ( Para: {dataUserCreditor ? ( {dataUserCreditor.customer.fullName} ) : null} {} {} $ {valorPagar.toFixed(2)} 299.99 && styles.disableAlert]}> Valor máximo por cada pago $ 299.99 { touchNumber(0.01); }} > 1 { touchNumber(0.02); }} > 2 { touchNumber(0.03); }} > 3 { touchNumber(0.04); }} > 4 { touchNumber(0.05); }} > 5 { touchNumber(0.06); }} > 6 { touchNumber(0.07); }} > 7 { touchNumber(0.08); }} > 8 { touchNumber(0.09); }} > 9 { touchNumber(10); }} > 00 { touchNumber(0); }} > 0 { touchNumber(11); }} > Borrar {valorPagar < 299 && valorPagar > 0 ? ( navigate.navigate('Confirmacion', { number: InformacionUsuario?.number, valorPagar: valorPagar, }) } style={styles.Btncontinuar} > Continuar ) : ( Alert.alert('holi')} style={styles.BtncontinuarDisabled} > Continuar )} ); }; const styles = StyleSheet.create({ textoSecundario: { fontSize: 18, fontWeight: 'bold', }, container: { display: 'flex', width: '100%', height: '100%', alignItems: 'center', backgroundColor: 'white', paddingTop: 30, }, valor: { fontSize: 50, fontWeight: 'bold', paddingTop: 40, paddingBottom: 40, }, filasNumeros: { display: 'flex', flexDirection: 'row', }, numeros: { width: 120, height: 90, textAlign: 'center', fontSize: 25, fontWeight: 'bold', }, Btncontinuar: { width: '90%', backgroundColor: '#FFDD00', padding: 15, display: 'flex', justifyContent: 'center', alignItems: 'center', }, BtncontinuarDisabled: { width: '90%', backgroundColor: '#FFDD00', padding: 15, display: 'flex', justifyContent: 'center', alignItems: 'center', opacity: 0.5, }, alerta: { color: '#FF0000', opacity: 0, paddingBottom: 45, margin: -30, }, disableAlert: { opacity: 1, }, });