import { useEffect, useState } from 'react'; import type { AppProps } from 'next/app'; import Script from 'next/script'; import Head from 'next/head'; import { ChakraProvider, ColorModeScript } from '@chakra-ui/react'; import Layout from '@/components/Layout'; import { theme } from '@/constants/theme'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import NProgress from 'nprogress'; //nprogress module import Router from 'next/router'; import { clientInitData, feConfigs } from '@/store/static'; import { appWithTranslation } from 'next-i18next'; import { setLangStore } from '@/utils/i18n'; import 'nprogress/nprogress.css'; import '@/styles/reset.scss'; //Binding events. Router.events.on('routeChangeStart', () => NProgress.start()); Router.events.on('routeChangeComplete', () => NProgress.done()); Router.events.on('routeChangeError', () => NProgress.done()); // Create a client const queryClient = new QueryClient({ defaultOptions: { queries: { refetchOnWindowFocus: false, retry: false, cacheTime: 0 } } }); function App({ Component, pageProps }: AppProps) { const [googleClientVerKey, setGoogleVerKey] = useState(); const [baiduTongji, setBaiduTongji] = useState(); useEffect(() => { (async () => { const { systemEnv: { googleClientVerKey, baiduTongji } } = await clientInitData(); setGoogleVerKey(googleClientVerKey); setBaiduTongji(baiduTongji); })(); setLangStore('en'); }, []); return ( <> {feConfigs?.systemTitle || 'FastAI'} {baiduTongji && } {googleClientVerKey && ( <> )} ); } export default appWithTranslation(App);