{#snippet videoTile(tile: VideoTileData, layout: TileLayoutVariant)} {@const media = $mediaStateByIdentity(tile.liveKitIdentity)}
{#if tile.track} {:else}
{/if} {#if tile.track}
{/if} {labelFor(tile.liveKitIdentity, tile.source)}{tile.isLocal ? " (you)" : ""} {#if videoTiles.length > 1} {@const pinned = $videoPrimaryTileKey === tileKey(tile)} {/if}
{/snippet} {#snippet videoPanelBody()} {#if showTileGrid} {#if useSpotlightLayout && primaryTile}
{@render videoTile(primaryTile, "spotlight")} {#if secondaryTiles.length > 0}
{#each secondaryTiles as tile (tileKey(tile))} {@render videoTile(tile, "strip")} {/each}
{/if}
{:else if useMultiGrid && tileLayout}
{#each tileLayout.rows as row, i} {@const start = tileLayout.rows.slice(0, i).reduce((a, r) => a + r.count, 0)}
{#each videoTiles.slice(start, start + row.count) as tile (tileKey(tile))}
{@render videoTile(tile, "default")}
{/each}
{/each}
{/if} {:else}

Waiting for participants…

{/if} {/snippet} {#if showVideoContent}
{#if mobile}
{@render videoPanelBody()}
{:else} {@render videoPanelBody()} {/if}
{/if}