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