58 lines
1.7 KiB
TypeScript
58 lines
1.7 KiB
TypeScript
import { Head, Html, Main, NextScript } from 'next/document'
|
|
import Script from 'next/script'
|
|
|
|
export default function Document() {
|
|
return (
|
|
<Html>
|
|
<Head>
|
|
<link
|
|
href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@300;400;600;700&family=Urbanist:wght@400;600;700&display=swap"
|
|
rel="stylesheet"
|
|
/>
|
|
<link
|
|
rel="icon"
|
|
type="image/x-icon"
|
|
href="/public/favicon.ico"
|
|
id="faviconTag"
|
|
/>
|
|
<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="#242235" />
|
|
<meta name="msapplication-TileColor" content="#242235" />
|
|
<meta name="theme-color" content="#242235"></meta>
|
|
<Script id="show-banner" strategy="beforeInteractive">
|
|
{`const faviconTag = document.getElementById("faviconTag");
|
|
const isDark = window.matchMedia("(prefers-color-scheme: dark)");
|
|
const changeFavicon = () => {
|
|
if (isDark.matches) faviconTag.href = "/favicon-light.ico";
|
|
else faviconTag.href = "/favicon.ico";
|
|
};
|
|
changeFavicon();
|
|
setInterval(changeFavicon, 1000);`}
|
|
</Script>
|
|
</Head>
|
|
|
|
<body>
|
|
<Main />
|
|
<NextScript />
|
|
</body>
|
|
</Html>
|
|
)
|
|
}
|