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