import React, { useEffect } from 'react'; import MaterialIcon from 'react-native-vector-icons/MaterialCommunityIcons'; import { UDContainer, UDHeader, UDInfo, } from './styles'; import { UserFormDetails as UserFormController, useLanguage, useSession } from 'ordering-components/native'; import { OText } from '../shared'; import { UserFormDetailsUI } from '../UserFormDetails'; import { Fade, Placeholder, PlaceholderLine } from 'rn-placeholder'; import { useTheme } from 'styled-components/native'; const UserDetailsUI = (props: any) => { const { isEdit, formState, cleanFormState, cartStatus, toggleIsEdit, validationFields, isUserDetailsEdit, phoneUpdate, togglePhoneUpdate, isCheckout } = props const theme = useTheme(); const [, t] = useLanguage() const [{ user }] = useSession() const userData = props.userData || (!formState.result.error && formState.result?.result) || user useEffect(() => { if (isUserDetailsEdit) { !isEdit && toggleIsEdit() } }, [isUserDetailsEdit]) const toggleEditState = () => { toggleIsEdit() cleanFormState({ changes: {} }) } useEffect(() => { if (user?.cellphone && !user?.country_phone_code) { togglePhoneUpdate(true) } else { togglePhoneUpdate(false) } }, [user?.country_phone_code]) return ( <> {(validationFields.loading || formState.loading) && ( )} {!(validationFields.loading || formState.loading) && ( {t('CUSTOMER_DETAILS', 'Customer Details')} {cartStatus !== 2 && ( !isEdit ? ( toggleIsEdit()} /> ) : ( toggleEditState()} /> ) )} {!isEdit ? ( {t('NAME', 'Name')}:{' '} {userData?.name} {userData?.middle_name} {userData?.lastname} {userData?.second_lastname} {t('EMAIL', 'Email')}:{' '} {userData?.email} {!!(userData?.cellphone || user?.cellphone) && ( <> {t('CELLPHONE', 'Cellphone')}:{' '} {(userData?.country_phone_code) && `+${(userData?.country_phone_code)} `}{(userData?.cellphone)} {!!phoneUpdate && ( {t('NECESSARY_UPDATE_COUNTRY_PHONE_CODE', 'It is necessary to update your phone number')} )} )} ) : ( )} )} ) } export const UserDetails = (props: any) => { const userDetailsProps = { ...props, UIComponent: UserDetailsUI } return }