import React, {useState} from 'react';
import Card from '@material-ui/core/Card';
import CardHeader from '@material-ui/core/CardHeader';
import CardContent from '@material-ui/core/CardContent';
import IconButton from '@material-ui/core/IconButton';
import Icon from '@material-ui/core/Icon';
import CardActions from '@material-ui/core/CardActions';
import Button from '@material-ui/core/Button';
import {useTranslation} from 'react-i18next';
import EditPassword from './EditPassword';
import {useToast} from '../../contexts/Toast';
import ProfileField from './ProfileField';
import {makeStyles} from '@material-ui/core';
const Profile = ({profile, updateProfile, logout}) => {
const {t} = useTranslation();
const {addToast} = useToast();
const classes = useStyles();
const [isEditing, setIsEditing] = useState(false);
const [isEditingPassword, setIsEditingPassword] = useState(false);
const [firstName, setFirstName] = useState(profile.firstName);
const [lastName, setLastName] = useState(profile.lastName);
const [email, setEmail] = useState(profile.email);
const [oldPassword, setOldPassword] = useState('');
const [newPassword, setNewPassword] = useState('');
const [errorPassword, setErrorPassword] = useState('');
const resetPassword = () => {
setIsEditingPassword(false);
setNewPassword('');
setOldPassword('');
setErrorPassword('');
};
const savePassword = async () => {
try {
await updateProfile({
old_password: oldPassword,
password: newPassword,
});
addToast(t('profile.password_changed'));
resetPassword();
} catch (err) {
if (err.kind === 'bad_data') {
setErrorPassword(t('profile.errors.password_nomatch'));
return;
}
}
};
if (isEditingPassword)
return (