File tree Expand file tree Collapse file tree 2 files changed +29
-14
lines changed
next-devtools/userspace/app Expand file tree Collapse file tree 2 files changed +29
-14
lines changed Original file line number Diff line number Diff line change @@ -445,6 +445,21 @@ function LoadingBoundary({
445
445
loading : LoadingModuleData | Promise < LoadingModuleData >
446
446
children : React . ReactNode
447
447
} ) : JSX . Element {
448
+ if (
449
+ process . env . NODE_ENV !== 'production' &&
450
+ process . env . __NEXT_DEVTOOL_SEGMENT_EXPLORER
451
+ ) {
452
+ const { SegmentBoundaryTriggerNode } =
453
+ require ( '../../next-devtools/userspace/app/segment-explorer-node' ) as typeof import ( '../../next-devtools/userspace/app/segment-explorer-node' )
454
+
455
+ children = (
456
+ < >
457
+ < SegmentBoundaryTriggerNode />
458
+ { children }
459
+ </ >
460
+ )
461
+ }
462
+
448
463
// If loading is a promise, unwrap it. This happens in cases where we haven't
449
464
// yet received the loading data from the server — which includes whether or
450
465
// not this layout has a loading component at all.
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