5dd4999b64
Strategized with @balazsorban44 to open one larger PR, with changes to individual examples as separate commits. For each example, I researched how multiple realworld codebases use the featured technology with TypeScript, to thoughtfully convert them by hand - nothing automated whatsoever. ## Documentation / Examples - [X] Make sure the linting passes by running `pnpm lint` - [X] The "examples guidelines" are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md)
17 lines
512 B
TypeScript
17 lines
512 B
TypeScript
import type { NextPage } from 'next'
|
|
import type { AppProps } from 'next/app'
|
|
|
|
export type NextPageWithLayout = NextPage & {
|
|
getLayout?: (page: React.ReactElement) => React.ReactNode
|
|
}
|
|
|
|
type AppPropsWithLayout = AppProps & {
|
|
Component: NextPageWithLayout
|
|
}
|
|
|
|
export default function MyApp({ Component, pageProps }: AppPropsWithLayout) {
|
|
// Use the layout defined at the page level, if available
|
|
const getLayout = Component.getLayout ?? ((page) => page)
|
|
|
|
return getLayout(<Component {...pageProps} />)
|
|
}
|