reisolate the individual components that need passed values

This commit is contained in:
Gigiaj 2025-04-15 22:47:55 -05:00
parent cc88733204
commit 99e55b36c6

View file

@ -200,21 +200,21 @@ export function PersistentCallContainer({ isVisible }: PersistentCallContainerPr
{/* Pass actual powerLevels if required */} {/* Pass actual powerLevels if required */}
<PowerLevelsContextProvider value={powerLevels}> <PowerLevelsContextProvider value={powerLevels}>
{/* Route/Space specific context providers MUST wrap both Space and Header */} {/* Route/Space specific context providers MUST wrap both Space and Header */}
<RouteSpaceProvider> {/* Main layout container inside providers: Flex Row */}
<SpaceRouteRoomProvider> {/* Assuming Box handles flex layout */}
{/* Main layout container inside providers: Flex Row */} <Box direction="Row" grow="Yes" style={{ height: '100%', width: '100%' }}>
{/* Assuming Box handles flex layout */} {/* --- Left Side (Nav/Space) --- */}
<Box direction="Row" grow="Yes" style={{ height: '100%', width: '100%' }}> <Box
{/* --- Left Side (Nav/Space) --- */} shrink="No"
<Box style={{
shrink="No" width: '250px',
style={{ height: '100%',
width: '250px', overflowY: 'auto',
height: '100%', borderRight: '1px solid #ccc',
overflowY: 'auto', }}
borderRight: '1px solid #ccc', >
}} <RouteSpaceProvider>
> <SpaceRouteRoomProvider>
{' '} {' '}
{/* Example style */} {/* Example style */}
{/* PageRoot likely renders the nav prop */} {/* PageRoot likely renders the nav prop */}
@ -226,49 +226,53 @@ export function PersistentCallContainer({ isVisible }: PersistentCallContainerPr
</MobileFriendlyPageNav> </MobileFriendlyPageNav>
} }
/> />
</Box> </SpaceRouteRoomProvider>
{/* --- Right Side (Header + Iframe) --- */} </RouteSpaceProvider>
{/* This Box takes remaining space and arranges header/iframe vertically */} </Box>
<Box {/* --- Right Side (Header + Iframe) --- */}
grow="Yes" {/* This Box takes remaining space and arranges header/iframe vertically */}
direction="Column" <Box
style={{ height: '100%', width: '100%', overflow: 'hidden' }} grow="Yes"
> direction="Column"
{/* Header Area */} style={{ height: '100%', width: '100%', overflow: 'hidden' }}
<Box grow="No"> >
{' '} {/* Header Area */}
{/* Header doesn't grow/shrink */} <Box grow="No">
{/* RoomViewHeader requires the providers above */} {' '}
{/* Header doesn't grow/shrink */}
{/* RoomViewHeader requires the providers above */}
<RouteSpaceProvider>
<SpaceRouteRoomProvider>
<RoomViewHeader /> <RoomViewHeader />
</Box> </SpaceRouteRoomProvider>
</RouteSpaceProvider>
</Box>
{/* Iframe Area (takes remaining space) */} {/* Iframe Area (takes remaining space) */}
<Box grow="Yes" style={{ position: 'relative' }}> <Box grow="Yes" style={{ position: 'relative' }}>
{' '} {' '}
{/* Use relative positioning for absolute child */} {/* Use relative positioning for absolute child */}
<iframe <iframe
ref={iframeRef} ref={iframeRef}
style={{ style={{
// Use absolute positioning to fill the parent Box // Use absolute positioning to fill the parent Box
position: 'absolute', position: 'absolute',
top: 0, top: 0,
left: 0, left: 0,
width: '100%', width: '100%',
height: '100%', height: '100%',
border: 'none', border: 'none',
}} }}
title={`Persistent Element Call`} title={`Persistent Element Call`}
sandbox="allow-forms allow-scripts allow-same-origin allow-popups allow-modals allow-downloads" sandbox="allow-forms allow-scripts allow-same-origin allow-popups allow-modals allow-downloads"
allow="microphone; camera; display-capture; autoplay; clipboard-write;" allow="microphone; camera; display-capture; autoplay; clipboard-write;"
src="about:blank" // useEffect sets the correct src src="about:blank" // useEffect sets the correct src
/> />
</Box> </Box>
</Box>{' '} </Box>{' '}
{/* End Right Side Box */} {/* End Right Side Box */}
</Box>{' '} </Box>{' '}
{/* End Main Layout Box (Row) */} {/* End Main Layout Box (Row) */}
</SpaceRouteRoomProvider>
</RouteSpaceProvider>
</PowerLevelsContextProvider> </PowerLevelsContextProvider>
</div> // End Outer Container Div </div> // End Outer Container Div
); );