import Document, { DocumentContext, Head, Html, Main, NextScript, DocumentProps } from "next/document"; type Props = Record<string, unknown> & DocumentProps; class MyDocument extends Document<Props> { static async getInitialProps(ctx: DocumentContext) { const initialProps = await Document.getInitialProps(ctx); return { ...initialProps }; } render() { const { locale } = this.props.__NEXT_DATA__; const dir = locale === "ar" || locale === "he" ? "rtl" : "ltr"; return ( <Html lang={locale} dir={dir}> <Head> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" /> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" /> <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" /> <link rel="manifest" href="/site.webmanifest" /> <link rel="mask-icon" href="/safari-pinned-tab.svg" color="#000000" /> <meta name="msapplication-TileColor" content="#ff0000" /> <meta name="theme-color" content="#ffffff" /> </Head> <body className="bg-gray-100 dark:bg-black"> <Main /> <NextScript /> </body> </Html> ); } } export default MyDocument;