From db91e7f84ea297abcb65be8b179cb1988d4c9039 Mon Sep 17 00:00:00 2001 From: Jon Date: Tue, 20 Jul 2021 14:00:05 +0100 Subject: [PATCH] added RoomContainer abstraction --- dailyjs/basic-call/components/App/App.js | 2 +- dailyjs/basic-call/components/Room/Room.js | 66 +++---------------- .../components/Room/RoomContainer.js | 62 +++++++++++++++++ .../components/WaitingRoom/WaitingRoom.js | 18 +++++ .../components/WaitingRoom/index.js | 1 + dailyjs/basic-call/pages/api/createRoom.js | 1 + .../FlyingEmojis/FlyingEmojisOverlay.js | 2 +- dailyjs/flying-emojis/index.js | 1 + dailyjs/live-fitness/README.md | 8 +++ dailyjs/live-fitness/components/App/App.js | 16 +++++ dailyjs/live-fitness/components/App/index.js | 1 + dailyjs/live-fitness/components/Tray/Tray.js | 12 ++++ dailyjs/live-fitness/components/Tray/index.js | 1 + dailyjs/live-fitness/next.config.js | 2 + dailyjs/live-fitness/package.json | 2 + dailyjs/live-fitness/pages/[room].js | 19 ++++-- dailyjs/live-fitness/pages/_app.js | 31 ++------- dailyjs/live-streaming/components/App/App.js | 13 ---- .../live-streaming/components/App/index.js | 1 - .../live-streaming/components/Tray/Tray.js | 16 ++--- dailyjs/recording/components/Tray/Tray.js | 16 ++--- .../components/MessageCard/MessageCard.js | 14 ++-- dailyjs/shared/components/Tray/TrayButton.js | 38 +++++++++++ .../shared/components/Tray/TrayMicButton.js | 24 +++++++ dailyjs/shared/hooks/useAudioLevel.js | 36 ++++++++++ dailyjs/text-chat/components/Tray/Tray.js | 20 +++--- dailyjs/text-chat/index.js | 1 + 27 files changed, 284 insertions(+), 140 deletions(-) create mode 100644 dailyjs/basic-call/components/Room/RoomContainer.js create mode 100644 dailyjs/basic-call/components/WaitingRoom/WaitingRoom.js create mode 100644 dailyjs/basic-call/components/WaitingRoom/index.js create mode 100644 dailyjs/flying-emojis/index.js create mode 100644 dailyjs/live-fitness/components/App/App.js create mode 100644 dailyjs/live-fitness/components/App/index.js create mode 100644 dailyjs/live-fitness/components/Tray/Tray.js create mode 100644 dailyjs/live-fitness/components/Tray/index.js delete mode 100644 dailyjs/live-streaming/components/App/App.js delete mode 100644 dailyjs/live-streaming/components/App/index.js create mode 100644 dailyjs/shared/components/Tray/TrayButton.js create mode 100644 dailyjs/shared/components/Tray/TrayMicButton.js create mode 100644 dailyjs/shared/hooks/useAudioLevel.js create mode 100644 dailyjs/text-chat/index.js diff --git a/dailyjs/basic-call/components/App/App.js b/dailyjs/basic-call/components/App/App.js index e025f3a..d31c62f 100644 --- a/dailyjs/basic-call/components/App/App.js +++ b/dailyjs/basic-call/components/App/App.js @@ -1,4 +1,4 @@ -import React, { useState, useEffect, useMemo } from 'react'; +import React, { useMemo } from 'react'; import ExpiryTimer from '@dailyjs/shared/components/ExpiryTimer'; import { useCallState } from '@dailyjs/shared/contexts/CallProvider'; import { useCallUI } from '@dailyjs/shared/hooks/useCallUI'; diff --git a/dailyjs/basic-call/components/Room/Room.js b/dailyjs/basic-call/components/Room/Room.js index 33d8cbd..45210db 100644 --- a/dailyjs/basic-call/components/Room/Room.js +++ b/dailyjs/basic-call/components/Room/Room.js @@ -1,64 +1,16 @@ import React from 'react'; -import { Audio } from '@dailyjs/shared/components/Audio'; -import { BasicTray } from '@dailyjs/shared/components/Tray'; -import { - WaitingRoomModal, - WaitingRoomNotification, -} from '@dailyjs/shared/components/WaitingRoom'; -import { useParticipants } from '@dailyjs/shared/contexts/ParticipantsProvider'; -import { useWaitingRoom } from '@dailyjs/shared/contexts/WaitingRoomProvider'; -import useJoinSound from '@dailyjs/shared/hooks/useJoinSound'; import { VideoGrid } from '../VideoGrid'; import { Header } from './Header'; +import RoomContainer from './RoomContainer'; -export const Room = () => { - const { setShowModal, showModal } = useWaitingRoom(); - const { localParticipant } = useParticipants(); - - useJoinSound(); - - return ( -
-
- -
- -
- - {/* Show waiting room notification & modal if call owner */} - {localParticipant?.isOwner && ( - <> - - {showModal && ( - setShowModal(false)} /> - )} - - )} - - -
- ); -}; +export const Room = () => ( + +
+
+ +
+ +); export default Room; diff --git a/dailyjs/basic-call/components/Room/RoomContainer.js b/dailyjs/basic-call/components/Room/RoomContainer.js new file mode 100644 index 0000000..da0071f --- /dev/null +++ b/dailyjs/basic-call/components/Room/RoomContainer.js @@ -0,0 +1,62 @@ +import React, { useMemo } from 'react'; +import { Audio } from '@dailyjs/shared/components/Audio'; +import { BasicTray } from '@dailyjs/shared/components/Tray'; +import { useParticipants } from '@dailyjs/shared/contexts/ParticipantsProvider'; +import useJoinSound from '@dailyjs/shared/hooks/useJoinSound'; +import PropTypes from 'prop-types'; +import WaitingRoom from '../WaitingRoom'; + +const RoomContainer = ({ children }) => { + const { localParticipant } = useParticipants(); + const isOwner = !!localParticipant?.isOwner; + + useJoinSound(); + + const roomComponents = useMemo( + () => ( + <> + {/* Show waiting room notification & modal if call owner */} + {isOwner && } + + {/* Tray buttons */} + + + {/* Audio tags */} +