So, the render-structure
component could perhaps be recursive…
// PageDetail.hbs
{{#each item in structure}}
{{render-structure type=item.type data=item}}
{{/each}}
// components/renderStructure.hbs
{{...Other template content...}}
{{#each child in data.children}}
{{render-structure type=child.type data=child}}
{{/each}}