diff --git a/apps/studio/components/interfaces/Connect/Connect.tsx b/apps/studio/components/interfaces/Connect/Connect.tsx index cbbcd64a943..196dd2ab3b7 100644 --- a/apps/studio/components/interfaces/Connect/Connect.tsx +++ b/apps/studio/components/interfaces/Connect/Connect.tsx @@ -1,7 +1,7 @@ import { PermissionAction } from '@supabase/shared-types/out/constants' import { useParams } from 'common' import { ExternalLink, Plug } from 'lucide-react' -import { parseAsBoolean, useQueryState } from 'nuqs' +import { parseAsBoolean, parseAsString, useQueryState } from 'nuqs' import { useMemo, useState } from 'react' import { DatabaseConnectionString } from 'components/interfaces/Connect/DatabaseConnectionString' @@ -55,6 +55,8 @@ export const Connect = () => { parseAsBoolean.withDefault(false) ) + const [tab, setTab] = useQueryState('tab', parseAsString.withDefault('direct')) + const [connectionObject, setConnectionObject] = useState(frameworks) const [selectedParent, setSelectedParent] = useState(connectionObject[0].key) // aka nextjs const [selectedChild, setSelectedChild] = useState( @@ -122,6 +124,8 @@ export const Connect = () => { } function handleConnectionType(type: string) { + setTab(type) + if (type === 'frameworks') { setConnectionObject(frameworks) handleConnectionTypeChange(frameworks) @@ -185,6 +189,15 @@ export const Connect = () => { selectedGrandchild, }) + const handleDialogChange = (open: boolean) => { + if (!open) { + setShowConnect(null) + setTab(null) + } else { + setShowConnect(open) + } + } + if (!isActiveHealthy) { return ( { } return ( - setShowConnect(!open ? null : open)}> +