import {useState} from 'react';
import Card from '@material-ui/core/Card';
import CardContent from '@material-ui/core/CardContent';
import CardActions from '@material-ui/core/CardActions';
import Button from '@material-ui/core/Button';
import {makeStyles} from '@material-ui/core';
import {useTranslation} from 'react-i18next';
import EditPassword from './EditPassword';
import ProfileField from './ProfileField';
import useToastStore from '../../stores/useToastStore';
const Profile = ({profile, updateProfile, logout}) => {
const {t} = useTranslation();
const addToast = useToastStore(s => s.addToast);
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 isStrapiUser = profile.provider === 'local';
const resetPassword = () => {
setIsEditingPassword(false);
setNewPassword('');
setOldPassword('');
setErrorPassword('');
};
const savePassword = async () => {
try {
await updateProfile({
oldPassword,
password: newPassword,
});
addToast(t('profile.password_changed'));
resetPassword();
} catch (err) {
if (err.message === 'Auth.form.error.password.matching') {
setErrorPassword(t('profile.errors.password_nomatch'));
return;
}
}
};
const onSave = async () => {
try {
await updateProfile({firstName, lastName, email});
setIsEditing(false);
} catch (error) {
console.error(error);
}
};
if (isEditingPassword)
return (