import React, {useState, useEffect} from 'react'; import './App.css'; import {Amplify, Auth} from 'aws-amplify'; import {Authenticator} from '@aws-amplify/ui-react'; import '@aws-amplify/ui-react/styles.css'; import '@cloudscape-design/global-styles/index.css'; import VideoMeeting from './VideoMeeting'; import TranscriptionComponent from './TranscriptionMeeting'; import Transcription from './Transcription'; import MeetingControlBar from './MeetingControlBar'; import awsExports from './aws-exports'; import {AmazonAIPredictionsProvider} from '@aws-amplify/predictions'; import { BrowserRouter as Router, Routes, Route } from "react-router-dom"; import { ContentLayout, Container, Header, SpaceBetween, Button, } from '@cloudscape-design/components'; import {ICredentials} from "@aws-amplify/core"; import {CognitoUserSession} from "amazon-cognito-identity-js"; import {TranscribeStreamingClient} from "@aws-sdk/client-transcribe-streaming"; import {tIncomingTranscripts, tSourceLanguage} from "./types"; import MicrophoneStream from "microphone-stream"; Amplify.configure(awsExports); Amplify.addPluggable(new AmazonAIPredictionsProvider()); const sourceLanguages: tSourceLanguage[] = [ {language: 'English - US', code: 'en-US'}, {language: 'English - GB', code: 'en-GB'}, {language: 'English - AU', code: 'en-AU'}, {language: 'Spanish - US', code: 'es-US'}, {language: 'French - CA', code: 'fr-CA'}, {language: 'French', code: 'fr-FR'}, {language: 'Italian', code: 'it-IT'}, {language: 'German', code: 'de-DE'}, {language: 'Portuguese - BR', code: 'pt-BR'}, {language: 'Japanese', code: 'ja'}, {language: 'Korean', code: 'ko-KR'}, {language: 'Chinese - Simplified', code: 'zh-CN'}, {language: 'Hindi', code: 'hi-IN'}, ]; const App = () => { const [currentCredentials, setCurrentCredentials] = useState({ accessKeyId: "", authenticated: false, expiration: undefined, identityId: "", secretAccessKey: "", sessionToken: "" }); const [currentSession, setCurrentSession] = useState(); const [transcripts, setTranscripts] = useState({ attendeeName: "", partial: false, sourceLanguage: "", text: "", transcriptEvent: undefined }); const [lines, setLine] = useState([]); const [transcribeStatus, setTranscribeStatus] = useState(false); const [translateStatus, setTranslateStatus] = useState(false); const [localMute, setLocalMute] = useState(false); const [sourceLanguage, setSourceLanguage] = useState('en-US'); const [microphoneStream, setMicrophoneStream] = useState(); const [transcriptionClient, setTranscriptionClient] = useState(null); useEffect(() => { async function getAuth() { const session: CognitoUserSession = await Auth.currentSession() setCurrentSession(session); setCurrentCredentials(await Auth.currentUserCredentials()); } getAuth(); }, []); const formFields = { signUp: { email: { order: 1, isRequired: true, }, name: { order: 2, isRequired: true, }, password: { order: 3, }, confirm_password: { order: 4, }, }, }; return ( {({signOut, user}) => ( <>
Sign out } > Amazon Chime SDK Meeting
} > } >
} />
)}
); }; export default App;