import { format } from 'date-fns' import React from 'react' import { Helmet } from 'react-helmet' import { withTranslation } from 'react-i18next' import { connect } from 'react-redux' import TimezonePicker from 'react-timezone' import Message from '../Common/Message' import { handleProfileFormSubmit } from '../../actions/user' import { history } from '../../index' import { languages } from '../NavBar/LanguageDropdown' class ProfileEdit extends React.Component { constructor(props, context) { super(props, context) this.state = { formData: {}, } } componentDidMount() { this.initForm() } componentDidUpdate(prevProps) { if (prevProps.user !== this.props.user) { this.initForm() } } initForm() { const { user } = this.props const formData = {} Object.keys(user).map(k => user[k] === null ? (formData[k] = '') : k === 'birth_date' ? (formData[k] = format(new Date(user[k]), 'yyyy-MM-DD')) : (formData[k] = user[k]) ) this.setState({ formData }) } handleFormChange(e) { const { formData } = this.state if (e.target.name === 'weekm') { formData.weekm = e.target.value === 'Monday' } else { formData[e.target.name] = e.target.value } this.setState(formData) } render() { const { onHandleProfileFormSubmit, message, t, user } = this.props const { formData } = this.state return (
FitTrackee - {t('user:Profile Edition')} {formData.isAuthenticated && (

{t('user:Profile Edition')}

{user.username}
{ event.preventDefault() onHandleProfileFormSubmit(formData) }} >