import React, { createRef, useEffect, useState } from 'react'; import PropTypes from 'prop-types'; import { withRouter } from 'react-router-dom'; import * as config from '../../config'; import Error from './Error'; const Join = (props) => { const [username, setUsername] = useState(''); const [title, setTitle] = useState(''); const [errorMsg, setErrorMsg] = useState(''); const [showError, setShowError] = useState(false); const inputRef = createRef(); const baseHref = config.BASE_HREF; useEffect(() => { const qs = new URLSearchParams(props.location.search); const room = qs.get('room'); setTitle(room); }); const joinRoom = async () => { const data = { username, title, role: 'attendee', }; sessionStorage.setItem(`chime[${title}]`, JSON.stringify(data)); props.history.push(`${baseHref}/meeting?room=${title}`); }; const handleNameChange = (e) => { setUsername(e.target.value); }; const handleJoinRoom = (e) => { e.preventDefault(); e.stopPropagation(); joinRoom(); }; const handleClick = (e) => { let node = e.target; let isModal = false; while (node) { if (node && node.classList && node.classList.contains('notice--error')) { isModal = true; break; } node = node.parentNode; } if (!isModal) { closeError(); } }; const closeError = () => { setErrorMsg('Something went wrong'); setShowError(false); }; const joinRoomDisabled = !username; return (

Amazon IVS with ChimeSDK

Create or join rooms, and watch Amazon IVS streams with anyone.

Hey there!

{showError && }
); }; Join.propTypes = { location: PropTypes.object, history: PropTypes.object, }; export default withRouter(Join);