diff --git a/apps/tangle-cloud/src/pages/instances/page.tsx b/apps/tangle-cloud/src/pages/instances/page.tsx index 09dc0e0a8..338358b6c 100644 --- a/apps/tangle-cloud/src/pages/instances/page.tsx +++ b/apps/tangle-cloud/src/pages/instances/page.tsx @@ -2,6 +2,9 @@ import { useState } from 'react'; import { Button } from '@tangle-network/sandbox-ui/primitives'; import { Link } from 'react-router'; import { useAccount } from 'wagmi'; +import { useAllBlueprints } from '@tangle-network/tangle-shared-ui/data/graphql'; +import { useAllServices } from '@tangle-network/tangle-shared-ui/data/graphql/useServices'; +import { useOperators } from '@tangle-network/tangle-shared-ui/data/graphql/useOperators'; import { AccountStatsCard } from './AccountStatsCard'; import { InstructionCard } from './InstructionCard'; import { TotalValueLockedTabs } from './TotalValueLocked'; @@ -97,6 +100,29 @@ const Page = () => { ] : []; + // Global indexer data — works WITHOUT a wallet so visitors see real activity + const { blueprints: allBlueprints } = useAllBlueprints(); + const { data: allServices } = useAllServices(); + const { data: allOperators } = useOperators({ fallbackToOnChain: false }); + + const globalStats: Metric[] = [ + { + label: 'Blueprints', + value: allBlueprints.size.toLocaleString(), + tone: 'neutral' as MetricTone, + }, + { + label: 'Services', + value: (allServices?.length ?? 0).toLocaleString(), + tone: 'neutral' as MetricTone, + }, + { + label: 'Operators', + value: (allOperators?.length ?? 0).toLocaleString(), + tone: 'neutral' as MetricTone, + }, + ]; + return (