diff options
author | polwex <polwex@sortug.com> | 2025-09-11 01:48:14 +0700 |
---|---|---|
committer | polwex <polwex@sortug.com> | 2025-09-11 01:48:14 +0700 |
commit | b1d68ac307ed87d63e83820cbdf843fff0fd9f7f (patch) | |
tree | d6a684a70a80509e68ff667b842aa4e4c091906f /front/src/App.tsx |
init
Diffstat (limited to 'front/src/App.tsx')
-rw-r--r-- | front/src/App.tsx | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/front/src/App.tsx b/front/src/App.tsx new file mode 100644 index 0000000..60ca66a --- /dev/null +++ b/front/src/App.tsx @@ -0,0 +1,43 @@ +import { useEffect, useState } from "react"; +import useLocalState from "@/state/state"; +import Router from "./Router"; +import "@/styles/styles.css"; +import { ThemeProvider } from "@/styles/ThemeProvider"; +import spinner from "@/assets/crowspinner.gif"; + +import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; +import { Toaster } from "react-hot-toast"; +const queryClient = new QueryClient(); + +// const isMobile = MOBILE_BROWSER_REGEX.test(navigator.userAgent); + +function App() { + const [loading, setLoading] = useState(true); + console.log("NOSTRIL INIT"); + const { init, modal } = useLocalState(); + useEffect(() => { + init().then((_res: any) => { + setLoading(false); + }); + }, []); + if (loading) + return ( + <div className="global-center"> + <img id="global-spinner" src={spinner} alt="" /> + <h3 style={{ textAlign: "center" }}>Syncing with your Urbit...</h3> + </div> + ); + else + return ( + <ThemeProvider> + <QueryClientProvider client={queryClient}> + {/* {isMobile ? <MobileUI /> : <DesktopUI />} */} + <Router /> + {modal && modal} + <Toaster position="top-center" /> + </QueryClientProvider> + </ThemeProvider> + ); +} + +export default App; |