import { ColorScheme, Container, LoadingOverlay, MantineProvider, Stack, } from "@mantine/core"; import { ModalsProvider } from "@mantine/modals"; import { NotificationsProvider } from "@mantine/notifications"; import { getCookie } from "cookies-next"; import { GetServerSidePropsContext } from "next"; import type { AppProps } from "next/app"; import getConfig from "next/config"; import { useEffect, useState } from "react"; import Footer from "../components/Footer"; import ThemeProvider from "../components/mantine/ThemeProvider"; import Header from "../components/navBar/NavBar"; import { UserContext } from "../hooks/user.hook"; import authService from "../services/auth.service"; import userService from "../services/user.service"; import GlobalStyle from "../styles/global.style"; import globalStyle from "../styles/mantine.style"; import { CurrentUser } from "../types/user.type"; import { GlobalLoadingContext } from "../utils/loading.util"; const { publicRuntimeConfig } = getConfig() function App( props: AppProps & { colorScheme: ColorScheme; environmentVariables: any } ) { const { Component, pageProps } = props; const [colorScheme, setColorScheme] = useState( props.colorScheme ); const [isLoading, setIsLoading] = useState(true); const [user, setUser] = useState(null); const getInitalData = async () => { console.log(publicRuntimeConfig) setIsLoading(true); setUser(await userService.getCurrentUser()); setIsLoading(false); }; useEffect(() => { setInterval(async () => await authService.refreshAccessToken(), 30 * 1000); getInitalData(); }, []); return ( {isLoading ? ( ) : (