@@ -269,48 +234,8 @@ const InstanceConfigurationUI = ({ diagramOnly = false }: InstanceConfigurationU
{isError &&
}
{isSuccessReplicas && !isLoadingProject && (
<>
- {!diagramOnly && infrastructureReadReplicas && (
+ {infrastructureReadReplicas && (
-
-
0 ? 'rounded-r-none' : '')}
- tooltip={{
- content: {
- side: 'bottom',
- text: !canManageReplicas
- ? 'You need additional permissions to deploy replicas'
- : isOrioleDb
- ? 'Read replicas are not supported with OrioleDB'
- : undefined,
- },
- }}
- >
- Deploy a new replica
-
- {replicas.length > 0 && (
-
-
- }
- className="px-1 rounded-l-none border-l-0"
- />
-
-
-
- Resize databases
-
-
- setShowDeleteAllModal(true)}>
- Remove all replicas
-
-
-
- )}
-
{isAws && (
) : (
- router.push(newReplicaURL)}
- onSelectRestartReplica={setSelectedReplicaToRestart}
- onSelectDropReplica={setSelectedReplicaToDrop}
- />
+
)}
>
)}
-
- {!diagramOnly && (
- <>
-
setRefetchInterval(5000)}
- onCancel={() => setSelectedReplicaToDrop(undefined)}
- />
-
- setRefetchInterval(5000)}
- onCancel={() => setShowDeleteAllModal(false)}
- />
-
- setRefetchInterval(5000)}
- onCancel={() => setSelectedReplicaToRestart(undefined)}
- />
- >
- )}
)
}
-interface InstanceConfigurationProps {
- diagramOnly?: boolean
-}
-
-export const InstanceConfiguration = ({ diagramOnly = false }: InstanceConfigurationProps) => {
+export const InstanceConfiguration = () => {
return (
-
+
)
}
diff --git a/apps/studio/components/interfaces/Settings/Infrastructure/InfrastructureConfiguration/InstanceConfiguration.utils.ts b/apps/studio/components/interfaces/Settings/Infrastructure/InfrastructureConfiguration/InstanceConfiguration.utils.ts
index 87f9d42472276..81e89e5ae2b2d 100644
--- a/apps/studio/components/interfaces/Settings/Infrastructure/InfrastructureConfiguration/InstanceConfiguration.utils.ts
+++ b/apps/studio/components/interfaces/Settings/Infrastructure/InfrastructureConfiguration/InstanceConfiguration.utils.ts
@@ -21,14 +21,10 @@ export const generateNodes = ({
primary,
replicas,
loadBalancers,
- onSelectRestartReplica,
- onSelectDropReplica,
}: {
primary: Database
replicas: Database[]
loadBalancers: LoadBalancer[]
- onSelectRestartReplica: (database: Database) => void
- onSelectDropReplica: (database: Database) => void
}): Node[] => {
const position = { x: 0, y: 0 }
const regions = groupBy(replicas, (d) => {
@@ -107,8 +103,6 @@ export const generateNodes = ({
inserted_at: database.inserted_at,
computeSize: database.size,
status: database.status,
- onSelectRestartReplica: () => onSelectRestartReplica(database),
- onSelectDropReplica: () => onSelectDropReplica(database),
},
}
})
diff --git a/apps/studio/components/interfaces/Settings/Infrastructure/InfrastructureConfiguration/InstanceNode.tsx b/apps/studio/components/interfaces/Settings/Infrastructure/InfrastructureConfiguration/InstanceNode.tsx
index a36da60c59e37..725260ff620b7 100644
--- a/apps/studio/components/interfaces/Settings/Infrastructure/InfrastructureConfiguration/InstanceNode.tsx
+++ b/apps/studio/components/interfaces/Settings/Infrastructure/InfrastructureConfiguration/InstanceNode.tsx
@@ -29,11 +29,11 @@ import {
NODE_WIDTH,
PrimaryNodeData,
REGION_NODE_HEIGHT,
- REPLICA_STATUS,
ReplicaNodeData,
} from './InstanceConfiguration.constants'
import { formatSeconds } from './InstanceConfiguration.utils'
import { metricColor } from './InstanceNode.utils'
+import { REPLICA_STATUS } from '@/components/interfaces/Database/Replication/Replication.constants'
import { SparkBar } from '@/components/ui/SparkBar'
import {
DatabaseInitEstimations,
diff --git a/apps/studio/components/interfaces/Settings/Infrastructure/InfrastructureConfiguration/MapView.tsx b/apps/studio/components/interfaces/Settings/Infrastructure/InfrastructureConfiguration/MapView.tsx
index c8bc70c01fb2f..b551b4a707da5 100644
--- a/apps/studio/components/interfaces/Settings/Infrastructure/InfrastructureConfiguration/MapView.tsx
+++ b/apps/studio/components/interfaces/Settings/Infrastructure/InfrastructureConfiguration/MapView.tsx
@@ -1,4 +1,3 @@
-import { PermissionAction } from '@supabase/shared-types/out/constants'
import { useParams } from 'common'
import dayjs from 'dayjs'
import { partition, uniqBy } from 'lodash'
@@ -14,7 +13,6 @@ import {
Marker,
ZoomableGroup,
} from 'react-simple-maps'
-import type { AWS_REGIONS_KEYS } from 'shared-data'
import {
Badge,
Button,
@@ -25,31 +23,18 @@ import {
DropdownMenuTrigger,
ScrollArea,
} from 'ui'
+import { TimestampInfo } from 'ui-patterns/TimestampInfo'
-import { AVAILABLE_REPLICA_REGIONS, REPLICA_STATUS } from './InstanceConfiguration.constants'
+import { AVAILABLE_REPLICA_REGIONS } from './InstanceConfiguration.constants'
import GeographyData from './MapData.json'
-import { ButtonTooltip } from '@/components/ui/ButtonTooltip'
-import { DropdownMenuItemTooltip } from '@/components/ui/DropdownMenuItemTooltip'
-import { Database, useReadReplicasQuery } from '@/data/read-replicas/replicas-query'
+import { REPLICA_STATUS } from '@/components/interfaces/Database/Replication/Replication.constants'
+import { useReadReplicasQuery } from '@/data/read-replicas/replicas-query'
import { formatDatabaseID } from '@/data/read-replicas/replicas.utils'
-import { useAsyncCheckPermissions } from '@/hooks/misc/useCheckPermissions'
import { useIsFeatureEnabled } from '@/hooks/misc/useIsFeatureEnabled'
import { BASE_PATH } from '@/lib/constants'
import { useDatabaseSelectorStateSnapshot } from '@/state/database-selector'
-// [Joshen] Foresee that we'll skip this view for initial launch
-
-interface MapViewProps {
- onSelectDeployNewReplica: (region: AWS_REGIONS_KEYS) => void
- onSelectRestartReplica: (database: Database) => void
- onSelectDropReplica: (database: Database) => void
-}
-
-const MapView = ({
- onSelectDeployNewReplica,
- onSelectRestartReplica,
- onSelectDropReplica,
-}: MapViewProps) => {
+const MapView = () => {
const { ref } = useParams()
const dbSelectorState = useDatabaseSelectorStateSnapshot()
const { projectHomepageShowInstanceSize } = useIsFeatureEnabled([
@@ -64,7 +49,6 @@ const MapView = ({
y: number
region: { key: string; country?: string; name?: string; region?: string }
}>()
- const { can: canManageReplicas } = useAsyncCheckPermissions(PermissionAction.CREATE, 'projects')
const [, setShowConnect] = useQueryState('showConnect', parseAsBoolean.withDefault(false))
const { data } = useReadReplicasQuery({ projectRef: ref })
@@ -260,7 +244,7 @@ const MapView = ({
2 ? '180px' : 'auto' }}>
{database.identifier !== ref && (
)}
@@ -355,25 +320,10 @@ const MapView = ({
)}