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