hts/apps/blogai/app/[locale]/morphic/layout.tsx

56 lines
1.4 KiB
TypeScript

import type { Metadata, Viewport } from 'next'
import { Inter as FontSans } from 'next/font/google'
import '../../globals.css'
import { cn } from '@/lib/utils'
import { ThemeProvider } from '@/components/mpv2/theme-provider'
import Header from '@/components/mpv2/header'
import Footer from '@/components/mpv2/footer'
import { AIProvider } from 'ai/rsc' // ✅ 关键点
import { AI } from './action' // ✅ 注意这里的引号
const fontSans = FontSans({
subsets: ['latin'],
variable: '--font-sans'
})
const title = 'Morphic'
const description =
'A fully open-source AI-powered answer engine with a generative UI.'
export const metadata: Metadata = {
metadataBase: new URL('https://morphic.sh'),
title,
description,
openGraph: {
title,
description
},
twitter: {
title,
description,
card: 'summary_large_image',
creator: '@miiura'
}
}
export const viewport: Viewport = {
width: 'device-width',
initialScale: 1,
minimumScale: 1,
maximumScale: 1
}
// ✅ 这里类型一定要这样!不能直接 children: React.ReactNode
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
<ThemeProvider attribute="class" defaultTheme="system" enableSystem disableTransitionOnChange>
{/* <Header /> */}
<AIProvider value={AI}>
{children}
</AIProvider>
{/* <Footer /> */}
</ThemeProvider>
)
}