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,
};