import React from 'react'; import { TrackWithPeerAndDimensions } from '@100mslive/react-sdk'; import { Box, Flex } from '../../../Layout'; import { CSS } from '../../../Theme'; // @ts-ignore: No implicit Any import VideoTile from '../VideoTile'; import { useVideoTileContext } from '../hooks/useVideoTileLayout'; const Root = ({ children, edgeToEdge, hasSidebar, }: React.PropsWithChildren<{ edgeToEdge?: boolean; hasSidebar?: boolean }>) => { return ( {children} ); }; const ProminentSection = ({ children, css = {} }: React.PropsWithChildren<{ css?: CSS }>) => { return ( {children} ); }; const SecondarySection = ({ tiles, children, edgeToEdge, hasSidebar, }: React.PropsWithChildren<{ tiles: TrackWithPeerAndDimensions[]; edgeToEdge?: boolean; hasSidebar?: boolean }>) => { const tileLayoutProps = useVideoTileContext(); if (!tiles?.length) { return null; } const gridStyles = hasSidebar ? { gridTemplateColumns: '1fr', gridTemplateRows: `repeat(${tiles.length}, minmax(0, 1fr))`, maxHeight: '100%', width: 240, } : { gridTemplateRows: React.Children.count(children) > 0 ? '136px auto' : '154px', gridTemplateColumns: `repeat(${tiles.length}, minmax(0, 1fr))`, }; return ( {tiles.map(tile => { return ( ); })} {children && {children}} ); }; export const ProminenceLayout = { Root, ProminentSection, SecondarySection, };