import fetchJson from 'helpers/fetchJson' const submitForm = async (e, url, mutateUser, setErrorMsg) => { e.preventDefault() const isRegister = url.includes('register') if ( isRegister && e.currentTarget.password_confirm && e.currentTarget.password_confirm.value !== e.currentTarget.password.value ) { setErrorMsg('passwords_not_match') return } else { setErrorMsg() } const body = { email: e.currentTarget.email.value, password: e.currentTarget.password.value, ...(e.currentTarget.language ? { language: e.currentTarget.language.value } : {} ), ...(e.currentTarget.theme ? { theme: e.currentTarget.theme.value } : {} ) } try { mutateUser( await fetchJson(url, { method: 'POST', headers: { 'Content-Type': 'plain/text' }, body: JSON.stringify(body) }) ) } catch (err) { setErrorMsg(isRegister ? 'register_error' : 'login_error') } } export default submitForm