| 1234567891011121314151617181920212223 |
- import type { ReactElement, ReactNode } from "react";
- import type { NextPage } from "next";
- import type { AppProps } from "next/app";
- import Layout from "../components/common/Layout";
- import "../styles/globals.scss";
- export type NextPageWithLayout<P = {}, IP = P> = NextPage<P, IP> & {
- getLayout?: (page: ReactElement) => ReactNode;
- };
- type AppPropsWithLayout = AppProps & {
- Component: NextPageWithLayout;
- };
- function defaultGetLayout(page: ReactElement): ReactNode {
- return <Layout>{page}</Layout>;
- }
- export default function MyApp({ Component, pageProps }: AppPropsWithLayout) {
- const getLayout = Component.getLayout ?? defaultGetLayout;
- return getLayout(<Component {...pageProps} />);
- }
|