From 86cd0ec81c163f66a2fc425a4e8b4951ea4a3b67 Mon Sep 17 00:00:00 2001 From: Evan Almloff Date: Fri, 14 Jul 2023 08:07:45 -0700 Subject: [PATCH] fix sitemaps for unclosed nests --- packages/router-macro/src/lib.rs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/packages/router-macro/src/lib.rs b/packages/router-macro/src/lib.rs index 123913bc6..9ea31c92d 100644 --- a/packages/router-macro/src/lib.rs +++ b/packages/router-macro/src/lib.rs @@ -446,6 +446,24 @@ impl RouteEnum { routes.push(route); } + // pop any remaining site map segments + while let Some(segment) = site_map_stack.pop() { + let children = site_map_stack + .last_mut() + .map(|seg| &mut seg.last_mut().unwrap().children) + .unwrap_or(&mut site_map); + + // Turn the list of segments in the segments stack into a tree + let mut iter = segment.into_iter().rev(); + let mut current = iter.next().unwrap(); + for mut segment in iter { + segment.children.push(current); + current = segment; + } + + children.push(current); + } + let myself = Self { vis: vis.clone(), name: name.clone(),