42 lines
1.0 KiB
TypeScript
42 lines
1.0 KiB
TypeScript
import type { Metadata } from 'next'
|
|
|
|
import ReactQueryProviders from '@/providers/ReactQueryProvider'
|
|
import EdgeProvider from '@/providers/EdgeProvider'
|
|
import PopupController from '@/components/ui/PopupController'
|
|
|
|
import '@/styles/style.scss'
|
|
|
|
import type { ReactNode } from 'react'
|
|
|
|
export const metadata: Metadata = {
|
|
title: 'Create Next App',
|
|
description: 'Generated by create next app',
|
|
}
|
|
|
|
interface RootLayoutProps {
|
|
children: ReactNode
|
|
header: ReactNode
|
|
footer: ReactNode
|
|
floatBtn: ReactNode
|
|
}
|
|
|
|
export default async function RootLayout({ children, header, footer, floatBtn }: RootLayoutProps): Promise<ReactNode> {
|
|
return (
|
|
<ReactQueryProviders>
|
|
<EdgeProvider>
|
|
<html lang="ja" suppressHydrationWarning>
|
|
<body>
|
|
<div className="wrap">
|
|
{header}
|
|
{children}
|
|
{footer}
|
|
{floatBtn}
|
|
</div>
|
|
<PopupController />
|
|
</body>
|
|
</html>
|
|
</EdgeProvider>
|
|
</ReactQueryProviders>
|
|
)
|
|
}
|