mirror of https://github.com/kern/filepizza
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.5 KiB
TypeScript
51 lines
1.5 KiB
TypeScript
import React from 'react'
|
|
import Footer from '../components/Footer'
|
|
import { ApiToast } from '../components/ApiToast'
|
|
import '../styles.css'
|
|
import { ThemeProvider } from '../components/ThemeProvider'
|
|
import { ModeToggle } from '../components/ModeToggle'
|
|
import FilePizzaQueryClientProvider from '../components/QueryClientProvider'
|
|
import { Viewport } from 'next'
|
|
import { ViewTransitions } from 'next-view-transitions'
|
|
|
|
export const metadata = {
|
|
title: 'FilePizza • Your files, delivered.',
|
|
description: 'Peer-to-peer file transfers in your web browser.',
|
|
charSet: 'utf-8',
|
|
openGraph: {
|
|
url: 'https://file.pizza',
|
|
title: 'FilePizza • Your files, delivered.',
|
|
description: 'Peer-to-peer file transfers in your web browser.',
|
|
images: [{ url: 'https://file.pizza/images/fb.png' }],
|
|
},
|
|
}
|
|
|
|
export const viewport: Viewport = {
|
|
width: 'device-width',
|
|
initialScale: 1,
|
|
maximumScale: 1,
|
|
userScalable: false,
|
|
}
|
|
|
|
export default function RootLayout({
|
|
children,
|
|
}: {
|
|
children: React.ReactNode
|
|
}): React.ReactElement {
|
|
return (
|
|
<ViewTransitions>
|
|
<html lang="en" suppressHydrationWarning>
|
|
<body>
|
|
<ThemeProvider attribute="class" defaultTheme="system" enableSystem>
|
|
<FilePizzaQueryClientProvider>
|
|
<main>{children}</main>
|
|
<Footer />
|
|
<ModeToggle />
|
|
<ApiToast />
|
|
</FilePizzaQueryClientProvider>
|
|
</ThemeProvider>
|
|
</body>
|
|
</html>
|
|
</ViewTransitions>
|
|
)
|
|
} |