import React from 'react'; import { Box, Button, Icon, Icons, Spinner, Text } from 'folds'; import { SequenceCard } from '../../components/sequence-card'; import * as css from './styles.css'; import { ChatButton, ControlDivider, MicrophoneButton, SoundButton, VideoButton } from './Controls'; import { useIsDirectRoom, useRoom } from '../../hooks/useRoom'; import { useCallEmbed, useCallJoined, useCallStart } from '../../hooks/useCallEmbed'; import { useCallPreferences } from '../../state/hooks/callPreferences'; type PrescreenControlsProps = { canJoin?: boolean; }; export function PrescreenControls({ canJoin }: PrescreenControlsProps) { const room = useRoom(); const callEmbed = useCallEmbed(); const callJoined = useCallJoined(callEmbed); const direct = useIsDirectRoom(); const inOtherCall = callEmbed && callEmbed.roomId !== room.roomId; const startCall = useCallStart(direct); const joining = callEmbed?.roomId === room.roomId && !callJoined; const disabled = inOtherCall || !canJoin; const { microphone, video, sound, toggleMicrophone, toggleVideo, toggleSound } = useCallPreferences(); return ( ); }