import React, { useMemo } from 'react'; import ExpiryTimer from '@custom/shared/components/ExpiryTimer'; import { useCallState } from '@custom/shared/contexts/CallProvider'; import { useCallUI } from '@custom/shared/hooks/useCallUI'; import PropTypes from 'prop-types'; import Room from '../Call/Room'; import { Asides } from './Asides'; import { Modals } from './Modals'; export const App = ({ customComponentForState }) => { const { roomExp, state } = useCallState(); const componentForState = useCallUI({ state, room: () => , ...customComponentForState, }); // Memoize children to avoid unnecassary renders from HOC return useMemo( () => ( <> {roomExp && }
{componentForState()}
), [componentForState, roomExp] ); }; App.propTypes = { customComponentForState: PropTypes.any, }; export default App;