@@ -6,13 +6,18 @@ import type { PageContext } from 'vike/types'
66import { setPageContext } from '../hooks/usePageContext.js'
77import { objectAssign } from '../utils/objectAssign'
88
9- async function createVueApp ( pageContext : PageContext , ssr : boolean , renderHead = false ) : Promise < PageContextWithApp > {
10- const rootComponentRef = ref ( markRaw ( pageContext . config [ renderHead ? 'Head' : 'Page' ] ) )
9+ async function createVueApp (
10+ pageContext : PageContext ,
11+ ssr : boolean ,
12+ rootComponentName : 'Head' | 'Page'
13+ ) : Promise < PageContextWithApp > {
14+ const rootComponentRef = ref ( markRaw ( pageContext . config [ rootComponentName ] ) )
1115 const layoutRef = ref ( markRaw ( pageContext . config . Layout ) )
1216
1317 const PageWithLayout = defineComponent ( {
1418 render ( ) {
15- if ( ! ! layoutRef . value && ! renderHead ) {
19+ if ( ! ! layoutRef . value && rootComponentName === 'Page' ) {
20+ // Wrap <Page> with <Layout>
1621 return h ( layoutRef . value , { } , { default : ( ) => h ( rootComponentRef . value ) } )
1722 } else {
1823 return h ( rootComponentRef . value )
@@ -35,7 +40,7 @@ async function createVueApp(pageContext: PageContext, ssr: boolean, renderHead =
3540 }
3641 }
3742 Object . assign ( pageContextReactive , pageContext )
38- rootComponentRef . value = markRaw ( pageContext . config [ renderHead ? 'Head' : 'Page' ] )
43+ rootComponentRef . value = markRaw ( pageContext . config [ rootComponentName ] )
3944 layoutRef . value = markRaw ( pageContext . config . Layout )
4045 await nextTick ( )
4146 returned = true
0 commit comments