## Customize UI Theme For React, you can create your own theme and use it to render Amplify components: > Your custom theme must use the selectors from the following [template](https://github.com/aws-amplify/amplify-js/blob/main/packages/aws-amplify-react/src/Amplify-UI/Amplify-UI-Theme.tsx) ```javascript import MyTheme from './MyTheme'; ``` Alternatively, you can change a few properties and pass in a theme object from the same file: ```javascript const MyTheme = { signInButtonIcon: { 'display': 'none' }, googleSignInButton: { 'backgroundColor': 'red', 'borderColor': 'red' } } ``` For React Native, you must override properties defined in AmplifyTheme.js [here](https://github.com/aws-amplify/amplify-js/blob/main/packages/aws-amplify-react-native/src/AmplifyTheme.js) ```javascript import { AmplifyTheme } from 'aws-amplify-react-native'; const MySectionHeader = Object.assign({}, AmplifyTheme.sectionHeader, { background: 'orange' }); const MyTheme = Object.assign({}, AmplifyTheme, { sectionHeader: MySectionHeader }); ``` ### Create Your Own UI To customize the default auth experience even more, you can create your own auth UI. To do this, your component will leverage the following *Authenticator* properties: ``` - authState - authData - onStateChange ``` The following example creates an 'Always On' Auth UI, which continuously shows the current auth state in your app. ```javascript import { Authenticator, SignIn, SignUp, ConfirmSignUp, Greetings } from 'aws-amplify-react'; const AlwaysOn = (props) => { return (
I am always here to show current auth state: {props.authState}
) } handleAuthStateChange(state) { if (state === 'signedIn') { /* Do something when the user has signed-in */ } } render() { return ( ) } ```