made people aside generic

This commit is contained in:
J Taylor 2021-06-21 19:02:23 +01:00
parent 42c46f1f1c
commit 3df76ceea8
3 changed files with 11 additions and 8 deletions

View File

@ -19,13 +19,14 @@ import { ReactComponent as IconPeople } from '@dailyjs/shared/icons/people-md.sv
import { ReactComponent as IconSettings } from '@dailyjs/shared/icons/settings-md.svg'; import { ReactComponent as IconSettings } from '@dailyjs/shared/icons/settings-md.svg';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { PEOPLE_ASIDE } from '../../../shared/components/Aside/PeopleAside';
import { VideoGrid } from '../VideoGrid'; import { VideoGrid } from '../VideoGrid';
import { Header } from './Header'; import { Header } from './Header';
import { Tray, TrayButton } from './Tray'; import { Tray, TrayButton } from './Tray';
export const Room = ({ onLeave }) => { export const Room = ({ onLeave }) => {
const { callObject } = useCallState(); const { callObject } = useCallState();
const { setShowDeviceModal, setShowPeopleAside } = useUIState(); const { setShowDeviceModal, setShowAside } = useUIState();
const { isCamMuted, isMicMuted } = useMediaDevices(); const { isCamMuted, isMicMuted } = useMediaDevices();
const { setShowModal, showModal } = useWaitingRoom(); const { setShowModal, showModal } = useWaitingRoom();
const { localParticipant } = useParticipants(); const { localParticipant } = useParticipants();
@ -81,7 +82,7 @@ export const Room = ({ onLeave }) => {
<TrayButton <TrayButton
label="People" label="People"
onClick={() => setShowPeopleAside((p) => !p)} onClick={() => setShowAside((p) => (p ? null : PEOPLE_ASIDE))}
> >
<IconPeople /> <IconPeople />
</TrayButton> </TrayButton>

View File

@ -10,6 +10,8 @@ import { useParticipants } from '../../contexts/ParticipantsProvider';
import { useUIState } from '../../contexts/UIStateProvider'; import { useUIState } from '../../contexts/UIStateProvider';
import { Button } from '../Button'; import { Button } from '../Button';
export const PEOPLE_ASIDE = 'people';
const PersonRow = ({ participant, isOwner = false }) => ( const PersonRow = ({ participant, isOwner = false }) => (
<div className="person-row"> <div className="person-row">
<div className="name"> <div className="name">
@ -93,15 +95,15 @@ PersonRow.propTypes = {
export const PeopleAside = () => { export const PeopleAside = () => {
const { callObject } = useCallState(); const { callObject } = useCallState();
const { showPeopleAside, setShowPeopleAside } = useUIState(); const { showAside, setShowAside } = useUIState();
const { allParticipants, isOwner } = useParticipants(); const { allParticipants, isOwner } = useParticipants();
if (!showPeopleAside) { if (!showAside && showAside !== PEOPLE_ASIDE) {
return null; return null;
} }
return ( return (
<Aside onClose={() => setShowPeopleAside(false)}> <Aside onClose={() => setShowAside(false)}>
{isOwner && ( {isOwner && (
<div className="owner-actions"> <div className="owner-actions">
<Button <Button

View File

@ -5,15 +5,15 @@ export const UIStateContext = createContext();
export const UIStateProvider = ({ children }) => { export const UIStateProvider = ({ children }) => {
const [showDeviceModal, setShowDeviceModal] = useState(false); const [showDeviceModal, setShowDeviceModal] = useState(false);
const [showPeopleAside, setShowPeopleAside] = useState(false); const [showAside, setShowAside] = useState();
return ( return (
<UIStateContext.Provider <UIStateContext.Provider
value={{ value={{
showDeviceModal, showDeviceModal,
setShowDeviceModal, setShowDeviceModal,
showPeopleAside, showAside,
setShowPeopleAside, setShowAside,
}} }}
> >
{children} {children}