import type { NextPage } from 'next'; import Head from 'next/head' import { Amplify, Auth } from 'aws-amplify'; import config from '../config'; import '@aws-amplify/ui-react/styles.css'; import { Authenticator, Button } from '@aws-amplify/ui-react'; import { AppBar, Grid, TextField, Stack, Toolbar, Typography } from '@mui/material'; import { ChimeMeetingStateProvider } from '../components/chime/context'; import { MeetingProvider } from 'amazon-chime-sdk-component-library-react'; import MeetingCaller from '../components/chime/MeetingCaller'; import MeetingControl from '../components/chime/MeetingControl'; import MeetingReceiver from '../components/chime/MeetingReceiver'; import { createClient, defaultExchanges, Provider } from 'urql'; import { asyncHeaderExchange } from 'urql-exchange-async-headers'; const Home: NextPage = () => { const amplifyConfig = { aws_appsync_graphqlEndpoint: config.apiEndpoint, aws_appsync_region: config.awsRegion, aws_appsync_authenticationType: 'AMAZON_COGNITO_USER_POOLS', Auth: { region: config.awsRegion, userPoolId: config.userPoolId, userPoolWebClientId: config.userPoolClientId, }, }; Amplify.configure(amplifyConfig); const client = createClient({ url: config.apiEndpoint, exchanges: [ // https://github.com/FormidableLabs/urql/issues/234 asyncHeaderExchange(async () => { const currentSession = await Auth.currentSession(); return { authorization: currentSession.getAccessToken().getJwtToken(), }; }), ...defaultExchanges, ], }); return ( {({ signOut, user }) => ( <> Chime SDK meetings demo Chime SDK meetings demo
)}
); }; export default Home;