diff --git a/apps/main/src/App.tsx b/apps/main/src/App.tsx
index 40a2c12..542c506 100644
--- a/apps/main/src/App.tsx
+++ b/apps/main/src/App.tsx
@@ -2,20 +2,29 @@ import { SessionProvider } from "@xtablo/shared/contexts/SessionContext";
import { ThemeProvider } from "@xtablo/shared/contexts/ThemeContext";
import { Toaster } from "@xtablo/ui/components/sonner";
import { BrowserRouter as Router, useRoutes } from "react-router-dom";
+import { NotFoundPage } from "./pages/NotFoundPage";
import { publicRoutes } from "./lib/publicRoutes";
import { routes } from "./lib/routes";
import { supabase } from "./lib/supabase";
import { DatadogRumProvider } from "./providers/DatadogRumProvider";
import { UserStoreProvider } from "./providers/UserStoreProvider";
-const AppRoutes = () => {
- const element = useRoutes(routes);
- return element;
-};
+const Routes = () => {
+ const publicElement = useRoutes(publicRoutes);
+ const appElement = useRoutes(routes);
-const PublicRoutes = () => {
- const element = useRoutes(publicRoutes);
- return element;
+ // If public route matched, render it (outside UserStoreProvider)
+ if (publicElement) {
+ return publicElement;
+ }
+
+ // If app route matched, render it inside UserStoreProvider
+ if (appElement) {
+ return {appElement};
+ }
+
+ // Neither matched, show 404
+ return ;
};
export const App = () => {
@@ -26,10 +35,7 @@ export const App = () => {