Use form elements and add submit handlers in chat, haircheck and the prejoin screen
This commit is contained in:
parent
d735fb4e62
commit
c683302ce3
|
|
@ -35,44 +35,49 @@ export const Intro = ({
|
||||||
}, [room]);
|
}, [room]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Card>
|
<form onSubmit={(e) => {
|
||||||
<CardHeader>{title}</CardHeader>
|
e.preventDefault();
|
||||||
<CardBody>
|
onJoin(roomName, owner, fetchToken);
|
||||||
{error && (
|
}}>
|
||||||
<Well variant="error">
|
<Card>
|
||||||
Failed to obtain token <p>{error}</p>
|
<CardHeader>{title}</CardHeader>
|
||||||
</Well>
|
<CardBody>
|
||||||
)}
|
{error && (
|
||||||
<Field label="Enter room to join">
|
<Well variant="error">
|
||||||
<TextInput
|
Failed to obtain token <p>{error}</p>
|
||||||
type="text"
|
</Well>
|
||||||
prefix={`${domain}.daily.co/`}
|
)}
|
||||||
placeholder="Room name"
|
<Field label="Enter room to join">
|
||||||
defaultValue={roomName}
|
<TextInput
|
||||||
onChange={(e) => setRoomName(e.target.value)}
|
type="text"
|
||||||
required
|
prefix={`${domain}.daily.co/`}
|
||||||
/>
|
placeholder="Room name"
|
||||||
</Field>
|
defaultValue={roomName}
|
||||||
{!forceFetchToken && (
|
onChange={(e) => setRoomName(e.target.value)}
|
||||||
<Field label="Fetch meeting token">
|
required
|
||||||
<BooleanInput onChange={(e) => setFetchToken(e.target.checked)} />
|
/>
|
||||||
</Field>
|
</Field>
|
||||||
)}
|
{!forceFetchToken && (
|
||||||
{fetchToken && !forceOwner && (
|
<Field label="Fetch meeting token">
|
||||||
<Field label="Join as owner">
|
<BooleanInput onChange={(e) => setFetchToken(e.target.checked)} />
|
||||||
<BooleanInput onChange={(e) => setOwner(e.target.checked)} />
|
</Field>
|
||||||
</Field>
|
)}
|
||||||
)}
|
{fetchToken && !forceOwner && (
|
||||||
</CardBody>
|
<Field label="Join as owner">
|
||||||
<CardFooter divider>
|
<BooleanInput onChange={(e) => setOwner(e.target.checked)} />
|
||||||
<Button
|
</Field>
|
||||||
onClick={() => onJoin(roomName, owner, fetchToken)}
|
)}
|
||||||
disabled={!roomName || fetching}
|
</CardBody>
|
||||||
>
|
<CardFooter divider>
|
||||||
{fetching ? 'Fetching token...' : 'Join meeting'}
|
<Button
|
||||||
</Button>
|
type="submit"
|
||||||
</CardFooter>
|
disabled={!roomName || fetching}
|
||||||
</Card>
|
>
|
||||||
|
{fetching ? 'Fetching token...' : 'Join meeting'}
|
||||||
|
</Button>
|
||||||
|
</CardFooter>
|
||||||
|
</Card>
|
||||||
|
</form>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ import { useDeepCompareMemo } from 'use-deep-compare';
|
||||||
* - Set user name and join call / request access
|
* - Set user name and join call / request access
|
||||||
*/
|
*/
|
||||||
export const HairCheck = () => {
|
export const HairCheck = () => {
|
||||||
const { callObject, join } = useCallState();
|
const { callObject } = useCallState();
|
||||||
const { localParticipant } = useParticipants();
|
const { localParticipant } = useParticipants();
|
||||||
const {
|
const {
|
||||||
deviceState,
|
deviceState,
|
||||||
|
|
@ -167,13 +167,13 @@ export const HairCheck = () => {
|
||||||
/>
|
/>
|
||||||
<Button
|
<Button
|
||||||
disabled={joining || userName.length < 3}
|
disabled={joining || userName.length < 3}
|
||||||
onClick={() => joinCall(userName)}
|
type="submit"
|
||||||
>
|
>
|
||||||
Join call
|
Join call
|
||||||
</Button>
|
</Button>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}, [userName, joinCall, joining, setUserName]);
|
}, [userName, joining, setUserName]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
|
|
@ -222,7 +222,12 @@ export const HairCheck = () => {
|
||||||
</div>
|
</div>
|
||||||
{tileMemo}
|
{tileMemo}
|
||||||
</div>
|
</div>
|
||||||
<footer>{waiting ? showWaitingMessage : showUsernameInput}</footer>
|
<form onSubmit={(e) => {
|
||||||
|
e.preventDefault();
|
||||||
|
joinCall(userName);
|
||||||
|
}}>
|
||||||
|
<footer>{waiting ? showWaitingMessage : showUsernameInput}</footer>
|
||||||
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<style jsx>{`
|
<style jsx>{`
|
||||||
|
|
|
||||||
|
|
@ -57,25 +57,28 @@ export const ChatAside = () => {
|
||||||
</div>
|
</div>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
<footer className="chat-footer">
|
<form onSubmit={(e) => {
|
||||||
<TextInput
|
e.preventDefault();
|
||||||
value={newMessage}
|
sendMessage(newMessage);
|
||||||
placeholder="Type message here"
|
setNewMessage('');
|
||||||
variant="transparent"
|
}}>
|
||||||
onChange={(e) => setNewMessage(e.target.value)}
|
<footer className="chat-footer">
|
||||||
/>
|
<TextInput
|
||||||
<Button
|
value={newMessage}
|
||||||
className="send-button"
|
placeholder="Type message here"
|
||||||
variant="transparent"
|
variant="transparent"
|
||||||
disabled={!newMessage}
|
onChange={(e) => setNewMessage(e.target.value)}
|
||||||
onClick={() => {
|
/>
|
||||||
sendMessage(newMessage);
|
<Button
|
||||||
setNewMessage('');
|
className="send-button"
|
||||||
}}
|
variant="transparent"
|
||||||
>
|
disabled={!newMessage}
|
||||||
Send
|
type="submit"
|
||||||
</Button>
|
>
|
||||||
</footer>
|
Send
|
||||||
|
</Button>
|
||||||
|
</footer>
|
||||||
|
</form>
|
||||||
<style jsx>{`
|
<style jsx>{`
|
||||||
.messages-container {
|
.messages-container {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue