import { useEffect } from "react"; import "../styles/globals.css"; import type { AppProps } from "next/app"; import Head from "next/head"; import { SessionProvider } from "next-auth/react"; import { ThemeProvider } from "next-themes"; import { Toaster } from "react-hot-toast"; import { useRouter } from "next/router"; import { IdProvider } from "@radix-ui/react-id"; import { darkTheme, css } from "../stitches.config"; import Navigation from "../components/Navigation"; import { fetchFiles, state } from "../state"; function MyApp({ Component, pageProps: { session, ...pageProps } }: AppProps) { const router = useRouter(); const slug = router.query?.slug; const gistId = (Array.isArray(slug) && slug[0]) ?? null; useEffect(() => { if (gistId && router.isReady) { fetchFiles(gistId); } else { if (!gistId && router.isReady && !router.pathname.includes("/sign-in")) { state.mainModalOpen = true; } } }, [gistId, router.isReady, router.pathname]); return ( <> XRPL Hooks Playground ); } export default MyApp;