import { motion } from 'framer-motion' import { ArrowUpRight, Circle, Database, MoreVertical, Plus, Search } from 'lucide-react' import { useTheme } from 'next-themes' import Link from 'next/link' import { useMemo } from 'react' import ReactFlow, { Background, Handle, Position, ReactFlowProvider } from 'reactflow' import 'reactflow/dist/style.css' import { ScaffoldContainer, ScaffoldSection } from 'components/layouts/Scaffold' import Table from 'components/to-be-cleaned/Table' import { BASE_PATH } from 'lib/constants' import { Button, Input_Shadcn_ } from 'ui' import { NODE_WIDTH } from '../../Settings/Infrastructure/InfrastructureConfiguration/InstanceConfiguration.constants' const STATIC_NODES = [ { id: '1', type: 'primary', data: { label: 'Primary Database', region: 'East US (Ohio)', provider: 'AWS', regionIcon: 'EAST_US', }, position: { x: 825, y: 0 }, }, { id: '2', type: 'replica', data: { label: 'Iceberg', details: '3 tables', regionIcon: 'WEST_US', }, position: { x: 875, y: 110 }, }, { id: '3', type: 'replica', data: { label: 'BigQuery', details: '5 tables', regionIcon: 'WEST_US', }, position: { x: 875, y: 200 }, }, { id: '4', type: 'blank', position: { x: 875, y: 290 }, data: {}, }, { id: '5', type: 'cta', position: { x: 125, y: 20 }, data: {}, }, ] const STATIC_EDGES = [ { id: 'e1-2', source: '1', target: '2', type: 'smoothstep', animated: true }, { id: 'e1-3', source: '1', target: '3', type: 'smoothstep', animated: true }, { id: 'e1-4', source: '1', target: '4', type: 'smoothstep', animated: true }, ] export const ReplicationComingSoon = () => { return ( ) } const ReplicationStaticMockup = () => { const nodes = useMemo(() => STATIC_NODES, []) const edges = useMemo(() => STATIC_EDGES, []) const { resolvedTheme } = useTheme() const backgroundPatternColor = resolvedTheme === 'dark' ? 'rgba(255, 255, 255, 0.3)' : 'rgba(0, 0, 0, 0.4)' const nodeTypes = useMemo( () => ({ primary: PrimaryNode, replica: ReplicaNode, blank: BlankNode, cta: CTANode, }), [] ) return (
) } const PrimaryNode = ({ data, }: { data: { label: string; region: string; provider: string; regionIcon: string } }) => { return (

{data.label}

{data.region}

{data.provider}

region icon
) } const ReplicaNode = ({ data, }: { data: { label: string; details: string; regionIcon: string } }) => { return (

{data.label}

{data.details}

region icon
) } const BlankNode = () => { return (
Add new
) } const CTANode = () => { return (
Early Access

Replicate Your Data in Real Time

Stream changes from your Postgres database into your data warehouse—no manual exports, no lag.

We're rolling this out to a limited group of early adopters. Sign up to get early access.

) } const StaticDestinations = () => { const mockRows = [ { name: 'BigQuery', tables: 4, lag: '55ms', status: 'Enabled' }, { name: 'Iceberg', tables: 4, lag: '85ms', status: 'Enabled' }, { name: 'US East', tables: 4, lag: '125ms', status: 'Enabled' }, ] return ( <>
Name, Publication, Lag, Status, , ]} className="mt-4" body={mockRows.map((row, i) => ( {row.name} All {row.tables} tables {row.lag} {row.status} ))} /> ) }