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
}