import PropTypes from 'prop-types' import { useCallback, useState } from 'react' import { Devices } from '../Devices' import { ProfileInfo } from './ProfileInfo' import { RestaurantInfo } from './RestaurantInfo' import { Button, Container, ContainerColumn, Text } from './styled' export const UserProfile = ({ dataForm = {}, dataStore = {}, dataDevice = [], deviceId = null, loading = false, asEdited = false, loadingSubmit = false, handleSubmit = () => { return }, onChange = () => { return } }) => { const [editingProfile, setEditingProfile] = useState(false) const [editingDataProfile, setEditingDataProfile] = useState(false) const [editingAddress, setEditingAddress] = useState(false) const [currentView, setCurrentView] = useState('Perfil') const handleViewChange = useCallback((tabKey) => { setCurrentView(tabKey) }, []) const handleProfileDataEditClick = () => { setEditingDataProfile(!editingDataProfile) if (editingDataProfile) { handleSubmit() } } const handleProfileEditClick = () => { setEditingProfile(!editingProfile) if (editingProfile) { handleSubmit() } } const handleAddressEditClick = () => { setEditingAddress(!editingAddress) if (editingAddress) { handleSubmit() } } console.log(editingProfile) const memoizedComponents = { Perfil: ( ), Dispositivos: (
Mis dispositivos
), Restaurante: ( ) } return
{Object.keys(memoizedComponents).map(view => {return ( )})} {memoizedComponents[currentView]}
} UserProfile.propTypes = { dataDevice: PropTypes.array, dataForm: PropTypes.shape({ email: PropTypes.string, lastName: PropTypes.string, upAddress: PropTypes.any, upDateBir: PropTypes.any, upPhone: PropTypes.string, upZipCode: PropTypes.any, username: PropTypes.string }), dataStore: PropTypes.object, deviceId: PropTypes.any, asEdited: PropTypes.bool, handleSubmit: PropTypes.func, loading: PropTypes.bool, loadingSubmit: PropTypes.bool, onChange: PropTypes.func, useFormatDate: PropTypes.func }