{#each robots as robot, index (robot.id)} {@const gridWidth = 3} {@const spacing = 6} {@const totalRows = Math.ceil(robots.length / gridWidth)} {@const row = Math.floor(index / gridWidth)} {@const col = 1 + (index % gridWidth)} {@const xPosition = (col - Math.floor(gridWidth / 2)) * spacing} {@const zPosition = (row - Math.floor(totalRows / 2)) * spacing} {@const robotStatus = robotManager.getRobotStatus(robot.id)} {@const connectionStatus = getConnectionStatus(robot)} {@const statusVariant = getStatusVariant(connectionStatus)} { moveCameraToRobot(robot, index); handleBoxClick(robot, "manual"); }} > {#snippet content({ isHovered, isSelected })} {#each getRootLinks(robot.robotState.robot) as link} {/each} {#if isHovered || isSelected}
{:else}
{#if robotStatus?.hasActiveMaster} {:else} {/if}
Robot
{robot.id}
{#if robotStatus?.connectedSlaves && robotStatus.connectedSlaves > 0} {:else} {/if}
{/if}
{/snippet}
{/each}