File tree Expand file tree Collapse file tree 2 files changed +30
-14
lines changed
next-devtools/userspace/app Expand file tree Collapse file tree 2 files changed +30
-14
lines changed Original file line number Diff line number Diff line change @@ -615,6 +615,21 @@ export default function OuterLayoutRouter({
615
615
? RenderChildren
616
616
: ErrorBoundary
617
617
618
+ let segmentBoundaryTriggerNode : React . ReactNode = null
619
+ if (
620
+ process . env . NODE_ENV !== 'production' &&
621
+ process . env . __NEXT_DEVTOOL_SEGMENT_EXPLORER
622
+ ) {
623
+ const { SegmentBoundaryTriggerNode } =
624
+ require ( '../../next-devtools/userspace/app/segment-explorer-node' ) as typeof import ( '../../next-devtools/userspace/app/segment-explorer-node' )
625
+
626
+ segmentBoundaryTriggerNode = (
627
+ < >
628
+ < SegmentBoundaryTriggerNode />
629
+ </ >
630
+ )
631
+ }
632
+
618
633
// TODO: The loading module data for a segment is stored on the parent, then
619
634
// applied to each of that parent segment's parallel route slots. In the
620
635
// simple case where there's only one parallel route (the `children` slot),
@@ -647,6 +662,7 @@ export default function OuterLayoutRouter({
647
662
cacheNode = { cacheNode }
648
663
segmentPath = { segmentPath }
649
664
/>
665
+ { segmentBoundaryTriggerNode }
650
666
</ RedirectBoundary >
651
667
</ HTTPAccessFallbackBoundary >
652
668
</ LoadingBoundary >
Original file line number Diff line number Diff line change @@ -76,6 +76,19 @@ export function SegmentViewStateNode({ page }: { page: string }) {
76
76
return null
77
77
}
78
78
79
+ export function SegmentBoundaryTriggerNode ( ) {
80
+ const { boundaryType } = useSegmentState ( )
81
+ let segmentNode : React . ReactNode = null
82
+ if ( boundaryType === 'loading' ) {
83
+ segmentNode = < LoadingSegmentNode />
84
+ } else if ( boundaryType === 'not-found' ) {
85
+ segmentNode = < NotFoundSegmentNode />
86
+ } else if ( boundaryType === 'error' ) {
87
+ segmentNode = < ErrorSegmentNode />
88
+ }
89
+ return segmentNode
90
+ }
91
+
79
92
export function SegmentViewNode ( {
80
93
type,
81
94
pagePath,
@@ -85,22 +98,9 @@ export function SegmentViewNode({
85
98
pagePath : string
86
99
children ?: ReactNode
87
100
} ) : React . ReactNode {
88
- const { boundaryType } = useSegmentState ( )
89
-
90
- const isChildBoundary = type !== 'layout' && type !== 'template'
91
-
92
- let segmentNode = (
101
+ const segmentNode = (
93
102
< SegmentTrieNode key = { type } type = { type } pagePath = { pagePath } />
94
103
)
95
- if ( boundaryType && boundaryType !== type && isChildBoundary ) {
96
- if ( boundaryType === 'loading' ) {
97
- segmentNode = < LoadingSegmentNode />
98
- } else if ( boundaryType === 'not-found' ) {
99
- segmentNode = < NotFoundSegmentNode />
100
- } else if ( boundaryType === 'error' ) {
101
- segmentNode = < ErrorSegmentNode />
102
- }
103
- }
104
104
105
105
return (
106
106
< >
You can’t perform that action at this time.
0 commit comments