Hossein Salari 37188ff30a
All checks were successful
Build and Deploy Next.js + Nginx Docker Image / build-and-deploy (push) Successful in 2m56s
Build and Deploy Next.js + Nginx Docker Image / deploy (push) Successful in 6s
active sso feature
2026-02-26 13:22:23 +03:30

45 lines
1.2 KiB
JavaScript

import "@/styles/globals.css";
import { ChakraProvider, Spinner } from "@chakra-ui/react";
import { QueryParamProvider } from "use-query-params";
import { NextAdapter } from "next-query-params";
import { theme } from "@/components/theme";
import { KeycloakProvider, useKeycloak } from "@/contexts/KeycloakContext";
import { SWRConfig } from "swr";
import { fetcher } from "@/lib/api";
import { Fonts } from "@/components/base/global";
const Adapter = (props) => <NextAdapter {...props} shallow={true} />;
function AppWrapper({ Component, pageProps }) {
const { initialized, authenticated } = useKeycloak();
if (!initialized) return <Spinner />;
if (!authenticated) return <div>Redirecting to login...</div>;
return (
<KeycloakProvider>
<ChakraProvider theme={theme}>
<SWRConfig value={{ fetcher }}>
<QueryParamProvider
adapter={Adapter}
options={{ enableBatching: true }}
>
<Fonts />
<Component {...pageProps} />
</QueryParamProvider>
</SWRConfig>
</ChakraProvider>
</KeycloakProvider>
);
}
function App(props) {
return (
<KeycloakProvider>
<AppWrapper {...props} />
</KeycloakProvider>
);
}
export default App;