diff --git a/src/app/layout.tsx b/src/app/layout.tsx
index 8017142..e3a511a 100644
--- a/src/app/layout.tsx
+++ b/src/app/layout.tsx
@@ -1,6 +1,7 @@
import { SidebarProvider } from "@/components/ui/sidebar";
import { AppSidebar } from "@/components/app-sidebar";
import { ThemeProvider } from "../contexts/ThemeContext";
+import { DeepLinkProvider } from "../contexts/DeepLinkContext";
import { Toaster } from "sonner";
import { TitleBar } from "./TitleBar";
@@ -13,13 +14,15 @@ export default function RootLayout({
<>
-
-
-
- {children}
-
-
-
+
+
+
+
+ {children}
+
+
+
+
>
);
diff --git a/src/components/SupabaseConnector.tsx b/src/components/SupabaseConnector.tsx
index 094c78b..4f22d98 100644
--- a/src/components/SupabaseConnector.tsx
+++ b/src/components/SupabaseConnector.tsx
@@ -23,12 +23,24 @@ import {
} from "@/components/ui/card";
import { Skeleton } from "@/components/ui/skeleton";
import { useLoadApp } from "@/hooks/useLoadApp";
+import { useDeepLink } from "@/contexts/DeepLinkContext";
const OAUTH_CLIENT_ID = "bf747de7-60bb-48a2-9015-6494e0b04983";
export function SupabaseConnector({ appId }: { appId: number }) {
const [isConnecting, setIsConnecting] = useState(false);
- const { settings } = useSettings();
+ const { settings, refreshSettings } = useSettings();
const { app, refreshApp } = useLoadApp(appId);
+ const { lastDeepLink } = useDeepLink();
+
+ useEffect(() => {
+ const handleDeepLink = async () => {
+ if (lastDeepLink?.type === "supabase-oauth-return") {
+ await refreshSettings();
+ await refreshApp();
+ }
+ };
+ handleDeepLink();
+ }, [lastDeepLink]);
const {
projects,
loading,
@@ -176,7 +188,7 @@ export function SupabaseConnector({ appId }: { appId: number }) {
return (
-
Connect to Supabase
+ Supabase Integration