import React, { useCallback, useEffect } from 'react'; import { Amplify, Notifications } from 'aws-amplify'; import { Button } from '@aws-amplify/ui-react'; import { InAppMessageDisplay, useInAppMessaging, withInAppMessaging, } from '@aws-amplify/ui-react-notifications'; import '@aws-amplify/ui-react/styles.css'; import config from './aws-exports'; const { InAppMessaging } = Notifications; Amplify.configure(config); const StyledModalMessage = (props) => ( ); function App() { const { displayMessage } = useInAppMessaging(); useEffect(() => { // sync remote in-app messages InAppMessaging.syncMessages(); }, []); const displayStyledModalMessage = useCallback( () => displayMessage({ content: [{ header: { content: 'Hello World!' } }], id: 'styled message', layout: 'MODAL', }), [displayMessage] ); // display message component on initial render useEffect(displayStyledModalMessage, [displayStyledModalMessage]); return ( ); } export default withInAppMessaging(App, { components: { ModalMessage: StyledModalMessage }, });