handleSubmit: async()

in client/components/mma/identity/settings/SettingsFormSection.tsx [312:339]


	handleSubmit: async (values, formikBag) => {
		const { resetForm, setSubmitting, setStatus } = formikBag;
		const { saveUser, onSuccess, onError, onDone } = formikBag.props;

		// if registrationLocation is not Australia or United States, set registrationLocationState to blank
		if (
			!['Australia', 'United States'].includes(
				values.registrationLocation,
			)
		) {
			values.registrationLocationState = '';
		}

		setStatus(undefined);
		try {
			const response = await saveUser(values);
			resetForm({ values: response });
			onSuccess(values, response);
		} catch (e) {
			if (e.type && e.type === ErrorTypes.VALIDATION) {
				setStatus(e.error);
			} else {
				onError(e);
			}
		}
		onDone();
		setSubmitting(false);
	},