diff --git a/apps/studio/components/interfaces/Settings/Infrastructure/InfrastructureConfiguration/InstanceNode.tsx b/apps/studio/components/interfaces/Settings/Infrastructure/InfrastructureConfiguration/InstanceNode.tsx index 568166cc00d..4f52cec2d70 100644 --- a/apps/studio/components/interfaces/Settings/Infrastructure/InfrastructureConfiguration/InstanceNode.tsx +++ b/apps/studio/components/interfaces/Settings/Infrastructure/InfrastructureConfiguration/InstanceNode.tsx @@ -2,6 +2,7 @@ import { PermissionAction } from '@supabase/shared-types/out/constants' import dayjs from 'dayjs' import { Database, DatabaseBackup, HelpCircle, Loader2, MoreVertical } from 'lucide-react' import Link from 'next/link' +import { parseAsBoolean, useQueryState } from 'nuqs' import { Handle, NodeProps, Position } from 'reactflow' import { useParams } from 'common' @@ -14,6 +15,7 @@ import { import { formatDatabaseID } from 'data/read-replicas/replicas.utils' import { useCheckPermissions } from 'hooks/misc/useCheckPermissions' import { BASE_PATH } from 'lib/constants' +import { useDatabaseSelectorStateSnapshot } from 'state/database-selector' import { Badge, Button, @@ -178,8 +180,9 @@ export const ReplicaNode = ({ data }: NodeProps) => { onSelectDropReplica, } = data const { ref } = useParams() - const created = dayjs(inserted_at).format('DD MMM YYYY') + const dbSelectorState = useDatabaseSelectorStateSnapshot() const canManageReplicas = useCheckPermissions(PermissionAction.CREATE, 'projects') + const [, setShowConnect] = useQueryState('showConnect', parseAsBoolean.withDefault(false)) const { data: databaseStatuses } = useReadReplicasStatusesQuery({ projectRef: ref }) const { replicaInitializationStatus } = @@ -197,6 +200,7 @@ export const ReplicaNode = ({ data }: NodeProps) => { error?: string }) ?? { status: undefined, progress: undefined, estimations: undefined, error: undefined } + const created = dayjs(inserted_at).format('DD MMM YYYY') const stage = progress !== undefined ? Number(progress.split('_')[0]) : 0 const stagePercent = stage / (Object.keys(INIT_PROGRESS).length - 1) @@ -340,10 +344,12 @@ export const ReplicaNode = ({ data }: NodeProps) => { { + setShowConnect(true) + dbSelectorState.setSelectedDatabaseId(id) + }} > - - View connection string - + View connection string { const { ref } = useParams() + const dbSelectorState = useDatabaseSelectorStateSnapshot() + const [mount, setMount] = useState(false) const [zoom, setZoom] = useState(1.5) const [center, setCenter] = useState<[number, number]>([14, 7]) @@ -59,6 +63,7 @@ const MapView = ({ region: { key: string; country?: string; name?: string } }>() const canManageReplicas = useCheckPermissions(PermissionAction.CREATE, 'projects') + const [, setShowConnect] = useQueryState('showConnect', parseAsBoolean.withDefault(false)) const { data } = useReadReplicasQuery({ projectRef: ref }) const databases = data ?? [] @@ -293,12 +298,12 @@ const MapView = ({ { + setShowConnect(true) + dbSelectorState.setSelectedDatabaseId(database.identifier) + }} > - - View connection string - + View connection string