import { Amplify, Auth, I18n } from 'aws-amplify';
import {
Authenticator,
translations,
useAuthenticator,
View,
} from '@aws-amplify/ui-react';
import '@aws-amplify/ui-react/styles.css';
import awsExports from './aws-exports';
Amplify.configure(awsExports);
const formFields = {
confirmSignUp: {
confirmation_code: {
placeholder: 'Enter the code given',
isRequired: true,
},
},
};
I18n.putVocabularies(translations);
I18n.setLanguage('en');
I18n.putVocabulariesForLanguage('en', {
'Your code is on the way. To log in, enter the code we emailed to':
'Enter this code:',
'It may take a minute to arrive': 'It will take several minutes to arrive',
});
export default function AuthenticatorWithEmail() {
const { authStatus } = useAuthenticator((context) => [context.authStatus]);
const services = {
async handleSignUp(formData) {
let { username, password, attributes } = formData;
// custom username
username = username.toLowerCase();
attributes.email = attributes.email.toLowerCase();
return Auth.signUp({
username,
password,
attributes,
autoSignIn: {
enabled: true,
},
});
},
};
return (
<>
{authStatus}
{({ signOut }) => }
>
);
}