layout.tsx
1import type { Metadata } from 'next'
2import './globals.css'
3import { config } from '@/configs/main'
4import { Next13NProgress } from 'nextjs13-progress'
5import { Oneko } from '@/components/oneko'
6import '@/app/styles/markdown-globals.css'
7
8export const metadata: Metadata = {
9 title: config.name,
10 description: `Personal information and projects of ${config.name}`,
11}
12
13export default function RootLayout({
14 children,
15}: Readonly<{
16 children: React.ReactNode
17}>) {
18 return (
19 <html lang="en">
20 <head>
21 <link
22 rel="icon"
23 type={
24 config.avatar.split('.').pop() === 'svg' ?
25 'image/svg+xml'
26 : `image/${config.avatar.split('.').pop()}`
27 }
28 href={config.avatar}
29 />
30 </head>
31 <body className={`font-sans antialiased`}>
32 <Oneko />
33 <Next13NProgress color="blue" height={5} />
34 {children}
35 </body>
36 </html>
37 )
38}
39