Spaces:
Running
Running
File size: 3,397 Bytes
9cd6ddb |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
import type { AppProps } from "next/app";
import Head from "next/head";
import Script from "next/script";
import { Analytics } from "@vercel/analytics/react";
import { Montserrat, Open_Sans } from "next/font/google";
import { IntlProvider } from "react-intl";
import { QueryClient, QueryClientProvider } from "react-query";
import { useRouter } from "next/router";
import { useMemo } from "react";
import "styles/globals.css";
import { Layout } from "components/layout";
import { PremiumContext, usePremiumHook } from "components/premium/premium";
import { PremiumModal } from "components/premium/modal";
import LANGUAGES from "languages";
const queryClient = new QueryClient({
defaultOptions: {
queries: { retry: 1, staleTime: 30000, refetchOnWindowFocus: false },
},
});
const montserrat = Montserrat({
variable: "--font-montserrat",
subsets: ["latin"],
});
const inter = Open_Sans({
variable: "--font-inter",
subsets: ["latin"],
});
export default function App({ Component, pageProps }: AppProps) {
const { locale }: any = useRouter();
const messages = useMemo(() => {
switch (locale) {
case "en":
return LANGUAGES.en;
case "hu":
return LANGUAGES.hu;
case "fr":
return LANGUAGES.fr;
case "cz":
return LANGUAGES.cz;
case "uk":
return LANGUAGES.uk;
case "de":
return LANGUAGES.de;
case "es":
return LANGUAGES.es;
case "gr":
return LANGUAGES.gr;
case "da":
return LANGUAGES.da;
case "ru":
return LANGUAGES.ru;
case "tk":
return LANGUAGES.tk;
case "ch":
return LANGUAGES.ch;
case "it":
return LANGUAGES.it;
default:
return LANGUAGES.en;
}
}, [locale]);
const premiumHook = usePremiumHook();
return (
<IntlProvider locale={locale} messages={messages} onError={() => null}>
<QueryClientProvider client={queryClient}>
<Head>
<Script
id="Adsense-id"
data-ad-client="ca-pub-8484207875368959"
async={true}
strategy="beforeInteractive"
src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"
/>
</Script>
<Script
strategy="afterInteractive"
dangerouslySetInnerHTML={{
__html: `
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag("js", new Date());
gtag("config", "G-SC2WGRS3MX");
`,
}}
/>
);
}
|