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 },
});