{#if node === null} {#each $order as fileId (fileId)} {@const file = $files.get(fileId)} {#if file}
{/if} {/each} {:else if fileState} {#if node.type === 'file'} {#if waypointRoot} {#if fileState.structure.waypoints.length > 0}
{/if} {:else} {#each fileState.structure.tracks as track (track.id)}
{/each} {/if} {:else if node.type === 'waypoints'} {#each fileState.structure.waypoints as waypoint (waypoint.id)}
{/each} {:else if node.type === 'track'} {#each fileState.structure.tracks.find((t) => t.id === node.trackId)?.segments ?? [] as segment (segment.id)}
{/each} {/if} {/if}
{#if fileState && node?.type === 'file' && !waypointRoot} {/if}