From 2d9935be9993d72d34e815285c9904e73c2d32c0 Mon Sep 17 00:00:00 2001 From: Hayder Date: Sat, 29 Mar 2025 09:38:17 +0100 Subject: [PATCH 01/37] Added Token API networks to supported networks table --- website/src/pages/ar/supported-networks.json | 3 ++- website/src/pages/cs/supported-networks.json | 3 ++- website/src/pages/de/supported-networks.json | 3 ++- website/src/pages/en/supported-networks.json | 3 ++- website/src/pages/es/supported-networks.json | 3 ++- website/src/pages/fr/supported-networks.json | 3 ++- website/src/pages/hi/supported-networks.json | 3 ++- website/src/pages/it/supported-networks.json | 3 ++- website/src/pages/ja/supported-networks.json | 3 ++- website/src/pages/ko/supported-networks.json | 3 ++- website/src/pages/mr/supported-networks.json | 3 ++- website/src/pages/nl/supported-networks.json | 3 ++- website/src/pages/pl/supported-networks.json | 3 ++- website/src/pages/pt/supported-networks.json | 3 ++- website/src/pages/ro/supported-networks.json | 3 ++- website/src/pages/ru/supported-networks.json | 3 ++- website/src/pages/sv/supported-networks.json | 3 ++- website/src/pages/tr/supported-networks.json | 3 ++- website/src/pages/uk/supported-networks.json | 3 ++- website/src/pages/ur/supported-networks.json | 3 ++- website/src/pages/vi/supported-networks.json | 3 ++- website/src/pages/zh/supported-networks.json | 3 ++- website/src/supportedNetworks.tsx | 9 ++++++++- 23 files changed, 52 insertions(+), 23 deletions(-) diff --git a/website/src/pages/ar/supported-networks.json b/website/src/pages/ar/supported-networks.json index 20bad6b5fa26..2d8b24a5fe70 100644 --- a/website/src/pages/ar/supported-networks.json +++ b/website/src/pages/ar/supported-networks.json @@ -3,5 +3,6 @@ "id": "ID", "subgraphs": "Subgraphs", "substreams": "متعدد-السلاسل", - "firehose": "Firehose" + "firehose": "Firehose", + "tokenapi": "Token API" } diff --git a/website/src/pages/cs/supported-networks.json b/website/src/pages/cs/supported-networks.json index ae82e7b0fcbb..7f43eab87140 100644 --- a/website/src/pages/cs/supported-networks.json +++ b/website/src/pages/cs/supported-networks.json @@ -3,5 +3,6 @@ "id": "ID", "subgraphs": "Podgrafy", "substreams": "Substreams", - "firehose": "Firehose" + "firehose": "Firehose", + "tokenapi": "Token API" } diff --git a/website/src/pages/de/supported-networks.json b/website/src/pages/de/supported-networks.json index e2dea040d6f6..2a0cf56ca0ca 100644 --- a/website/src/pages/de/supported-networks.json +++ b/website/src/pages/de/supported-networks.json @@ -3,5 +3,6 @@ "id": "ID", "subgraphs": "Subgraphs", "substreams": "Substreams", - "firehose": "Firehose" + "firehose": "Firehose", + "tokenapi": "Token API" } diff --git a/website/src/pages/en/supported-networks.json b/website/src/pages/en/supported-networks.json index e2dea040d6f6..2a0cf56ca0ca 100644 --- a/website/src/pages/en/supported-networks.json +++ b/website/src/pages/en/supported-networks.json @@ -3,5 +3,6 @@ "id": "ID", "subgraphs": "Subgraphs", "substreams": "Substreams", - "firehose": "Firehose" + "firehose": "Firehose", + "tokenapi": "Token API" } diff --git a/website/src/pages/es/supported-networks.json b/website/src/pages/es/supported-networks.json index 2a2714cf9f30..67d47ad44373 100644 --- a/website/src/pages/es/supported-networks.json +++ b/website/src/pages/es/supported-networks.json @@ -3,5 +3,6 @@ "id": "ID", "subgraphs": "Subgrafos", "substreams": "Corrientes secundarias", - "firehose": "Firehose" + "firehose": "Firehose", + "tokenapi": "Token API" } diff --git a/website/src/pages/fr/supported-networks.json b/website/src/pages/fr/supported-networks.json index e2dea040d6f6..2a0cf56ca0ca 100644 --- a/website/src/pages/fr/supported-networks.json +++ b/website/src/pages/fr/supported-networks.json @@ -3,5 +3,6 @@ "id": "ID", "subgraphs": "Subgraphs", "substreams": "Substreams", - "firehose": "Firehose" + "firehose": "Firehose", + "tokenapi": "Token API" } diff --git a/website/src/pages/hi/supported-networks.json b/website/src/pages/hi/supported-networks.json index ccbcdaebb037..c51c74db4219 100644 --- a/website/src/pages/hi/supported-networks.json +++ b/website/src/pages/hi/supported-networks.json @@ -3,5 +3,6 @@ "id": "ID", "subgraphs": "सबग्राफ", "substreams": "सबस्ट्रीम", - "firehose": "Firehose" + "firehose": "Firehose", + "tokenapi": "Token API" } diff --git a/website/src/pages/it/supported-networks.json b/website/src/pages/it/supported-networks.json index e2dea040d6f6..2a0cf56ca0ca 100644 --- a/website/src/pages/it/supported-networks.json +++ b/website/src/pages/it/supported-networks.json @@ -3,5 +3,6 @@ "id": "ID", "subgraphs": "Subgraphs", "substreams": "Substreams", - "firehose": "Firehose" + "firehose": "Firehose", + "tokenapi": "Token API" } diff --git a/website/src/pages/ja/supported-networks.json b/website/src/pages/ja/supported-networks.json index b545e3d4f916..9093514b5148 100644 --- a/website/src/pages/ja/supported-networks.json +++ b/website/src/pages/ja/supported-networks.json @@ -3,5 +3,6 @@ "id": "ID", "subgraphs": "サブグラフ", "substreams": "サブストリーム", - "firehose": "Firehose" + "firehose": "Firehose", + "tokenapi": "Token API" } diff --git a/website/src/pages/ko/supported-networks.json b/website/src/pages/ko/supported-networks.json index e2dea040d6f6..2a0cf56ca0ca 100644 --- a/website/src/pages/ko/supported-networks.json +++ b/website/src/pages/ko/supported-networks.json @@ -3,5 +3,6 @@ "id": "ID", "subgraphs": "Subgraphs", "substreams": "Substreams", - "firehose": "Firehose" + "firehose": "Firehose", + "tokenapi": "Token API" } diff --git a/website/src/pages/mr/supported-networks.json b/website/src/pages/mr/supported-networks.json index b94e91f6a050..04ad84ca161d 100644 --- a/website/src/pages/mr/supported-networks.json +++ b/website/src/pages/mr/supported-networks.json @@ -3,5 +3,6 @@ "id": "ID", "subgraphs": "सबग्राफ", "substreams": "उपप्रवाह", - "firehose": "फायरहोस" + "firehose": "फायरहोस", + "tokenapi": "Token API" } diff --git a/website/src/pages/nl/supported-networks.json b/website/src/pages/nl/supported-networks.json index e2dea040d6f6..2a0cf56ca0ca 100644 --- a/website/src/pages/nl/supported-networks.json +++ b/website/src/pages/nl/supported-networks.json @@ -3,5 +3,6 @@ "id": "ID", "subgraphs": "Subgraphs", "substreams": "Substreams", - "firehose": "Firehose" + "firehose": "Firehose", + "tokenapi": "Token API" } diff --git a/website/src/pages/pl/supported-networks.json b/website/src/pages/pl/supported-networks.json index 6201797ba8cd..77c2773b0cf6 100644 --- a/website/src/pages/pl/supported-networks.json +++ b/website/src/pages/pl/supported-networks.json @@ -3,5 +3,6 @@ "id": "ID", "subgraphs": "Subgrafy", "substreams": "Substreams", - "firehose": "Firehose" + "firehose": "Firehose", + "tokenapi": "Token API" } diff --git a/website/src/pages/pt/supported-networks.json b/website/src/pages/pt/supported-networks.json index e2dea040d6f6..2a0cf56ca0ca 100644 --- a/website/src/pages/pt/supported-networks.json +++ b/website/src/pages/pt/supported-networks.json @@ -3,5 +3,6 @@ "id": "ID", "subgraphs": "Subgraphs", "substreams": "Substreams", - "firehose": "Firehose" + "firehose": "Firehose", + "tokenapi": "Token API" } diff --git a/website/src/pages/ro/supported-networks.json b/website/src/pages/ro/supported-networks.json index bb0668c977c5..f580ec4836b1 100644 --- a/website/src/pages/ro/supported-networks.json +++ b/website/src/pages/ro/supported-networks.json @@ -3,5 +3,6 @@ "id": "ID", "subgraphs": "Subgrafuri", "substreams": "Substreams", - "firehose": "Firehose" + "firehose": "Firehose", + "tokenapi": "Token API" } diff --git a/website/src/pages/ru/supported-networks.json b/website/src/pages/ru/supported-networks.json index 2a11f68ef9a8..a84849947227 100644 --- a/website/src/pages/ru/supported-networks.json +++ b/website/src/pages/ru/supported-networks.json @@ -3,5 +3,6 @@ "id": "ID", "subgraphs": "Субграфы", "substreams": "Substreams", - "firehose": "Firehose" + "firehose": "Firehose", + "tokenapi": "Token API" } diff --git a/website/src/pages/sv/supported-networks.json b/website/src/pages/sv/supported-networks.json index 1c79e2f2a36b..9264fd442e5c 100644 --- a/website/src/pages/sv/supported-networks.json +++ b/website/src/pages/sv/supported-networks.json @@ -3,5 +3,6 @@ "id": "ID", "subgraphs": "Subgrafer", "substreams": "Underströmmar", - "firehose": "Firehose" + "firehose": "Firehose", + "tokenapi": "Token API" } diff --git a/website/src/pages/tr/supported-networks.json b/website/src/pages/tr/supported-networks.json index f25e3d970245..7e017f21f3dd 100644 --- a/website/src/pages/tr/supported-networks.json +++ b/website/src/pages/tr/supported-networks.json @@ -3,5 +3,6 @@ "id": "ID", "subgraphs": "Subgraph'ler", "substreams": "Substream'ler", - "firehose": "Firehose" + "firehose": "Firehose", + "tokenapi": "Token API" } diff --git a/website/src/pages/uk/supported-networks.json b/website/src/pages/uk/supported-networks.json index bfc32265e049..fd8e0e3aa227 100644 --- a/website/src/pages/uk/supported-networks.json +++ b/website/src/pages/uk/supported-networks.json @@ -3,5 +3,6 @@ "id": "ID", "subgraphs": "Підграфи", "substreams": "Substreams", - "firehose": "Firehose" + "firehose": "Firehose", + "tokenapi": "Token API" } diff --git a/website/src/pages/ur/supported-networks.json b/website/src/pages/ur/supported-networks.json index 2f53351f7719..cef5abe2d957 100644 --- a/website/src/pages/ur/supported-networks.json +++ b/website/src/pages/ur/supported-networks.json @@ -3,5 +3,6 @@ "id": "ID", "subgraphs": "سب گراف", "substreams": "سب سٹریمز", - "firehose": "Firehose" + "firehose": "Firehose", + "tokenapi": "Token API" } diff --git a/website/src/pages/vi/supported-networks.json b/website/src/pages/vi/supported-networks.json index e2dea040d6f6..2a0cf56ca0ca 100644 --- a/website/src/pages/vi/supported-networks.json +++ b/website/src/pages/vi/supported-networks.json @@ -3,5 +3,6 @@ "id": "ID", "subgraphs": "Subgraphs", "substreams": "Substreams", - "firehose": "Firehose" + "firehose": "Firehose", + "tokenapi": "Token API" } diff --git a/website/src/pages/zh/supported-networks.json b/website/src/pages/zh/supported-networks.json index 46d5ed32a086..a31b1bae1061 100644 --- a/website/src/pages/zh/supported-networks.json +++ b/website/src/pages/zh/supported-networks.json @@ -3,5 +3,6 @@ "id": "ID", "subgraphs": "子图", "substreams": "子流", - "firehose": "Firehose" + "firehose": "Firehose", + "tokenapi": "Token API" } diff --git a/website/src/supportedNetworks.tsx b/website/src/supportedNetworks.tsx index 5efc78521c69..d857968a0bba 100644 --- a/website/src/supportedNetworks.tsx +++ b/website/src/supportedNetworks.tsx @@ -6,12 +6,16 @@ import { useI18n } from '@/i18n' export async function getSupportedNetworks() { const registry = await NetworksRegistry.fromLatestVersion() + // Networks with Token API support + const tokenAPINetworks = ['mainnet', 'base', 'bsc', 'arbitrum-one', 'matic', 'optimism'] + return registry.networks .flatMap((network) => { const subgraphs = Boolean(network.services.subgraphs?.length) const substreams = Boolean(network.services.substreams?.length) const firehose = Boolean(network.services.firehose?.length) - if (!subgraphs && !substreams && !firehose) { + const tokenapi = tokenAPINetworks.includes(network.id) + if (!subgraphs && !substreams && !firehose && !tokenapi) { return [] } return [ @@ -20,6 +24,7 @@ export async function getSupportedNetworks() { subgraphs, substreams, firehose, + tokenapi, }, ] }) @@ -48,6 +53,7 @@ export function SupportedNetworksTable({ {t('supportedNetworks.subgraphs')} {t('supportedNetworks.substreams')} {t('supportedNetworks.firehose')} + {t('supportedNetworks.tokenapi')} {networks.map((network) => ( @@ -58,6 +64,7 @@ export function SupportedNetworksTable({ {network.subgraphs ? '✓' : null} {network.substreams ? '✓' : null} {network.firehose ? '✓' : null} + {network.tokenapi ? '✓' : null} ))} From 97830f9e27d763917b1c1d781768ce6c8a57a451 Mon Sep 17 00:00:00 2001 From: Hayder Date: Sat, 29 Mar 2025 09:44:21 +0100 Subject: [PATCH 02/37] Add network logos --- website/src/supportedNetworks.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/website/src/supportedNetworks.tsx b/website/src/supportedNetworks.tsx index d857968a0bba..19224e911a77 100644 --- a/website/src/supportedNetworks.tsx +++ b/website/src/supportedNetworks.tsx @@ -2,6 +2,7 @@ import { NetworksRegistry } from '@pinax/graph-networks-registry' import { Table } from '@/components' import { useI18n } from '@/i18n' +import { NetworkIcon } from '@edgeandnode/go' export async function getSupportedNetworks() { const registry = await NetworksRegistry.fromLatestVersion() @@ -57,7 +58,12 @@ export function SupportedNetworksTable({ {networks.map((network) => ( - {network.fullName} + +
+ + {network.shortName} +
+ {network.id} From f3eb4cce1690bd993ccffe2800cebf059edf31fa Mon Sep 17 00:00:00 2001 From: Hayder Date: Sat, 29 Mar 2025 09:46:12 +0100 Subject: [PATCH 03/37] Use icon instead of check --- website/src/supportedNetworks.tsx | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/website/src/supportedNetworks.tsx b/website/src/supportedNetworks.tsx index 19224e911a77..03d0992bec0e 100644 --- a/website/src/supportedNetworks.tsx +++ b/website/src/supportedNetworks.tsx @@ -3,6 +3,7 @@ import { NetworksRegistry } from '@pinax/graph-networks-registry' import { Table } from '@/components' import { useI18n } from '@/i18n' import { NetworkIcon } from '@edgeandnode/go' +import { Check } from '@edgeandnode/gds/icons' export async function getSupportedNetworks() { const registry = await NetworksRegistry.fromLatestVersion() @@ -67,10 +68,10 @@ export function SupportedNetworksTable({ {network.id} - {network.subgraphs ? '✓' : null} - {network.substreams ? '✓' : null} - {network.firehose ? '✓' : null} - {network.tokenapi ? '✓' : null} + {network.subgraphs ? : null} + {network.substreams ? : null} + {network.firehose ? : null} + {network.tokenapi ? : null} ))} From b7e8065ec0208db61a026e551dd26afbcc96693e Mon Sep 17 00:00:00 2001 From: Hayder Date: Sat, 29 Mar 2025 09:51:28 +0100 Subject: [PATCH 04/37] Use mono variant for icons with low constrast --- website/src/supportedNetworks.tsx | 57 ++++++++++++++++++++++++++----- 1 file changed, 48 insertions(+), 9 deletions(-) diff --git a/website/src/supportedNetworks.tsx b/website/src/supportedNetworks.tsx index 03d0992bec0e..fc2ce37e706a 100644 --- a/website/src/supportedNetworks.tsx +++ b/website/src/supportedNetworks.tsx @@ -4,6 +4,29 @@ import { Table } from '@/components' import { useI18n } from '@/i18n' import { NetworkIcon } from '@edgeandnode/go' import { Check } from '@edgeandnode/gds/icons' +import { Text } from '@edgeandnode/gds' + +// Networks that should use the "mono" icon variant +const MONO_ICON_NETWORKS = [ + 'vana', + 'vana-moksha', + 'xlayer-mainnet', + 'xlayer-sepolia', + 'zksync-era', + 'zksync-era-sepolia', + 'sonic', + 'soneium-testnet', + 'soneium', + 'linea-sepolia', + 'linea', + 'lens-testnet', + 'expchain-testnet', + 'autonomys-taurus', + 'arweave-mainnet', + 'fraxtal', + 'lumia', + 'mbase', +] export async function getSupportedNetworks() { const registry = await NetworksRegistry.fromLatestVersion() @@ -46,27 +69,43 @@ export function SupportedNetworksTable({ }: Awaited>['props']) { const { t } = useI18n() + const getIconVariant = (networkId: string) => { + return MONO_ICON_NETWORKS.includes(networkId) ? 'mono' : 'branded' + } + return ( - - - - - - + + + + + + {networks.map((network) => ( From 103876af8e7ee2c2def6a93a3c8cdb4c06c6cf64 Mon Sep 17 00:00:00 2001 From: Hayder Date: Sat, 29 Mar 2025 10:21:04 +0100 Subject: [PATCH 05/37] Show skeleton with missing icons --- website/src/supportedNetworks.tsx | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/website/src/supportedNetworks.tsx b/website/src/supportedNetworks.tsx index fc2ce37e706a..cfc07e1d734e 100644 --- a/website/src/supportedNetworks.tsx +++ b/website/src/supportedNetworks.tsx @@ -4,7 +4,7 @@ import { Table } from '@/components' import { useI18n } from '@/i18n' import { NetworkIcon } from '@edgeandnode/go' import { Check } from '@edgeandnode/gds/icons' -import { Text } from '@edgeandnode/gds' +import { Skeleton, Text } from '@edgeandnode/gds' // Networks that should use the "mono" icon variant const MONO_ICON_NETWORKS = [ @@ -28,6 +28,16 @@ const MONO_ICON_NETWORKS = [ 'mbase', ] +// Skeleton networks (no icon available) +const MISSING_ICON_NETWORKS = [ + 'berachain-bepolia', + 'hoodi', + 'ink-sepolia', + 'megaeth-testnet', + 'solana-accounts', + 'manta', +] + export async function getSupportedNetworks() { const registry = await NetworksRegistry.fromLatestVersion() @@ -73,6 +83,10 @@ export function SupportedNetworksTable({ return MONO_ICON_NETWORKS.includes(networkId) ? 'mono' : 'branded' } + const shouldShowSkeleton = (networkId: string) => { + return MISSING_ICON_NETWORKS.includes(networkId) || !networkId + } + return (
{t('supportedNetworks.name')}{t('supportedNetworks.id')}{t('supportedNetworks.subgraphs')}{t('supportedNetworks.substreams')}{t('supportedNetworks.firehose')}{t('supportedNetworks.tokenapi')} + {t('supportedNetworks.name')} + + {t('supportedNetworks.id')} + + {t('supportedNetworks.subgraphs')} + + {t('supportedNetworks.substreams')} + + {t('supportedNetworks.firehose')} + + {t('supportedNetworks.tokenapi')} +
- - {network.shortName} + + {network.shortName}
- {network.id} + {network.id} {network.subgraphs ? : null} {network.substreams ? : null}
@@ -100,7 +114,11 @@ export function SupportedNetworksTable({ From 7d2743ef59a5fd0f03a04d910973aca5a73d1acb Mon Sep 17 00:00:00 2001 From: Hayder Date: Sat, 29 Mar 2025 10:42:32 +0100 Subject: [PATCH 06/37] Supported Networks variant --- website/src/components/Table.tsx | 21 ++++++++++++++------- website/src/supportedNetworks.tsx | 20 ++++++++++++++++---- 2 files changed, 30 insertions(+), 11 deletions(-) diff --git a/website/src/components/Table.tsx b/website/src/components/Table.tsx index 742c2edf936a..9c0c86486b5e 100644 --- a/website/src/components/Table.tsx +++ b/website/src/components/Table.tsx @@ -1,10 +1,14 @@ import type { ComponentPropsWithoutRef } from 'react' -import { classNames, Text } from '@edgeandnode/gds' +import { classNames } from '@edgeandnode/gds' -interface TableProps extends ComponentPropsWithoutRef<'table'> {} +interface TableProps extends ComponentPropsWithoutRef<'table'> { + variant?: 'default' | 'supported-networks' +} + +export const Table = ({ className, children, variant = 'default', ...props }: TableProps) => { + const isSupportedNetworks = variant === 'supported-networks' -export const Table = ({ className, children, ...props }: TableProps) => { return (
{
- + {shouldShowSkeleton(network.id) ? ( + + ) : ( + + )} {network.shortName}
+
{networks.map((network) => ( - + From b58ebb702c5f6975553082dc739ae7c995de0aac Mon Sep 17 00:00:00 2001 From: Hayder Date: Sat, 29 Mar 2025 17:36:25 +0100 Subject: [PATCH 07/37] Dynamic supported network pages --- website/src/components/NetworkDetailsPage.tsx | 213 ++++++++++++++++++ website/src/components/NetworkPage.tsx | 87 +++++++ .../[locale]/supported-networks/[id].mdx | 82 +++++++ website/src/pages/en/index.json | 56 +++++ website/src/pages/en/supported-networks.mdx | 9 + website/src/supportedNetworks.tsx | 68 +++--- 6 files changed, 484 insertions(+), 31 deletions(-) create mode 100644 website/src/components/NetworkDetailsPage.tsx create mode 100644 website/src/components/NetworkPage.tsx create mode 100644 website/src/pages/[locale]/supported-networks/[id].mdx diff --git a/website/src/components/NetworkDetailsPage.tsx b/website/src/components/NetworkDetailsPage.tsx new file mode 100644 index 000000000000..ad64d76c2726 --- /dev/null +++ b/website/src/components/NetworkDetailsPage.tsx @@ -0,0 +1,213 @@ +import { NetworkType } from '@pinax/graph-networks-registry' +import Head from 'next/head' +import type { ComponentPropsWithoutRef } from 'react' + +import { classNames } from '@edgeandnode/gds' +import { translate } from '@edgeandnode/gds' +import { ExperimentalLink } from '@edgeandnode/gds' +import { Clock, Subgraph, Substreams, SubstreamsPoweredSubgraph } from '@edgeandnode/gds/icons' + +import { Card } from '@/components' +import { translations, useI18n } from '@/i18n' + +type NetworkDetailsPageProps = { + network: { + id: string + fullName: string + networkType: NetworkType + protocol: string + chainId: number | string + nativeCurrency: string + docs: string + } + locale?: string +} + +const isNonEVMNetwork = (networkId: string): boolean => { + const nonEVMIds = [ + 'eos', + 'jungle4', + 'kylin', + 'telos-testnet', + 'telos', + 'wax-testnet', + 'wax', + 'arweave-mainnet', + 'gnosis-chiado-cl', + 'gnosis-cl', + 'holesky-cl', + 'mainnet-cl', + 'sepolia-cl', + 'btc', + 'litecoin', + 'injective-mainnet', + 'injective-testnet', + 'mantra-mainnet', + 'mantra-testnet', + 'near-mainnet', + 'near-testnet', + 'solana-accounts', + 'solana-devnet', + 'solana-mainnet', + 'solana-mainnet-beta', + 'solana-testnet', + 'starknet-mainnet', + 'starknet-testnet', + ] + return nonEVMIds.includes(networkId) +} + +function Time({ + variant, + minutes, + className, + ...props +}: ComponentPropsWithoutRef<'div'> & { + variant: 'reading' | 'duration' + minutes: number +}) { + const { t } = useI18n() + return ( +
+ + {minutes} {t('index.time.minutes')} +
+ ) +} + +function EVMResources() { + const { t } = useI18n() + + return ( +
+
+ } + className="min-h-[252px]" + icon={ +
+ +
+ } + /> + } + className="min-h-[252px]" + icon={ +
+ +
+ } + /> + } + className="min-h-[252px]" + icon={ +
+ +
+ } + /> +
+
+ } + /> + } + /> +
+
+ ) +} + +function NonEVMResources() { + const { t } = useI18n() + + return ( +
+
+ } + className="min-h-[252px]" + icon={ +
+ +
+ } + /> + } + className="min-h-[252px]" + icon={ +
+ +
+ } + /> + } + className="min-h-[252px]" + icon={ +
+ +
+ } + /> +
+
+ } + /> + } + /> +
+
+ ) +} + +export default function NetworkDetailsPage({ network, locale = 'en' }: NetworkDetailsPageProps) { + const { t } = useI18n() + + return ( + <> +

{t('index.supportedNetworks.guides')}

+ {isNonEVMNetwork(network.id) ? : } + + ) +} diff --git a/website/src/components/NetworkPage.tsx b/website/src/components/NetworkPage.tsx new file mode 100644 index 000000000000..f1ff7314f3bd --- /dev/null +++ b/website/src/components/NetworkPage.tsx @@ -0,0 +1,87 @@ +import { useData } from 'nextra/hooks' +import { Heading } from '@/components' +import { ExperimentalDescriptionList, Grid } from '@edgeandnode/gds' +import Head from 'next/head' +import { useI18n } from '@/i18n' +import NetworkDetailsPage from '@/components/NetworkDetailsPage' +import { useRouter } from 'next/router' + +export function NetworkPage({ network }) { + const data = useData() + const contextNetwork = data?.ssg?.network || data?.network + const networkData = network || contextNetwork + const { t } = useI18n() + const router = useRouter() + const { locale = 'en' } = router + + if (!networkData) { + return
Network not found
+ } + + return ( + <> + + {networkData.fullName} + +
+

{networkData.fullName}

+ + +
+
+ + {networkData.networkType && ( + + {networkData.networkType} + + )} + {networkData.graphNode?.protocol && ( + + {networkData.graphNode.protocol} + + )} + {networkData.id && ( + + {networkData.id} + + )} + {networkData.caip2Id && ( + + {networkData.caip2Id} + + )} + {networkData.nativeToken && ( + + {networkData.nativeToken} + + )} + {networkData.docsUrl && ( + + + {networkData.docsUrl} + + + )} + +
+
+
+ +
+ + +
+ + ) +} diff --git a/website/src/pages/[locale]/supported-networks/[id].mdx b/website/src/pages/[locale]/supported-networks/[id].mdx new file mode 100644 index 000000000000..fb58627da642 --- /dev/null +++ b/website/src/pages/[locale]/supported-networks/[id].mdx @@ -0,0 +1,82 @@ +import { translate } from '@edgeandnode/gds' +import { RemoteContent } from 'nextra/components' +import { buildDynamicMDX } from 'nextra/remote' + +import { NetworkPage } from '@/components/NetworkPage' +import { supportedLocales, translations } from '@/i18n' +import { getSupportedNetworks } from '@/supportedNetworks' + +export const getStaticPaths = async () => { + const networks = await getSupportedNetworks() + + const paths = [] + for (const locale of supportedLocales) { + for (const network of networks) { + paths.push({ + params: { locale, id: network.id } + }) + } + } + + return { + paths, + fallback: false, + } +} + +export const getStaticProps = async ({ params }) => { + const { locale, id } = params + + if (!locale || !id) { + return { + notFound: true, + } + } + + const networks = await getSupportedNetworks() + const network = networks.find(n => n.id === id) + + if (!network) { + return { + notFound: true, + } + } + + const t = (key) => translate(translations, locale, key) + + const rawMdx = `--- +title: ${network.id} +hideTableOfContents: true +hideContentHeader: true +unwrapContent: true +--- + +# Network Details +` + + const mdx = await buildDynamicMDX(rawMdx, { codeHighlight: false }) + const { pageMap } = await import(`.next/static/chunks/nextra-page-map-${locale}.mjs`) + + console.log('getStaticProps network:', network) + + return { + props: { + ...mdx, + __nextra_pageMap: pageMap, + network, + ssg: { + network + } + }, + } +} + +export default function NetworkDetailPage({ network }) { + console.log('NetworkDetailPage network:', network) + + return ( + <> + + + ) +} \ No newline at end of file diff --git a/website/src/pages/en/index.json b/website/src/pages/en/index.json index 7da9ff7bd0ce..c65a7426132d 100644 --- a/website/src/pages/en/index.json +++ b/website/src/pages/en/index.json @@ -37,12 +37,68 @@ }, "supportedNetworks": { "title": "Supported Networks", + "details": "Network Details", + "services": "Services", + "type": "Type", + "protocol": "Protocol", + "identifier": "Identifier", + "chainId": "Chain ID", + "nativeCurrency": "Native Currency", + "docs": "Docs", + "shortName": "Short Name", + "guides": "Guides", "description": { "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" } }, + "networkGuides": { + "evm": { + "subgraphQuickStart": { + "title": "Subgraph quick start", + "description": "Kickstart your journey into subgraph development." + }, + "substreams": { + "title": "Substreams", + "description": "Stream high-speed data for real-time indexing." + }, + "timeseries": { + "title": "Timeseries & Aggregations", + "description": "Learn to track metrics like daily volumes or user growth." + }, + "advancedFeatures": { + "title": "Advanced subgraph features", + "description": "Leverage features like custom data sources, event handlers, and topic filters." + }, + "billing": { + "title": "Billing", + "description": "Optimize costs and manage billing efficiently." + } + }, + "nonEvm": { + "officialDocs": { + "title": "Official Substreams docs", + "description": "Stream high-speed data for real-time indexing." + }, + "spsIntro": { + "title": "Substreams-powered Subgraphs Intro", + "description": "Supercharge your subgraph's efficiency with Substreams." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, + "substreamsStarter": { + "title": "Substreams starter", + "description": "Leverage this boilerplate to create your first Substreams module." + }, + "substreamsRepo": { + "title": "Substreams repo", + "description": "Study, contribute to, or customize the core Substreams framework." + } + } + }, "guides": { "title": "Guides", "description": "", diff --git a/website/src/pages/en/supported-networks.mdx b/website/src/pages/en/supported-networks.mdx index a25c543a4517..88d778f47812 100644 --- a/website/src/pages/en/supported-networks.mdx +++ b/website/src/pages/en/supported-networks.mdx @@ -1,12 +1,21 @@ --- title: Supported Networks hideTableOfContents: true +hideContentHeader: true --- import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps +export const CustomTitle = () => { + const { t } = useI18n() + return

{t('index.supportedNetworks.title')}

+} + + + - Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. diff --git a/website/src/supportedNetworks.tsx b/website/src/supportedNetworks.tsx index 0657241a5d97..5cdf2a5fdc6b 100644 --- a/website/src/supportedNetworks.tsx +++ b/website/src/supportedNetworks.tsx @@ -5,9 +5,11 @@ import { useI18n } from '@/i18n' import { NetworkIcon } from '@edgeandnode/go' import { Check } from '@edgeandnode/gds/icons' import { Skeleton, Text, ExperimentalCopyButton } from '@edgeandnode/gds' +import { useRouter } from 'next/router' +import NextLink from 'next/link' // Networks that should use the "mono" icon variant -const MONO_ICON_NETWORKS = [ +export const MONO_ICON_NETWORKS = [ 'vana', 'vana-moksha', 'xlayer-mainnet', @@ -29,7 +31,7 @@ const MONO_ICON_NETWORKS = [ ] // Skeleton networks (no icon available) -const MISSING_ICON_NETWORKS = [ +export const MISSING_ICON_NETWORKS = [ 'berachain-bepolia', 'hoodi', 'ink-sepolia', @@ -78,6 +80,8 @@ export function SupportedNetworksTable({ networks, }: Awaited>['props']) { const { t } = useI18n() + const router = useRouter() + const { locale = 'en' } = router const getIconVariant = (networkId: string) => { return MONO_ICON_NETWORKS.includes(networkId) ? 'mono' : 'branded' @@ -111,37 +115,39 @@ export function SupportedNetworksTable({
{networks.map((network) => ( - - - + + - - - - - + + + + + + + ))}
@@ -111,7 +111,7 @@ export function SupportedNetworksTable({
{shouldShowSkeleton(network.id) ? ( @@ -123,7 +123,19 @@ export function SupportedNetworksTable({
- {network.id} +
+ {network.id} +
+
{ + e.preventDefault() + e.stopPropagation() + }} + > + +
+
+
{network.subgraphs ? : null} {network.substreams ? : null}
-
- {shouldShowSkeleton(network.id) ? ( - - ) : ( - - )} - {network.shortName} -
-
-
- {network.id} -
-
{ - e.preventDefault() - e.stopPropagation() - }} - > - + +
+
+ {shouldShowSkeleton(network.id) ? ( + + ) : ( + + )} + {network.shortName} +
+
+
+ {network.id} +
+
{ + e.preventDefault() + e.stopPropagation() + }} + > + +
- -
{network.subgraphs ? : null}{network.substreams ? : null}{network.firehose ? : null}{network.tokenapi ? : null}
{network.subgraphs ? : null}{network.substreams ? : null}{network.firehose ? : null}{network.tokenapi ? : null}
From f6be3649792c26e6a073dd5d7e4059fe6eb36c49 Mon Sep 17 00:00:00 2001 From: Hayder Date: Sat, 29 Mar 2025 18:15:37 +0100 Subject: [PATCH 08/37] Implemented Search networks + Show/Hide Testnets --- website/src/pages/en/index.json | 2 + website/src/supportedNetworks.tsx | 157 +++++++++++++++++++----------- 2 files changed, 101 insertions(+), 58 deletions(-) diff --git a/website/src/pages/en/index.json b/website/src/pages/en/index.json index c65a7426132d..d018e773de2a 100644 --- a/website/src/pages/en/index.json +++ b/website/src/pages/en/index.json @@ -47,6 +47,8 @@ "docs": "Docs", "shortName": "Short Name", "guides": "Guides", + "search": "Search networks", + "showTestnets": "Show Testnets", "description": { "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", diff --git a/website/src/supportedNetworks.tsx b/website/src/supportedNetworks.tsx index 5cdf2a5fdc6b..c5b3cf1f5a17 100644 --- a/website/src/supportedNetworks.tsx +++ b/website/src/supportedNetworks.tsx @@ -4,9 +4,10 @@ import { Table } from '@/components' import { useI18n } from '@/i18n' import { NetworkIcon } from '@edgeandnode/go' import { Check } from '@edgeandnode/gds/icons' -import { Skeleton, Text, ExperimentalCopyButton } from '@edgeandnode/gds' +import { Skeleton, Text, ExperimentalCopyButton, ExperimentalSearch, ExperimentalToggleChip } from '@edgeandnode/gds' import { useRouter } from 'next/router' import NextLink from 'next/link' +import { useState, useMemo } from 'react' // Networks that should use the "mono" icon variant export const MONO_ICON_NETWORKS = [ @@ -82,6 +83,8 @@ export function SupportedNetworksTable({ const { t } = useI18n() const router = useRouter() const { locale = 'en' } = router + const [searchQuery, setSearchQuery] = useState('') + const [showTestnets, setShowTestnets] = useState(false) const getIconVariant = (networkId: string) => { return MONO_ICON_NETWORKS.includes(networkId) ? 'mono' : 'branded' @@ -91,65 +94,103 @@ export function SupportedNetworksTable({ return MISSING_ICON_NETWORKS.includes(networkId) || !networkId } + const filteredNetworks = useMemo(() => { + let filtered = networks + + // Filter by testnet + if (!showTestnets) { + filtered = filtered.filter((network) => network.networkType !== 'testnet') + } + + // Filter by search term + if (searchQuery) { + const query = searchQuery.toLowerCase() + filtered = filtered.filter( + (network) => + network.id.toLowerCase().includes(query) || + network.shortName.toLowerCase().includes(query) || + network.fullName.toLowerCase().includes(query), + ) + } + + return filtered + }, [networks, searchQuery, showTestnets]) + return ( - - - - - - - - - - - {networks.map((network) => ( - - - - + + + + + + + ))} + +
- {t('supportedNetworks.name')} - - {t('supportedNetworks.id')} - - {t('supportedNetworks.subgraphs')} - - {t('supportedNetworks.substreams')} - - {t('supportedNetworks.firehose')} - - {t('supportedNetworks.tokenapi')} -
-
- {shouldShowSkeleton(network.id) ? ( - - ) : ( - - )} - {network.shortName} -
-
-
- {network.id} -
-
{ - e.preventDefault() - e.stopPropagation() - }} - > - + <> +
+
+ setSearchQuery(value)} + className="w-full" + /> +
+ setShowTestnets(!showTestnets)} checked={showTestnets}> + {t('index.supportedNetworks.showTestnets')} + +
+ + + + + + + + + + + {filteredNetworks.map((network) => ( + + + + - - - - - - - ))} - -
+ {t('supportedNetworks.name')} + + {t('supportedNetworks.id')} + + {t('supportedNetworks.subgraphs')} + + {t('supportedNetworks.substreams')} + + {t('supportedNetworks.firehose')} + + {t('supportedNetworks.tokenapi')} +
+
+ {shouldShowSkeleton(network.id) ? ( + + ) : ( + + )} + {network.shortName} +
+
+
+ {network.id} +
+
{ + e.preventDefault() + e.stopPropagation() + }} + > + +
- -
{network.subgraphs ? : null}{network.substreams ? : null}{network.firehose ? : null}{network.tokenapi ? : null}
+
{network.subgraphs ? : null}{network.substreams ? : null}{network.firehose ? : null}{network.tokenapi ? : null}
+ ) } From d177195e3063c45f3388a954e024c3ba93532450 Mon Sep 17 00:00:00 2001 From: Hayder Date: Sat, 29 Mar 2025 22:30:42 +0100 Subject: [PATCH 09/37] Info box --- website/src/pages/en/index.json | 7 +++++-- website/src/supportedNetworks.tsx | 26 ++++++++++++++++++++++++-- 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/website/src/pages/en/index.json b/website/src/pages/en/index.json index d018e773de2a..8339e69f983e 100644 --- a/website/src/pages/en/index.json +++ b/website/src/pages/en/index.json @@ -7,7 +7,7 @@ "cta2": "Build your first subgraph" }, "products": { - "title": "The Graph’s Products", + "title": "The Graph's Products", "description": "Choose a solution that fits your needs—interact with blockchain data your way.", "subgraphs": { "title": "Subgraphs", @@ -21,7 +21,7 @@ }, "sps": { "title": "Substreams-Powered Subgraphs", - "description": "Boost your subgraph’s efficiency and scalability by using Substreams.", + "description": "Boost your subgraph's efficiency and scalability by using Substreams.", "cta": "Set up a Substreams-powered subgraph" }, "graphNode": { @@ -49,6 +49,9 @@ "guides": "Guides", "search": "Search networks", "showTestnets": "Show Testnets", + "infoTitle": "Info", + "infoText": "Boost your developer experience by enabling The Graph's indexing network.", + "infoLink": "Integrate new network", "description": { "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", diff --git a/website/src/supportedNetworks.tsx b/website/src/supportedNetworks.tsx index c5b3cf1f5a17..6e165499e952 100644 --- a/website/src/supportedNetworks.tsx +++ b/website/src/supportedNetworks.tsx @@ -3,8 +3,17 @@ import { NetworksRegistry } from '@pinax/graph-networks-registry' import { Table } from '@/components' import { useI18n } from '@/i18n' import { NetworkIcon } from '@edgeandnode/go' -import { Check } from '@edgeandnode/gds/icons' -import { Skeleton, Text, ExperimentalCopyButton, ExperimentalSearch, ExperimentalToggleChip } from '@edgeandnode/gds' +import { Check, Lightbulb } from '@edgeandnode/gds/icons' +import { + Skeleton, + ExperimentalLink, + Text, + ExperimentalCopyButton, + ExperimentalSearch, + ExperimentalToggleChip, + Flex, + ExperimentalIcon, +} from '@edgeandnode/gds' import { useRouter } from 'next/router' import NextLink from 'next/link' import { useState, useMemo } from 'react' @@ -118,6 +127,19 @@ export function SupportedNetworksTable({ return ( <> + + + + {t('index.supportedNetworks.infoTitle')} + + {t('index.supportedNetworks.infoText')}{' '} + + {t('index.supportedNetworks.infoLink')} + + + + +
Date: Sat, 29 Mar 2025 22:47:26 +0100 Subject: [PATCH 10/37] Improve UX --- website/src/supportedNetworks.tsx | 124 +++++++++++++++++++++--------- 1 file changed, 87 insertions(+), 37 deletions(-) diff --git a/website/src/supportedNetworks.tsx b/website/src/supportedNetworks.tsx index 6e165499e952..fa437327d886 100644 --- a/website/src/supportedNetworks.tsx +++ b/website/src/supportedNetworks.tsx @@ -12,11 +12,10 @@ import { ExperimentalSearch, ExperimentalToggleChip, Flex, - ExperimentalIcon, } from '@edgeandnode/gds' import { useRouter } from 'next/router' import NextLink from 'next/link' -import { useState, useMemo } from 'react' +import { useState, useMemo, useEffect } from 'react' // Networks that should use the "mono" icon variant export const MONO_ICON_NETWORKS = [ @@ -86,6 +85,35 @@ export async function getSupportedNetworksStaticProps() { } } +// Skeleton row component for loading state +const SkeletonRow = () => { + return ( + + +
+ + +
+ + + + + + + + + + + + + + + + + + ) +} + export function SupportedNetworksTable({ networks, }: Awaited>['props']) { @@ -94,6 +122,22 @@ export function SupportedNetworksTable({ const { locale = 'en' } = router const [searchQuery, setSearchQuery] = useState('') const [showTestnets, setShowTestnets] = useState(false) + const [isLoading, setIsLoading] = useState(true) + + useEffect(() => { + // If networks data is already available, showq it + if (networks && networks.length > 0) { + setIsLoading(false) + } else { + setIsLoading(true) + + const timer = setTimeout(() => { + setIsLoading(false) + }, 1500) + + return () => clearTimeout(timer) + } + }, [networks]) const getIconVariant = (networkId: string) => { return MONO_ICON_NETWORKS.includes(networkId) ? 'mono' : 'branded' @@ -125,6 +169,9 @@ export function SupportedNetworksTable({ return filtered }, [networks, searchQuery, showTestnets]) + // Generate skeleton rows + const skeletonRows = Array.from({ length: 20 }, (_, index) => ) + return ( <> @@ -157,7 +204,7 @@ export function SupportedNetworksTable({ - - {filteredNetworks.map((network) => ( - - - - + + - - - - - - - ))} + + + + + + + + ))}
+ {t('supportedNetworks.name')} @@ -176,41 +223,44 @@ export function SupportedNetworksTable({ {t('supportedNetworks.tokenapi')}
-
- {shouldShowSkeleton(network.id) ? ( - - ) : ( - - )} - {network.shortName} -
-
-
- {network.id} -
-
{ - e.preventDefault() - e.stopPropagation() - }} - > - + + {isLoading + ? skeletonRows + : filteredNetworks.map((network) => ( + +
+
+ {shouldShowSkeleton(network.id) ? ( + + ) : ( + + )} + {network.shortName} +
+
+
+ {network.id} +
+
{ + e.preventDefault() + e.stopPropagation() + }} + > + +
+
- - -
{network.subgraphs ? : null}{network.substreams ? : null}{network.firehose ? : null}{network.tokenapi ? : null}
{network.subgraphs ? : null}{network.substreams ? : null}{network.firehose ? : null}{network.tokenapi ? : null}
From c0282edb30cce1331dc2dd87adcc8a91a64056ba Mon Sep 17 00:00:00 2001 From: Hayder Date: Sun, 30 Mar 2025 01:03:56 +0100 Subject: [PATCH 11/37] fix lint --- website/src/components/NetworkPage.tsx | 28 ++++++++++--- .../[locale]/supported-networks/[id].mdx | 3 -- website/src/supportedNetworks.tsx | 40 +++++++++---------- 3 files changed, 43 insertions(+), 28 deletions(-) diff --git a/website/src/components/NetworkPage.tsx b/website/src/components/NetworkPage.tsx index f1ff7314f3bd..7ca225073752 100644 --- a/website/src/components/NetworkPage.tsx +++ b/website/src/components/NetworkPage.tsx @@ -1,12 +1,30 @@ +import Head from 'next/head' +import { useRouter } from 'next/router' import { useData } from 'nextra/hooks' -import { Heading } from '@/components' + import { ExperimentalDescriptionList, Grid } from '@edgeandnode/gds' -import Head from 'next/head' -import { useI18n } from '@/i18n' + import NetworkDetailsPage from '@/components/NetworkDetailsPage' -import { useRouter } from 'next/router' +import { useI18n } from '@/i18n' + +interface Network { + id: string + fullName: string + shortName?: string + networkType: string + graphNode?: { + protocol: string + } + caip2Id?: string + nativeToken?: string + docsUrl?: string +} + +interface NetworkPageProps { + network?: Network +} -export function NetworkPage({ network }) { +export function NetworkPage({ network }: NetworkPageProps) { const data = useData() const contextNetwork = data?.ssg?.network || data?.network const networkData = network || contextNetwork diff --git a/website/src/pages/[locale]/supported-networks/[id].mdx b/website/src/pages/[locale]/supported-networks/[id].mdx index fb58627da642..1fde72f3a3dd 100644 --- a/website/src/pages/[locale]/supported-networks/[id].mdx +++ b/website/src/pages/[locale]/supported-networks/[id].mdx @@ -57,8 +57,6 @@ unwrapContent: true const mdx = await buildDynamicMDX(rawMdx, { codeHighlight: false }) const { pageMap } = await import(`.next/static/chunks/nextra-page-map-${locale}.mjs`) - console.log('getStaticProps network:', network) - return { props: { ...mdx, @@ -72,7 +70,6 @@ unwrapContent: true } export default function NetworkDetailPage({ network }) { - console.log('NetworkDetailPage network:', network) return ( <> diff --git a/website/src/supportedNetworks.tsx b/website/src/supportedNetworks.tsx index fa437327d886..9348de047d02 100644 --- a/website/src/supportedNetworks.tsx +++ b/website/src/supportedNetworks.tsx @@ -1,21 +1,22 @@ import { NetworksRegistry } from '@pinax/graph-networks-registry' +import NextLink from 'next/link' +import { useRouter } from 'next/router' +import { useEffect, useMemo, useState } from 'react' -import { Table } from '@/components' -import { useI18n } from '@/i18n' -import { NetworkIcon } from '@edgeandnode/go' -import { Check, Lightbulb } from '@edgeandnode/gds/icons' import { - Skeleton, - ExperimentalLink, - Text, ExperimentalCopyButton, + ExperimentalLink, ExperimentalSearch, ExperimentalToggleChip, Flex, + Skeleton, + Text, } from '@edgeandnode/gds' -import { useRouter } from 'next/router' -import NextLink from 'next/link' -import { useState, useMemo, useEffect } from 'react' +import { Check, Lightbulb } from '@edgeandnode/gds/icons' +import { NetworkIcon } from '@edgeandnode/go' + +import { Table } from '@/components' +import { useI18n } from '@/i18n' // Networks that should use the "mono" icon variant export const MONO_ICON_NETWORKS = [ @@ -125,8 +126,7 @@ export function SupportedNetworksTable({ const [isLoading, setIsLoading] = useState(true) useEffect(() => { - // If networks data is already available, showq it - if (networks && networks.length > 0) { + if (networks.length > 0) { setIsLoading(false) } else { setIsLoading(true) @@ -152,7 +152,7 @@ export function SupportedNetworksTable({ // Filter by testnet if (!showTestnets) { - filtered = filtered.filter((network) => network.networkType !== 'testnet') + filtered = filtered.filter((network) => String(network.networkType) !== 'testnet') } // Filter by search term @@ -174,13 +174,13 @@ export function SupportedNetworksTable({ return ( <> - - + + {t('index.supportedNetworks.infoTitle')} {t('index.supportedNetworks.infoText')}{' '} - + {t('index.supportedNetworks.infoLink')} @@ -254,10 +254,10 @@ export function SupportedNetworksTable({
- {network.subgraphs ? : null} - {network.substreams ? : null} - {network.firehose ? : null} - {network.tokenapi ? : null} + {network.subgraphs ? : null} + {network.substreams ? : null} + {network.firehose ? : null} + {network.tokenapi ? : null} ))} From 36bf702ce13544714a33771a07b558db9bdf0eb9 Mon Sep 17 00:00:00 2001 From: Hayder Date: Sun, 30 Mar 2025 10:53:51 +0200 Subject: [PATCH 12/37] Fix images error --- website/src/pages/ar/token-api/mcp/claude.mdx | 2 +- website/src/pages/ar/token-api/mcp/cline.mdx | 2 +- website/src/pages/ar/token-api/mcp/cursor.mdx | 2 +- website/src/pages/cs/token-api/mcp/claude.mdx | 2 +- website/src/pages/cs/token-api/mcp/cline.mdx | 2 +- website/src/pages/cs/token-api/mcp/cursor.mdx | 2 +- website/src/pages/de/token-api/mcp/claude.mdx | 2 +- website/src/pages/de/token-api/mcp/cline.mdx | 2 +- website/src/pages/de/token-api/mcp/cursor.mdx | 2 +- website/src/pages/es/token-api/mcp/claude.mdx | 2 +- website/src/pages/es/token-api/mcp/cline.mdx | 2 +- website/src/pages/es/token-api/mcp/cursor.mdx | 2 +- website/src/pages/fr/token-api/mcp/claude.mdx | 2 +- website/src/pages/fr/token-api/mcp/cline.mdx | 2 +- website/src/pages/fr/token-api/mcp/cursor.mdx | 2 +- website/src/pages/hi/token-api/mcp/claude.mdx | 2 +- website/src/pages/hi/token-api/mcp/cline.mdx | 2 +- website/src/pages/hi/token-api/mcp/cursor.mdx | 2 +- website/src/pages/it/token-api/mcp/claude.mdx | 2 +- website/src/pages/it/token-api/mcp/cline.mdx | 2 +- website/src/pages/it/token-api/mcp/cursor.mdx | 2 +- website/src/pages/ja/token-api/mcp/claude.mdx | 2 +- website/src/pages/ja/token-api/mcp/cline.mdx | 2 +- website/src/pages/ja/token-api/mcp/cursor.mdx | 2 +- website/src/pages/ko/token-api/mcp/claude.mdx | 2 +- website/src/pages/ko/token-api/mcp/cline.mdx | 2 +- website/src/pages/ko/token-api/mcp/cursor.mdx | 2 +- website/src/pages/mr/token-api/mcp/claude.mdx | 2 +- website/src/pages/mr/token-api/mcp/cline.mdx | 2 +- website/src/pages/mr/token-api/mcp/cursor.mdx | 2 +- website/src/pages/nl/token-api/mcp/claude.mdx | 2 +- website/src/pages/nl/token-api/mcp/cline.mdx | 2 +- website/src/pages/nl/token-api/mcp/cursor.mdx | 2 +- website/src/pages/pl/token-api/mcp/claude.mdx | 2 +- website/src/pages/pl/token-api/mcp/cline.mdx | 2 +- website/src/pages/pl/token-api/mcp/cursor.mdx | 2 +- website/src/pages/pt/token-api/mcp/claude.mdx | 2 +- website/src/pages/pt/token-api/mcp/cline.mdx | 2 +- website/src/pages/pt/token-api/mcp/cursor.mdx | 2 +- website/src/pages/ro/token-api/mcp/claude.mdx | 2 +- website/src/pages/ro/token-api/mcp/cline.mdx | 2 +- website/src/pages/ro/token-api/mcp/cursor.mdx | 2 +- website/src/pages/ru/token-api/mcp/claude.mdx | 2 +- website/src/pages/ru/token-api/mcp/cline.mdx | 2 +- website/src/pages/ru/token-api/mcp/cursor.mdx | 2 +- website/src/pages/sv/token-api/mcp/claude.mdx | 2 +- website/src/pages/sv/token-api/mcp/cline.mdx | 2 +- website/src/pages/sv/token-api/mcp/cursor.mdx | 2 +- website/src/pages/tr/token-api/mcp/claude.mdx | 2 +- website/src/pages/tr/token-api/mcp/cline.mdx | 2 +- website/src/pages/tr/token-api/mcp/cursor.mdx | 2 +- website/src/pages/uk/token-api/mcp/claude.mdx | 2 +- website/src/pages/uk/token-api/mcp/cline.mdx | 2 +- website/src/pages/uk/token-api/mcp/cursor.mdx | 2 +- website/src/pages/ur/token-api/mcp/claude.mdx | 2 +- website/src/pages/ur/token-api/mcp/cline.mdx | 2 +- website/src/pages/ur/token-api/mcp/cursor.mdx | 2 +- website/src/pages/vi/token-api/mcp/claude.mdx | 2 +- website/src/pages/vi/token-api/mcp/cline.mdx | 2 +- website/src/pages/vi/token-api/mcp/cursor.mdx | 2 +- website/src/pages/zh/token-api/mcp/claude.mdx | 2 +- website/src/pages/zh/token-api/mcp/cline.mdx | 2 +- website/src/pages/zh/token-api/mcp/cursor.mdx | 2 +- 63 files changed, 63 insertions(+), 63 deletions(-) diff --git a/website/src/pages/ar/token-api/mcp/claude.mdx b/website/src/pages/ar/token-api/mcp/claude.mdx index 232af86cd326..0da8f2be031d 100644 --- a/website/src/pages/ar/token-api/mcp/claude.mdx +++ b/website/src/pages/ar/token-api/mcp/claude.mdx @@ -10,7 +10,7 @@ sidebarTitle: Claude Desktop - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview.png) +![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview-token-api.png) ## Configuration diff --git a/website/src/pages/ar/token-api/mcp/cline.mdx b/website/src/pages/ar/token-api/mcp/cline.mdx index 6c22df6dcbc5..ab54c0c8f6f0 100644 --- a/website/src/pages/ar/token-api/mcp/cline.mdx +++ b/website/src/pages/ar/token-api/mcp/cline.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cline - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview.png) +![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview-token-api.png) ## Configuration diff --git a/website/src/pages/ar/token-api/mcp/cursor.mdx b/website/src/pages/ar/token-api/mcp/cursor.mdx index 0152f36bd9d6..658108d1337b 100644 --- a/website/src/pages/ar/token-api/mcp/cursor.mdx +++ b/website/src/pages/ar/token-api/mcp/cursor.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cursor - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview.png) +![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview-token-api.png) ## Configuration diff --git a/website/src/pages/cs/token-api/mcp/claude.mdx b/website/src/pages/cs/token-api/mcp/claude.mdx index 232af86cd326..0da8f2be031d 100644 --- a/website/src/pages/cs/token-api/mcp/claude.mdx +++ b/website/src/pages/cs/token-api/mcp/claude.mdx @@ -10,7 +10,7 @@ sidebarTitle: Claude Desktop - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview.png) +![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview-token-api.png) ## Configuration diff --git a/website/src/pages/cs/token-api/mcp/cline.mdx b/website/src/pages/cs/token-api/mcp/cline.mdx index 6c22df6dcbc5..ab54c0c8f6f0 100644 --- a/website/src/pages/cs/token-api/mcp/cline.mdx +++ b/website/src/pages/cs/token-api/mcp/cline.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cline - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview.png) +![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview-token-api.png) ## Configuration diff --git a/website/src/pages/cs/token-api/mcp/cursor.mdx b/website/src/pages/cs/token-api/mcp/cursor.mdx index 0152f36bd9d6..658108d1337b 100644 --- a/website/src/pages/cs/token-api/mcp/cursor.mdx +++ b/website/src/pages/cs/token-api/mcp/cursor.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cursor - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview.png) +![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview-token-api.png) ## Configuration diff --git a/website/src/pages/de/token-api/mcp/claude.mdx b/website/src/pages/de/token-api/mcp/claude.mdx index 232af86cd326..0da8f2be031d 100644 --- a/website/src/pages/de/token-api/mcp/claude.mdx +++ b/website/src/pages/de/token-api/mcp/claude.mdx @@ -10,7 +10,7 @@ sidebarTitle: Claude Desktop - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview.png) +![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview-token-api.png) ## Configuration diff --git a/website/src/pages/de/token-api/mcp/cline.mdx b/website/src/pages/de/token-api/mcp/cline.mdx index 6c22df6dcbc5..ab54c0c8f6f0 100644 --- a/website/src/pages/de/token-api/mcp/cline.mdx +++ b/website/src/pages/de/token-api/mcp/cline.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cline - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview.png) +![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview-token-api.png) ## Configuration diff --git a/website/src/pages/de/token-api/mcp/cursor.mdx b/website/src/pages/de/token-api/mcp/cursor.mdx index 0152f36bd9d6..658108d1337b 100644 --- a/website/src/pages/de/token-api/mcp/cursor.mdx +++ b/website/src/pages/de/token-api/mcp/cursor.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cursor - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview.png) +![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview-token-api.png) ## Configuration diff --git a/website/src/pages/es/token-api/mcp/claude.mdx b/website/src/pages/es/token-api/mcp/claude.mdx index 232af86cd326..0da8f2be031d 100644 --- a/website/src/pages/es/token-api/mcp/claude.mdx +++ b/website/src/pages/es/token-api/mcp/claude.mdx @@ -10,7 +10,7 @@ sidebarTitle: Claude Desktop - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview.png) +![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview-token-api.png) ## Configuration diff --git a/website/src/pages/es/token-api/mcp/cline.mdx b/website/src/pages/es/token-api/mcp/cline.mdx index 6c22df6dcbc5..ab54c0c8f6f0 100644 --- a/website/src/pages/es/token-api/mcp/cline.mdx +++ b/website/src/pages/es/token-api/mcp/cline.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cline - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview.png) +![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview-token-api.png) ## Configuration diff --git a/website/src/pages/es/token-api/mcp/cursor.mdx b/website/src/pages/es/token-api/mcp/cursor.mdx index 0152f36bd9d6..658108d1337b 100644 --- a/website/src/pages/es/token-api/mcp/cursor.mdx +++ b/website/src/pages/es/token-api/mcp/cursor.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cursor - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview.png) +![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview-token-api.png) ## Configuration diff --git a/website/src/pages/fr/token-api/mcp/claude.mdx b/website/src/pages/fr/token-api/mcp/claude.mdx index 232af86cd326..0da8f2be031d 100644 --- a/website/src/pages/fr/token-api/mcp/claude.mdx +++ b/website/src/pages/fr/token-api/mcp/claude.mdx @@ -10,7 +10,7 @@ sidebarTitle: Claude Desktop - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview.png) +![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview-token-api.png) ## Configuration diff --git a/website/src/pages/fr/token-api/mcp/cline.mdx b/website/src/pages/fr/token-api/mcp/cline.mdx index 6c22df6dcbc5..ab54c0c8f6f0 100644 --- a/website/src/pages/fr/token-api/mcp/cline.mdx +++ b/website/src/pages/fr/token-api/mcp/cline.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cline - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview.png) +![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview-token-api.png) ## Configuration diff --git a/website/src/pages/fr/token-api/mcp/cursor.mdx b/website/src/pages/fr/token-api/mcp/cursor.mdx index 0152f36bd9d6..658108d1337b 100644 --- a/website/src/pages/fr/token-api/mcp/cursor.mdx +++ b/website/src/pages/fr/token-api/mcp/cursor.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cursor - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview.png) +![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview-token-api.png) ## Configuration diff --git a/website/src/pages/hi/token-api/mcp/claude.mdx b/website/src/pages/hi/token-api/mcp/claude.mdx index 232af86cd326..0da8f2be031d 100644 --- a/website/src/pages/hi/token-api/mcp/claude.mdx +++ b/website/src/pages/hi/token-api/mcp/claude.mdx @@ -10,7 +10,7 @@ sidebarTitle: Claude Desktop - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview.png) +![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview-token-api.png) ## Configuration diff --git a/website/src/pages/hi/token-api/mcp/cline.mdx b/website/src/pages/hi/token-api/mcp/cline.mdx index 6c22df6dcbc5..ab54c0c8f6f0 100644 --- a/website/src/pages/hi/token-api/mcp/cline.mdx +++ b/website/src/pages/hi/token-api/mcp/cline.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cline - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview.png) +![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview-token-api.png) ## Configuration diff --git a/website/src/pages/hi/token-api/mcp/cursor.mdx b/website/src/pages/hi/token-api/mcp/cursor.mdx index 0152f36bd9d6..658108d1337b 100644 --- a/website/src/pages/hi/token-api/mcp/cursor.mdx +++ b/website/src/pages/hi/token-api/mcp/cursor.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cursor - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview.png) +![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview-token-api.png) ## Configuration diff --git a/website/src/pages/it/token-api/mcp/claude.mdx b/website/src/pages/it/token-api/mcp/claude.mdx index 232af86cd326..0da8f2be031d 100644 --- a/website/src/pages/it/token-api/mcp/claude.mdx +++ b/website/src/pages/it/token-api/mcp/claude.mdx @@ -10,7 +10,7 @@ sidebarTitle: Claude Desktop - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview.png) +![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview-token-api.png) ## Configuration diff --git a/website/src/pages/it/token-api/mcp/cline.mdx b/website/src/pages/it/token-api/mcp/cline.mdx index 6c22df6dcbc5..ab54c0c8f6f0 100644 --- a/website/src/pages/it/token-api/mcp/cline.mdx +++ b/website/src/pages/it/token-api/mcp/cline.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cline - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview.png) +![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview-token-api.png) ## Configuration diff --git a/website/src/pages/it/token-api/mcp/cursor.mdx b/website/src/pages/it/token-api/mcp/cursor.mdx index 0152f36bd9d6..658108d1337b 100644 --- a/website/src/pages/it/token-api/mcp/cursor.mdx +++ b/website/src/pages/it/token-api/mcp/cursor.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cursor - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview.png) +![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview-token-api.png) ## Configuration diff --git a/website/src/pages/ja/token-api/mcp/claude.mdx b/website/src/pages/ja/token-api/mcp/claude.mdx index 232af86cd326..0da8f2be031d 100644 --- a/website/src/pages/ja/token-api/mcp/claude.mdx +++ b/website/src/pages/ja/token-api/mcp/claude.mdx @@ -10,7 +10,7 @@ sidebarTitle: Claude Desktop - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview.png) +![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview-token-api.png) ## Configuration diff --git a/website/src/pages/ja/token-api/mcp/cline.mdx b/website/src/pages/ja/token-api/mcp/cline.mdx index 6c22df6dcbc5..ab54c0c8f6f0 100644 --- a/website/src/pages/ja/token-api/mcp/cline.mdx +++ b/website/src/pages/ja/token-api/mcp/cline.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cline - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview.png) +![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview-token-api.png) ## Configuration diff --git a/website/src/pages/ja/token-api/mcp/cursor.mdx b/website/src/pages/ja/token-api/mcp/cursor.mdx index 0152f36bd9d6..658108d1337b 100644 --- a/website/src/pages/ja/token-api/mcp/cursor.mdx +++ b/website/src/pages/ja/token-api/mcp/cursor.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cursor - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview.png) +![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview-token-api.png) ## Configuration diff --git a/website/src/pages/ko/token-api/mcp/claude.mdx b/website/src/pages/ko/token-api/mcp/claude.mdx index 232af86cd326..0da8f2be031d 100644 --- a/website/src/pages/ko/token-api/mcp/claude.mdx +++ b/website/src/pages/ko/token-api/mcp/claude.mdx @@ -10,7 +10,7 @@ sidebarTitle: Claude Desktop - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview.png) +![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview-token-api.png) ## Configuration diff --git a/website/src/pages/ko/token-api/mcp/cline.mdx b/website/src/pages/ko/token-api/mcp/cline.mdx index 6c22df6dcbc5..ab54c0c8f6f0 100644 --- a/website/src/pages/ko/token-api/mcp/cline.mdx +++ b/website/src/pages/ko/token-api/mcp/cline.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cline - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview.png) +![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview-token-api.png) ## Configuration diff --git a/website/src/pages/ko/token-api/mcp/cursor.mdx b/website/src/pages/ko/token-api/mcp/cursor.mdx index 0152f36bd9d6..658108d1337b 100644 --- a/website/src/pages/ko/token-api/mcp/cursor.mdx +++ b/website/src/pages/ko/token-api/mcp/cursor.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cursor - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview.png) +![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview-token-api.png) ## Configuration diff --git a/website/src/pages/mr/token-api/mcp/claude.mdx b/website/src/pages/mr/token-api/mcp/claude.mdx index 232af86cd326..0da8f2be031d 100644 --- a/website/src/pages/mr/token-api/mcp/claude.mdx +++ b/website/src/pages/mr/token-api/mcp/claude.mdx @@ -10,7 +10,7 @@ sidebarTitle: Claude Desktop - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview.png) +![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview-token-api.png) ## Configuration diff --git a/website/src/pages/mr/token-api/mcp/cline.mdx b/website/src/pages/mr/token-api/mcp/cline.mdx index 6c22df6dcbc5..ab54c0c8f6f0 100644 --- a/website/src/pages/mr/token-api/mcp/cline.mdx +++ b/website/src/pages/mr/token-api/mcp/cline.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cline - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview.png) +![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview-token-api.png) ## Configuration diff --git a/website/src/pages/mr/token-api/mcp/cursor.mdx b/website/src/pages/mr/token-api/mcp/cursor.mdx index 0152f36bd9d6..658108d1337b 100644 --- a/website/src/pages/mr/token-api/mcp/cursor.mdx +++ b/website/src/pages/mr/token-api/mcp/cursor.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cursor - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview.png) +![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview-token-api.png) ## Configuration diff --git a/website/src/pages/nl/token-api/mcp/claude.mdx b/website/src/pages/nl/token-api/mcp/claude.mdx index 232af86cd326..0da8f2be031d 100644 --- a/website/src/pages/nl/token-api/mcp/claude.mdx +++ b/website/src/pages/nl/token-api/mcp/claude.mdx @@ -10,7 +10,7 @@ sidebarTitle: Claude Desktop - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview.png) +![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview-token-api.png) ## Configuration diff --git a/website/src/pages/nl/token-api/mcp/cline.mdx b/website/src/pages/nl/token-api/mcp/cline.mdx index 6c22df6dcbc5..ab54c0c8f6f0 100644 --- a/website/src/pages/nl/token-api/mcp/cline.mdx +++ b/website/src/pages/nl/token-api/mcp/cline.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cline - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview.png) +![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview-token-api.png) ## Configuration diff --git a/website/src/pages/nl/token-api/mcp/cursor.mdx b/website/src/pages/nl/token-api/mcp/cursor.mdx index 0152f36bd9d6..658108d1337b 100644 --- a/website/src/pages/nl/token-api/mcp/cursor.mdx +++ b/website/src/pages/nl/token-api/mcp/cursor.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cursor - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview.png) +![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview-token-api.png) ## Configuration diff --git a/website/src/pages/pl/token-api/mcp/claude.mdx b/website/src/pages/pl/token-api/mcp/claude.mdx index 232af86cd326..0da8f2be031d 100644 --- a/website/src/pages/pl/token-api/mcp/claude.mdx +++ b/website/src/pages/pl/token-api/mcp/claude.mdx @@ -10,7 +10,7 @@ sidebarTitle: Claude Desktop - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview.png) +![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview-token-api.png) ## Configuration diff --git a/website/src/pages/pl/token-api/mcp/cline.mdx b/website/src/pages/pl/token-api/mcp/cline.mdx index 6c22df6dcbc5..ab54c0c8f6f0 100644 --- a/website/src/pages/pl/token-api/mcp/cline.mdx +++ b/website/src/pages/pl/token-api/mcp/cline.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cline - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview.png) +![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview-token-api.png) ## Configuration diff --git a/website/src/pages/pl/token-api/mcp/cursor.mdx b/website/src/pages/pl/token-api/mcp/cursor.mdx index 0152f36bd9d6..658108d1337b 100644 --- a/website/src/pages/pl/token-api/mcp/cursor.mdx +++ b/website/src/pages/pl/token-api/mcp/cursor.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cursor - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview.png) +![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview-token-api.png) ## Configuration diff --git a/website/src/pages/pt/token-api/mcp/claude.mdx b/website/src/pages/pt/token-api/mcp/claude.mdx index 232af86cd326..0da8f2be031d 100644 --- a/website/src/pages/pt/token-api/mcp/claude.mdx +++ b/website/src/pages/pt/token-api/mcp/claude.mdx @@ -10,7 +10,7 @@ sidebarTitle: Claude Desktop - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview.png) +![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview-token-api.png) ## Configuration diff --git a/website/src/pages/pt/token-api/mcp/cline.mdx b/website/src/pages/pt/token-api/mcp/cline.mdx index 6c22df6dcbc5..ab54c0c8f6f0 100644 --- a/website/src/pages/pt/token-api/mcp/cline.mdx +++ b/website/src/pages/pt/token-api/mcp/cline.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cline - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview.png) +![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview-token-api.png) ## Configuration diff --git a/website/src/pages/pt/token-api/mcp/cursor.mdx b/website/src/pages/pt/token-api/mcp/cursor.mdx index 0152f36bd9d6..658108d1337b 100644 --- a/website/src/pages/pt/token-api/mcp/cursor.mdx +++ b/website/src/pages/pt/token-api/mcp/cursor.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cursor - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview.png) +![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview-token-api.png) ## Configuration diff --git a/website/src/pages/ro/token-api/mcp/claude.mdx b/website/src/pages/ro/token-api/mcp/claude.mdx index 232af86cd326..0da8f2be031d 100644 --- a/website/src/pages/ro/token-api/mcp/claude.mdx +++ b/website/src/pages/ro/token-api/mcp/claude.mdx @@ -10,7 +10,7 @@ sidebarTitle: Claude Desktop - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview.png) +![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview-token-api.png) ## Configuration diff --git a/website/src/pages/ro/token-api/mcp/cline.mdx b/website/src/pages/ro/token-api/mcp/cline.mdx index 6c22df6dcbc5..ab54c0c8f6f0 100644 --- a/website/src/pages/ro/token-api/mcp/cline.mdx +++ b/website/src/pages/ro/token-api/mcp/cline.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cline - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview.png) +![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview-token-api.png) ## Configuration diff --git a/website/src/pages/ro/token-api/mcp/cursor.mdx b/website/src/pages/ro/token-api/mcp/cursor.mdx index 0152f36bd9d6..658108d1337b 100644 --- a/website/src/pages/ro/token-api/mcp/cursor.mdx +++ b/website/src/pages/ro/token-api/mcp/cursor.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cursor - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview.png) +![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview-token-api.png) ## Configuration diff --git a/website/src/pages/ru/token-api/mcp/claude.mdx b/website/src/pages/ru/token-api/mcp/claude.mdx index 232af86cd326..0da8f2be031d 100644 --- a/website/src/pages/ru/token-api/mcp/claude.mdx +++ b/website/src/pages/ru/token-api/mcp/claude.mdx @@ -10,7 +10,7 @@ sidebarTitle: Claude Desktop - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview.png) +![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview-token-api.png) ## Configuration diff --git a/website/src/pages/ru/token-api/mcp/cline.mdx b/website/src/pages/ru/token-api/mcp/cline.mdx index 6c22df6dcbc5..ab54c0c8f6f0 100644 --- a/website/src/pages/ru/token-api/mcp/cline.mdx +++ b/website/src/pages/ru/token-api/mcp/cline.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cline - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview.png) +![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview-token-api.png) ## Configuration diff --git a/website/src/pages/ru/token-api/mcp/cursor.mdx b/website/src/pages/ru/token-api/mcp/cursor.mdx index 0152f36bd9d6..658108d1337b 100644 --- a/website/src/pages/ru/token-api/mcp/cursor.mdx +++ b/website/src/pages/ru/token-api/mcp/cursor.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cursor - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview.png) +![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview-token-api.png) ## Configuration diff --git a/website/src/pages/sv/token-api/mcp/claude.mdx b/website/src/pages/sv/token-api/mcp/claude.mdx index 232af86cd326..0da8f2be031d 100644 --- a/website/src/pages/sv/token-api/mcp/claude.mdx +++ b/website/src/pages/sv/token-api/mcp/claude.mdx @@ -10,7 +10,7 @@ sidebarTitle: Claude Desktop - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview.png) +![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview-token-api.png) ## Configuration diff --git a/website/src/pages/sv/token-api/mcp/cline.mdx b/website/src/pages/sv/token-api/mcp/cline.mdx index 6c22df6dcbc5..ab54c0c8f6f0 100644 --- a/website/src/pages/sv/token-api/mcp/cline.mdx +++ b/website/src/pages/sv/token-api/mcp/cline.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cline - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview.png) +![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview-token-api.png) ## Configuration diff --git a/website/src/pages/sv/token-api/mcp/cursor.mdx b/website/src/pages/sv/token-api/mcp/cursor.mdx index 0152f36bd9d6..658108d1337b 100644 --- a/website/src/pages/sv/token-api/mcp/cursor.mdx +++ b/website/src/pages/sv/token-api/mcp/cursor.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cursor - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview.png) +![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview-token-api.png) ## Configuration diff --git a/website/src/pages/tr/token-api/mcp/claude.mdx b/website/src/pages/tr/token-api/mcp/claude.mdx index 232af86cd326..0da8f2be031d 100644 --- a/website/src/pages/tr/token-api/mcp/claude.mdx +++ b/website/src/pages/tr/token-api/mcp/claude.mdx @@ -10,7 +10,7 @@ sidebarTitle: Claude Desktop - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview.png) +![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview-token-api.png) ## Configuration diff --git a/website/src/pages/tr/token-api/mcp/cline.mdx b/website/src/pages/tr/token-api/mcp/cline.mdx index 6c22df6dcbc5..ab54c0c8f6f0 100644 --- a/website/src/pages/tr/token-api/mcp/cline.mdx +++ b/website/src/pages/tr/token-api/mcp/cline.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cline - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview.png) +![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview-token-api.png) ## Configuration diff --git a/website/src/pages/tr/token-api/mcp/cursor.mdx b/website/src/pages/tr/token-api/mcp/cursor.mdx index 0152f36bd9d6..658108d1337b 100644 --- a/website/src/pages/tr/token-api/mcp/cursor.mdx +++ b/website/src/pages/tr/token-api/mcp/cursor.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cursor - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview.png) +![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview-token-api.png) ## Configuration diff --git a/website/src/pages/uk/token-api/mcp/claude.mdx b/website/src/pages/uk/token-api/mcp/claude.mdx index 232af86cd326..0da8f2be031d 100644 --- a/website/src/pages/uk/token-api/mcp/claude.mdx +++ b/website/src/pages/uk/token-api/mcp/claude.mdx @@ -10,7 +10,7 @@ sidebarTitle: Claude Desktop - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview.png) +![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview-token-api.png) ## Configuration diff --git a/website/src/pages/uk/token-api/mcp/cline.mdx b/website/src/pages/uk/token-api/mcp/cline.mdx index 6c22df6dcbc5..ab54c0c8f6f0 100644 --- a/website/src/pages/uk/token-api/mcp/cline.mdx +++ b/website/src/pages/uk/token-api/mcp/cline.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cline - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview.png) +![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview-token-api.png) ## Configuration diff --git a/website/src/pages/uk/token-api/mcp/cursor.mdx b/website/src/pages/uk/token-api/mcp/cursor.mdx index 0152f36bd9d6..658108d1337b 100644 --- a/website/src/pages/uk/token-api/mcp/cursor.mdx +++ b/website/src/pages/uk/token-api/mcp/cursor.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cursor - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview.png) +![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview-token-api.png) ## Configuration diff --git a/website/src/pages/ur/token-api/mcp/claude.mdx b/website/src/pages/ur/token-api/mcp/claude.mdx index 232af86cd326..0da8f2be031d 100644 --- a/website/src/pages/ur/token-api/mcp/claude.mdx +++ b/website/src/pages/ur/token-api/mcp/claude.mdx @@ -10,7 +10,7 @@ sidebarTitle: Claude Desktop - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview.png) +![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview-token-api.png) ## Configuration diff --git a/website/src/pages/ur/token-api/mcp/cline.mdx b/website/src/pages/ur/token-api/mcp/cline.mdx index 6c22df6dcbc5..ab54c0c8f6f0 100644 --- a/website/src/pages/ur/token-api/mcp/cline.mdx +++ b/website/src/pages/ur/token-api/mcp/cline.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cline - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview.png) +![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview-token-api.png) ## Configuration diff --git a/website/src/pages/ur/token-api/mcp/cursor.mdx b/website/src/pages/ur/token-api/mcp/cursor.mdx index 0152f36bd9d6..658108d1337b 100644 --- a/website/src/pages/ur/token-api/mcp/cursor.mdx +++ b/website/src/pages/ur/token-api/mcp/cursor.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cursor - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview.png) +![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview-token-api.png) ## Configuration diff --git a/website/src/pages/vi/token-api/mcp/claude.mdx b/website/src/pages/vi/token-api/mcp/claude.mdx index 232af86cd326..0da8f2be031d 100644 --- a/website/src/pages/vi/token-api/mcp/claude.mdx +++ b/website/src/pages/vi/token-api/mcp/claude.mdx @@ -10,7 +10,7 @@ sidebarTitle: Claude Desktop - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview.png) +![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview-token-api.png) ## Configuration diff --git a/website/src/pages/vi/token-api/mcp/cline.mdx b/website/src/pages/vi/token-api/mcp/cline.mdx index 6c22df6dcbc5..ab54c0c8f6f0 100644 --- a/website/src/pages/vi/token-api/mcp/cline.mdx +++ b/website/src/pages/vi/token-api/mcp/cline.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cline - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview.png) +![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview-token-api.png) ## Configuration diff --git a/website/src/pages/vi/token-api/mcp/cursor.mdx b/website/src/pages/vi/token-api/mcp/cursor.mdx index 0152f36bd9d6..658108d1337b 100644 --- a/website/src/pages/vi/token-api/mcp/cursor.mdx +++ b/website/src/pages/vi/token-api/mcp/cursor.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cursor - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview.png) +![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview-token-api.png) ## Configuration diff --git a/website/src/pages/zh/token-api/mcp/claude.mdx b/website/src/pages/zh/token-api/mcp/claude.mdx index 232af86cd326..0da8f2be031d 100644 --- a/website/src/pages/zh/token-api/mcp/claude.mdx +++ b/website/src/pages/zh/token-api/mcp/claude.mdx @@ -10,7 +10,7 @@ sidebarTitle: Claude Desktop - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview.png) +![Screenshot of Claude Desktop's settings panel showing the MCP server configuration option.](/img/claude-preview-token-api.png) ## Configuration diff --git a/website/src/pages/zh/token-api/mcp/cline.mdx b/website/src/pages/zh/token-api/mcp/cline.mdx index 6c22df6dcbc5..ab54c0c8f6f0 100644 --- a/website/src/pages/zh/token-api/mcp/cline.mdx +++ b/website/src/pages/zh/token-api/mcp/cline.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cline - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview.png) +![Screenshot of Cline's MCP server configuration interface displaying the JSON settings file with mcp-pinax server details visible](/img/cline-preview-token-api.png) ## Configuration diff --git a/website/src/pages/zh/token-api/mcp/cursor.mdx b/website/src/pages/zh/token-api/mcp/cursor.mdx index 0152f36bd9d6..658108d1337b 100644 --- a/website/src/pages/zh/token-api/mcp/cursor.mdx +++ b/website/src/pages/zh/token-api/mcp/cursor.mdx @@ -10,7 +10,7 @@ sidebarTitle: Cursor - [`npx`](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [`bunx`](https://bun.sh/) installed and available in your path. - The `@pinax/mcp` package requires Node 18+, as it relies on built-in `fetch()` / `Headers`, which are not available in Node 17 or older. You may need to specify an exact path to an up-to-date Node version, or uninstall previous versions of Node to ensure `@pinax/mcp` uses the correct version. -![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview.png) +![Screenshot of Cursor's MCP configuration panel.](/img/cursor-preview-token-api.png) ## Configuration From 903194b75204a0f085d70c28ab7e6adcf8515011 Mon Sep 17 00:00:00 2001 From: Hayder Date: Sun, 30 Mar 2025 11:24:02 +0200 Subject: [PATCH 13/37] extend config --- website/src/pages/ar/index.json | 61 +++++++++++++++++++++ website/src/pages/ar/supported-networks.mdx | 10 +++- website/src/pages/cs/index.json | 61 +++++++++++++++++++++ website/src/pages/cs/supported-networks.mdx | 10 +++- website/src/pages/de/index.json | 61 +++++++++++++++++++++ website/src/pages/de/supported-networks.mdx | 10 +++- website/src/pages/es/index.json | 61 +++++++++++++++++++++ website/src/pages/es/supported-networks.mdx | 10 +++- website/src/pages/fr/index.json | 61 +++++++++++++++++++++ website/src/pages/fr/supported-networks.mdx | 10 +++- website/src/pages/hi/index.json | 61 +++++++++++++++++++++ website/src/pages/hi/supported-networks.mdx | 10 +++- website/src/pages/it/index.json | 61 +++++++++++++++++++++ website/src/pages/it/supported-networks.mdx | 10 +++- website/src/pages/ja/index.json | 61 +++++++++++++++++++++ website/src/pages/ja/supported-networks.mdx | 10 +++- website/src/pages/ko/index.json | 61 +++++++++++++++++++++ website/src/pages/ko/supported-networks.mdx | 10 +++- website/src/pages/mr/index.json | 61 +++++++++++++++++++++ website/src/pages/mr/supported-networks.mdx | 10 +++- website/src/pages/nl/index.json | 61 +++++++++++++++++++++ website/src/pages/nl/supported-networks.mdx | 10 +++- website/src/pages/pl/index.json | 61 +++++++++++++++++++++ website/src/pages/pl/supported-networks.mdx | 10 +++- website/src/pages/pt/index.json | 61 +++++++++++++++++++++ website/src/pages/pt/supported-networks.mdx | 10 +++- website/src/pages/ro/index.json | 61 +++++++++++++++++++++ website/src/pages/ro/supported-networks.mdx | 10 +++- website/src/pages/ru/index.json | 61 +++++++++++++++++++++ website/src/pages/ru/supported-networks.mdx | 10 +++- website/src/pages/sv/index.json | 61 +++++++++++++++++++++ website/src/pages/sv/supported-networks.mdx | 10 +++- website/src/pages/tr/index.json | 61 +++++++++++++++++++++ website/src/pages/tr/supported-networks.mdx | 10 +++- website/src/pages/uk/index.json | 61 +++++++++++++++++++++ website/src/pages/uk/supported-networks.mdx | 10 +++- website/src/pages/ur/index.json | 61 +++++++++++++++++++++ website/src/pages/ur/supported-networks.mdx | 10 +++- website/src/pages/vi/index.json | 61 +++++++++++++++++++++ website/src/pages/vi/supported-networks.mdx | 10 +++- website/src/pages/zh/index.json | 61 +++++++++++++++++++++ website/src/pages/zh/supported-networks.mdx | 10 +++- 42 files changed, 1470 insertions(+), 21 deletions(-) diff --git a/website/src/pages/ar/index.json b/website/src/pages/ar/index.json index 0f2dfc58967a..e5636ae44ca4 100644 --- a/website/src/pages/ar/index.json +++ b/website/src/pages/ar/index.json @@ -37,12 +37,73 @@ }, "supportedNetworks": { "title": "الشبكات المدعومة", + "details": "Network Details", + "services": "Services", + "type": "Type", + "protocol": "Protocol", + "identifier": "Identifier", + "chainId": "Chain ID", + "nativeCurrency": "Native Currency", + "docs": "Docs", + "shortName": "Short Name", + "guides": "Guides", + "search": "Search networks", + "showTestnets": "Show Testnets", + "infoTitle": "Info", + "infoText": "Boost your developer experience by enabling The Graph's indexing network.", + "infoLink": "Integrate new network", "description": { "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" } }, + "networkGuides": { + "evm": { + "subgraphQuickStart": { + "title": "Subgraph quick start", + "description": "Kickstart your journey into subgraph development." + }, + "substreams": { + "title": "Substreams", + "description": "Stream high-speed data for real-time indexing." + }, + "timeseries": { + "title": "Timeseries & Aggregations", + "description": "Learn to track metrics like daily volumes or user growth." + }, + "advancedFeatures": { + "title": "Advanced subgraph features", + "description": "Leverage features like custom data sources, event handlers, and topic filters." + }, + "billing": { + "title": "Billing", + "description": "Optimize costs and manage billing efficiently." + } + }, + "nonEvm": { + "officialDocs": { + "title": "Official Substreams docs", + "description": "Stream high-speed data for real-time indexing." + }, + "spsIntro": { + "title": "Substreams-powered Subgraphs Intro", + "description": "Supercharge your subgraph's efficiency with Substreams." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, + "substreamsStarter": { + "title": "Substreams starter", + "description": "Leverage this boilerplate to create your first Substreams module." + }, + "substreamsRepo": { + "title": "Substreams repo", + "description": "Study, contribute to, or customize the core Substreams framework." + } + } + }, "guides": { "title": "Guides", "description": "", diff --git a/website/src/pages/ar/supported-networks.mdx b/website/src/pages/ar/supported-networks.mdx index 949827ff1344..1786510d248e 100644 --- a/website/src/pages/ar/supported-networks.mdx +++ b/website/src/pages/ar/supported-networks.mdx @@ -1,12 +1,20 @@ --- title: الشبكات المدعومة hideTableOfContents: true +hideContentHeader: true --- - import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps +export const CustomTitle = () => { + const { t } = useI18n() + return

{t('index.supportedNetworks.title')}

+} + + + - Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. diff --git a/website/src/pages/cs/index.json b/website/src/pages/cs/index.json index 2cea19c4ff1a..9ee196cc5de7 100644 --- a/website/src/pages/cs/index.json +++ b/website/src/pages/cs/index.json @@ -37,12 +37,73 @@ }, "supportedNetworks": { "title": "Podporované sítě", + "details": "Network Details", + "services": "Services", + "type": "Type", + "protocol": "Protocol", + "identifier": "Identifier", + "chainId": "Chain ID", + "nativeCurrency": "Native Currency", + "docs": "Docs", + "shortName": "Short Name", + "guides": "Guides", + "search": "Search networks", + "showTestnets": "Show Testnets", + "infoTitle": "Info", + "infoText": "Boost your developer experience by enabling The Graph's indexing network.", + "infoLink": "Integrate new network", "description": { "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" } }, + "networkGuides": { + "evm": { + "subgraphQuickStart": { + "title": "Subgraph quick start", + "description": "Kickstart your journey into subgraph development." + }, + "substreams": { + "title": "Substreams", + "description": "Stream high-speed data for real-time indexing." + }, + "timeseries": { + "title": "Timeseries & Aggregations", + "description": "Learn to track metrics like daily volumes or user growth." + }, + "advancedFeatures": { + "title": "Advanced subgraph features", + "description": "Leverage features like custom data sources, event handlers, and topic filters." + }, + "billing": { + "title": "Billing", + "description": "Optimize costs and manage billing efficiently." + } + }, + "nonEvm": { + "officialDocs": { + "title": "Official Substreams docs", + "description": "Stream high-speed data for real-time indexing." + }, + "spsIntro": { + "title": "Substreams-powered Subgraphs Intro", + "description": "Supercharge your subgraph's efficiency with Substreams." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, + "substreamsStarter": { + "title": "Substreams starter", + "description": "Leverage this boilerplate to create your first Substreams module." + }, + "substreamsRepo": { + "title": "Substreams repo", + "description": "Study, contribute to, or customize the core Substreams framework." + } + } + }, "guides": { "title": "Guides", "description": "", diff --git a/website/src/pages/cs/supported-networks.mdx b/website/src/pages/cs/supported-networks.mdx index 263df1f72264..793fcc66edf4 100644 --- a/website/src/pages/cs/supported-networks.mdx +++ b/website/src/pages/cs/supported-networks.mdx @@ -1,12 +1,20 @@ --- title: Podporované sítě hideTableOfContents: true +hideContentHeader: true --- - import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps +export const CustomTitle = () => { + const { t } = useI18n() + return

{t('index.supportedNetworks.title')}

+} + + + - Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. diff --git a/website/src/pages/de/index.json b/website/src/pages/de/index.json index fd28f4bd87af..74f287415a6c 100644 --- a/website/src/pages/de/index.json +++ b/website/src/pages/de/index.json @@ -37,12 +37,73 @@ }, "supportedNetworks": { "title": "Supported Networks", + "details": "Network Details", + "services": "Services", + "type": "Type", + "protocol": "Protocol", + "identifier": "Identifier", + "chainId": "Chain ID", + "nativeCurrency": "Native Currency", + "docs": "Docs", + "shortName": "Short Name", + "guides": "Guides", + "search": "Search networks", + "showTestnets": "Show Testnets", + "infoTitle": "Info", + "infoText": "Boost your developer experience by enabling The Graph's indexing network.", + "infoLink": "Integrate new network", "description": { "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" } }, + "networkGuides": { + "evm": { + "subgraphQuickStart": { + "title": "Subgraph quick start", + "description": "Kickstart your journey into subgraph development." + }, + "substreams": { + "title": "Substreams", + "description": "Stream high-speed data for real-time indexing." + }, + "timeseries": { + "title": "Timeseries & Aggregations", + "description": "Learn to track metrics like daily volumes or user growth." + }, + "advancedFeatures": { + "title": "Advanced subgraph features", + "description": "Leverage features like custom data sources, event handlers, and topic filters." + }, + "billing": { + "title": "Billing", + "description": "Optimize costs and manage billing efficiently." + } + }, + "nonEvm": { + "officialDocs": { + "title": "Official Substreams docs", + "description": "Stream high-speed data for real-time indexing." + }, + "spsIntro": { + "title": "Substreams-powered Subgraphs Intro", + "description": "Supercharge your subgraph's efficiency with Substreams." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, + "substreamsStarter": { + "title": "Substreams starter", + "description": "Leverage this boilerplate to create your first Substreams module." + }, + "substreamsRepo": { + "title": "Substreams repo", + "description": "Study, contribute to, or customize the core Substreams framework." + } + } + }, "guides": { "title": "Guides", "description": "", diff --git a/website/src/pages/de/supported-networks.mdx b/website/src/pages/de/supported-networks.mdx index fcca6bdc329d..2f5d773c5685 100644 --- a/website/src/pages/de/supported-networks.mdx +++ b/website/src/pages/de/supported-networks.mdx @@ -1,12 +1,20 @@ --- title: Supported Networks hideTableOfContents: true +hideContentHeader: true --- - import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps +export const CustomTitle = () => { + const { t } = useI18n() + return

{t('index.supportedNetworks.title')}

+} + + + - Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. diff --git a/website/src/pages/es/index.json b/website/src/pages/es/index.json index c980229ff3d5..1ec17c1401ad 100644 --- a/website/src/pages/es/index.json +++ b/website/src/pages/es/index.json @@ -37,12 +37,73 @@ }, "supportedNetworks": { "title": "Redes Admitidas", + "details": "Network Details", + "services": "Services", + "type": "Type", + "protocol": "Protocol", + "identifier": "Identifier", + "chainId": "Chain ID", + "nativeCurrency": "Native Currency", + "docs": "Docs", + "shortName": "Short Name", + "guides": "Guides", + "search": "Search networks", + "showTestnets": "Show Testnets", + "infoTitle": "Info", + "infoText": "Boost your developer experience by enabling The Graph's indexing network.", + "infoLink": "Integrate new network", "description": { "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" } }, + "networkGuides": { + "evm": { + "subgraphQuickStart": { + "title": "Subgraph quick start", + "description": "Kickstart your journey into subgraph development." + }, + "substreams": { + "title": "Substreams", + "description": "Stream high-speed data for real-time indexing." + }, + "timeseries": { + "title": "Timeseries & Aggregations", + "description": "Learn to track metrics like daily volumes or user growth." + }, + "advancedFeatures": { + "title": "Advanced subgraph features", + "description": "Leverage features like custom data sources, event handlers, and topic filters." + }, + "billing": { + "title": "Billing", + "description": "Optimize costs and manage billing efficiently." + } + }, + "nonEvm": { + "officialDocs": { + "title": "Official Substreams docs", + "description": "Stream high-speed data for real-time indexing." + }, + "spsIntro": { + "title": "Substreams-powered Subgraphs Intro", + "description": "Supercharge your subgraph's efficiency with Substreams." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, + "substreamsStarter": { + "title": "Substreams starter", + "description": "Leverage this boilerplate to create your first Substreams module." + }, + "substreamsRepo": { + "title": "Substreams repo", + "description": "Study, contribute to, or customize the core Substreams framework." + } + } + }, "guides": { "title": "Guides", "description": "", diff --git a/website/src/pages/es/supported-networks.mdx b/website/src/pages/es/supported-networks.mdx index 32e5eaded02b..9226da84bc4d 100644 --- a/website/src/pages/es/supported-networks.mdx +++ b/website/src/pages/es/supported-networks.mdx @@ -1,12 +1,20 @@ --- title: Redes Admitidas hideTableOfContents: true +hideContentHeader: true --- - import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps +export const CustomTitle = () => { + const { t } = useI18n() + return

{t('index.supportedNetworks.title')}

+} + + + - Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. diff --git a/website/src/pages/fr/index.json b/website/src/pages/fr/index.json index 48c1a676da74..11087bc91807 100644 --- a/website/src/pages/fr/index.json +++ b/website/src/pages/fr/index.json @@ -37,12 +37,73 @@ }, "supportedNetworks": { "title": "Réseaux pris en charge", + "details": "Network Details", + "services": "Services", + "type": "Type", + "protocol": "Protocol", + "identifier": "Identifier", + "chainId": "Chain ID", + "nativeCurrency": "Native Currency", + "docs": "Docs", + "shortName": "Short Name", + "guides": "Guides", + "search": "Search networks", + "showTestnets": "Show Testnets", + "infoTitle": "Info", + "infoText": "Boost your developer experience by enabling The Graph's indexing network.", + "infoLink": "Integrate new network", "description": { "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" } }, + "networkGuides": { + "evm": { + "subgraphQuickStart": { + "title": "Subgraph quick start", + "description": "Kickstart your journey into subgraph development." + }, + "substreams": { + "title": "Substreams", + "description": "Stream high-speed data for real-time indexing." + }, + "timeseries": { + "title": "Timeseries & Aggregations", + "description": "Learn to track metrics like daily volumes or user growth." + }, + "advancedFeatures": { + "title": "Advanced subgraph features", + "description": "Leverage features like custom data sources, event handlers, and topic filters." + }, + "billing": { + "title": "Billing", + "description": "Optimize costs and manage billing efficiently." + } + }, + "nonEvm": { + "officialDocs": { + "title": "Official Substreams docs", + "description": "Stream high-speed data for real-time indexing." + }, + "spsIntro": { + "title": "Substreams-powered Subgraphs Intro", + "description": "Supercharge your subgraph's efficiency with Substreams." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, + "substreamsStarter": { + "title": "Substreams starter", + "description": "Leverage this boilerplate to create your first Substreams module." + }, + "substreamsRepo": { + "title": "Substreams repo", + "description": "Study, contribute to, or customize the core Substreams framework." + } + } + }, "guides": { "title": "Guides", "description": "", diff --git a/website/src/pages/fr/supported-networks.mdx b/website/src/pages/fr/supported-networks.mdx index ddcb598d2543..c9d75083cd33 100644 --- a/website/src/pages/fr/supported-networks.mdx +++ b/website/src/pages/fr/supported-networks.mdx @@ -1,12 +1,20 @@ --- title: Réseaux pris en charge hideTableOfContents: true +hideContentHeader: true --- - import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps +export const CustomTitle = () => { + const { t } = useI18n() + return

{t('index.supportedNetworks.title')}

+} + + + - Subgraph Studio repose sur la stabilité et la fiabilité des technologies sous-jacentes, comme les endpoints JSON-RPC, Firehose et Substreams. diff --git a/website/src/pages/hi/index.json b/website/src/pages/hi/index.json index f50c21715290..b0067e4a8344 100644 --- a/website/src/pages/hi/index.json +++ b/website/src/pages/hi/index.json @@ -37,12 +37,73 @@ }, "supportedNetworks": { "title": "समर्थित नेटवर्क", + "details": "Network Details", + "services": "Services", + "type": "Type", + "protocol": "Protocol", + "identifier": "Identifier", + "chainId": "Chain ID", + "nativeCurrency": "Native Currency", + "docs": "Docs", + "shortName": "Short Name", + "guides": "Guides", + "search": "Search networks", + "showTestnets": "Show Testnets", + "infoTitle": "Info", + "infoText": "Boost your developer experience by enabling The Graph's indexing network.", + "infoLink": "Integrate new network", "description": { "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" } }, + "networkGuides": { + "evm": { + "subgraphQuickStart": { + "title": "Subgraph quick start", + "description": "Kickstart your journey into subgraph development." + }, + "substreams": { + "title": "Substreams", + "description": "Stream high-speed data for real-time indexing." + }, + "timeseries": { + "title": "Timeseries & Aggregations", + "description": "Learn to track metrics like daily volumes or user growth." + }, + "advancedFeatures": { + "title": "Advanced subgraph features", + "description": "Leverage features like custom data sources, event handlers, and topic filters." + }, + "billing": { + "title": "Billing", + "description": "Optimize costs and manage billing efficiently." + } + }, + "nonEvm": { + "officialDocs": { + "title": "Official Substreams docs", + "description": "Stream high-speed data for real-time indexing." + }, + "spsIntro": { + "title": "Substreams-powered Subgraphs Intro", + "description": "Supercharge your subgraph's efficiency with Substreams." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, + "substreamsStarter": { + "title": "Substreams starter", + "description": "Leverage this boilerplate to create your first Substreams module." + }, + "substreamsRepo": { + "title": "Substreams repo", + "description": "Study, contribute to, or customize the core Substreams framework." + } + } + }, "guides": { "title": "Guides", "description": "", diff --git a/website/src/pages/hi/supported-networks.mdx b/website/src/pages/hi/supported-networks.mdx index 49a3ddabba05..f43bf7cd81bf 100644 --- a/website/src/pages/hi/supported-networks.mdx +++ b/website/src/pages/hi/supported-networks.mdx @@ -1,12 +1,20 @@ --- title: समर्थित नेटवर्क hideTableOfContents: true +hideContentHeader: true --- - import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps +export const CustomTitle = () => { + const { t } = useI18n() + return

{t('index.supportedNetworks.title')}

+} + + + - सबग्राफ स्टूडियो निर्भर करता है अंतर्निहित प्रौद्योगिकियों की स्थिरता और विश्वसनीयता पर, जैसे JSON-RPC, फायरहोस और सबस्ट्रीम्स एंडपॉइंट्स। diff --git a/website/src/pages/it/index.json b/website/src/pages/it/index.json index 787097b1fbc4..4314e976ebe3 100644 --- a/website/src/pages/it/index.json +++ b/website/src/pages/it/index.json @@ -37,12 +37,73 @@ }, "supportedNetworks": { "title": "Supported Networks", + "details": "Network Details", + "services": "Services", + "type": "Type", + "protocol": "Protocol", + "identifier": "Identifier", + "chainId": "Chain ID", + "nativeCurrency": "Native Currency", + "docs": "Docs", + "shortName": "Short Name", + "guides": "Guides", + "search": "Search networks", + "showTestnets": "Show Testnets", + "infoTitle": "Info", + "infoText": "Boost your developer experience by enabling The Graph's indexing network.", + "infoLink": "Integrate new network", "description": { "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" } }, + "networkGuides": { + "evm": { + "subgraphQuickStart": { + "title": "Subgraph quick start", + "description": "Kickstart your journey into subgraph development." + }, + "substreams": { + "title": "Substreams", + "description": "Stream high-speed data for real-time indexing." + }, + "timeseries": { + "title": "Timeseries & Aggregations", + "description": "Learn to track metrics like daily volumes or user growth." + }, + "advancedFeatures": { + "title": "Advanced subgraph features", + "description": "Leverage features like custom data sources, event handlers, and topic filters." + }, + "billing": { + "title": "Billing", + "description": "Optimize costs and manage billing efficiently." + } + }, + "nonEvm": { + "officialDocs": { + "title": "Official Substreams docs", + "description": "Stream high-speed data for real-time indexing." + }, + "spsIntro": { + "title": "Substreams-powered Subgraphs Intro", + "description": "Supercharge your subgraph's efficiency with Substreams." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, + "substreamsStarter": { + "title": "Substreams starter", + "description": "Leverage this boilerplate to create your first Substreams module." + }, + "substreamsRepo": { + "title": "Substreams repo", + "description": "Study, contribute to, or customize the core Substreams framework." + } + } + }, "guides": { "title": "Guides", "description": "", diff --git a/website/src/pages/it/supported-networks.mdx b/website/src/pages/it/supported-networks.mdx index fcca6bdc329d..2f5d773c5685 100644 --- a/website/src/pages/it/supported-networks.mdx +++ b/website/src/pages/it/supported-networks.mdx @@ -1,12 +1,20 @@ --- title: Supported Networks hideTableOfContents: true +hideContentHeader: true --- - import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps +export const CustomTitle = () => { + const { t } = useI18n() + return

{t('index.supportedNetworks.title')}

+} + + + - Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. diff --git a/website/src/pages/ja/index.json b/website/src/pages/ja/index.json index 121f56e91166..2deee2afa349 100644 --- a/website/src/pages/ja/index.json +++ b/website/src/pages/ja/index.json @@ -37,12 +37,73 @@ }, "supportedNetworks": { "title": "サポートされているネットワーク", + "details": "Network Details", + "services": "Services", + "type": "Type", + "protocol": "Protocol", + "identifier": "Identifier", + "chainId": "Chain ID", + "nativeCurrency": "Native Currency", + "docs": "Docs", + "shortName": "Short Name", + "guides": "Guides", + "search": "Search networks", + "showTestnets": "Show Testnets", + "infoTitle": "Info", + "infoText": "Boost your developer experience by enabling The Graph's indexing network.", + "infoLink": "Integrate new network", "description": { "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" } }, + "networkGuides": { + "evm": { + "subgraphQuickStart": { + "title": "Subgraph quick start", + "description": "Kickstart your journey into subgraph development." + }, + "substreams": { + "title": "Substreams", + "description": "Stream high-speed data for real-time indexing." + }, + "timeseries": { + "title": "Timeseries & Aggregations", + "description": "Learn to track metrics like daily volumes or user growth." + }, + "advancedFeatures": { + "title": "Advanced subgraph features", + "description": "Leverage features like custom data sources, event handlers, and topic filters." + }, + "billing": { + "title": "Billing", + "description": "Optimize costs and manage billing efficiently." + } + }, + "nonEvm": { + "officialDocs": { + "title": "Official Substreams docs", + "description": "Stream high-speed data for real-time indexing." + }, + "spsIntro": { + "title": "Substreams-powered Subgraphs Intro", + "description": "Supercharge your subgraph's efficiency with Substreams." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, + "substreamsStarter": { + "title": "Substreams starter", + "description": "Leverage this boilerplate to create your first Substreams module." + }, + "substreamsRepo": { + "title": "Substreams repo", + "description": "Study, contribute to, or customize the core Substreams framework." + } + } + }, "guides": { "title": "Guides", "description": "", diff --git a/website/src/pages/ja/supported-networks.mdx b/website/src/pages/ja/supported-networks.mdx index 1fc2c9c14f2a..38caf703c9cc 100644 --- a/website/src/pages/ja/supported-networks.mdx +++ b/website/src/pages/ja/supported-networks.mdx @@ -1,12 +1,20 @@ --- title: サポートされているネットワーク hideTableOfContents: true +hideContentHeader: true --- - import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps +export const CustomTitle = () => { + const { t } = useI18n() + return

{t('index.supportedNetworks.title')}

+} + + + - Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. diff --git a/website/src/pages/ko/index.json b/website/src/pages/ko/index.json index 787097b1fbc4..4314e976ebe3 100644 --- a/website/src/pages/ko/index.json +++ b/website/src/pages/ko/index.json @@ -37,12 +37,73 @@ }, "supportedNetworks": { "title": "Supported Networks", + "details": "Network Details", + "services": "Services", + "type": "Type", + "protocol": "Protocol", + "identifier": "Identifier", + "chainId": "Chain ID", + "nativeCurrency": "Native Currency", + "docs": "Docs", + "shortName": "Short Name", + "guides": "Guides", + "search": "Search networks", + "showTestnets": "Show Testnets", + "infoTitle": "Info", + "infoText": "Boost your developer experience by enabling The Graph's indexing network.", + "infoLink": "Integrate new network", "description": { "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" } }, + "networkGuides": { + "evm": { + "subgraphQuickStart": { + "title": "Subgraph quick start", + "description": "Kickstart your journey into subgraph development." + }, + "substreams": { + "title": "Substreams", + "description": "Stream high-speed data for real-time indexing." + }, + "timeseries": { + "title": "Timeseries & Aggregations", + "description": "Learn to track metrics like daily volumes or user growth." + }, + "advancedFeatures": { + "title": "Advanced subgraph features", + "description": "Leverage features like custom data sources, event handlers, and topic filters." + }, + "billing": { + "title": "Billing", + "description": "Optimize costs and manage billing efficiently." + } + }, + "nonEvm": { + "officialDocs": { + "title": "Official Substreams docs", + "description": "Stream high-speed data for real-time indexing." + }, + "spsIntro": { + "title": "Substreams-powered Subgraphs Intro", + "description": "Supercharge your subgraph's efficiency with Substreams." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, + "substreamsStarter": { + "title": "Substreams starter", + "description": "Leverage this boilerplate to create your first Substreams module." + }, + "substreamsRepo": { + "title": "Substreams repo", + "description": "Study, contribute to, or customize the core Substreams framework." + } + } + }, "guides": { "title": "Guides", "description": "", diff --git a/website/src/pages/ko/supported-networks.mdx b/website/src/pages/ko/supported-networks.mdx index fcca6bdc329d..2f5d773c5685 100644 --- a/website/src/pages/ko/supported-networks.mdx +++ b/website/src/pages/ko/supported-networks.mdx @@ -1,12 +1,20 @@ --- title: Supported Networks hideTableOfContents: true +hideContentHeader: true --- - import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps +export const CustomTitle = () => { + const { t } = useI18n() + return

{t('index.supportedNetworks.title')}

+} + + + - Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. diff --git a/website/src/pages/mr/index.json b/website/src/pages/mr/index.json index 3bd097a42eef..628110208b65 100644 --- a/website/src/pages/mr/index.json +++ b/website/src/pages/mr/index.json @@ -37,12 +37,73 @@ }, "supportedNetworks": { "title": "Supported Networks", + "details": "Network Details", + "services": "Services", + "type": "Type", + "protocol": "Protocol", + "identifier": "Identifier", + "chainId": "Chain ID", + "nativeCurrency": "Native Currency", + "docs": "Docs", + "shortName": "Short Name", + "guides": "Guides", + "search": "Search networks", + "showTestnets": "Show Testnets", + "infoTitle": "Info", + "infoText": "Boost your developer experience by enabling The Graph's indexing network.", + "infoLink": "Integrate new network", "description": { "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" } }, + "networkGuides": { + "evm": { + "subgraphQuickStart": { + "title": "Subgraph quick start", + "description": "Kickstart your journey into subgraph development." + }, + "substreams": { + "title": "Substreams", + "description": "Stream high-speed data for real-time indexing." + }, + "timeseries": { + "title": "Timeseries & Aggregations", + "description": "Learn to track metrics like daily volumes or user growth." + }, + "advancedFeatures": { + "title": "Advanced subgraph features", + "description": "Leverage features like custom data sources, event handlers, and topic filters." + }, + "billing": { + "title": "Billing", + "description": "Optimize costs and manage billing efficiently." + } + }, + "nonEvm": { + "officialDocs": { + "title": "Official Substreams docs", + "description": "Stream high-speed data for real-time indexing." + }, + "spsIntro": { + "title": "Substreams-powered Subgraphs Intro", + "description": "Supercharge your subgraph's efficiency with Substreams." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, + "substreamsStarter": { + "title": "Substreams starter", + "description": "Leverage this boilerplate to create your first Substreams module." + }, + "substreamsRepo": { + "title": "Substreams repo", + "description": "Study, contribute to, or customize the core Substreams framework." + } + } + }, "guides": { "title": "Guides", "description": "", diff --git a/website/src/pages/mr/supported-networks.mdx b/website/src/pages/mr/supported-networks.mdx index fcca6bdc329d..2f5d773c5685 100644 --- a/website/src/pages/mr/supported-networks.mdx +++ b/website/src/pages/mr/supported-networks.mdx @@ -1,12 +1,20 @@ --- title: Supported Networks hideTableOfContents: true +hideContentHeader: true --- - import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps +export const CustomTitle = () => { + const { t } = useI18n() + return

{t('index.supportedNetworks.title')}

+} + + + - Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. diff --git a/website/src/pages/nl/index.json b/website/src/pages/nl/index.json index c6000a7b4c14..8f3bd605d90c 100644 --- a/website/src/pages/nl/index.json +++ b/website/src/pages/nl/index.json @@ -37,12 +37,73 @@ }, "supportedNetworks": { "title": "Ondersteunde Netwerken", + "details": "Network Details", + "services": "Services", + "type": "Type", + "protocol": "Protocol", + "identifier": "Identifier", + "chainId": "Chain ID", + "nativeCurrency": "Native Currency", + "docs": "Docs", + "shortName": "Short Name", + "guides": "Guides", + "search": "Search networks", + "showTestnets": "Show Testnets", + "infoTitle": "Info", + "infoText": "Boost your developer experience by enabling The Graph's indexing network.", + "infoLink": "Integrate new network", "description": { "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" } }, + "networkGuides": { + "evm": { + "subgraphQuickStart": { + "title": "Subgraph quick start", + "description": "Kickstart your journey into subgraph development." + }, + "substreams": { + "title": "Substreams", + "description": "Stream high-speed data for real-time indexing." + }, + "timeseries": { + "title": "Timeseries & Aggregations", + "description": "Learn to track metrics like daily volumes or user growth." + }, + "advancedFeatures": { + "title": "Advanced subgraph features", + "description": "Leverage features like custom data sources, event handlers, and topic filters." + }, + "billing": { + "title": "Billing", + "description": "Optimize costs and manage billing efficiently." + } + }, + "nonEvm": { + "officialDocs": { + "title": "Official Substreams docs", + "description": "Stream high-speed data for real-time indexing." + }, + "spsIntro": { + "title": "Substreams-powered Subgraphs Intro", + "description": "Supercharge your subgraph's efficiency with Substreams." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, + "substreamsStarter": { + "title": "Substreams starter", + "description": "Leverage this boilerplate to create your first Substreams module." + }, + "substreamsRepo": { + "title": "Substreams repo", + "description": "Study, contribute to, or customize the core Substreams framework." + } + } + }, "guides": { "title": "Guides", "description": "", diff --git a/website/src/pages/nl/supported-networks.mdx b/website/src/pages/nl/supported-networks.mdx index 2914ab2c1b59..435c5025cd6f 100644 --- a/website/src/pages/nl/supported-networks.mdx +++ b/website/src/pages/nl/supported-networks.mdx @@ -1,12 +1,20 @@ --- title: Ondersteunde Netwerken hideTableOfContents: true +hideContentHeader: true --- - import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps +export const CustomTitle = () => { + const { t } = useI18n() + return

{t('index.supportedNetworks.title')}

+} + + + - Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. diff --git a/website/src/pages/pl/index.json b/website/src/pages/pl/index.json index 8670eb1a59ae..d8c130d04f49 100644 --- a/website/src/pages/pl/index.json +++ b/website/src/pages/pl/index.json @@ -37,12 +37,73 @@ }, "supportedNetworks": { "title": "Wspierane sieci", + "details": "Network Details", + "services": "Services", + "type": "Type", + "protocol": "Protocol", + "identifier": "Identifier", + "chainId": "Chain ID", + "nativeCurrency": "Native Currency", + "docs": "Docs", + "shortName": "Short Name", + "guides": "Guides", + "search": "Search networks", + "showTestnets": "Show Testnets", + "infoTitle": "Info", + "infoText": "Boost your developer experience by enabling The Graph's indexing network.", + "infoLink": "Integrate new network", "description": { "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" } }, + "networkGuides": { + "evm": { + "subgraphQuickStart": { + "title": "Subgraph quick start", + "description": "Kickstart your journey into subgraph development." + }, + "substreams": { + "title": "Substreams", + "description": "Stream high-speed data for real-time indexing." + }, + "timeseries": { + "title": "Timeseries & Aggregations", + "description": "Learn to track metrics like daily volumes or user growth." + }, + "advancedFeatures": { + "title": "Advanced subgraph features", + "description": "Leverage features like custom data sources, event handlers, and topic filters." + }, + "billing": { + "title": "Billing", + "description": "Optimize costs and manage billing efficiently." + } + }, + "nonEvm": { + "officialDocs": { + "title": "Official Substreams docs", + "description": "Stream high-speed data for real-time indexing." + }, + "spsIntro": { + "title": "Substreams-powered Subgraphs Intro", + "description": "Supercharge your subgraph's efficiency with Substreams." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, + "substreamsStarter": { + "title": "Substreams starter", + "description": "Leverage this boilerplate to create your first Substreams module." + }, + "substreamsRepo": { + "title": "Substreams repo", + "description": "Study, contribute to, or customize the core Substreams framework." + } + } + }, "guides": { "title": "Guides", "description": "", diff --git a/website/src/pages/pl/supported-networks.mdx b/website/src/pages/pl/supported-networks.mdx index dacf46571cf0..ab05fb02e574 100644 --- a/website/src/pages/pl/supported-networks.mdx +++ b/website/src/pages/pl/supported-networks.mdx @@ -1,12 +1,20 @@ --- title: Wspierane sieci hideTableOfContents: true +hideContentHeader: true --- - import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps +export const CustomTitle = () => { + const { t } = useI18n() + return

{t('index.supportedNetworks.title')}

+} + + + - Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. diff --git a/website/src/pages/pt/index.json b/website/src/pages/pt/index.json index 5b3df70bebad..be649e0d348b 100644 --- a/website/src/pages/pt/index.json +++ b/website/src/pages/pt/index.json @@ -37,12 +37,73 @@ }, "supportedNetworks": { "title": "Redes Apoiadas", + "details": "Network Details", + "services": "Services", + "type": "Type", + "protocol": "Protocol", + "identifier": "Identifier", + "chainId": "Chain ID", + "nativeCurrency": "Native Currency", + "docs": "Docs", + "shortName": "Short Name", + "guides": "Guides", + "search": "Search networks", + "showTestnets": "Show Testnets", + "infoTitle": "Info", + "infoText": "Boost your developer experience by enabling The Graph's indexing network.", + "infoLink": "Integrate new network", "description": { "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" } }, + "networkGuides": { + "evm": { + "subgraphQuickStart": { + "title": "Subgraph quick start", + "description": "Kickstart your journey into subgraph development." + }, + "substreams": { + "title": "Substreams", + "description": "Stream high-speed data for real-time indexing." + }, + "timeseries": { + "title": "Timeseries & Aggregations", + "description": "Learn to track metrics like daily volumes or user growth." + }, + "advancedFeatures": { + "title": "Advanced subgraph features", + "description": "Leverage features like custom data sources, event handlers, and topic filters." + }, + "billing": { + "title": "Billing", + "description": "Optimize costs and manage billing efficiently." + } + }, + "nonEvm": { + "officialDocs": { + "title": "Official Substreams docs", + "description": "Stream high-speed data for real-time indexing." + }, + "spsIntro": { + "title": "Substreams-powered Subgraphs Intro", + "description": "Supercharge your subgraph's efficiency with Substreams." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, + "substreamsStarter": { + "title": "Substreams starter", + "description": "Leverage this boilerplate to create your first Substreams module." + }, + "substreamsRepo": { + "title": "Substreams repo", + "description": "Study, contribute to, or customize the core Substreams framework." + } + } + }, "guides": { "title": "Guias", "description": "", diff --git a/website/src/pages/pt/supported-networks.mdx b/website/src/pages/pt/supported-networks.mdx index 13fd8fa0a294..3a8c637733d9 100644 --- a/website/src/pages/pt/supported-networks.mdx +++ b/website/src/pages/pt/supported-networks.mdx @@ -1,12 +1,20 @@ --- title: Redes Apoiadas hideTableOfContents: true +hideContentHeader: true --- - import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps +export const CustomTitle = () => { + const { t } = useI18n() + return

{t('index.supportedNetworks.title')}

+} + + + - O Subgraph Studio depende da estabilidade e da confiança das tecnologias subjacentes, por exemplo, JSON-RPC, Firehose e endpoints dos Substreams. diff --git a/website/src/pages/ro/index.json b/website/src/pages/ro/index.json index c4927f816558..e5580a37ae47 100644 --- a/website/src/pages/ro/index.json +++ b/website/src/pages/ro/index.json @@ -37,12 +37,73 @@ }, "supportedNetworks": { "title": "Rețele suportate", + "details": "Network Details", + "services": "Services", + "type": "Type", + "protocol": "Protocol", + "identifier": "Identifier", + "chainId": "Chain ID", + "nativeCurrency": "Native Currency", + "docs": "Docs", + "shortName": "Short Name", + "guides": "Guides", + "search": "Search networks", + "showTestnets": "Show Testnets", + "infoTitle": "Info", + "infoText": "Boost your developer experience by enabling The Graph's indexing network.", + "infoLink": "Integrate new network", "description": { "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" } }, + "networkGuides": { + "evm": { + "subgraphQuickStart": { + "title": "Subgraph quick start", + "description": "Kickstart your journey into subgraph development." + }, + "substreams": { + "title": "Substreams", + "description": "Stream high-speed data for real-time indexing." + }, + "timeseries": { + "title": "Timeseries & Aggregations", + "description": "Learn to track metrics like daily volumes or user growth." + }, + "advancedFeatures": { + "title": "Advanced subgraph features", + "description": "Leverage features like custom data sources, event handlers, and topic filters." + }, + "billing": { + "title": "Billing", + "description": "Optimize costs and manage billing efficiently." + } + }, + "nonEvm": { + "officialDocs": { + "title": "Official Substreams docs", + "description": "Stream high-speed data for real-time indexing." + }, + "spsIntro": { + "title": "Substreams-powered Subgraphs Intro", + "description": "Supercharge your subgraph's efficiency with Substreams." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, + "substreamsStarter": { + "title": "Substreams starter", + "description": "Leverage this boilerplate to create your first Substreams module." + }, + "substreamsRepo": { + "title": "Substreams repo", + "description": "Study, contribute to, or customize the core Substreams framework." + } + } + }, "guides": { "title": "Guides", "description": "", diff --git a/website/src/pages/ro/supported-networks.mdx b/website/src/pages/ro/supported-networks.mdx index cf5ca02b28a5..71ac28e9d543 100644 --- a/website/src/pages/ro/supported-networks.mdx +++ b/website/src/pages/ro/supported-networks.mdx @@ -1,12 +1,20 @@ --- title: Rețele suportate hideTableOfContents: true +hideContentHeader: true --- - import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps +export const CustomTitle = () => { + const { t } = useI18n() + return

{t('index.supportedNetworks.title')}

+} + + + - Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. diff --git a/website/src/pages/ru/index.json b/website/src/pages/ru/index.json index 11e1eef7f22c..a73829010efc 100644 --- a/website/src/pages/ru/index.json +++ b/website/src/pages/ru/index.json @@ -37,12 +37,73 @@ }, "supportedNetworks": { "title": "Поддерживаемые сети", + "details": "Network Details", + "services": "Services", + "type": "Type", + "protocol": "Protocol", + "identifier": "Identifier", + "chainId": "Chain ID", + "nativeCurrency": "Native Currency", + "docs": "Docs", + "shortName": "Short Name", + "guides": "Guides", + "search": "Search networks", + "showTestnets": "Show Testnets", + "infoTitle": "Info", + "infoText": "Boost your developer experience by enabling The Graph's indexing network.", + "infoLink": "Integrate new network", "description": { "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" } }, + "networkGuides": { + "evm": { + "subgraphQuickStart": { + "title": "Subgraph quick start", + "description": "Kickstart your journey into subgraph development." + }, + "substreams": { + "title": "Substreams", + "description": "Stream high-speed data for real-time indexing." + }, + "timeseries": { + "title": "Timeseries & Aggregations", + "description": "Learn to track metrics like daily volumes or user growth." + }, + "advancedFeatures": { + "title": "Advanced subgraph features", + "description": "Leverage features like custom data sources, event handlers, and topic filters." + }, + "billing": { + "title": "Billing", + "description": "Optimize costs and manage billing efficiently." + } + }, + "nonEvm": { + "officialDocs": { + "title": "Official Substreams docs", + "description": "Stream high-speed data for real-time indexing." + }, + "spsIntro": { + "title": "Substreams-powered Subgraphs Intro", + "description": "Supercharge your subgraph's efficiency with Substreams." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, + "substreamsStarter": { + "title": "Substreams starter", + "description": "Leverage this boilerplate to create your first Substreams module." + }, + "substreamsRepo": { + "title": "Substreams repo", + "description": "Study, contribute to, or customize the core Substreams framework." + } + } + }, "guides": { "title": "Гайды", "description": "", diff --git a/website/src/pages/ru/supported-networks.mdx b/website/src/pages/ru/supported-networks.mdx index eca0cd1bb439..31ce355e354b 100644 --- a/website/src/pages/ru/supported-networks.mdx +++ b/website/src/pages/ru/supported-networks.mdx @@ -1,12 +1,20 @@ --- title: Поддерживаемые сети hideTableOfContents: true +hideContentHeader: true --- - import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps +export const CustomTitle = () => { + const { t } = useI18n() + return

{t('index.supportedNetworks.title')}

+} + + + - Subgraph Studio полагается на стабильность и надежность базовых технологий, например, таких, как JSON-RPC, Firehose и конечных точек Substreams. diff --git a/website/src/pages/sv/index.json b/website/src/pages/sv/index.json index 778f5e81d7f9..db0494dd1628 100644 --- a/website/src/pages/sv/index.json +++ b/website/src/pages/sv/index.json @@ -37,12 +37,73 @@ }, "supportedNetworks": { "title": "Nätverk som stöds", + "details": "Network Details", + "services": "Services", + "type": "Type", + "protocol": "Protocol", + "identifier": "Identifier", + "chainId": "Chain ID", + "nativeCurrency": "Native Currency", + "docs": "Docs", + "shortName": "Short Name", + "guides": "Guides", + "search": "Search networks", + "showTestnets": "Show Testnets", + "infoTitle": "Info", + "infoText": "Boost your developer experience by enabling The Graph's indexing network.", + "infoLink": "Integrate new network", "description": { "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" } }, + "networkGuides": { + "evm": { + "subgraphQuickStart": { + "title": "Subgraph quick start", + "description": "Kickstart your journey into subgraph development." + }, + "substreams": { + "title": "Substreams", + "description": "Stream high-speed data for real-time indexing." + }, + "timeseries": { + "title": "Timeseries & Aggregations", + "description": "Learn to track metrics like daily volumes or user growth." + }, + "advancedFeatures": { + "title": "Advanced subgraph features", + "description": "Leverage features like custom data sources, event handlers, and topic filters." + }, + "billing": { + "title": "Billing", + "description": "Optimize costs and manage billing efficiently." + } + }, + "nonEvm": { + "officialDocs": { + "title": "Official Substreams docs", + "description": "Stream high-speed data for real-time indexing." + }, + "spsIntro": { + "title": "Substreams-powered Subgraphs Intro", + "description": "Supercharge your subgraph's efficiency with Substreams." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, + "substreamsStarter": { + "title": "Substreams starter", + "description": "Leverage this boilerplate to create your first Substreams module." + }, + "substreamsRepo": { + "title": "Substreams repo", + "description": "Study, contribute to, or customize the core Substreams framework." + } + } + }, "guides": { "title": "Guides", "description": "", diff --git a/website/src/pages/sv/supported-networks.mdx b/website/src/pages/sv/supported-networks.mdx index af4eae3e5ba6..aa9b4c16d350 100644 --- a/website/src/pages/sv/supported-networks.mdx +++ b/website/src/pages/sv/supported-networks.mdx @@ -1,12 +1,20 @@ --- title: Nätverk som stöds hideTableOfContents: true +hideContentHeader: true --- - import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps +export const CustomTitle = () => { + const { t } = useI18n() + return

{t('index.supportedNetworks.title')}

+} + + + - Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. diff --git a/website/src/pages/tr/index.json b/website/src/pages/tr/index.json index de520639d6ee..7a734c1bc4be 100644 --- a/website/src/pages/tr/index.json +++ b/website/src/pages/tr/index.json @@ -37,12 +37,73 @@ }, "supportedNetworks": { "title": "Desteklenen Ağlar", + "details": "Network Details", + "services": "Services", + "type": "Type", + "protocol": "Protocol", + "identifier": "Identifier", + "chainId": "Chain ID", + "nativeCurrency": "Native Currency", + "docs": "Docs", + "shortName": "Short Name", + "guides": "Guides", + "search": "Search networks", + "showTestnets": "Show Testnets", + "infoTitle": "Info", + "infoText": "Boost your developer experience by enabling The Graph's indexing network.", + "infoLink": "Integrate new network", "description": { "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" } }, + "networkGuides": { + "evm": { + "subgraphQuickStart": { + "title": "Subgraph quick start", + "description": "Kickstart your journey into subgraph development." + }, + "substreams": { + "title": "Substreams", + "description": "Stream high-speed data for real-time indexing." + }, + "timeseries": { + "title": "Timeseries & Aggregations", + "description": "Learn to track metrics like daily volumes or user growth." + }, + "advancedFeatures": { + "title": "Advanced subgraph features", + "description": "Leverage features like custom data sources, event handlers, and topic filters." + }, + "billing": { + "title": "Billing", + "description": "Optimize costs and manage billing efficiently." + } + }, + "nonEvm": { + "officialDocs": { + "title": "Official Substreams docs", + "description": "Stream high-speed data for real-time indexing." + }, + "spsIntro": { + "title": "Substreams-powered Subgraphs Intro", + "description": "Supercharge your subgraph's efficiency with Substreams." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, + "substreamsStarter": { + "title": "Substreams starter", + "description": "Leverage this boilerplate to create your first Substreams module." + }, + "substreamsRepo": { + "title": "Substreams repo", + "description": "Study, contribute to, or customize the core Substreams framework." + } + } + }, "guides": { "title": "Rehberler", "description": "", diff --git a/website/src/pages/tr/supported-networks.mdx b/website/src/pages/tr/supported-networks.mdx index 235ea846fe57..db95018bd5af 100644 --- a/website/src/pages/tr/supported-networks.mdx +++ b/website/src/pages/tr/supported-networks.mdx @@ -1,12 +1,20 @@ --- title: Desteklenen Ağlar hideTableOfContents: true +hideContentHeader: true --- - import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps +export const CustomTitle = () => { + const { t } = useI18n() + return

{t('index.supportedNetworks.title')}

+} + + + - Subgraph Studio, örneğin JSON-RPC, Firehose ve Substreams uç noktaları gibi temel teknolojilerin istikrarlılığına ve güvenilirliğine bel bağlar. diff --git a/website/src/pages/uk/index.json b/website/src/pages/uk/index.json index 140fe66d0888..93e73d382a3c 100644 --- a/website/src/pages/uk/index.json +++ b/website/src/pages/uk/index.json @@ -37,12 +37,73 @@ }, "supportedNetworks": { "title": "Мережі, які підтримуються", + "details": "Network Details", + "services": "Services", + "type": "Type", + "protocol": "Protocol", + "identifier": "Identifier", + "chainId": "Chain ID", + "nativeCurrency": "Native Currency", + "docs": "Docs", + "shortName": "Short Name", + "guides": "Guides", + "search": "Search networks", + "showTestnets": "Show Testnets", + "infoTitle": "Info", + "infoText": "Boost your developer experience by enabling The Graph's indexing network.", + "infoLink": "Integrate new network", "description": { "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" } }, + "networkGuides": { + "evm": { + "subgraphQuickStart": { + "title": "Subgraph quick start", + "description": "Kickstart your journey into subgraph development." + }, + "substreams": { + "title": "Substreams", + "description": "Stream high-speed data for real-time indexing." + }, + "timeseries": { + "title": "Timeseries & Aggregations", + "description": "Learn to track metrics like daily volumes or user growth." + }, + "advancedFeatures": { + "title": "Advanced subgraph features", + "description": "Leverage features like custom data sources, event handlers, and topic filters." + }, + "billing": { + "title": "Billing", + "description": "Optimize costs and manage billing efficiently." + } + }, + "nonEvm": { + "officialDocs": { + "title": "Official Substreams docs", + "description": "Stream high-speed data for real-time indexing." + }, + "spsIntro": { + "title": "Substreams-powered Subgraphs Intro", + "description": "Supercharge your subgraph's efficiency with Substreams." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, + "substreamsStarter": { + "title": "Substreams starter", + "description": "Leverage this boilerplate to create your first Substreams module." + }, + "substreamsRepo": { + "title": "Substreams repo", + "description": "Study, contribute to, or customize the core Substreams framework." + } + } + }, "guides": { "title": "Guides", "description": "", diff --git a/website/src/pages/uk/supported-networks.mdx b/website/src/pages/uk/supported-networks.mdx index 85262a1db079..928cf99465b6 100644 --- a/website/src/pages/uk/supported-networks.mdx +++ b/website/src/pages/uk/supported-networks.mdx @@ -1,12 +1,20 @@ --- title: Мережі, які підтримуються hideTableOfContents: true +hideContentHeader: true --- - import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps +export const CustomTitle = () => { + const { t } = useI18n() + return

{t('index.supportedNetworks.title')}

+} + + + - Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. diff --git a/website/src/pages/ur/index.json b/website/src/pages/ur/index.json index b858bb6da45c..6934b4281c11 100644 --- a/website/src/pages/ur/index.json +++ b/website/src/pages/ur/index.json @@ -37,12 +37,73 @@ }, "supportedNetworks": { "title": "تعاون یافتہ نیٹ ورکس", + "details": "Network Details", + "services": "Services", + "type": "Type", + "protocol": "Protocol", + "identifier": "Identifier", + "chainId": "Chain ID", + "nativeCurrency": "Native Currency", + "docs": "Docs", + "shortName": "Short Name", + "guides": "Guides", + "search": "Search networks", + "showTestnets": "Show Testnets", + "infoTitle": "Info", + "infoText": "Boost your developer experience by enabling The Graph's indexing network.", + "infoLink": "Integrate new network", "description": { "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" } }, + "networkGuides": { + "evm": { + "subgraphQuickStart": { + "title": "Subgraph quick start", + "description": "Kickstart your journey into subgraph development." + }, + "substreams": { + "title": "Substreams", + "description": "Stream high-speed data for real-time indexing." + }, + "timeseries": { + "title": "Timeseries & Aggregations", + "description": "Learn to track metrics like daily volumes or user growth." + }, + "advancedFeatures": { + "title": "Advanced subgraph features", + "description": "Leverage features like custom data sources, event handlers, and topic filters." + }, + "billing": { + "title": "Billing", + "description": "Optimize costs and manage billing efficiently." + } + }, + "nonEvm": { + "officialDocs": { + "title": "Official Substreams docs", + "description": "Stream high-speed data for real-time indexing." + }, + "spsIntro": { + "title": "Substreams-powered Subgraphs Intro", + "description": "Supercharge your subgraph's efficiency with Substreams." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, + "substreamsStarter": { + "title": "Substreams starter", + "description": "Leverage this boilerplate to create your first Substreams module." + }, + "substreamsRepo": { + "title": "Substreams repo", + "description": "Study, contribute to, or customize the core Substreams framework." + } + } + }, "guides": { "title": "Guides", "description": "", diff --git a/website/src/pages/ur/supported-networks.mdx b/website/src/pages/ur/supported-networks.mdx index a5df838b9b21..dd5c01a8988d 100644 --- a/website/src/pages/ur/supported-networks.mdx +++ b/website/src/pages/ur/supported-networks.mdx @@ -1,12 +1,20 @@ --- title: تعاون یافتہ نیٹ ورکس hideTableOfContents: true +hideContentHeader: true --- - import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps +export const CustomTitle = () => { + const { t } = useI18n() + return

{t('index.supportedNetworks.title')}

+} + + + - Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. diff --git a/website/src/pages/vi/index.json b/website/src/pages/vi/index.json index 1490c98de759..9a45f8144c3a 100644 --- a/website/src/pages/vi/index.json +++ b/website/src/pages/vi/index.json @@ -37,12 +37,73 @@ }, "supportedNetworks": { "title": "Mạng lưới được hỗ trợ", + "details": "Network Details", + "services": "Services", + "type": "Type", + "protocol": "Protocol", + "identifier": "Identifier", + "chainId": "Chain ID", + "nativeCurrency": "Native Currency", + "docs": "Docs", + "shortName": "Short Name", + "guides": "Guides", + "search": "Search networks", + "showTestnets": "Show Testnets", + "infoTitle": "Info", + "infoText": "Boost your developer experience by enabling The Graph's indexing network.", + "infoLink": "Integrate new network", "description": { "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" } }, + "networkGuides": { + "evm": { + "subgraphQuickStart": { + "title": "Subgraph quick start", + "description": "Kickstart your journey into subgraph development." + }, + "substreams": { + "title": "Substreams", + "description": "Stream high-speed data for real-time indexing." + }, + "timeseries": { + "title": "Timeseries & Aggregations", + "description": "Learn to track metrics like daily volumes or user growth." + }, + "advancedFeatures": { + "title": "Advanced subgraph features", + "description": "Leverage features like custom data sources, event handlers, and topic filters." + }, + "billing": { + "title": "Billing", + "description": "Optimize costs and manage billing efficiently." + } + }, + "nonEvm": { + "officialDocs": { + "title": "Official Substreams docs", + "description": "Stream high-speed data for real-time indexing." + }, + "spsIntro": { + "title": "Substreams-powered Subgraphs Intro", + "description": "Supercharge your subgraph's efficiency with Substreams." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, + "substreamsStarter": { + "title": "Substreams starter", + "description": "Leverage this boilerplate to create your first Substreams module." + }, + "substreamsRepo": { + "title": "Substreams repo", + "description": "Study, contribute to, or customize the core Substreams framework." + } + } + }, "guides": { "title": "Guides", "description": "", diff --git a/website/src/pages/vi/supported-networks.mdx b/website/src/pages/vi/supported-networks.mdx index 152c930d9862..9b40a8448ae7 100644 --- a/website/src/pages/vi/supported-networks.mdx +++ b/website/src/pages/vi/supported-networks.mdx @@ -1,12 +1,20 @@ --- title: Mạng lưới được hỗ trợ hideTableOfContents: true +hideContentHeader: true --- - import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps +export const CustomTitle = () => { + const { t } = useI18n() + return

{t('index.supportedNetworks.title')}

+} + + + - Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. diff --git a/website/src/pages/zh/index.json b/website/src/pages/zh/index.json index 63aa9d5d149a..f4e76d6c4666 100644 --- a/website/src/pages/zh/index.json +++ b/website/src/pages/zh/index.json @@ -37,12 +37,73 @@ }, "supportedNetworks": { "title": "支持的网络", + "details": "Network Details", + "services": "Services", + "type": "Type", + "protocol": "Protocol", + "identifier": "Identifier", + "chainId": "Chain ID", + "nativeCurrency": "Native Currency", + "docs": "Docs", + "shortName": "Short Name", + "guides": "Guides", + "search": "Search networks", + "showTestnets": "Show Testnets", + "infoTitle": "Info", + "infoText": "Boost your developer experience by enabling The Graph's indexing network.", + "infoLink": "Integrate new network", "description": { "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" } }, + "networkGuides": { + "evm": { + "subgraphQuickStart": { + "title": "Subgraph quick start", + "description": "Kickstart your journey into subgraph development." + }, + "substreams": { + "title": "Substreams", + "description": "Stream high-speed data for real-time indexing." + }, + "timeseries": { + "title": "Timeseries & Aggregations", + "description": "Learn to track metrics like daily volumes or user growth." + }, + "advancedFeatures": { + "title": "Advanced subgraph features", + "description": "Leverage features like custom data sources, event handlers, and topic filters." + }, + "billing": { + "title": "Billing", + "description": "Optimize costs and manage billing efficiently." + } + }, + "nonEvm": { + "officialDocs": { + "title": "Official Substreams docs", + "description": "Stream high-speed data for real-time indexing." + }, + "spsIntro": { + "title": "Substreams-powered Subgraphs Intro", + "description": "Supercharge your subgraph's efficiency with Substreams." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, + "substreamsStarter": { + "title": "Substreams starter", + "description": "Leverage this boilerplate to create your first Substreams module." + }, + "substreamsRepo": { + "title": "Substreams repo", + "description": "Study, contribute to, or customize the core Substreams framework." + } + } + }, "guides": { "title": "Guides", "description": "", diff --git a/website/src/pages/zh/supported-networks.mdx b/website/src/pages/zh/supported-networks.mdx index 5ee28398ade5..8c1d5efc2718 100644 --- a/website/src/pages/zh/supported-networks.mdx +++ b/website/src/pages/zh/supported-networks.mdx @@ -1,12 +1,20 @@ --- title: 支持的网络 hideTableOfContents: true +hideContentHeader: true --- - import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps +export const CustomTitle = () => { + const { t } = useI18n() + return

{t('index.supportedNetworks.title')}

+} + + + - Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. From ec9f3dd4638b0a81c57b08c1be02b9be54615cca Mon Sep 17 00:00:00 2001 From: Hayder Date: Sun, 30 Mar 2025 13:41:08 +0200 Subject: [PATCH 14/37] Add empty state --- website/src/pages/en/index.json | 8 +- website/src/supportedNetworks.tsx | 185 ++++++++++++++++++++---------- 2 files changed, 132 insertions(+), 61 deletions(-) diff --git a/website/src/pages/en/index.json b/website/src/pages/en/index.json index 8339e69f983e..daab098b1609 100644 --- a/website/src/pages/en/index.json +++ b/website/src/pages/en/index.json @@ -56,6 +56,12 @@ "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" + }, + "emptySearch": { + "title": "No networks found", + "description": "No networks match your search for \"{0}\"", + "clearSearch": "Clear search", + "showTestnets": "Show testnets" } }, "networkGuides": { @@ -149,7 +155,7 @@ }, "howToIndexSolana": { "title": "How to Index Solana with a Substreams-powered Subgraph", - "description": "If you’re familiar with Subgraphs, discover how Substreams offer a different approach for key use cases." + "description": "If you're familiar with Subgraphs, discover how Substreams offer a different approach for key use cases." } }, "time": { diff --git a/website/src/supportedNetworks.tsx b/website/src/supportedNetworks.tsx index 9348de047d02..a8e88c3b49d1 100644 --- a/website/src/supportedNetworks.tsx +++ b/website/src/supportedNetworks.tsx @@ -4,6 +4,7 @@ import { useRouter } from 'next/router' import { useEffect, useMemo, useState } from 'react' import { + Button, ExperimentalCopyButton, ExperimentalLink, ExperimentalSearch, @@ -12,7 +13,7 @@ import { Skeleton, Text, } from '@edgeandnode/gds' -import { Check, Lightbulb } from '@edgeandnode/gds/icons' +import { Check, EyeClosed,Lightbulb } from '@edgeandnode/gds/icons' import { NetworkIcon } from '@edgeandnode/go' import { Table } from '@/components' @@ -86,6 +87,34 @@ export async function getSupportedNetworksStaticProps() { } } +// Empty state component +interface EmptySearchResultsProps { + searchQuery: string + onClearSearch: () => void + showTestnets: boolean +} + +const EmptySearchResults = ({ searchQuery, onClearSearch }: EmptySearchResultsProps) => { + const { t } = useI18n() + + return ( +
+
+ +
+ {t('index.supportedNetworks.emptySearch.title')} + + {t('index.supportedNetworks.emptySearch.description', [searchQuery])} + +
+ +
+
+ ) +} + // Skeleton row component for loading state const SkeletonRow = () => { return ( @@ -169,6 +198,10 @@ export function SupportedNetworksTable({ return filtered }, [networks, searchQuery, showTestnets]) + // Handler to clear search + const handleClearSearch = () => { + setSearchQuery('') + } // Generate skeleton rows const skeletonRows = Array.from({ length: 20 }, (_, index) => ) @@ -201,68 +234,100 @@ export function SupportedNetworksTable({ {t('index.supportedNetworks.showTestnets')} - - - - - - - - - - - {isLoading - ? skeletonRows - : filteredNetworks.map((network) => ( - - - - + + + + + + + ))} + +
- {t('supportedNetworks.name')} - - {t('supportedNetworks.id')} - - {t('supportedNetworks.subgraphs')} - - {t('supportedNetworks.substreams')} - - {t('supportedNetworks.firehose')} - - {t('supportedNetworks.tokenapi')} -
-
- {shouldShowSkeleton(network.id) ? ( - - ) : ( - - )} - {network.shortName} -
-
-
- {network.id} -
-
{ - e.preventDefault() - e.stopPropagation() - }} - > - -
+ {isLoading ? ( + + + + + + + + + + + {skeletonRows} + +
+ {t('supportedNetworks.name')} + + {t('supportedNetworks.id')} + + {t('supportedNetworks.subgraphs')} + + {t('supportedNetworks.substreams')} + + {t('supportedNetworks.firehose')} + + {t('supportedNetworks.tokenapi')} +
+ ) : filteredNetworks.length > 0 ? ( + + + + + + + + + + + {filteredNetworks.map((network) => ( + + + + - - - - - - - ))} - -
+ {t('supportedNetworks.name')} + + {t('supportedNetworks.id')} + + {t('supportedNetworks.subgraphs')} + + {t('supportedNetworks.substreams')} + + {t('supportedNetworks.firehose')} + + {t('supportedNetworks.tokenapi')} +
+
+ {shouldShowSkeleton(network.id) ? ( + + ) : ( + + )} + {network.shortName} +
+
+
+ {network.id} +
+
{ + e.preventDefault() + e.stopPropagation() + }} + > +
-
{network.subgraphs ? : null}{network.substreams ? : null}{network.firehose ? : null}{network.tokenapi ? : null}
+
+
{network.subgraphs ? : null}{network.substreams ? : null}{network.firehose ? : null}{network.tokenapi ? : null}
+ ) : ( + + )} ) } From c74e71d9cb7c4953b46a567fc67546af30cd7370 Mon Sep 17 00:00:00 2001 From: Hayder Date: Sun, 30 Mar 2025 15:51:08 +0200 Subject: [PATCH 15/37] Improve Loading indicator --- website/src/pages/ar/index.json | 7 +++ website/src/pages/cs/index.json | 7 +++ website/src/pages/de/index.json | 7 +++ website/src/pages/en/index.json | 1 + website/src/pages/es/index.json | 7 +++ website/src/pages/fr/index.json | 7 +++ website/src/pages/hi/index.json | 7 +++ website/src/pages/it/index.json | 7 +++ website/src/pages/ja/index.json | 7 +++ website/src/pages/ko/index.json | 7 +++ website/src/pages/mr/index.json | 7 +++ website/src/pages/nl/index.json | 7 +++ website/src/pages/pl/index.json | 7 +++ website/src/pages/pt/index.json | 7 +++ website/src/pages/ro/index.json | 7 +++ website/src/pages/ru/index.json | 7 +++ website/src/pages/sv/index.json | 7 +++ website/src/pages/tr/index.json | 7 +++ website/src/pages/uk/index.json | 7 +++ website/src/pages/ur/index.json | 7 +++ website/src/pages/vi/index.json | 7 +++ website/src/pages/zh/index.json | 7 +++ website/src/supportedNetworks.tsx | 80 ++++++++++++++++++++++++------- 23 files changed, 212 insertions(+), 16 deletions(-) diff --git a/website/src/pages/ar/index.json b/website/src/pages/ar/index.json index e5636ae44ca4..f78112257b6b 100644 --- a/website/src/pages/ar/index.json +++ b/website/src/pages/ar/index.json @@ -49,6 +49,7 @@ "guides": "Guides", "search": "Search networks", "showTestnets": "Show Testnets", + "loading": "Loading...", "infoTitle": "Info", "infoText": "Boost your developer experience by enabling The Graph's indexing network.", "infoLink": "Integrate new network", @@ -56,6 +57,12 @@ "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" + }, + "emptySearch": { + "title": "No networks found", + "description": "No networks match your search for \"{0}\"", + "clearSearch": "Clear search", + "showTestnets": "Show testnets" } }, "networkGuides": { diff --git a/website/src/pages/cs/index.json b/website/src/pages/cs/index.json index 9ee196cc5de7..09d1c7d3831c 100644 --- a/website/src/pages/cs/index.json +++ b/website/src/pages/cs/index.json @@ -49,6 +49,7 @@ "guides": "Guides", "search": "Search networks", "showTestnets": "Show Testnets", + "loading": "Loading...", "infoTitle": "Info", "infoText": "Boost your developer experience by enabling The Graph's indexing network.", "infoLink": "Integrate new network", @@ -56,6 +57,12 @@ "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" + }, + "emptySearch": { + "title": "No networks found", + "description": "No networks match your search for \"{0}\"", + "clearSearch": "Clear search", + "showTestnets": "Show testnets" } }, "networkGuides": { diff --git a/website/src/pages/de/index.json b/website/src/pages/de/index.json index 74f287415a6c..09c4aa96a1bd 100644 --- a/website/src/pages/de/index.json +++ b/website/src/pages/de/index.json @@ -49,6 +49,7 @@ "guides": "Guides", "search": "Search networks", "showTestnets": "Show Testnets", + "loading": "Loading...", "infoTitle": "Info", "infoText": "Boost your developer experience by enabling The Graph's indexing network.", "infoLink": "Integrate new network", @@ -56,6 +57,12 @@ "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" + }, + "emptySearch": { + "title": "No networks found", + "description": "No networks match your search for \"{0}\"", + "clearSearch": "Clear search", + "showTestnets": "Show testnets" } }, "networkGuides": { diff --git a/website/src/pages/en/index.json b/website/src/pages/en/index.json index daab098b1609..27de22208de1 100644 --- a/website/src/pages/en/index.json +++ b/website/src/pages/en/index.json @@ -49,6 +49,7 @@ "guides": "Guides", "search": "Search networks", "showTestnets": "Show Testnets", + "loading": "Loading...", "infoTitle": "Info", "infoText": "Boost your developer experience by enabling The Graph's indexing network.", "infoLink": "Integrate new network", diff --git a/website/src/pages/es/index.json b/website/src/pages/es/index.json index 1ec17c1401ad..1feaf06f5dd2 100644 --- a/website/src/pages/es/index.json +++ b/website/src/pages/es/index.json @@ -49,6 +49,7 @@ "guides": "Guides", "search": "Search networks", "showTestnets": "Show Testnets", + "loading": "Loading...", "infoTitle": "Info", "infoText": "Boost your developer experience by enabling The Graph's indexing network.", "infoLink": "Integrate new network", @@ -56,6 +57,12 @@ "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" + }, + "emptySearch": { + "title": "No networks found", + "description": "No networks match your search for \"{0}\"", + "clearSearch": "Clear search", + "showTestnets": "Show testnets" } }, "networkGuides": { diff --git a/website/src/pages/fr/index.json b/website/src/pages/fr/index.json index 11087bc91807..757a37791037 100644 --- a/website/src/pages/fr/index.json +++ b/website/src/pages/fr/index.json @@ -49,6 +49,7 @@ "guides": "Guides", "search": "Search networks", "showTestnets": "Show Testnets", + "loading": "Loading...", "infoTitle": "Info", "infoText": "Boost your developer experience by enabling The Graph's indexing network.", "infoLink": "Integrate new network", @@ -56,6 +57,12 @@ "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" + }, + "emptySearch": { + "title": "No networks found", + "description": "No networks match your search for \"{0}\"", + "clearSearch": "Clear search", + "showTestnets": "Show testnets" } }, "networkGuides": { diff --git a/website/src/pages/hi/index.json b/website/src/pages/hi/index.json index b0067e4a8344..13e70bf28a83 100644 --- a/website/src/pages/hi/index.json +++ b/website/src/pages/hi/index.json @@ -49,6 +49,7 @@ "guides": "Guides", "search": "Search networks", "showTestnets": "Show Testnets", + "loading": "Loading...", "infoTitle": "Info", "infoText": "Boost your developer experience by enabling The Graph's indexing network.", "infoLink": "Integrate new network", @@ -56,6 +57,12 @@ "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" + }, + "emptySearch": { + "title": "No networks found", + "description": "No networks match your search for \"{0}\"", + "clearSearch": "Clear search", + "showTestnets": "Show testnets" } }, "networkGuides": { diff --git a/website/src/pages/it/index.json b/website/src/pages/it/index.json index 4314e976ebe3..8298ef86cf0e 100644 --- a/website/src/pages/it/index.json +++ b/website/src/pages/it/index.json @@ -49,6 +49,7 @@ "guides": "Guides", "search": "Search networks", "showTestnets": "Show Testnets", + "loading": "Loading...", "infoTitle": "Info", "infoText": "Boost your developer experience by enabling The Graph's indexing network.", "infoLink": "Integrate new network", @@ -56,6 +57,12 @@ "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" + }, + "emptySearch": { + "title": "No networks found", + "description": "No networks match your search for \"{0}\"", + "clearSearch": "Clear search", + "showTestnets": "Show testnets" } }, "networkGuides": { diff --git a/website/src/pages/ja/index.json b/website/src/pages/ja/index.json index 2deee2afa349..ae2e94250dfd 100644 --- a/website/src/pages/ja/index.json +++ b/website/src/pages/ja/index.json @@ -49,6 +49,7 @@ "guides": "Guides", "search": "Search networks", "showTestnets": "Show Testnets", + "loading": "Loading...", "infoTitle": "Info", "infoText": "Boost your developer experience by enabling The Graph's indexing network.", "infoLink": "Integrate new network", @@ -56,6 +57,12 @@ "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" + }, + "emptySearch": { + "title": "No networks found", + "description": "No networks match your search for \"{0}\"", + "clearSearch": "Clear search", + "showTestnets": "Show testnets" } }, "networkGuides": { diff --git a/website/src/pages/ko/index.json b/website/src/pages/ko/index.json index 4314e976ebe3..8298ef86cf0e 100644 --- a/website/src/pages/ko/index.json +++ b/website/src/pages/ko/index.json @@ -49,6 +49,7 @@ "guides": "Guides", "search": "Search networks", "showTestnets": "Show Testnets", + "loading": "Loading...", "infoTitle": "Info", "infoText": "Boost your developer experience by enabling The Graph's indexing network.", "infoLink": "Integrate new network", @@ -56,6 +57,12 @@ "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" + }, + "emptySearch": { + "title": "No networks found", + "description": "No networks match your search for \"{0}\"", + "clearSearch": "Clear search", + "showTestnets": "Show testnets" } }, "networkGuides": { diff --git a/website/src/pages/mr/index.json b/website/src/pages/mr/index.json index 628110208b65..b9663c891965 100644 --- a/website/src/pages/mr/index.json +++ b/website/src/pages/mr/index.json @@ -49,6 +49,7 @@ "guides": "Guides", "search": "Search networks", "showTestnets": "Show Testnets", + "loading": "Loading...", "infoTitle": "Info", "infoText": "Boost your developer experience by enabling The Graph's indexing network.", "infoLink": "Integrate new network", @@ -56,6 +57,12 @@ "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" + }, + "emptySearch": { + "title": "No networks found", + "description": "No networks match your search for \"{0}\"", + "clearSearch": "Clear search", + "showTestnets": "Show testnets" } }, "networkGuides": { diff --git a/website/src/pages/nl/index.json b/website/src/pages/nl/index.json index 8f3bd605d90c..d19294ab32e5 100644 --- a/website/src/pages/nl/index.json +++ b/website/src/pages/nl/index.json @@ -49,6 +49,7 @@ "guides": "Guides", "search": "Search networks", "showTestnets": "Show Testnets", + "loading": "Loading...", "infoTitle": "Info", "infoText": "Boost your developer experience by enabling The Graph's indexing network.", "infoLink": "Integrate new network", @@ -56,6 +57,12 @@ "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" + }, + "emptySearch": { + "title": "No networks found", + "description": "No networks match your search for \"{0}\"", + "clearSearch": "Clear search", + "showTestnets": "Show testnets" } }, "networkGuides": { diff --git a/website/src/pages/pl/index.json b/website/src/pages/pl/index.json index d8c130d04f49..f0cfece20baa 100644 --- a/website/src/pages/pl/index.json +++ b/website/src/pages/pl/index.json @@ -49,6 +49,7 @@ "guides": "Guides", "search": "Search networks", "showTestnets": "Show Testnets", + "loading": "Loading...", "infoTitle": "Info", "infoText": "Boost your developer experience by enabling The Graph's indexing network.", "infoLink": "Integrate new network", @@ -56,6 +57,12 @@ "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" + }, + "emptySearch": { + "title": "No networks found", + "description": "No networks match your search for \"{0}\"", + "clearSearch": "Clear search", + "showTestnets": "Show testnets" } }, "networkGuides": { diff --git a/website/src/pages/pt/index.json b/website/src/pages/pt/index.json index be649e0d348b..abf5886799d4 100644 --- a/website/src/pages/pt/index.json +++ b/website/src/pages/pt/index.json @@ -49,6 +49,7 @@ "guides": "Guides", "search": "Search networks", "showTestnets": "Show Testnets", + "loading": "Loading...", "infoTitle": "Info", "infoText": "Boost your developer experience by enabling The Graph's indexing network.", "infoLink": "Integrate new network", @@ -56,6 +57,12 @@ "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" + }, + "emptySearch": { + "title": "No networks found", + "description": "No networks match your search for \"{0}\"", + "clearSearch": "Clear search", + "showTestnets": "Show testnets" } }, "networkGuides": { diff --git a/website/src/pages/ro/index.json b/website/src/pages/ro/index.json index e5580a37ae47..9a85290e49a1 100644 --- a/website/src/pages/ro/index.json +++ b/website/src/pages/ro/index.json @@ -49,6 +49,7 @@ "guides": "Guides", "search": "Search networks", "showTestnets": "Show Testnets", + "loading": "Loading...", "infoTitle": "Info", "infoText": "Boost your developer experience by enabling The Graph's indexing network.", "infoLink": "Integrate new network", @@ -56,6 +57,12 @@ "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" + }, + "emptySearch": { + "title": "No networks found", + "description": "No networks match your search for \"{0}\"", + "clearSearch": "Clear search", + "showTestnets": "Show testnets" } }, "networkGuides": { diff --git a/website/src/pages/ru/index.json b/website/src/pages/ru/index.json index a73829010efc..a9f4781faec6 100644 --- a/website/src/pages/ru/index.json +++ b/website/src/pages/ru/index.json @@ -49,6 +49,7 @@ "guides": "Guides", "search": "Search networks", "showTestnets": "Show Testnets", + "loading": "Loading...", "infoTitle": "Info", "infoText": "Boost your developer experience by enabling The Graph's indexing network.", "infoLink": "Integrate new network", @@ -56,6 +57,12 @@ "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" + }, + "emptySearch": { + "title": "No networks found", + "description": "No networks match your search for \"{0}\"", + "clearSearch": "Clear search", + "showTestnets": "Show testnets" } }, "networkGuides": { diff --git a/website/src/pages/sv/index.json b/website/src/pages/sv/index.json index db0494dd1628..ca568735b429 100644 --- a/website/src/pages/sv/index.json +++ b/website/src/pages/sv/index.json @@ -49,6 +49,7 @@ "guides": "Guides", "search": "Search networks", "showTestnets": "Show Testnets", + "loading": "Loading...", "infoTitle": "Info", "infoText": "Boost your developer experience by enabling The Graph's indexing network.", "infoLink": "Integrate new network", @@ -56,6 +57,12 @@ "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" + }, + "emptySearch": { + "title": "No networks found", + "description": "No networks match your search for \"{0}\"", + "clearSearch": "Clear search", + "showTestnets": "Show testnets" } }, "networkGuides": { diff --git a/website/src/pages/tr/index.json b/website/src/pages/tr/index.json index 7a734c1bc4be..7332cb9decdc 100644 --- a/website/src/pages/tr/index.json +++ b/website/src/pages/tr/index.json @@ -49,6 +49,7 @@ "guides": "Guides", "search": "Search networks", "showTestnets": "Show Testnets", + "loading": "Loading...", "infoTitle": "Info", "infoText": "Boost your developer experience by enabling The Graph's indexing network.", "infoLink": "Integrate new network", @@ -56,6 +57,12 @@ "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" + }, + "emptySearch": { + "title": "No networks found", + "description": "No networks match your search for \"{0}\"", + "clearSearch": "Clear search", + "showTestnets": "Show testnets" } }, "networkGuides": { diff --git a/website/src/pages/uk/index.json b/website/src/pages/uk/index.json index 93e73d382a3c..91a25451c952 100644 --- a/website/src/pages/uk/index.json +++ b/website/src/pages/uk/index.json @@ -49,6 +49,7 @@ "guides": "Guides", "search": "Search networks", "showTestnets": "Show Testnets", + "loading": "Loading...", "infoTitle": "Info", "infoText": "Boost your developer experience by enabling The Graph's indexing network.", "infoLink": "Integrate new network", @@ -56,6 +57,12 @@ "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" + }, + "emptySearch": { + "title": "No networks found", + "description": "No networks match your search for \"{0}\"", + "clearSearch": "Clear search", + "showTestnets": "Show testnets" } }, "networkGuides": { diff --git a/website/src/pages/ur/index.json b/website/src/pages/ur/index.json index 6934b4281c11..9d95f6a1ba52 100644 --- a/website/src/pages/ur/index.json +++ b/website/src/pages/ur/index.json @@ -49,6 +49,7 @@ "guides": "Guides", "search": "Search networks", "showTestnets": "Show Testnets", + "loading": "Loading...", "infoTitle": "Info", "infoText": "Boost your developer experience by enabling The Graph's indexing network.", "infoLink": "Integrate new network", @@ -56,6 +57,12 @@ "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" + }, + "emptySearch": { + "title": "No networks found", + "description": "No networks match your search for \"{0}\"", + "clearSearch": "Clear search", + "showTestnets": "Show testnets" } }, "networkGuides": { diff --git a/website/src/pages/vi/index.json b/website/src/pages/vi/index.json index 9a45f8144c3a..968819121029 100644 --- a/website/src/pages/vi/index.json +++ b/website/src/pages/vi/index.json @@ -49,6 +49,7 @@ "guides": "Guides", "search": "Search networks", "showTestnets": "Show Testnets", + "loading": "Loading...", "infoTitle": "Info", "infoText": "Boost your developer experience by enabling The Graph's indexing network.", "infoLink": "Integrate new network", @@ -56,6 +57,12 @@ "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" + }, + "emptySearch": { + "title": "No networks found", + "description": "No networks match your search for \"{0}\"", + "clearSearch": "Clear search", + "showTestnets": "Show testnets" } }, "networkGuides": { diff --git a/website/src/pages/zh/index.json b/website/src/pages/zh/index.json index f4e76d6c4666..af2ea971b87f 100644 --- a/website/src/pages/zh/index.json +++ b/website/src/pages/zh/index.json @@ -49,6 +49,7 @@ "guides": "Guides", "search": "Search networks", "showTestnets": "Show Testnets", + "loading": "Loading...", "infoTitle": "Info", "infoText": "Boost your developer experience by enabling The Graph's indexing network.", "infoLink": "Integrate new network", @@ -56,6 +57,12 @@ "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", "completeThisForm": "complete this form" + }, + "emptySearch": { + "title": "No networks found", + "description": "No networks match your search for \"{0}\"", + "clearSearch": "Clear search", + "showTestnets": "Show testnets" } }, "networkGuides": { diff --git a/website/src/supportedNetworks.tsx b/website/src/supportedNetworks.tsx index a8e88c3b49d1..4ed2861a83a2 100644 --- a/website/src/supportedNetworks.tsx +++ b/website/src/supportedNetworks.tsx @@ -5,15 +5,17 @@ import { useEffect, useMemo, useState } from 'react' import { Button, + DottedRingsSpinner, ExperimentalCopyButton, ExperimentalLink, ExperimentalSearch, ExperimentalToggleChip, Flex, + LoadingSpinner, Skeleton, Text, } from '@edgeandnode/gds' -import { Check, EyeClosed,Lightbulb } from '@edgeandnode/gds/icons' +import { Check, EyeClosed, Lightbulb } from '@edgeandnode/gds/icons' import { NetworkIcon } from '@edgeandnode/go' import { Table } from '@/components' @@ -98,14 +100,26 @@ const EmptySearchResults = ({ searchQuery, onClearSearch }: EmptySearchResultsPr const { t } = useI18n() return ( -
-
- +
+
+ + +
- {t('index.supportedNetworks.emptySearch.title')} - + + {t('index.supportedNetworks.emptySearch.title')} + + {t('index.supportedNetworks.emptySearch.description', [searchQuery])} - +
- setShowTestnets(!showTestnets)} checked={showTestnets}> - {t('index.supportedNetworks.showTestnets')} + + {isLoadingTestnets ? ( + + + {t('index.supportedNetworks.loading')} + + ) : ( + t('index.supportedNetworks.showTestnets') + )}
- {isLoading ? ( + {shouldShowLoadingScreen ? ( @@ -322,11 +374,7 @@ export function SupportedNetworksTable({
) : ( - + )} ) From 52d7c963780b01d598355ce220c52442d0c45d10 Mon Sep 17 00:00:00 2001 From: Hayder Date: Sun, 30 Mar 2025 16:03:24 +0200 Subject: [PATCH 16/37] Auto clear search input when enabling testnets from an empty state --- website/src/supportedNetworks.tsx | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/website/src/supportedNetworks.tsx b/website/src/supportedNetworks.tsx index 4ed2861a83a2..8ab2154d9e2e 100644 --- a/website/src/supportedNetworks.tsx +++ b/website/src/supportedNetworks.tsx @@ -94,11 +94,12 @@ interface EmptySearchResultsProps { searchQuery: string onClearSearch: () => void showTestnets: boolean + onToggleTestnets: () => void } -const EmptySearchResults = ({ searchQuery, onClearSearch }: EmptySearchResultsProps) => { +const EmptySearchResults = ({ searchQuery, onClearSearch, showTestnets, onToggleTestnets }: EmptySearchResultsProps) => { const { t } = useI18n() - + return (
@@ -169,6 +170,7 @@ export function SupportedNetworksTable({ const [isLoading, setIsLoading] = useState(true) const [isLoadingTestnets, setIsLoadingTestnets] = useState(false) const [hasLoadedDataBefore, setHasLoadedDataBefore] = useState(false) + const [noResults, setNoResults] = useState(false) useEffect(() => { if (networks.length > 0) { @@ -201,7 +203,7 @@ export function SupportedNetworksTable({ filtered = filtered.filter((network) => String(network.networkType) !== 'testnet') } - // Filter by search term + // Filter by search if (searchQuery) { const query = searchQuery.toLowerCase() filtered = filtered.filter( @@ -215,11 +217,19 @@ export function SupportedNetworksTable({ return filtered }, [networks, searchQuery, showTestnets]) + useEffect(() => { + setNoResults(filteredNetworks.length === 0 && searchQuery !== '') + }, [filteredNetworks.length, searchQuery]) + const handleClearSearch = () => { setSearchQuery('') } const handleShowTestnets = () => { + if (noResults) { + setSearchQuery('') + } + setIsLoadingTestnets(true) setTimeout(() => { @@ -374,7 +384,12 @@ export function SupportedNetworksTable({ ) : ( - + )} ) From 47e0c530922e6b20c466c94b140fbfd8a40fab38 Mon Sep 17 00:00:00 2001 From: Hayder Date: Sun, 30 Mar 2025 18:06:59 +0200 Subject: [PATCH 17/37] SN - Adjustments --- website/src/components/NetworkDetailsPage.tsx | 2 +- website/src/components/NetworkPage.tsx | 16 ++++++++-------- website/src/supportedNetworks.tsx | 10 +++++----- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/website/src/components/NetworkDetailsPage.tsx b/website/src/components/NetworkDetailsPage.tsx index ad64d76c2726..dc1cd68e4b1c 100644 --- a/website/src/components/NetworkDetailsPage.tsx +++ b/website/src/components/NetworkDetailsPage.tsx @@ -206,7 +206,7 @@ export default function NetworkDetailsPage({ network, locale = 'en' }: NetworkDe return ( <> -

{t('index.supportedNetworks.guides')}

+

{t('index.supportedNetworks.guides')}

{isNonEVMNetwork(network.id) ? : } ) diff --git a/website/src/components/NetworkPage.tsx b/website/src/components/NetworkPage.tsx index 7ca225073752..1b6f56997a31 100644 --- a/website/src/components/NetworkPage.tsx +++ b/website/src/components/NetworkPage.tsx @@ -2,7 +2,7 @@ import Head from 'next/head' import { useRouter } from 'next/router' import { useData } from 'nextra/hooks' -import { ExperimentalDescriptionList, Grid } from '@edgeandnode/gds' +import { ExperimentalDescriptionList, ExperimentalLink, Grid, Text } from '@edgeandnode/gds' import NetworkDetailsPage from '@/components/NetworkDetailsPage' import { useI18n } from '@/i18n' @@ -50,34 +50,34 @@ export function NetworkPage({ network }: NetworkPageProps) { {networkData.networkType && ( - {networkData.networkType} + {networkData.networkType} )} {networkData.graphNode?.protocol && ( - {networkData.graphNode.protocol} + {networkData.graphNode.protocol} )} {networkData.id && ( - {networkData.id} + {networkData.id} )} {networkData.caip2Id && ( - {networkData.caip2Id} + {networkData.caip2Id} )} {networkData.nativeToken && ( - {networkData.nativeToken} + {networkData.nativeToken} )} {networkData.docsUrl && ( - + {networkData.docsUrl} - + )} diff --git a/website/src/supportedNetworks.tsx b/website/src/supportedNetworks.tsx index 8ab2154d9e2e..a6dc5ace76c4 100644 --- a/website/src/supportedNetworks.tsx +++ b/website/src/supportedNetworks.tsx @@ -140,7 +140,7 @@ const SkeletonRow = () => {
- + @@ -258,7 +258,7 @@ export function SupportedNetworksTable({ return ( <> - + {t('index.supportedNetworks.infoTitle')} @@ -304,7 +304,7 @@ export function SupportedNetworksTable({ {t('supportedNetworks.name')} - + {t('supportedNetworks.id')} @@ -330,7 +330,7 @@ export function SupportedNetworksTable({ {t('supportedNetworks.name')} - + {t('supportedNetworks.id')} @@ -359,7 +359,7 @@ export function SupportedNetworksTable({ {network.shortName}
- +
{network.id}
From 6d235d999578d8a624f0fec21097e798e6f285d1 Mon Sep 17 00:00:00 2001 From: Hayder Date: Mon, 31 Mar 2025 17:37:47 +0200 Subject: [PATCH 18/37] Mark supported networks in menu + Add network logo in dedicated page + remove footer navigation --- website/src/components/NetworkPage.tsx | 59 ++++++++++++++----- website/src/layout/Layout.tsx | 6 ++ website/src/layout/shared.ts | 1 + .../[locale]/supported-networks/[id].mdx | 2 + 4 files changed, 52 insertions(+), 16 deletions(-) diff --git a/website/src/components/NetworkPage.tsx b/website/src/components/NetworkPage.tsx index 1b6f56997a31..403ecb800b04 100644 --- a/website/src/components/NetworkPage.tsx +++ b/website/src/components/NetworkPage.tsx @@ -1,21 +1,26 @@ +import { NetworkType } from '@pinax/graph-networks-registry' import Head from 'next/head' import { useRouter } from 'next/router' import { useData } from 'nextra/hooks' -import { ExperimentalDescriptionList, ExperimentalLink, Grid, Text } from '@edgeandnode/gds' +import { ExperimentalDescriptionList, ExperimentalLink, Grid, Skeleton, Text } from '@edgeandnode/gds' +import { NetworkIcon } from '@edgeandnode/go' import NetworkDetailsPage from '@/components/NetworkDetailsPage' import { useI18n } from '@/i18n' +import { MISSING_ICON_NETWORKS, MONO_ICON_NETWORKS } from '@/supportedNetworks' + +type CAIP2Id = `${string}:${string | number}` interface Network { id: string fullName: string shortName?: string - networkType: string + networkType: NetworkType graphNode?: { protocol: string } - caip2Id?: string + caip2Id?: CAIP2Id nativeToken?: string docsUrl?: string } @@ -27,13 +32,21 @@ interface NetworkPageProps { export function NetworkPage({ network }: NetworkPageProps) { const data = useData() const contextNetwork = data?.ssg?.network || data?.network - const networkData = network || contextNetwork + const networkData: Network = network || contextNetwork || { + id: '', + fullName: '', + networkType: NetworkType.Mainnet + } const { t } = useI18n() const router = useRouter() const { locale = 'en' } = router - if (!networkData) { - return
Network not found
+ const getIconVariant = (networkId: string): 'mono' | 'branded' => { + return MONO_ICON_NETWORKS.includes(networkId) ? 'mono' : 'branded' + } + + const shouldShowSkeleton = (networkId: string): boolean => { + return MISSING_ICON_NETWORKS.includes(networkId) || !networkId } return ( @@ -42,17 +55,31 @@ export function NetworkPage({ network }: NetworkPageProps) { {networkData.fullName}
-

{networkData.fullName}

+
+ {networkData.caip2Id ? ( +
+ {shouldShowSkeleton(networkData.id) ? ( + + ) : ( + + )} +
+ ) : null} +

{networkData.fullName}

+
- {networkData.networkType && ( - - {networkData.networkType} - - )} + + {networkData.networkType} + {networkData.graphNode?.protocol && ( {networkData.graphNode.protocol} @@ -92,10 +119,10 @@ export function NetworkPage({ network }: NetworkPageProps) { id: networkData.id, fullName: networkData.fullName, networkType: networkData.networkType, - protocol: networkData.graphNode?.protocol, - chainId: networkData.caip2Id?.split(':')[1], - nativeCurrency: networkData.nativeToken, - docs: networkData.docsUrl, + protocol: networkData.graphNode?.protocol ?? '', + chainId: networkData.caip2Id?.split(':')[1] ?? '', + nativeCurrency: networkData.nativeToken ?? '', + docs: networkData.docsUrl ?? '', }} locale={locale} /> diff --git a/website/src/layout/Layout.tsx b/website/src/layout/Layout.tsx index 2d43c3d9cfd7..d284ac99e761 100644 --- a/website/src/layout/Layout.tsx +++ b/website/src/layout/Layout.tsx @@ -161,6 +161,12 @@ export default function Layout({ pageOpts, children }: NextraThemeLayoutProps route === ancestor.route)) diff --git a/website/src/layout/shared.ts b/website/src/layout/shared.ts index 865a27fc98d1..a398269ffe98 100644 --- a/website/src/layout/shared.ts +++ b/website/src/layout/shared.ts @@ -24,6 +24,7 @@ export type FrontMatter = { hideContentFooter?: boolean unwrapContent?: boolean template?: unknown + parentRouteKey?: string } export type LayoutContextProps = { diff --git a/website/src/pages/[locale]/supported-networks/[id].mdx b/website/src/pages/[locale]/supported-networks/[id].mdx index 1fde72f3a3dd..a6f61ab4eab7 100644 --- a/website/src/pages/[locale]/supported-networks/[id].mdx +++ b/website/src/pages/[locale]/supported-networks/[id].mdx @@ -49,6 +49,8 @@ title: ${network.id} hideTableOfContents: true hideContentHeader: true unwrapContent: true +hideContentFooter: true +parentRouteKey: supported-networks --- # Network Details From fd8e80181b2ce205b04b9aedde84d6502ad8a273 Mon Sep 17 00:00:00 2001 From: Hayder Date: Mon, 31 Mar 2025 20:57:50 +0200 Subject: [PATCH 19/37] Add network logo to dedicated supported network page + fix lint --- website/src/components/NetworkDetailsPage.tsx | 2 +- website/src/components/NetworkPage.tsx | 34 +++++++++++-------- website/src/layout/Layout.tsx | 4 +-- .../[locale]/supported-networks/[id].mdx | 30 ++++------------ website/src/pages/ar/index.json | 2 +- website/src/pages/ar/supported-networks.mdx | 1 + website/src/pages/cs/index.json | 2 +- website/src/pages/cs/supported-networks.mdx | 1 + website/src/pages/de/index.json | 2 +- website/src/pages/de/supported-networks.mdx | 1 + website/src/pages/es/index.json | 2 +- website/src/pages/es/supported-networks.mdx | 1 + website/src/pages/fr/index.json | 2 +- website/src/pages/fr/supported-networks.mdx | 1 + website/src/pages/hi/index.json | 2 +- website/src/pages/hi/supported-networks.mdx | 1 + website/src/pages/it/index.json | 2 +- website/src/pages/it/supported-networks.mdx | 1 + website/src/pages/ja/index.json | 2 +- website/src/pages/ja/supported-networks.mdx | 1 + website/src/pages/ko/index.json | 2 +- website/src/pages/ko/supported-networks.mdx | 1 + website/src/pages/mr/index.json | 2 +- website/src/pages/mr/supported-networks.mdx | 1 + website/src/pages/nl/index.json | 2 +- website/src/pages/nl/supported-networks.mdx | 1 + website/src/pages/pl/index.json | 2 +- website/src/pages/pl/supported-networks.mdx | 1 + website/src/pages/pt/index.json | 2 +- website/src/pages/pt/supported-networks.mdx | 1 + website/src/pages/ro/index.json | 2 +- website/src/pages/ro/supported-networks.mdx | 1 + website/src/pages/ru/index.json | 2 +- website/src/pages/ru/supported-networks.mdx | 1 + website/src/pages/sv/index.json | 2 +- website/src/pages/sv/supported-networks.mdx | 1 + website/src/pages/tr/index.json | 2 +- website/src/pages/tr/supported-networks.mdx | 1 + website/src/pages/uk/index.json | 2 +- website/src/pages/uk/supported-networks.mdx | 1 + website/src/pages/ur/index.json | 2 +- website/src/pages/ur/supported-networks.mdx | 1 + website/src/pages/vi/index.json | 2 +- website/src/pages/vi/supported-networks.mdx | 1 + website/src/pages/zh/index.json | 2 +- website/src/pages/zh/supported-networks.mdx | 1 + website/src/supportedNetworks.tsx | 27 ++++++++------- 47 files changed, 87 insertions(+), 73 deletions(-) diff --git a/website/src/components/NetworkDetailsPage.tsx b/website/src/components/NetworkDetailsPage.tsx index dc1cd68e4b1c..a964f3a03748 100644 --- a/website/src/components/NetworkDetailsPage.tsx +++ b/website/src/components/NetworkDetailsPage.tsx @@ -206,7 +206,7 @@ export default function NetworkDetailsPage({ network, locale = 'en' }: NetworkDe return ( <> -

{t('index.supportedNetworks.guides')}

+

{t('index.supportedNetworks.guides')}

{isNonEVMNetwork(network.id) ? : } ) diff --git a/website/src/components/NetworkPage.tsx b/website/src/components/NetworkPage.tsx index 403ecb800b04..bda131e0292e 100644 --- a/website/src/components/NetworkPage.tsx +++ b/website/src/components/NetworkPage.tsx @@ -32,11 +32,12 @@ interface NetworkPageProps { export function NetworkPage({ network }: NetworkPageProps) { const data = useData() const contextNetwork = data?.ssg?.network || data?.network - const networkData: Network = network || contextNetwork || { - id: '', - fullName: '', - networkType: NetworkType.Mainnet - } + const networkData: Network = network || + contextNetwork || { + id: '', + fullName: '', + networkType: NetworkType.Mainnet, + } const { t } = useI18n() const router = useRouter() const { locale = 'en' } = router @@ -44,7 +45,7 @@ export function NetworkPage({ network }: NetworkPageProps) { const getIconVariant = (networkId: string): 'mono' | 'branded' => { return MONO_ICON_NETWORKS.includes(networkId) ? 'mono' : 'branded' } - + const shouldShowSkeleton = (networkId: string): boolean => { return MISSING_ICON_NETWORKS.includes(networkId) || !networkId } @@ -55,22 +56,22 @@ export function NetworkPage({ network }: NetworkPageProps) { {networkData.fullName}
-
+
{networkData.caip2Id ? (
{shouldShowSkeleton(networkData.id) ? ( ) : ( - )}
) : null} -

{networkData.fullName}

+

{networkData.fullName}

@@ -102,7 +103,12 @@ export function NetworkPage({ network }: NetworkPageProps) { )} {networkData.docsUrl && ( - + {networkData.docsUrl} diff --git a/website/src/layout/Layout.tsx b/website/src/layout/Layout.tsx index d284ac99e761..853f19e23f86 100644 --- a/website/src/layout/Layout.tsx +++ b/website/src/layout/Layout.tsx @@ -161,12 +161,12 @@ export default function Layout({ pageOpts, children }: NextraThemeLayoutProps route === ancestor.route)) diff --git a/website/src/pages/[locale]/supported-networks/[id].mdx b/website/src/pages/[locale]/supported-networks/[id].mdx index a6f61ab4eab7..4ec4a29d9651 100644 --- a/website/src/pages/[locale]/supported-networks/[id].mdx +++ b/website/src/pages/[locale]/supported-networks/[id].mdx @@ -8,42 +8,31 @@ import { getSupportedNetworks } from '@/supportedNetworks' export const getStaticPaths = async () => { const networks = await getSupportedNetworks() - const paths = [] for (const locale of supportedLocales) { for (const network of networks) { paths.push({ - params: { locale, id: network.id } + params: { locale, id: network.id }, }) } } - - return { - paths, - fallback: false, - } -} + +return { paths, fallback: false, } } export const getStaticProps = async ({ params }) => { const { locale, id } = params - if (!locale || !id) { return { notFound: true, } } - const networks = await getSupportedNetworks() - const network = networks.find(n => n.id === id) - + const network = networks.find((n) => n.id === id) if (!network) { return { notFound: true, } } - - const t = (key) => translate(translations, locale, key) - const rawMdx = `--- title: ${network.id} hideTableOfContents: true @@ -52,30 +41,25 @@ unwrapContent: true hideContentFooter: true parentRouteKey: supported-networks --- - # Network Details ` - const mdx = await buildDynamicMDX(rawMdx, { codeHighlight: false }) const { pageMap } = await import(`.next/static/chunks/nextra-page-map-${locale}.mjs`) - return { props: { ...mdx, __nextra_pageMap: pageMap, network, ssg: { - network - } + network, + }, }, } } - export default function NetworkDetailPage({ network }) { - return ( <> ) -} \ No newline at end of file +} diff --git a/website/src/pages/ar/index.json b/website/src/pages/ar/index.json index f78112257b6b..1df1f67265d7 100644 --- a/website/src/pages/ar/index.json +++ b/website/src/pages/ar/index.json @@ -37,7 +37,7 @@ }, "supportedNetworks": { "title": "الشبكات المدعومة", - "details": "Network Details", + "details": "Network Details", "services": "Services", "type": "Type", "protocol": "Protocol", diff --git a/website/src/pages/ar/supported-networks.mdx b/website/src/pages/ar/supported-networks.mdx index 1786510d248e..d37215a1b37f 100644 --- a/website/src/pages/ar/supported-networks.mdx +++ b/website/src/pages/ar/supported-networks.mdx @@ -3,6 +3,7 @@ title: الشبكات المدعومة hideTableOfContents: true hideContentHeader: true --- + import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' import { useI18n } from '@/i18n' diff --git a/website/src/pages/cs/index.json b/website/src/pages/cs/index.json index 09d1c7d3831c..1a73c39852a5 100644 --- a/website/src/pages/cs/index.json +++ b/website/src/pages/cs/index.json @@ -37,7 +37,7 @@ }, "supportedNetworks": { "title": "Podporované sítě", - "details": "Network Details", + "details": "Network Details", "services": "Services", "type": "Type", "protocol": "Protocol", diff --git a/website/src/pages/cs/supported-networks.mdx b/website/src/pages/cs/supported-networks.mdx index 793fcc66edf4..b34de507a959 100644 --- a/website/src/pages/cs/supported-networks.mdx +++ b/website/src/pages/cs/supported-networks.mdx @@ -3,6 +3,7 @@ title: Podporované sítě hideTableOfContents: true hideContentHeader: true --- + import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' import { useI18n } from '@/i18n' diff --git a/website/src/pages/de/index.json b/website/src/pages/de/index.json index 09c4aa96a1bd..45c13cd8df0d 100644 --- a/website/src/pages/de/index.json +++ b/website/src/pages/de/index.json @@ -37,7 +37,7 @@ }, "supportedNetworks": { "title": "Supported Networks", - "details": "Network Details", + "details": "Network Details", "services": "Services", "type": "Type", "protocol": "Protocol", diff --git a/website/src/pages/de/supported-networks.mdx b/website/src/pages/de/supported-networks.mdx index 2f5d773c5685..54fdc817d0ed 100644 --- a/website/src/pages/de/supported-networks.mdx +++ b/website/src/pages/de/supported-networks.mdx @@ -3,6 +3,7 @@ title: Supported Networks hideTableOfContents: true hideContentHeader: true --- + import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' import { useI18n } from '@/i18n' diff --git a/website/src/pages/es/index.json b/website/src/pages/es/index.json index 1feaf06f5dd2..7f0f28836629 100644 --- a/website/src/pages/es/index.json +++ b/website/src/pages/es/index.json @@ -37,7 +37,7 @@ }, "supportedNetworks": { "title": "Redes Admitidas", - "details": "Network Details", + "details": "Network Details", "services": "Services", "type": "Type", "protocol": "Protocol", diff --git a/website/src/pages/es/supported-networks.mdx b/website/src/pages/es/supported-networks.mdx index 9226da84bc4d..8432875f0e07 100644 --- a/website/src/pages/es/supported-networks.mdx +++ b/website/src/pages/es/supported-networks.mdx @@ -3,6 +3,7 @@ title: Redes Admitidas hideTableOfContents: true hideContentHeader: true --- + import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' import { useI18n } from '@/i18n' diff --git a/website/src/pages/fr/index.json b/website/src/pages/fr/index.json index 757a37791037..fa715434816a 100644 --- a/website/src/pages/fr/index.json +++ b/website/src/pages/fr/index.json @@ -37,7 +37,7 @@ }, "supportedNetworks": { "title": "Réseaux pris en charge", - "details": "Network Details", + "details": "Network Details", "services": "Services", "type": "Type", "protocol": "Protocol", diff --git a/website/src/pages/fr/supported-networks.mdx b/website/src/pages/fr/supported-networks.mdx index c9d75083cd33..5a35700c1ee5 100644 --- a/website/src/pages/fr/supported-networks.mdx +++ b/website/src/pages/fr/supported-networks.mdx @@ -3,6 +3,7 @@ title: Réseaux pris en charge hideTableOfContents: true hideContentHeader: true --- + import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' import { useI18n } from '@/i18n' diff --git a/website/src/pages/hi/index.json b/website/src/pages/hi/index.json index 13e70bf28a83..5592d8ba5899 100644 --- a/website/src/pages/hi/index.json +++ b/website/src/pages/hi/index.json @@ -37,7 +37,7 @@ }, "supportedNetworks": { "title": "समर्थित नेटवर्क", - "details": "Network Details", + "details": "Network Details", "services": "Services", "type": "Type", "protocol": "Protocol", diff --git a/website/src/pages/hi/supported-networks.mdx b/website/src/pages/hi/supported-networks.mdx index f43bf7cd81bf..2b743b042faa 100644 --- a/website/src/pages/hi/supported-networks.mdx +++ b/website/src/pages/hi/supported-networks.mdx @@ -3,6 +3,7 @@ title: समर्थित नेटवर्क hideTableOfContents: true hideContentHeader: true --- + import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' import { useI18n } from '@/i18n' diff --git a/website/src/pages/it/index.json b/website/src/pages/it/index.json index 8298ef86cf0e..78b2a10bf523 100644 --- a/website/src/pages/it/index.json +++ b/website/src/pages/it/index.json @@ -37,7 +37,7 @@ }, "supportedNetworks": { "title": "Supported Networks", - "details": "Network Details", + "details": "Network Details", "services": "Services", "type": "Type", "protocol": "Protocol", diff --git a/website/src/pages/it/supported-networks.mdx b/website/src/pages/it/supported-networks.mdx index 2f5d773c5685..54fdc817d0ed 100644 --- a/website/src/pages/it/supported-networks.mdx +++ b/website/src/pages/it/supported-networks.mdx @@ -3,6 +3,7 @@ title: Supported Networks hideTableOfContents: true hideContentHeader: true --- + import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' import { useI18n } from '@/i18n' diff --git a/website/src/pages/ja/index.json b/website/src/pages/ja/index.json index ae2e94250dfd..963c871f2b76 100644 --- a/website/src/pages/ja/index.json +++ b/website/src/pages/ja/index.json @@ -37,7 +37,7 @@ }, "supportedNetworks": { "title": "サポートされているネットワーク", - "details": "Network Details", + "details": "Network Details", "services": "Services", "type": "Type", "protocol": "Protocol", diff --git a/website/src/pages/ja/supported-networks.mdx b/website/src/pages/ja/supported-networks.mdx index 38caf703c9cc..eaa0f4900b3e 100644 --- a/website/src/pages/ja/supported-networks.mdx +++ b/website/src/pages/ja/supported-networks.mdx @@ -3,6 +3,7 @@ title: サポートされているネットワーク hideTableOfContents: true hideContentHeader: true --- + import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' import { useI18n } from '@/i18n' diff --git a/website/src/pages/ko/index.json b/website/src/pages/ko/index.json index 8298ef86cf0e..78b2a10bf523 100644 --- a/website/src/pages/ko/index.json +++ b/website/src/pages/ko/index.json @@ -37,7 +37,7 @@ }, "supportedNetworks": { "title": "Supported Networks", - "details": "Network Details", + "details": "Network Details", "services": "Services", "type": "Type", "protocol": "Protocol", diff --git a/website/src/pages/ko/supported-networks.mdx b/website/src/pages/ko/supported-networks.mdx index 2f5d773c5685..54fdc817d0ed 100644 --- a/website/src/pages/ko/supported-networks.mdx +++ b/website/src/pages/ko/supported-networks.mdx @@ -3,6 +3,7 @@ title: Supported Networks hideTableOfContents: true hideContentHeader: true --- + import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' import { useI18n } from '@/i18n' diff --git a/website/src/pages/mr/index.json b/website/src/pages/mr/index.json index b9663c891965..1fff6b14d11c 100644 --- a/website/src/pages/mr/index.json +++ b/website/src/pages/mr/index.json @@ -37,7 +37,7 @@ }, "supportedNetworks": { "title": "Supported Networks", - "details": "Network Details", + "details": "Network Details", "services": "Services", "type": "Type", "protocol": "Protocol", diff --git a/website/src/pages/mr/supported-networks.mdx b/website/src/pages/mr/supported-networks.mdx index 2f5d773c5685..54fdc817d0ed 100644 --- a/website/src/pages/mr/supported-networks.mdx +++ b/website/src/pages/mr/supported-networks.mdx @@ -3,6 +3,7 @@ title: Supported Networks hideTableOfContents: true hideContentHeader: true --- + import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' import { useI18n } from '@/i18n' diff --git a/website/src/pages/nl/index.json b/website/src/pages/nl/index.json index d19294ab32e5..688a423ea605 100644 --- a/website/src/pages/nl/index.json +++ b/website/src/pages/nl/index.json @@ -37,7 +37,7 @@ }, "supportedNetworks": { "title": "Ondersteunde Netwerken", - "details": "Network Details", + "details": "Network Details", "services": "Services", "type": "Type", "protocol": "Protocol", diff --git a/website/src/pages/nl/supported-networks.mdx b/website/src/pages/nl/supported-networks.mdx index 435c5025cd6f..88e8b6c80652 100644 --- a/website/src/pages/nl/supported-networks.mdx +++ b/website/src/pages/nl/supported-networks.mdx @@ -3,6 +3,7 @@ title: Ondersteunde Netwerken hideTableOfContents: true hideContentHeader: true --- + import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' import { useI18n } from '@/i18n' diff --git a/website/src/pages/pl/index.json b/website/src/pages/pl/index.json index f0cfece20baa..ebfa8fcb2429 100644 --- a/website/src/pages/pl/index.json +++ b/website/src/pages/pl/index.json @@ -37,7 +37,7 @@ }, "supportedNetworks": { "title": "Wspierane sieci", - "details": "Network Details", + "details": "Network Details", "services": "Services", "type": "Type", "protocol": "Protocol", diff --git a/website/src/pages/pl/supported-networks.mdx b/website/src/pages/pl/supported-networks.mdx index ab05fb02e574..23f9b6888b4f 100644 --- a/website/src/pages/pl/supported-networks.mdx +++ b/website/src/pages/pl/supported-networks.mdx @@ -3,6 +3,7 @@ title: Wspierane sieci hideTableOfContents: true hideContentHeader: true --- + import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' import { useI18n } from '@/i18n' diff --git a/website/src/pages/pt/index.json b/website/src/pages/pt/index.json index abf5886799d4..d9a250a85f6d 100644 --- a/website/src/pages/pt/index.json +++ b/website/src/pages/pt/index.json @@ -37,7 +37,7 @@ }, "supportedNetworks": { "title": "Redes Apoiadas", - "details": "Network Details", + "details": "Network Details", "services": "Services", "type": "Type", "protocol": "Protocol", diff --git a/website/src/pages/pt/supported-networks.mdx b/website/src/pages/pt/supported-networks.mdx index 3a8c637733d9..7b2b4e1334d2 100644 --- a/website/src/pages/pt/supported-networks.mdx +++ b/website/src/pages/pt/supported-networks.mdx @@ -3,6 +3,7 @@ title: Redes Apoiadas hideTableOfContents: true hideContentHeader: true --- + import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' import { useI18n } from '@/i18n' diff --git a/website/src/pages/ro/index.json b/website/src/pages/ro/index.json index 9a85290e49a1..5dfbee967176 100644 --- a/website/src/pages/ro/index.json +++ b/website/src/pages/ro/index.json @@ -37,7 +37,7 @@ }, "supportedNetworks": { "title": "Rețele suportate", - "details": "Network Details", + "details": "Network Details", "services": "Services", "type": "Type", "protocol": "Protocol", diff --git a/website/src/pages/ro/supported-networks.mdx b/website/src/pages/ro/supported-networks.mdx index 71ac28e9d543..e87d87a0392a 100644 --- a/website/src/pages/ro/supported-networks.mdx +++ b/website/src/pages/ro/supported-networks.mdx @@ -3,6 +3,7 @@ title: Rețele suportate hideTableOfContents: true hideContentHeader: true --- + import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' import { useI18n } from '@/i18n' diff --git a/website/src/pages/ru/index.json b/website/src/pages/ru/index.json index a9f4781faec6..4ddcba6b04c6 100644 --- a/website/src/pages/ru/index.json +++ b/website/src/pages/ru/index.json @@ -37,7 +37,7 @@ }, "supportedNetworks": { "title": "Поддерживаемые сети", - "details": "Network Details", + "details": "Network Details", "services": "Services", "type": "Type", "protocol": "Protocol", diff --git a/website/src/pages/ru/supported-networks.mdx b/website/src/pages/ru/supported-networks.mdx index 31ce355e354b..e1e4513f82c9 100644 --- a/website/src/pages/ru/supported-networks.mdx +++ b/website/src/pages/ru/supported-networks.mdx @@ -3,6 +3,7 @@ title: Поддерживаемые сети hideTableOfContents: true hideContentHeader: true --- + import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' import { useI18n } from '@/i18n' diff --git a/website/src/pages/sv/index.json b/website/src/pages/sv/index.json index ca568735b429..96aa8a48db75 100644 --- a/website/src/pages/sv/index.json +++ b/website/src/pages/sv/index.json @@ -37,7 +37,7 @@ }, "supportedNetworks": { "title": "Nätverk som stöds", - "details": "Network Details", + "details": "Network Details", "services": "Services", "type": "Type", "protocol": "Protocol", diff --git a/website/src/pages/sv/supported-networks.mdx b/website/src/pages/sv/supported-networks.mdx index aa9b4c16d350..99661490331b 100644 --- a/website/src/pages/sv/supported-networks.mdx +++ b/website/src/pages/sv/supported-networks.mdx @@ -3,6 +3,7 @@ title: Nätverk som stöds hideTableOfContents: true hideContentHeader: true --- + import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' import { useI18n } from '@/i18n' diff --git a/website/src/pages/tr/index.json b/website/src/pages/tr/index.json index 7332cb9decdc..1770c2820d70 100644 --- a/website/src/pages/tr/index.json +++ b/website/src/pages/tr/index.json @@ -37,7 +37,7 @@ }, "supportedNetworks": { "title": "Desteklenen Ağlar", - "details": "Network Details", + "details": "Network Details", "services": "Services", "type": "Type", "protocol": "Protocol", diff --git a/website/src/pages/tr/supported-networks.mdx b/website/src/pages/tr/supported-networks.mdx index db95018bd5af..e8f42213ac37 100644 --- a/website/src/pages/tr/supported-networks.mdx +++ b/website/src/pages/tr/supported-networks.mdx @@ -3,6 +3,7 @@ title: Desteklenen Ağlar hideTableOfContents: true hideContentHeader: true --- + import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' import { useI18n } from '@/i18n' diff --git a/website/src/pages/uk/index.json b/website/src/pages/uk/index.json index 91a25451c952..cfebc5b5ab07 100644 --- a/website/src/pages/uk/index.json +++ b/website/src/pages/uk/index.json @@ -37,7 +37,7 @@ }, "supportedNetworks": { "title": "Мережі, які підтримуються", - "details": "Network Details", + "details": "Network Details", "services": "Services", "type": "Type", "protocol": "Protocol", diff --git a/website/src/pages/uk/supported-networks.mdx b/website/src/pages/uk/supported-networks.mdx index 928cf99465b6..7bf5cd76da89 100644 --- a/website/src/pages/uk/supported-networks.mdx +++ b/website/src/pages/uk/supported-networks.mdx @@ -3,6 +3,7 @@ title: Мережі, які підтримуються hideTableOfContents: true hideContentHeader: true --- + import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' import { useI18n } from '@/i18n' diff --git a/website/src/pages/ur/index.json b/website/src/pages/ur/index.json index 9d95f6a1ba52..21609f5b5df7 100644 --- a/website/src/pages/ur/index.json +++ b/website/src/pages/ur/index.json @@ -37,7 +37,7 @@ }, "supportedNetworks": { "title": "تعاون یافتہ نیٹ ورکس", - "details": "Network Details", + "details": "Network Details", "services": "Services", "type": "Type", "protocol": "Protocol", diff --git a/website/src/pages/ur/supported-networks.mdx b/website/src/pages/ur/supported-networks.mdx index dd5c01a8988d..b0dcef0e76d9 100644 --- a/website/src/pages/ur/supported-networks.mdx +++ b/website/src/pages/ur/supported-networks.mdx @@ -3,6 +3,7 @@ title: تعاون یافتہ نیٹ ورکس hideTableOfContents: true hideContentHeader: true --- + import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' import { useI18n } from '@/i18n' diff --git a/website/src/pages/vi/index.json b/website/src/pages/vi/index.json index 968819121029..dd19c8d013d1 100644 --- a/website/src/pages/vi/index.json +++ b/website/src/pages/vi/index.json @@ -37,7 +37,7 @@ }, "supportedNetworks": { "title": "Mạng lưới được hỗ trợ", - "details": "Network Details", + "details": "Network Details", "services": "Services", "type": "Type", "protocol": "Protocol", diff --git a/website/src/pages/vi/supported-networks.mdx b/website/src/pages/vi/supported-networks.mdx index 9b40a8448ae7..f968d918a4f8 100644 --- a/website/src/pages/vi/supported-networks.mdx +++ b/website/src/pages/vi/supported-networks.mdx @@ -3,6 +3,7 @@ title: Mạng lưới được hỗ trợ hideTableOfContents: true hideContentHeader: true --- + import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' import { useI18n } from '@/i18n' diff --git a/website/src/pages/zh/index.json b/website/src/pages/zh/index.json index af2ea971b87f..8b733cfb555c 100644 --- a/website/src/pages/zh/index.json +++ b/website/src/pages/zh/index.json @@ -37,7 +37,7 @@ }, "supportedNetworks": { "title": "支持的网络", - "details": "Network Details", + "details": "Network Details", "services": "Services", "type": "Type", "protocol": "Protocol", diff --git a/website/src/pages/zh/supported-networks.mdx b/website/src/pages/zh/supported-networks.mdx index 8c1d5efc2718..74a3f8af2b53 100644 --- a/website/src/pages/zh/supported-networks.mdx +++ b/website/src/pages/zh/supported-networks.mdx @@ -3,6 +3,7 @@ title: 支持的网络 hideTableOfContents: true hideContentHeader: true --- + import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' import { useI18n } from '@/i18n' diff --git a/website/src/supportedNetworks.tsx b/website/src/supportedNetworks.tsx index a6dc5ace76c4..1bfb97cdbe94 100644 --- a/website/src/supportedNetworks.tsx +++ b/website/src/supportedNetworks.tsx @@ -97,9 +97,14 @@ interface EmptySearchResultsProps { onToggleTestnets: () => void } -const EmptySearchResults = ({ searchQuery, onClearSearch, showTestnets, onToggleTestnets }: EmptySearchResultsProps) => { +const EmptySearchResults = ({ + searchQuery, + onClearSearch, + showTestnets, + onToggleTestnets, +}: EmptySearchResultsProps) => { const { t } = useI18n() - + return (
@@ -115,9 +120,7 @@ const EmptySearchResults = ({ searchQuery, onClearSearch, showTestnets, onToggle />
- - {t('index.supportedNetworks.emptySearch.title')} - + {t('index.supportedNetworks.emptySearch.title')} {t('index.supportedNetworks.emptySearch.description', [searchQuery])} @@ -229,9 +232,9 @@ export function SupportedNetworksTable({ if (noResults) { setSearchQuery('') } - + setIsLoadingTestnets(true) - + setTimeout(() => { setShowTestnets(true) setIsLoadingTestnets(false) @@ -252,13 +255,13 @@ export function SupportedNetworksTable({ // Generate skeleton rows const skeletonRows = Array.from({ length: 20 }, (_, index) => ) - + const shouldShowLoadingScreen = isLoading || (isLoadingTestnets && !hasLoadedDataBefore) return ( <> - + {t('index.supportedNetworks.infoTitle')} @@ -384,9 +387,9 @@ export function SupportedNetworksTable({ ) : ( - From 1c7847da0c63d2e768359a8a2842235e8d716170 Mon Sep 17 00:00:00 2001 From: Hayder Date: Tue, 1 Apr 2025 06:26:31 +0200 Subject: [PATCH 20/37] UX: General improvements --- package.json | 3 + pnpm-lock.yaml | 4 ++ website/src/supportedNetworks.tsx | 113 +++++++++++++++++------------- 3 files changed, 73 insertions(+), 47 deletions(-) diff --git a/package.json b/package.json index f61d104848ed..c0d18c46b8c0 100644 --- a/package.json +++ b/package.json @@ -35,5 +35,8 @@ }, "resolutions": { "@babel/core": "7.26.7" + }, + "dependencies": { + "framer-motion": "^12.6.2" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c016007d7a5f..dc57927ed530 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,6 +10,10 @@ overrides: importers: .: + dependencies: + framer-motion: + specifier: ^12.6.2 + version: 12.6.2(@emotion/is-prop-valid@0.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) devDependencies: '@edgeandnode/eslint-config': specifier: ^2.0.3 diff --git a/website/src/supportedNetworks.tsx b/website/src/supportedNetworks.tsx index 1bfb97cdbe94..f8c735cb2d1a 100644 --- a/website/src/supportedNetworks.tsx +++ b/website/src/supportedNetworks.tsx @@ -1,4 +1,5 @@ import { NetworksRegistry } from '@pinax/graph-networks-registry' +import { AnimatePresence, motion } from 'framer-motion' import NextLink from 'next/link' import { useRouter } from 'next/router' import { useEffect, useMemo, useState } from 'react' @@ -10,7 +11,6 @@ import { ExperimentalLink, ExperimentalSearch, ExperimentalToggleChip, - Flex, LoadingSpinner, Skeleton, Text, @@ -18,7 +18,7 @@ import { import { Check, EyeClosed, Lightbulb } from '@edgeandnode/gds/icons' import { NetworkIcon } from '@edgeandnode/go' -import { Table } from '@/components' +import { Callout, Table } from '@/components' import { useI18n } from '@/i18n' // Networks that should use the "mono" icon variant @@ -162,6 +162,8 @@ const SkeletonRow = () => { ) } +const MotionTR = motion.tr + export function SupportedNetworksTable({ networks, }: Awaited>['props']) { @@ -260,18 +262,15 @@ export function SupportedNetworksTable({ return ( <> - - - - {t('index.supportedNetworks.infoTitle')} - - {t('index.supportedNetworks.infoText')}{' '} - - {t('index.supportedNetworks.infoLink')} - - - - + + + {t('index.supportedNetworks.infoText')}{' '} + + {t('index.supportedNetworks.infoLink')} + + . + +
@@ -288,6 +287,7 @@ export function SupportedNetworksTable({ onChange={handleToggleTestnets} checked={showTestnets} disabled={isLoadingTestnets} + className="min-w-34" > {isLoadingTestnets ? ( @@ -349,41 +349,60 @@ export function SupportedNetworksTable({ {t('supportedNetworks.tokenapi')} - {filteredNetworks.map((network) => ( - - - -
- {shouldShowSkeleton(network.id) ? ( - - ) : ( - - )} - {network.shortName} -
- - -
- {network.id} -
-
{ - e.preventDefault() - e.stopPropagation() - }} - > - + + {filteredNetworks.map((network) => ( + + + +
+ {shouldShowSkeleton(network.id) ? ( + + ) : ( + + )} + {network.shortName} +
+ + +
+ {network.id} +
+
{ + e.preventDefault() + e.stopPropagation() + }} + > + +
-
- - {network.subgraphs ? : null} - {network.substreams ? : null} - {network.firehose ? : null} - {network.tokenapi ? : null} - - - ))} + + {network.subgraphs ? : null} + {network.substreams ? : null} + {network.firehose ? : null} + {network.tokenapi ? : null} + + + ))} + ) : ( From 7874af6d0e7879dbf393ece8dc57a86fffbedfd8 Mon Sep 17 00:00:00 2001 From: Hayder Date: Tue, 1 Apr 2025 07:08:02 +0200 Subject: [PATCH 21/37] Add copy chain + ID --- website/src/components/NetworkPage.tsx | 31 ++++++++++++++++++-------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/website/src/components/NetworkPage.tsx b/website/src/components/NetworkPage.tsx index bda131e0292e..b37ffbe42935 100644 --- a/website/src/components/NetworkPage.tsx +++ b/website/src/components/NetworkPage.tsx @@ -3,7 +3,14 @@ import Head from 'next/head' import { useRouter } from 'next/router' import { useData } from 'nextra/hooks' -import { ExperimentalDescriptionList, ExperimentalLink, Grid, Skeleton, Text } from '@edgeandnode/gds' +import { + ExperimentalCopyButton, + ExperimentalDescriptionList, + ExperimentalLink, + Grid, + Skeleton, + Text, +} from '@edgeandnode/gds' import { NetworkIcon } from '@edgeandnode/go' import NetworkDetailsPage from '@/components/NetworkDetailsPage' @@ -77,28 +84,34 @@ export function NetworkPage({ network }: NetworkPageProps) {
- + - {networkData.networkType} + {networkData.networkType} {networkData.graphNode?.protocol && ( - {networkData.graphNode.protocol} + {networkData.graphNode.protocol} )} {networkData.id && ( - - {networkData.id} + +
+ {networkData.id} + +
)} {networkData.caip2Id && ( - - {networkData.caip2Id} + +
+ {networkData.caip2Id} + +
)} {networkData.nativeToken && ( - {networkData.nativeToken} + {networkData.nativeToken} )} {networkData.docsUrl && ( From d0b2b891a5365624861e1eaa76a9d03ab8183eb5 Mon Sep 17 00:00:00 2001 From: Hayder Date: Wed, 2 Apr 2025 09:10:42 +0200 Subject: [PATCH 22/37] Use spinner as icon --- package.json | 4 +- pnpm-lock.yaml | 87 +++++++++++++++++-------------- website/src/supportedNetworks.tsx | 11 +--- 3 files changed, 51 insertions(+), 51 deletions(-) diff --git a/package.json b/package.json index c0d18c46b8c0..6c8e55a1c500 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ }, "devDependencies": { "@edgeandnode/eslint-config": "^2.0.3", - "@types/node": "^22.13.14", + "@types/node": "^22.13.17", "eslint": "^8.57.1", "eslint-plugin-mdx": "^3.3.1", "prettier": "^3.5.3", @@ -37,6 +37,6 @@ "@babel/core": "7.26.7" }, "dependencies": { - "framer-motion": "^12.6.2" + "framer-motion": "^12.6.3" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ca843606f286..73c481fa1acb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,15 +12,15 @@ importers: .: dependencies: framer-motion: - specifier: ^12.6.2 - version: 12.6.2(@emotion/is-prop-valid@0.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^12.6.3 + version: 12.6.3(@emotion/is-prop-valid@0.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) devDependencies: '@edgeandnode/eslint-config': specifier: ^2.0.3 version: 2.0.3(eslint@8.57.1)(typescript@5.8.2) '@types/node': - specifier: ^22.13.14 - version: 22.13.14 + specifier: ^22.13.17 + version: 22.13.17 eslint: specifier: ^8.57.1 version: 8.57.1 @@ -87,7 +87,7 @@ importers: version: 5.8.2 vitest: specifier: ^2.1.9 - version: 2.1.9(@types/node@22.13.14)(jsdom@24.1.3) + version: 2.1.9(@types/node@22.13.17)(jsdom@24.1.3) wrangler: specifier: ^3.114.3 version: 3.114.3(@cloudflare/workers-types@4.20250327.0) @@ -1656,8 +1656,8 @@ packages: resolution: {integrity: sha512-jMxvwzkKzd3cXo2EB9GM2ic0eYo2rP/BS6gJt6HnWbsDO1O8GSD4k7o2Cpr2YERtMpGF/MGcDfsfj2EbQPtrXw==} engines: {node: '>= 10'} - '@napi-rs/wasm-runtime@0.2.7': - resolution: {integrity: sha512-5yximcFK5FNompXfJFoWanu5l8v1hNGqNHh9du1xETp9HWk/B/PzvchX55WYOPaIeNglG8++68AAiauBAtbnzw==} + '@napi-rs/wasm-runtime@0.2.8': + resolution: {integrity: sha512-OBlgKdX7gin7OIq4fadsjpg+cp2ZphvAIKucHsNfTdJiqdOmOEwQd/bHi0VwNrcw5xpBJyUw6cK/QilCqy1BSg==} '@next/env@13.5.11': resolution: {integrity: sha512-fbb2C7HChgM7CemdCY+y3N1n8pcTKdqtQLbC7/EQtPdLvlMUT9JX/dBYl8MMZAtYG4uVMyPFHXckb68q/NRwqg==} @@ -3390,6 +3390,9 @@ packages: '@types/node@22.13.14': resolution: {integrity: sha512-Zs/Ollc1SJ8nKUAgc7ivOEdIBM8JAKgrqqUYi2J997JuKO7/tpQC+WCetQ1sypiKCQWHdvdg9wBNpUPEWZae7w==} + '@types/node@22.13.17': + resolution: {integrity: sha512-nAJuQXoyPj04uLgu+obZcSmsfOenUg6DxPKogeUy6yNCFwWaj5sBF8/G/pNo8EtBJjAfSVgfIlugR/BCOleO+g==} + '@types/parse-json@4.0.2': resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} @@ -5249,8 +5252,8 @@ packages: fraction.js@4.3.7: resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} - framer-motion@12.6.2: - resolution: {integrity: sha512-7LgPRlPs5aG8UxeZiMCMZz8firC53+2+9TnWV22tuSi38D3IFRxHRUqOREKckAkt6ztX+Dn6weLcatQilJTMcg==} + framer-motion@12.6.3: + resolution: {integrity: sha512-2hsqknz23aloK85bzMc9nSR2/JP+fValQ459ZTVElFQ0xgwR2YqNjYSuDZdFBPOwVCt4Q9jgyTt6hg6sVOALzw==} peerDependencies: '@emotion/is-prop-valid': '*' react: ^18.0.0 || ^19.0.0 @@ -6467,11 +6470,11 @@ packages: resolution: {integrity: sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==} engines: {node: '>= 0.8.0'} - motion-dom@12.6.1: - resolution: {integrity: sha512-8XVsriTUEVOepoIDgE/LDGdg7qaKXWdt+wQA/8z0p8YzJDLYL8gbimZ3YkCLlj7bB2i/4UBD/g+VO7y9ZY0zHQ==} + motion-dom@12.6.3: + resolution: {integrity: sha512-gRY08RjcnzgFYLemUZ1lo/e9RkBxR+6d4BRvoeZDSeArG4XQXERSPapKl3LNQRu22Sndjf1h+iavgY0O4NrYqA==} - motion-utils@12.5.0: - resolution: {integrity: sha512-+hFFzvimn0sBMP9iPxBa9OtRX35ZQ3py0UHnb8U29VD+d8lQ8zH3dTygJWqK7av2v6yhg7scj9iZuvTS0f4+SA==} + motion-utils@12.6.3: + resolution: {integrity: sha512-R/b3Ia2VxtTNZ4LTEO5pKYau1OUNHOuUfxuP0WFCTDYdHkeTBR9UtxR1cc8mDmKr8PEhmmfnTKGz3rSMjNRoRg==} motion@12.6.2: resolution: {integrity: sha512-8OBjjuC59WuWHKmPzVWT5M0t5kDxtkfMfHF1M7Iey6F/nvd0AI15YlPnpGlcagW/eOfkdWDO90U/K5LF/k55Yw==} @@ -9240,7 +9243,7 @@ snapshots: '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.8.2) eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0)(eslint@8.57.1) + eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1))(eslint@8.57.1) eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint-import-resolver-typescript@3.10.0)(eslint@8.57.1) eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.1) eslint-plugin-react: 7.37.4(eslint@8.57.1) @@ -10735,7 +10738,7 @@ snapshots: '@napi-rs/simple-git-win32-arm64-msvc': 0.1.19 '@napi-rs/simple-git-win32-x64-msvc': 0.1.19 - '@napi-rs/wasm-runtime@0.2.7': + '@napi-rs/wasm-runtime@0.2.8': dependencies: '@emnapi/core': 1.4.0 '@emnapi/runtime': 1.4.0 @@ -12881,7 +12884,7 @@ snapshots: '@types/concat-stream@2.0.3': dependencies: - '@types/node': 22.13.14 + '@types/node': 22.13.17 '@types/cookie@0.6.0': {} @@ -13052,6 +13055,10 @@ snapshots: dependencies: undici-types: 6.20.0 + '@types/node@22.13.17': + dependencies: + undici-types: 6.20.0 + '@types/parse-json@4.0.2': {} '@types/pbkdf2@3.1.2': @@ -13285,7 +13292,7 @@ snapshots: '@unrs/resolver-binding-wasm32-wasi@1.3.3': dependencies: - '@napi-rs/wasm-runtime': 0.2.7 + '@napi-rs/wasm-runtime': 0.2.8 optional: true '@unrs/resolver-binding-win32-arm64-msvc@1.3.3': @@ -13315,13 +13322,13 @@ snapshots: chai: 5.2.0 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.9(vite@5.4.16(@types/node@22.13.14))': + '@vitest/mocker@2.1.9(vite@5.4.16(@types/node@22.13.17))': dependencies: '@vitest/spy': 2.1.9 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 5.4.16(@types/node@22.13.14) + vite: 5.4.16(@types/node@22.13.17) '@vitest/pretty-format@2.1.9': dependencies: @@ -14733,7 +14740,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0)(eslint@8.57.1): + eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1))(eslint@8.57.1): dependencies: '@nolyfill/is-core-module': 1.0.39 debug: 4.4.0(supports-color@8.1.1) @@ -14769,14 +14776,14 @@ snapshots: - bluebird - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0)(eslint@8.57.1): + eslint-module-utils@2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1): dependencies: debug: 3.2.7 optionalDependencies: '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.8.2) eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0)(eslint@8.57.1) + eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1))(eslint@8.57.1) transitivePeerDependencies: - supports-color @@ -14791,7 +14798,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0)(eslint@8.57.1) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -15336,10 +15343,10 @@ snapshots: fraction.js@4.3.7: {} - framer-motion@12.6.2(@emotion/is-prop-valid@0.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + framer-motion@12.6.3(@emotion/is-prop-valid@0.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - motion-dom: 12.6.1 - motion-utils: 12.5.0 + motion-dom: 12.6.3 + motion-utils: 12.6.3 tslib: 2.8.1 optionalDependencies: '@emotion/is-prop-valid': 0.8.8 @@ -17073,15 +17080,15 @@ snapshots: transitivePeerDependencies: - supports-color - motion-dom@12.6.1: + motion-dom@12.6.3: dependencies: - motion-utils: 12.5.0 + motion-utils: 12.6.3 - motion-utils@12.5.0: {} + motion-utils@12.6.3: {} motion@12.6.2(@emotion/is-prop-valid@0.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - framer-motion: 12.6.2(@emotion/is-prop-valid@0.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + framer-motion: 12.6.3(@emotion/is-prop-valid@0.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) tslib: 2.8.1 optionalDependencies: '@emotion/is-prop-valid': 0.8.8 @@ -19276,7 +19283,7 @@ snapshots: '@types/concat-stream': 2.0.3 '@types/debug': 4.1.12 '@types/is-empty': 1.2.3 - '@types/node': 22.13.14 + '@types/node': 22.13.17 '@types/unist': 3.0.3 concat-stream: 2.0.0 debug: 4.4.0(supports-color@8.1.1) @@ -19551,13 +19558,13 @@ snapshots: - utf-8-validate - zod - vite-node@2.1.9(@types/node@22.13.14): + vite-node@2.1.9(@types/node@22.13.17): dependencies: cac: 6.7.14 debug: 4.4.0(supports-color@8.1.1) es-module-lexer: 1.6.0 pathe: 1.1.2 - vite: 5.4.16(@types/node@22.13.14) + vite: 5.4.16(@types/node@22.13.17) transitivePeerDependencies: - '@types/node' - less @@ -19569,19 +19576,19 @@ snapshots: - supports-color - terser - vite@5.4.16(@types/node@22.13.14): + vite@5.4.16(@types/node@22.13.17): dependencies: esbuild: 0.21.5 postcss: 8.5.3 rollup: 4.38.0 optionalDependencies: - '@types/node': 22.13.14 + '@types/node': 22.13.17 fsevents: 2.3.3 - vitest@2.1.9(@types/node@22.13.14)(jsdom@24.1.3): + vitest@2.1.9(@types/node@22.13.17)(jsdom@24.1.3): dependencies: '@vitest/expect': 2.1.9 - '@vitest/mocker': 2.1.9(vite@5.4.16(@types/node@22.13.14)) + '@vitest/mocker': 2.1.9(vite@5.4.16(@types/node@22.13.17)) '@vitest/pretty-format': 2.1.9 '@vitest/runner': 2.1.9 '@vitest/snapshot': 2.1.9 @@ -19597,11 +19604,11 @@ snapshots: tinyexec: 0.3.2 tinypool: 1.0.2 tinyrainbow: 1.2.0 - vite: 5.4.16(@types/node@22.13.14) - vite-node: 2.1.9(@types/node@22.13.14) + vite: 5.4.16(@types/node@22.13.17) + vite-node: 2.1.9(@types/node@22.13.17) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.13.14 + '@types/node': 22.13.17 jsdom: 24.1.3 transitivePeerDependencies: - less diff --git a/website/src/supportedNetworks.tsx b/website/src/supportedNetworks.tsx index f8c735cb2d1a..156b570c0746 100644 --- a/website/src/supportedNetworks.tsx +++ b/website/src/supportedNetworks.tsx @@ -287,16 +287,9 @@ export function SupportedNetworksTable({ onChange={handleToggleTestnets} checked={showTestnets} disabled={isLoadingTestnets} - className="min-w-34" + iconBefore={isLoadingTestnets ? : undefined} > - {isLoadingTestnets ? ( - - - {t('index.supportedNetworks.loading')} - - ) : ( - t('index.supportedNetworks.showTestnets') - )} + {t('index.supportedNetworks.showTestnets')}
From 67afec11b18f9e0e70ef4e02e20371b52dcac0ec Mon Sep 17 00:00:00 2001 From: Hayder Date: Wed, 2 Apr 2025 09:43:39 +0200 Subject: [PATCH 23/37] consolidate supported-networks translations into index.json --- website/src/pages/ar/index.json | 8 +++++++ website/src/pages/ar/supported-networks.json | 8 ------- website/src/pages/ar/translations.ts | 2 -- website/src/pages/cs/index.json | 8 +++++++ website/src/pages/cs/supported-networks.json | 8 ------- website/src/pages/cs/translations.ts | 2 -- website/src/pages/de/index.json | 8 +++++++ website/src/pages/de/supported-networks.json | 8 ------- website/src/pages/de/translations.ts | 2 -- website/src/pages/en/index.json | 8 +++++++ website/src/pages/en/supported-networks.json | 8 ------- website/src/pages/en/translations.ts | 2 -- website/src/pages/es/index.json | 8 +++++++ website/src/pages/es/supported-networks.json | 8 ------- website/src/pages/es/translations.ts | 2 -- website/src/pages/fr/index.json | 8 +++++++ website/src/pages/fr/supported-networks.json | 8 ------- website/src/pages/fr/translations.ts | 2 -- website/src/pages/hi/index.json | 8 +++++++ website/src/pages/hi/supported-networks.json | 8 ------- website/src/pages/hi/translations.ts | 2 -- website/src/pages/it/index.json | 8 +++++++ website/src/pages/it/supported-networks.json | 8 ------- website/src/pages/it/translations.ts | 2 -- website/src/pages/ja/index.json | 8 +++++++ website/src/pages/ja/supported-networks.json | 8 ------- website/src/pages/ja/translations.ts | 2 -- website/src/pages/ko/index.json | 8 +++++++ website/src/pages/ko/supported-networks.json | 8 ------- website/src/pages/ko/translations.ts | 2 -- website/src/pages/mr/index.json | 8 +++++++ website/src/pages/mr/supported-networks.json | 8 ------- website/src/pages/mr/translations.ts | 2 -- website/src/pages/nl/index.json | 8 +++++++ website/src/pages/nl/supported-networks.json | 8 ------- website/src/pages/nl/translations.ts | 2 -- website/src/pages/pl/index.json | 8 +++++++ website/src/pages/pl/supported-networks.json | 8 ------- website/src/pages/pl/translations.ts | 2 -- website/src/pages/pt/index.json | 8 +++++++ website/src/pages/pt/supported-networks.json | 8 ------- website/src/pages/pt/translations.ts | 2 -- website/src/pages/ro/index.json | 8 +++++++ website/src/pages/ro/supported-networks.json | 8 ------- website/src/pages/ro/translations.ts | 2 -- website/src/pages/ru/index.json | 8 +++++++ website/src/pages/ru/supported-networks.json | 8 ------- website/src/pages/ru/translations.ts | 2 -- website/src/pages/sv/index.json | 8 +++++++ website/src/pages/sv/supported-networks.json | 8 ------- website/src/pages/sv/translations.ts | 2 -- website/src/pages/tr/index.json | 8 +++++++ website/src/pages/tr/supported-networks.json | 8 ------- website/src/pages/tr/translations.ts | 2 -- website/src/pages/uk/index.json | 8 +++++++ website/src/pages/uk/supported-networks.json | 8 ------- website/src/pages/uk/translations.ts | 2 -- website/src/pages/ur/index.json | 8 +++++++ website/src/pages/ur/supported-networks.json | 8 ------- website/src/pages/ur/translations.ts | 2 -- website/src/pages/vi/index.json | 8 +++++++ website/src/pages/vi/supported-networks.json | 8 ------- website/src/pages/vi/translations.ts | 2 -- website/src/pages/zh/index.json | 8 +++++++ website/src/pages/zh/supported-networks.json | 8 ------- website/src/pages/zh/translations.ts | 2 -- website/src/supportedNetworks.tsx | 24 ++++++++++---------- 67 files changed, 188 insertions(+), 232 deletions(-) delete mode 100644 website/src/pages/ar/supported-networks.json delete mode 100644 website/src/pages/cs/supported-networks.json delete mode 100644 website/src/pages/de/supported-networks.json delete mode 100644 website/src/pages/en/supported-networks.json delete mode 100644 website/src/pages/es/supported-networks.json delete mode 100644 website/src/pages/fr/supported-networks.json delete mode 100644 website/src/pages/hi/supported-networks.json delete mode 100644 website/src/pages/it/supported-networks.json delete mode 100644 website/src/pages/ja/supported-networks.json delete mode 100644 website/src/pages/ko/supported-networks.json delete mode 100644 website/src/pages/mr/supported-networks.json delete mode 100644 website/src/pages/nl/supported-networks.json delete mode 100644 website/src/pages/pl/supported-networks.json delete mode 100644 website/src/pages/pt/supported-networks.json delete mode 100644 website/src/pages/ro/supported-networks.json delete mode 100644 website/src/pages/ru/supported-networks.json delete mode 100644 website/src/pages/sv/supported-networks.json delete mode 100644 website/src/pages/tr/supported-networks.json delete mode 100644 website/src/pages/uk/supported-networks.json delete mode 100644 website/src/pages/ur/supported-networks.json delete mode 100644 website/src/pages/vi/supported-networks.json delete mode 100644 website/src/pages/zh/supported-networks.json diff --git a/website/src/pages/ar/index.json b/website/src/pages/ar/index.json index 1df1f67265d7..c53846a9d8fa 100644 --- a/website/src/pages/ar/index.json +++ b/website/src/pages/ar/index.json @@ -63,6 +63,14 @@ "description": "No networks match your search for \"{0}\"", "clearSearch": "Clear search", "showTestnets": "Show testnets" + }, + "tableHeaders": { + "name": "Name", + "id": "ID", + "subgraphs": "Subgraphs", + "substreams": "Substreams", + "firehose": "Firehose", + "tokenapi": "Token API" } }, "networkGuides": { diff --git a/website/src/pages/ar/supported-networks.json b/website/src/pages/ar/supported-networks.json deleted file mode 100644 index 2d8b24a5fe70..000000000000 --- a/website/src/pages/ar/supported-networks.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "Name", - "id": "ID", - "subgraphs": "Subgraphs", - "substreams": "متعدد-السلاسل", - "firehose": "Firehose", - "tokenapi": "Token API" -} diff --git a/website/src/pages/ar/translations.ts b/website/src/pages/ar/translations.ts index 06122ebdc542..c13c1c5e90b9 100644 --- a/website/src/pages/ar/translations.ts +++ b/website/src/pages/ar/translations.ts @@ -2,14 +2,12 @@ import contracts from './contracts.json' import docsearch from './docsearch.json' import global from './global.json' import index from './index.json' -import supportedNetworks from './supported-networks.json' const translations = { contracts, global, index, docsearch, - supportedNetworks, } export default translations diff --git a/website/src/pages/cs/index.json b/website/src/pages/cs/index.json index 1a73c39852a5..dd7566b56c2e 100644 --- a/website/src/pages/cs/index.json +++ b/website/src/pages/cs/index.json @@ -63,6 +63,14 @@ "description": "No networks match your search for \"{0}\"", "clearSearch": "Clear search", "showTestnets": "Show testnets" + }, + "tableHeaders": { + "name": "Name", + "id": "ID", + "subgraphs": "Subgraphs", + "substreams": "Substreams", + "firehose": "Firehose", + "tokenapi": "Token API" } }, "networkGuides": { diff --git a/website/src/pages/cs/supported-networks.json b/website/src/pages/cs/supported-networks.json deleted file mode 100644 index 7f43eab87140..000000000000 --- a/website/src/pages/cs/supported-networks.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "Name", - "id": "ID", - "subgraphs": "Podgrafy", - "substreams": "Substreams", - "firehose": "Firehose", - "tokenapi": "Token API" -} diff --git a/website/src/pages/cs/translations.ts b/website/src/pages/cs/translations.ts index 06122ebdc542..c13c1c5e90b9 100644 --- a/website/src/pages/cs/translations.ts +++ b/website/src/pages/cs/translations.ts @@ -2,14 +2,12 @@ import contracts from './contracts.json' import docsearch from './docsearch.json' import global from './global.json' import index from './index.json' -import supportedNetworks from './supported-networks.json' const translations = { contracts, global, index, docsearch, - supportedNetworks, } export default translations diff --git a/website/src/pages/de/index.json b/website/src/pages/de/index.json index 45c13cd8df0d..fccfa5cf2a6c 100644 --- a/website/src/pages/de/index.json +++ b/website/src/pages/de/index.json @@ -63,6 +63,14 @@ "description": "No networks match your search for \"{0}\"", "clearSearch": "Clear search", "showTestnets": "Show testnets" + }, + "tableHeaders": { + "name": "Name", + "id": "ID", + "subgraphs": "Subgraphs", + "substreams": "Substreams", + "firehose": "Firehose", + "tokenapi": "Token API" } }, "networkGuides": { diff --git a/website/src/pages/de/supported-networks.json b/website/src/pages/de/supported-networks.json deleted file mode 100644 index 2a0cf56ca0ca..000000000000 --- a/website/src/pages/de/supported-networks.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "Name", - "id": "ID", - "subgraphs": "Subgraphs", - "substreams": "Substreams", - "firehose": "Firehose", - "tokenapi": "Token API" -} diff --git a/website/src/pages/de/translations.ts b/website/src/pages/de/translations.ts index 06122ebdc542..c13c1c5e90b9 100644 --- a/website/src/pages/de/translations.ts +++ b/website/src/pages/de/translations.ts @@ -2,14 +2,12 @@ import contracts from './contracts.json' import docsearch from './docsearch.json' import global from './global.json' import index from './index.json' -import supportedNetworks from './supported-networks.json' const translations = { contracts, global, index, docsearch, - supportedNetworks, } export default translations diff --git a/website/src/pages/en/index.json b/website/src/pages/en/index.json index 27de22208de1..95bf30d1752a 100644 --- a/website/src/pages/en/index.json +++ b/website/src/pages/en/index.json @@ -63,6 +63,14 @@ "description": "No networks match your search for \"{0}\"", "clearSearch": "Clear search", "showTestnets": "Show testnets" + }, + "tableHeaders": { + "name": "Name", + "id": "ID", + "subgraphs": "Subgraphs", + "substreams": "Substreams", + "firehose": "Firehose", + "tokenapi": "Token API" } }, "networkGuides": { diff --git a/website/src/pages/en/supported-networks.json b/website/src/pages/en/supported-networks.json deleted file mode 100644 index 2a0cf56ca0ca..000000000000 --- a/website/src/pages/en/supported-networks.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "Name", - "id": "ID", - "subgraphs": "Subgraphs", - "substreams": "Substreams", - "firehose": "Firehose", - "tokenapi": "Token API" -} diff --git a/website/src/pages/en/translations.ts b/website/src/pages/en/translations.ts index 06122ebdc542..c13c1c5e90b9 100644 --- a/website/src/pages/en/translations.ts +++ b/website/src/pages/en/translations.ts @@ -2,14 +2,12 @@ import contracts from './contracts.json' import docsearch from './docsearch.json' import global from './global.json' import index from './index.json' -import supportedNetworks from './supported-networks.json' const translations = { contracts, global, index, docsearch, - supportedNetworks, } export default translations diff --git a/website/src/pages/es/index.json b/website/src/pages/es/index.json index 7f0f28836629..d95f65ce5452 100644 --- a/website/src/pages/es/index.json +++ b/website/src/pages/es/index.json @@ -63,6 +63,14 @@ "description": "No networks match your search for \"{0}\"", "clearSearch": "Clear search", "showTestnets": "Show testnets" + }, + "tableHeaders": { + "name": "Name", + "id": "ID", + "subgraphs": "Subgraphs", + "substreams": "Substreams", + "firehose": "Firehose", + "tokenapi": "Token API" } }, "networkGuides": { diff --git a/website/src/pages/es/supported-networks.json b/website/src/pages/es/supported-networks.json deleted file mode 100644 index 67d47ad44373..000000000000 --- a/website/src/pages/es/supported-networks.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "Name", - "id": "ID", - "subgraphs": "Subgrafos", - "substreams": "Corrientes secundarias", - "firehose": "Firehose", - "tokenapi": "Token API" -} diff --git a/website/src/pages/es/translations.ts b/website/src/pages/es/translations.ts index 06122ebdc542..c13c1c5e90b9 100644 --- a/website/src/pages/es/translations.ts +++ b/website/src/pages/es/translations.ts @@ -2,14 +2,12 @@ import contracts from './contracts.json' import docsearch from './docsearch.json' import global from './global.json' import index from './index.json' -import supportedNetworks from './supported-networks.json' const translations = { contracts, global, index, docsearch, - supportedNetworks, } export default translations diff --git a/website/src/pages/fr/index.json b/website/src/pages/fr/index.json index fa715434816a..f8474c21382e 100644 --- a/website/src/pages/fr/index.json +++ b/website/src/pages/fr/index.json @@ -63,6 +63,14 @@ "description": "No networks match your search for \"{0}\"", "clearSearch": "Clear search", "showTestnets": "Show testnets" + }, + "tableHeaders": { + "name": "Name", + "id": "ID", + "subgraphs": "Subgraphs", + "substreams": "Substreams", + "firehose": "Firehose", + "tokenapi": "Token API" } }, "networkGuides": { diff --git a/website/src/pages/fr/supported-networks.json b/website/src/pages/fr/supported-networks.json deleted file mode 100644 index 2a0cf56ca0ca..000000000000 --- a/website/src/pages/fr/supported-networks.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "Name", - "id": "ID", - "subgraphs": "Subgraphs", - "substreams": "Substreams", - "firehose": "Firehose", - "tokenapi": "Token API" -} diff --git a/website/src/pages/fr/translations.ts b/website/src/pages/fr/translations.ts index 06122ebdc542..c13c1c5e90b9 100644 --- a/website/src/pages/fr/translations.ts +++ b/website/src/pages/fr/translations.ts @@ -2,14 +2,12 @@ import contracts from './contracts.json' import docsearch from './docsearch.json' import global from './global.json' import index from './index.json' -import supportedNetworks from './supported-networks.json' const translations = { contracts, global, index, docsearch, - supportedNetworks, } export default translations diff --git a/website/src/pages/hi/index.json b/website/src/pages/hi/index.json index 5592d8ba5899..647821902fcd 100644 --- a/website/src/pages/hi/index.json +++ b/website/src/pages/hi/index.json @@ -63,6 +63,14 @@ "description": "No networks match your search for \"{0}\"", "clearSearch": "Clear search", "showTestnets": "Show testnets" + }, + "tableHeaders": { + "name": "Name", + "id": "ID", + "subgraphs": "Subgraphs", + "substreams": "Substreams", + "firehose": "Firehose", + "tokenapi": "Token API" } }, "networkGuides": { diff --git a/website/src/pages/hi/supported-networks.json b/website/src/pages/hi/supported-networks.json deleted file mode 100644 index c51c74db4219..000000000000 --- a/website/src/pages/hi/supported-networks.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "Name", - "id": "ID", - "subgraphs": "सबग्राफ", - "substreams": "सबस्ट्रीम", - "firehose": "Firehose", - "tokenapi": "Token API" -} diff --git a/website/src/pages/hi/translations.ts b/website/src/pages/hi/translations.ts index 06122ebdc542..c13c1c5e90b9 100644 --- a/website/src/pages/hi/translations.ts +++ b/website/src/pages/hi/translations.ts @@ -2,14 +2,12 @@ import contracts from './contracts.json' import docsearch from './docsearch.json' import global from './global.json' import index from './index.json' -import supportedNetworks from './supported-networks.json' const translations = { contracts, global, index, docsearch, - supportedNetworks, } export default translations diff --git a/website/src/pages/it/index.json b/website/src/pages/it/index.json index 78b2a10bf523..c2d9d0bed1be 100644 --- a/website/src/pages/it/index.json +++ b/website/src/pages/it/index.json @@ -63,6 +63,14 @@ "description": "No networks match your search for \"{0}\"", "clearSearch": "Clear search", "showTestnets": "Show testnets" + }, + "tableHeaders": { + "name": "Name", + "id": "ID", + "subgraphs": "Subgraphs", + "substreams": "Substreams", + "firehose": "Firehose", + "tokenapi": "Token API" } }, "networkGuides": { diff --git a/website/src/pages/it/supported-networks.json b/website/src/pages/it/supported-networks.json deleted file mode 100644 index 2a0cf56ca0ca..000000000000 --- a/website/src/pages/it/supported-networks.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "Name", - "id": "ID", - "subgraphs": "Subgraphs", - "substreams": "Substreams", - "firehose": "Firehose", - "tokenapi": "Token API" -} diff --git a/website/src/pages/it/translations.ts b/website/src/pages/it/translations.ts index 06122ebdc542..c13c1c5e90b9 100644 --- a/website/src/pages/it/translations.ts +++ b/website/src/pages/it/translations.ts @@ -2,14 +2,12 @@ import contracts from './contracts.json' import docsearch from './docsearch.json' import global from './global.json' import index from './index.json' -import supportedNetworks from './supported-networks.json' const translations = { contracts, global, index, docsearch, - supportedNetworks, } export default translations diff --git a/website/src/pages/ja/index.json b/website/src/pages/ja/index.json index 963c871f2b76..adc03e4b959a 100644 --- a/website/src/pages/ja/index.json +++ b/website/src/pages/ja/index.json @@ -63,6 +63,14 @@ "description": "No networks match your search for \"{0}\"", "clearSearch": "Clear search", "showTestnets": "Show testnets" + }, + "tableHeaders": { + "name": "Name", + "id": "ID", + "subgraphs": "Subgraphs", + "substreams": "Substreams", + "firehose": "Firehose", + "tokenapi": "Token API" } }, "networkGuides": { diff --git a/website/src/pages/ja/supported-networks.json b/website/src/pages/ja/supported-networks.json deleted file mode 100644 index 9093514b5148..000000000000 --- a/website/src/pages/ja/supported-networks.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "Name", - "id": "ID", - "subgraphs": "サブグラフ", - "substreams": "サブストリーム", - "firehose": "Firehose", - "tokenapi": "Token API" -} diff --git a/website/src/pages/ja/translations.ts b/website/src/pages/ja/translations.ts index 06122ebdc542..c13c1c5e90b9 100644 --- a/website/src/pages/ja/translations.ts +++ b/website/src/pages/ja/translations.ts @@ -2,14 +2,12 @@ import contracts from './contracts.json' import docsearch from './docsearch.json' import global from './global.json' import index from './index.json' -import supportedNetworks from './supported-networks.json' const translations = { contracts, global, index, docsearch, - supportedNetworks, } export default translations diff --git a/website/src/pages/ko/index.json b/website/src/pages/ko/index.json index 78b2a10bf523..c2d9d0bed1be 100644 --- a/website/src/pages/ko/index.json +++ b/website/src/pages/ko/index.json @@ -63,6 +63,14 @@ "description": "No networks match your search for \"{0}\"", "clearSearch": "Clear search", "showTestnets": "Show testnets" + }, + "tableHeaders": { + "name": "Name", + "id": "ID", + "subgraphs": "Subgraphs", + "substreams": "Substreams", + "firehose": "Firehose", + "tokenapi": "Token API" } }, "networkGuides": { diff --git a/website/src/pages/ko/supported-networks.json b/website/src/pages/ko/supported-networks.json deleted file mode 100644 index 2a0cf56ca0ca..000000000000 --- a/website/src/pages/ko/supported-networks.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "Name", - "id": "ID", - "subgraphs": "Subgraphs", - "substreams": "Substreams", - "firehose": "Firehose", - "tokenapi": "Token API" -} diff --git a/website/src/pages/ko/translations.ts b/website/src/pages/ko/translations.ts index 06122ebdc542..c13c1c5e90b9 100644 --- a/website/src/pages/ko/translations.ts +++ b/website/src/pages/ko/translations.ts @@ -2,14 +2,12 @@ import contracts from './contracts.json' import docsearch from './docsearch.json' import global from './global.json' import index from './index.json' -import supportedNetworks from './supported-networks.json' const translations = { contracts, global, index, docsearch, - supportedNetworks, } export default translations diff --git a/website/src/pages/mr/index.json b/website/src/pages/mr/index.json index 1fff6b14d11c..a5d97255046e 100644 --- a/website/src/pages/mr/index.json +++ b/website/src/pages/mr/index.json @@ -63,6 +63,14 @@ "description": "No networks match your search for \"{0}\"", "clearSearch": "Clear search", "showTestnets": "Show testnets" + }, + "tableHeaders": { + "name": "Name", + "id": "ID", + "subgraphs": "Subgraphs", + "substreams": "Substreams", + "firehose": "Firehose", + "tokenapi": "Token API" } }, "networkGuides": { diff --git a/website/src/pages/mr/supported-networks.json b/website/src/pages/mr/supported-networks.json deleted file mode 100644 index 04ad84ca161d..000000000000 --- a/website/src/pages/mr/supported-networks.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "Name", - "id": "ID", - "subgraphs": "सबग्राफ", - "substreams": "उपप्रवाह", - "firehose": "फायरहोस", - "tokenapi": "Token API" -} diff --git a/website/src/pages/mr/translations.ts b/website/src/pages/mr/translations.ts index 06122ebdc542..c13c1c5e90b9 100644 --- a/website/src/pages/mr/translations.ts +++ b/website/src/pages/mr/translations.ts @@ -2,14 +2,12 @@ import contracts from './contracts.json' import docsearch from './docsearch.json' import global from './global.json' import index from './index.json' -import supportedNetworks from './supported-networks.json' const translations = { contracts, global, index, docsearch, - supportedNetworks, } export default translations diff --git a/website/src/pages/nl/index.json b/website/src/pages/nl/index.json index 688a423ea605..bf2fa6bdc70b 100644 --- a/website/src/pages/nl/index.json +++ b/website/src/pages/nl/index.json @@ -63,6 +63,14 @@ "description": "No networks match your search for \"{0}\"", "clearSearch": "Clear search", "showTestnets": "Show testnets" + }, + "tableHeaders": { + "name": "Name", + "id": "ID", + "subgraphs": "Subgraphs", + "substreams": "Substreams", + "firehose": "Firehose", + "tokenapi": "Token API" } }, "networkGuides": { diff --git a/website/src/pages/nl/supported-networks.json b/website/src/pages/nl/supported-networks.json deleted file mode 100644 index 2a0cf56ca0ca..000000000000 --- a/website/src/pages/nl/supported-networks.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "Name", - "id": "ID", - "subgraphs": "Subgraphs", - "substreams": "Substreams", - "firehose": "Firehose", - "tokenapi": "Token API" -} diff --git a/website/src/pages/nl/translations.ts b/website/src/pages/nl/translations.ts index 06122ebdc542..c13c1c5e90b9 100644 --- a/website/src/pages/nl/translations.ts +++ b/website/src/pages/nl/translations.ts @@ -2,14 +2,12 @@ import contracts from './contracts.json' import docsearch from './docsearch.json' import global from './global.json' import index from './index.json' -import supportedNetworks from './supported-networks.json' const translations = { contracts, global, index, docsearch, - supportedNetworks, } export default translations diff --git a/website/src/pages/pl/index.json b/website/src/pages/pl/index.json index ebfa8fcb2429..2715d757b23a 100644 --- a/website/src/pages/pl/index.json +++ b/website/src/pages/pl/index.json @@ -63,6 +63,14 @@ "description": "No networks match your search for \"{0}\"", "clearSearch": "Clear search", "showTestnets": "Show testnets" + }, + "tableHeaders": { + "name": "Name", + "id": "ID", + "subgraphs": "Subgraphs", + "substreams": "Substreams", + "firehose": "Firehose", + "tokenapi": "Token API" } }, "networkGuides": { diff --git a/website/src/pages/pl/supported-networks.json b/website/src/pages/pl/supported-networks.json deleted file mode 100644 index 77c2773b0cf6..000000000000 --- a/website/src/pages/pl/supported-networks.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "Name", - "id": "ID", - "subgraphs": "Subgrafy", - "substreams": "Substreams", - "firehose": "Firehose", - "tokenapi": "Token API" -} diff --git a/website/src/pages/pl/translations.ts b/website/src/pages/pl/translations.ts index 06122ebdc542..c13c1c5e90b9 100644 --- a/website/src/pages/pl/translations.ts +++ b/website/src/pages/pl/translations.ts @@ -2,14 +2,12 @@ import contracts from './contracts.json' import docsearch from './docsearch.json' import global from './global.json' import index from './index.json' -import supportedNetworks from './supported-networks.json' const translations = { contracts, global, index, docsearch, - supportedNetworks, } export default translations diff --git a/website/src/pages/pt/index.json b/website/src/pages/pt/index.json index d9a250a85f6d..15df67073c16 100644 --- a/website/src/pages/pt/index.json +++ b/website/src/pages/pt/index.json @@ -63,6 +63,14 @@ "description": "No networks match your search for \"{0}\"", "clearSearch": "Clear search", "showTestnets": "Show testnets" + }, + "tableHeaders": { + "name": "Name", + "id": "ID", + "subgraphs": "Subgraphs", + "substreams": "Substreams", + "firehose": "Firehose", + "tokenapi": "Token API" } }, "networkGuides": { diff --git a/website/src/pages/pt/supported-networks.json b/website/src/pages/pt/supported-networks.json deleted file mode 100644 index 2a0cf56ca0ca..000000000000 --- a/website/src/pages/pt/supported-networks.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "Name", - "id": "ID", - "subgraphs": "Subgraphs", - "substreams": "Substreams", - "firehose": "Firehose", - "tokenapi": "Token API" -} diff --git a/website/src/pages/pt/translations.ts b/website/src/pages/pt/translations.ts index 06122ebdc542..c13c1c5e90b9 100644 --- a/website/src/pages/pt/translations.ts +++ b/website/src/pages/pt/translations.ts @@ -2,14 +2,12 @@ import contracts from './contracts.json' import docsearch from './docsearch.json' import global from './global.json' import index from './index.json' -import supportedNetworks from './supported-networks.json' const translations = { contracts, global, index, docsearch, - supportedNetworks, } export default translations diff --git a/website/src/pages/ro/index.json b/website/src/pages/ro/index.json index 5dfbee967176..0515c5cc51f3 100644 --- a/website/src/pages/ro/index.json +++ b/website/src/pages/ro/index.json @@ -63,6 +63,14 @@ "description": "No networks match your search for \"{0}\"", "clearSearch": "Clear search", "showTestnets": "Show testnets" + }, + "tableHeaders": { + "name": "Name", + "id": "ID", + "subgraphs": "Subgraphs", + "substreams": "Substreams", + "firehose": "Firehose", + "tokenapi": "Token API" } }, "networkGuides": { diff --git a/website/src/pages/ro/supported-networks.json b/website/src/pages/ro/supported-networks.json deleted file mode 100644 index f580ec4836b1..000000000000 --- a/website/src/pages/ro/supported-networks.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "Name", - "id": "ID", - "subgraphs": "Subgrafuri", - "substreams": "Substreams", - "firehose": "Firehose", - "tokenapi": "Token API" -} diff --git a/website/src/pages/ro/translations.ts b/website/src/pages/ro/translations.ts index 06122ebdc542..c13c1c5e90b9 100644 --- a/website/src/pages/ro/translations.ts +++ b/website/src/pages/ro/translations.ts @@ -2,14 +2,12 @@ import contracts from './contracts.json' import docsearch from './docsearch.json' import global from './global.json' import index from './index.json' -import supportedNetworks from './supported-networks.json' const translations = { contracts, global, index, docsearch, - supportedNetworks, } export default translations diff --git a/website/src/pages/ru/index.json b/website/src/pages/ru/index.json index 4ddcba6b04c6..e43fff6d2f1e 100644 --- a/website/src/pages/ru/index.json +++ b/website/src/pages/ru/index.json @@ -63,6 +63,14 @@ "description": "No networks match your search for \"{0}\"", "clearSearch": "Clear search", "showTestnets": "Show testnets" + }, + "tableHeaders": { + "name": "Name", + "id": "ID", + "subgraphs": "Subgraphs", + "substreams": "Substreams", + "firehose": "Firehose", + "tokenapi": "Token API" } }, "networkGuides": { diff --git a/website/src/pages/ru/supported-networks.json b/website/src/pages/ru/supported-networks.json deleted file mode 100644 index a84849947227..000000000000 --- a/website/src/pages/ru/supported-networks.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "Name", - "id": "ID", - "subgraphs": "Субграфы", - "substreams": "Substreams", - "firehose": "Firehose", - "tokenapi": "Token API" -} diff --git a/website/src/pages/ru/translations.ts b/website/src/pages/ru/translations.ts index 06122ebdc542..c13c1c5e90b9 100644 --- a/website/src/pages/ru/translations.ts +++ b/website/src/pages/ru/translations.ts @@ -2,14 +2,12 @@ import contracts from './contracts.json' import docsearch from './docsearch.json' import global from './global.json' import index from './index.json' -import supportedNetworks from './supported-networks.json' const translations = { contracts, global, index, docsearch, - supportedNetworks, } export default translations diff --git a/website/src/pages/sv/index.json b/website/src/pages/sv/index.json index 96aa8a48db75..3f33f38c5613 100644 --- a/website/src/pages/sv/index.json +++ b/website/src/pages/sv/index.json @@ -63,6 +63,14 @@ "description": "No networks match your search for \"{0}\"", "clearSearch": "Clear search", "showTestnets": "Show testnets" + }, + "tableHeaders": { + "name": "Name", + "id": "ID", + "subgraphs": "Subgraphs", + "substreams": "Substreams", + "firehose": "Firehose", + "tokenapi": "Token API" } }, "networkGuides": { diff --git a/website/src/pages/sv/supported-networks.json b/website/src/pages/sv/supported-networks.json deleted file mode 100644 index 9264fd442e5c..000000000000 --- a/website/src/pages/sv/supported-networks.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "Name", - "id": "ID", - "subgraphs": "Subgrafer", - "substreams": "Underströmmar", - "firehose": "Firehose", - "tokenapi": "Token API" -} diff --git a/website/src/pages/sv/translations.ts b/website/src/pages/sv/translations.ts index 06122ebdc542..c13c1c5e90b9 100644 --- a/website/src/pages/sv/translations.ts +++ b/website/src/pages/sv/translations.ts @@ -2,14 +2,12 @@ import contracts from './contracts.json' import docsearch from './docsearch.json' import global from './global.json' import index from './index.json' -import supportedNetworks from './supported-networks.json' const translations = { contracts, global, index, docsearch, - supportedNetworks, } export default translations diff --git a/website/src/pages/tr/index.json b/website/src/pages/tr/index.json index 1770c2820d70..5334106f029e 100644 --- a/website/src/pages/tr/index.json +++ b/website/src/pages/tr/index.json @@ -63,6 +63,14 @@ "description": "No networks match your search for \"{0}\"", "clearSearch": "Clear search", "showTestnets": "Show testnets" + }, + "tableHeaders": { + "name": "Name", + "id": "ID", + "subgraphs": "Subgraphs", + "substreams": "Substreams", + "firehose": "Firehose", + "tokenapi": "Token API" } }, "networkGuides": { diff --git a/website/src/pages/tr/supported-networks.json b/website/src/pages/tr/supported-networks.json deleted file mode 100644 index 7e017f21f3dd..000000000000 --- a/website/src/pages/tr/supported-networks.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "Name", - "id": "ID", - "subgraphs": "Subgraph'ler", - "substreams": "Substream'ler", - "firehose": "Firehose", - "tokenapi": "Token API" -} diff --git a/website/src/pages/tr/translations.ts b/website/src/pages/tr/translations.ts index 06122ebdc542..c13c1c5e90b9 100644 --- a/website/src/pages/tr/translations.ts +++ b/website/src/pages/tr/translations.ts @@ -2,14 +2,12 @@ import contracts from './contracts.json' import docsearch from './docsearch.json' import global from './global.json' import index from './index.json' -import supportedNetworks from './supported-networks.json' const translations = { contracts, global, index, docsearch, - supportedNetworks, } export default translations diff --git a/website/src/pages/uk/index.json b/website/src/pages/uk/index.json index cfebc5b5ab07..fb54e8013ea4 100644 --- a/website/src/pages/uk/index.json +++ b/website/src/pages/uk/index.json @@ -63,6 +63,14 @@ "description": "No networks match your search for \"{0}\"", "clearSearch": "Clear search", "showTestnets": "Show testnets" + }, + "tableHeaders": { + "name": "Name", + "id": "ID", + "subgraphs": "Subgraphs", + "substreams": "Substreams", + "firehose": "Firehose", + "tokenapi": "Token API" } }, "networkGuides": { diff --git a/website/src/pages/uk/supported-networks.json b/website/src/pages/uk/supported-networks.json deleted file mode 100644 index fd8e0e3aa227..000000000000 --- a/website/src/pages/uk/supported-networks.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "Name", - "id": "ID", - "subgraphs": "Підграфи", - "substreams": "Substreams", - "firehose": "Firehose", - "tokenapi": "Token API" -} diff --git a/website/src/pages/uk/translations.ts b/website/src/pages/uk/translations.ts index 06122ebdc542..c13c1c5e90b9 100644 --- a/website/src/pages/uk/translations.ts +++ b/website/src/pages/uk/translations.ts @@ -2,14 +2,12 @@ import contracts from './contracts.json' import docsearch from './docsearch.json' import global from './global.json' import index from './index.json' -import supportedNetworks from './supported-networks.json' const translations = { contracts, global, index, docsearch, - supportedNetworks, } export default translations diff --git a/website/src/pages/ur/index.json b/website/src/pages/ur/index.json index 21609f5b5df7..f5f072c7a326 100644 --- a/website/src/pages/ur/index.json +++ b/website/src/pages/ur/index.json @@ -63,6 +63,14 @@ "description": "No networks match your search for \"{0}\"", "clearSearch": "Clear search", "showTestnets": "Show testnets" + }, + "tableHeaders": { + "name": "Name", + "id": "ID", + "subgraphs": "Subgraphs", + "substreams": "Substreams", + "firehose": "Firehose", + "tokenapi": "Token API" } }, "networkGuides": { diff --git a/website/src/pages/ur/supported-networks.json b/website/src/pages/ur/supported-networks.json deleted file mode 100644 index cef5abe2d957..000000000000 --- a/website/src/pages/ur/supported-networks.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "Name", - "id": "ID", - "subgraphs": "سب گراف", - "substreams": "سب سٹریمز", - "firehose": "Firehose", - "tokenapi": "Token API" -} diff --git a/website/src/pages/ur/translations.ts b/website/src/pages/ur/translations.ts index 06122ebdc542..c13c1c5e90b9 100644 --- a/website/src/pages/ur/translations.ts +++ b/website/src/pages/ur/translations.ts @@ -2,14 +2,12 @@ import contracts from './contracts.json' import docsearch from './docsearch.json' import global from './global.json' import index from './index.json' -import supportedNetworks from './supported-networks.json' const translations = { contracts, global, index, docsearch, - supportedNetworks, } export default translations diff --git a/website/src/pages/vi/index.json b/website/src/pages/vi/index.json index dd19c8d013d1..34303f6b8cc3 100644 --- a/website/src/pages/vi/index.json +++ b/website/src/pages/vi/index.json @@ -63,6 +63,14 @@ "description": "No networks match your search for \"{0}\"", "clearSearch": "Clear search", "showTestnets": "Show testnets" + }, + "tableHeaders": { + "name": "Name", + "id": "ID", + "subgraphs": "Subgraphs", + "substreams": "Substreams", + "firehose": "Firehose", + "tokenapi": "Token API" } }, "networkGuides": { diff --git a/website/src/pages/vi/supported-networks.json b/website/src/pages/vi/supported-networks.json deleted file mode 100644 index 2a0cf56ca0ca..000000000000 --- a/website/src/pages/vi/supported-networks.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "Name", - "id": "ID", - "subgraphs": "Subgraphs", - "substreams": "Substreams", - "firehose": "Firehose", - "tokenapi": "Token API" -} diff --git a/website/src/pages/vi/translations.ts b/website/src/pages/vi/translations.ts index 06122ebdc542..c13c1c5e90b9 100644 --- a/website/src/pages/vi/translations.ts +++ b/website/src/pages/vi/translations.ts @@ -2,14 +2,12 @@ import contracts from './contracts.json' import docsearch from './docsearch.json' import global from './global.json' import index from './index.json' -import supportedNetworks from './supported-networks.json' const translations = { contracts, global, index, docsearch, - supportedNetworks, } export default translations diff --git a/website/src/pages/zh/index.json b/website/src/pages/zh/index.json index 8b733cfb555c..5183e7025de8 100644 --- a/website/src/pages/zh/index.json +++ b/website/src/pages/zh/index.json @@ -63,6 +63,14 @@ "description": "No networks match your search for \"{0}\"", "clearSearch": "Clear search", "showTestnets": "Show testnets" + }, + "tableHeaders": { + "name": "Name", + "id": "ID", + "subgraphs": "Subgraphs", + "substreams": "Substreams", + "firehose": "Firehose", + "tokenapi": "Token API" } }, "networkGuides": { diff --git a/website/src/pages/zh/supported-networks.json b/website/src/pages/zh/supported-networks.json deleted file mode 100644 index a31b1bae1061..000000000000 --- a/website/src/pages/zh/supported-networks.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "Name", - "id": "ID", - "subgraphs": "子图", - "substreams": "子流", - "firehose": "Firehose", - "tokenapi": "Token API" -} diff --git a/website/src/pages/zh/translations.ts b/website/src/pages/zh/translations.ts index 06122ebdc542..c13c1c5e90b9 100644 --- a/website/src/pages/zh/translations.ts +++ b/website/src/pages/zh/translations.ts @@ -2,14 +2,12 @@ import contracts from './contracts.json' import docsearch from './docsearch.json' import global from './global.json' import index from './index.json' -import supportedNetworks from './supported-networks.json' const translations = { contracts, global, index, docsearch, - supportedNetworks, } export default translations diff --git a/website/src/supportedNetworks.tsx b/website/src/supportedNetworks.tsx index 156b570c0746..4a9f56bb169d 100644 --- a/website/src/supportedNetworks.tsx +++ b/website/src/supportedNetworks.tsx @@ -298,22 +298,22 @@ export function SupportedNetworksTable({ - {t('supportedNetworks.name')} + {t('index.supportedNetworks.tableHeaders.name')} - {t('supportedNetworks.id')} + {t('index.supportedNetworks.tableHeaders.id')} - {t('supportedNetworks.subgraphs')} + {t('index.supportedNetworks.tableHeaders.subgraphs')} - {t('supportedNetworks.substreams')} + {t('index.supportedNetworks.tableHeaders.substreams')} - {t('supportedNetworks.firehose')} + {t('index.supportedNetworks.tableHeaders.firehose')} - {t('supportedNetworks.tokenapi')} + {t('index.supportedNetworks.tableHeaders.tokenapi')} {skeletonRows} @@ -324,22 +324,22 @@ export function SupportedNetworksTable({ - {t('supportedNetworks.name')} + {t('index.supportedNetworks.tableHeaders.name')} - {t('supportedNetworks.id')} + {t('index.supportedNetworks.tableHeaders.id')} - {t('supportedNetworks.subgraphs')} + {t('index.supportedNetworks.tableHeaders.subgraphs')} - {t('supportedNetworks.substreams')} + {t('index.supportedNetworks.tableHeaders.substreams')} - {t('supportedNetworks.firehose')} + {t('index.supportedNetworks.tableHeaders.firehose')} - {t('supportedNetworks.tokenapi')} + {t('index.supportedNetworks.tableHeaders.tokenapi')} From 3c5bcd737357f16be05b935ff654536e1b91973a Mon Sep 17 00:00:00 2001 From: Hayder Date: Wed, 2 Apr 2025 10:01:33 +0200 Subject: [PATCH 24/37] remove unnecessary custom title --- website/src/pages/ar/supported-networks.mdx | 10 ++++------ website/src/pages/cs/supported-networks.mdx | 10 ++++------ website/src/pages/de/supported-networks.mdx | 10 ++++------ website/src/pages/en/supported-networks.mdx | 10 ++++------ website/src/pages/es/supported-networks.mdx | 10 ++++------ website/src/pages/fr/supported-networks.mdx | 10 ++++------ website/src/pages/hi/supported-networks.mdx | 10 ++++------ website/src/pages/it/supported-networks.mdx | 10 ++++------ website/src/pages/ja/supported-networks.mdx | 10 ++++------ website/src/pages/ko/supported-networks.mdx | 10 ++++------ website/src/pages/mr/supported-networks.mdx | 10 ++++------ website/src/pages/nl/supported-networks.mdx | 10 ++++------ website/src/pages/pl/supported-networks.mdx | 10 ++++------ website/src/pages/pt/supported-networks.mdx | 10 ++++------ website/src/pages/ro/supported-networks.mdx | 10 ++++------ website/src/pages/ru/supported-networks.mdx | 10 ++++------ website/src/pages/sv/supported-networks.mdx | 10 ++++------ website/src/pages/tr/supported-networks.mdx | 10 ++++------ website/src/pages/uk/supported-networks.mdx | 10 ++++------ website/src/pages/ur/supported-networks.mdx | 10 ++++------ website/src/pages/vi/supported-networks.mdx | 10 ++++------ website/src/pages/zh/supported-networks.mdx | 10 ++++------ 22 files changed, 88 insertions(+), 132 deletions(-) diff --git a/website/src/pages/ar/supported-networks.mdx b/website/src/pages/ar/supported-networks.mdx index d37215a1b37f..09e56bdeb0c2 100644 --- a/website/src/pages/ar/supported-networks.mdx +++ b/website/src/pages/ar/supported-networks.mdx @@ -5,16 +5,14 @@ hideContentHeader: true --- import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { Heading } from '@/components' import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps -export const CustomTitle = () => { - const { t } = useI18n() - return

{t('index.supportedNetworks.title')}

-} - - + + {useI18n().t('index.supportedNetworks.title')} + diff --git a/website/src/pages/cs/supported-networks.mdx b/website/src/pages/cs/supported-networks.mdx index b34de507a959..6ccb230d548f 100644 --- a/website/src/pages/cs/supported-networks.mdx +++ b/website/src/pages/cs/supported-networks.mdx @@ -5,16 +5,14 @@ hideContentHeader: true --- import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { Heading } from '@/components' import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps -export const CustomTitle = () => { - const { t } = useI18n() - return

{t('index.supportedNetworks.title')}

-} - - + + {useI18n().t('index.supportedNetworks.title')} + diff --git a/website/src/pages/de/supported-networks.mdx b/website/src/pages/de/supported-networks.mdx index 54fdc817d0ed..7ae7ff45350a 100644 --- a/website/src/pages/de/supported-networks.mdx +++ b/website/src/pages/de/supported-networks.mdx @@ -5,16 +5,14 @@ hideContentHeader: true --- import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { Heading } from '@/components' import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps -export const CustomTitle = () => { - const { t } = useI18n() - return

{t('index.supportedNetworks.title')}

-} - - + + {useI18n().t('index.supportedNetworks.title')} + diff --git a/website/src/pages/en/supported-networks.mdx b/website/src/pages/en/supported-networks.mdx index 88d778f47812..ef2c28393033 100644 --- a/website/src/pages/en/supported-networks.mdx +++ b/website/src/pages/en/supported-networks.mdx @@ -5,16 +5,14 @@ hideContentHeader: true --- import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { Heading } from '@/components' import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps -export const CustomTitle = () => { - const { t } = useI18n() - return

{t('index.supportedNetworks.title')}

-} - - + + {useI18n().t('index.supportedNetworks.title')} + diff --git a/website/src/pages/es/supported-networks.mdx b/website/src/pages/es/supported-networks.mdx index 8432875f0e07..4e106880f4a7 100644 --- a/website/src/pages/es/supported-networks.mdx +++ b/website/src/pages/es/supported-networks.mdx @@ -5,16 +5,14 @@ hideContentHeader: true --- import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { Heading } from '@/components' import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps -export const CustomTitle = () => { - const { t } = useI18n() - return

{t('index.supportedNetworks.title')}

-} - - + + {useI18n().t('index.supportedNetworks.title')} + diff --git a/website/src/pages/fr/supported-networks.mdx b/website/src/pages/fr/supported-networks.mdx index 5a35700c1ee5..604164f84cc6 100644 --- a/website/src/pages/fr/supported-networks.mdx +++ b/website/src/pages/fr/supported-networks.mdx @@ -5,16 +5,14 @@ hideContentHeader: true --- import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { Heading } from '@/components' import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps -export const CustomTitle = () => { - const { t } = useI18n() - return

{t('index.supportedNetworks.title')}

-} - - + + {useI18n().t('index.supportedNetworks.title')} + diff --git a/website/src/pages/hi/supported-networks.mdx b/website/src/pages/hi/supported-networks.mdx index 2b743b042faa..1f329ca83ce0 100644 --- a/website/src/pages/hi/supported-networks.mdx +++ b/website/src/pages/hi/supported-networks.mdx @@ -5,16 +5,14 @@ hideContentHeader: true --- import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { Heading } from '@/components' import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps -export const CustomTitle = () => { - const { t } = useI18n() - return

{t('index.supportedNetworks.title')}

-} - - + + {useI18n().t('index.supportedNetworks.title')} + diff --git a/website/src/pages/it/supported-networks.mdx b/website/src/pages/it/supported-networks.mdx index 54fdc817d0ed..7ae7ff45350a 100644 --- a/website/src/pages/it/supported-networks.mdx +++ b/website/src/pages/it/supported-networks.mdx @@ -5,16 +5,14 @@ hideContentHeader: true --- import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { Heading } from '@/components' import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps -export const CustomTitle = () => { - const { t } = useI18n() - return

{t('index.supportedNetworks.title')}

-} - - + + {useI18n().t('index.supportedNetworks.title')} + diff --git a/website/src/pages/ja/supported-networks.mdx b/website/src/pages/ja/supported-networks.mdx index eaa0f4900b3e..b7fa1d0d8e2a 100644 --- a/website/src/pages/ja/supported-networks.mdx +++ b/website/src/pages/ja/supported-networks.mdx @@ -5,16 +5,14 @@ hideContentHeader: true --- import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { Heading } from '@/components' import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps -export const CustomTitle = () => { - const { t } = useI18n() - return

{t('index.supportedNetworks.title')}

-} - - + + {useI18n().t('index.supportedNetworks.title')} + diff --git a/website/src/pages/ko/supported-networks.mdx b/website/src/pages/ko/supported-networks.mdx index 54fdc817d0ed..7ae7ff45350a 100644 --- a/website/src/pages/ko/supported-networks.mdx +++ b/website/src/pages/ko/supported-networks.mdx @@ -5,16 +5,14 @@ hideContentHeader: true --- import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { Heading } from '@/components' import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps -export const CustomTitle = () => { - const { t } = useI18n() - return

{t('index.supportedNetworks.title')}

-} - - + + {useI18n().t('index.supportedNetworks.title')} + diff --git a/website/src/pages/mr/supported-networks.mdx b/website/src/pages/mr/supported-networks.mdx index 54fdc817d0ed..7ae7ff45350a 100644 --- a/website/src/pages/mr/supported-networks.mdx +++ b/website/src/pages/mr/supported-networks.mdx @@ -5,16 +5,14 @@ hideContentHeader: true --- import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { Heading } from '@/components' import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps -export const CustomTitle = () => { - const { t } = useI18n() - return

{t('index.supportedNetworks.title')}

-} - - + + {useI18n().t('index.supportedNetworks.title')} + diff --git a/website/src/pages/nl/supported-networks.mdx b/website/src/pages/nl/supported-networks.mdx index 88e8b6c80652..db62d74d039d 100644 --- a/website/src/pages/nl/supported-networks.mdx +++ b/website/src/pages/nl/supported-networks.mdx @@ -5,16 +5,14 @@ hideContentHeader: true --- import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { Heading } from '@/components' import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps -export const CustomTitle = () => { - const { t } = useI18n() - return

{t('index.supportedNetworks.title')}

-} - - + + {useI18n().t('index.supportedNetworks.title')} + diff --git a/website/src/pages/pl/supported-networks.mdx b/website/src/pages/pl/supported-networks.mdx index 23f9b6888b4f..b5e43f4650bc 100644 --- a/website/src/pages/pl/supported-networks.mdx +++ b/website/src/pages/pl/supported-networks.mdx @@ -5,16 +5,14 @@ hideContentHeader: true --- import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { Heading } from '@/components' import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps -export const CustomTitle = () => { - const { t } = useI18n() - return

{t('index.supportedNetworks.title')}

-} - - + + {useI18n().t('index.supportedNetworks.title')} + diff --git a/website/src/pages/pt/supported-networks.mdx b/website/src/pages/pt/supported-networks.mdx index 7b2b4e1334d2..2f4cdf49618c 100644 --- a/website/src/pages/pt/supported-networks.mdx +++ b/website/src/pages/pt/supported-networks.mdx @@ -5,16 +5,14 @@ hideContentHeader: true --- import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { Heading } from '@/components' import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps -export const CustomTitle = () => { - const { t } = useI18n() - return

{t('index.supportedNetworks.title')}

-} - - + + {useI18n().t('index.supportedNetworks.title')} + diff --git a/website/src/pages/ro/supported-networks.mdx b/website/src/pages/ro/supported-networks.mdx index e87d87a0392a..d25956f8a037 100644 --- a/website/src/pages/ro/supported-networks.mdx +++ b/website/src/pages/ro/supported-networks.mdx @@ -5,16 +5,14 @@ hideContentHeader: true --- import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { Heading } from '@/components' import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps -export const CustomTitle = () => { - const { t } = useI18n() - return

{t('index.supportedNetworks.title')}

-} - - + + {useI18n().t('index.supportedNetworks.title')} + diff --git a/website/src/pages/ru/supported-networks.mdx b/website/src/pages/ru/supported-networks.mdx index e1e4513f82c9..37ad35891750 100644 --- a/website/src/pages/ru/supported-networks.mdx +++ b/website/src/pages/ru/supported-networks.mdx @@ -5,16 +5,14 @@ hideContentHeader: true --- import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { Heading } from '@/components' import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps -export const CustomTitle = () => { - const { t } = useI18n() - return

{t('index.supportedNetworks.title')}

-} - - + + {useI18n().t('index.supportedNetworks.title')} + diff --git a/website/src/pages/sv/supported-networks.mdx b/website/src/pages/sv/supported-networks.mdx index 99661490331b..7e335314ad2d 100644 --- a/website/src/pages/sv/supported-networks.mdx +++ b/website/src/pages/sv/supported-networks.mdx @@ -5,16 +5,14 @@ hideContentHeader: true --- import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { Heading } from '@/components' import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps -export const CustomTitle = () => { - const { t } = useI18n() - return

{t('index.supportedNetworks.title')}

-} - - + + {useI18n().t('index.supportedNetworks.title')} + diff --git a/website/src/pages/tr/supported-networks.mdx b/website/src/pages/tr/supported-networks.mdx index e8f42213ac37..58d3ad6df215 100644 --- a/website/src/pages/tr/supported-networks.mdx +++ b/website/src/pages/tr/supported-networks.mdx @@ -5,16 +5,14 @@ hideContentHeader: true --- import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { Heading } from '@/components' import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps -export const CustomTitle = () => { - const { t } = useI18n() - return

{t('index.supportedNetworks.title')}

-} - - + + {useI18n().t('index.supportedNetworks.title')} + diff --git a/website/src/pages/uk/supported-networks.mdx b/website/src/pages/uk/supported-networks.mdx index 7bf5cd76da89..637174e4f000 100644 --- a/website/src/pages/uk/supported-networks.mdx +++ b/website/src/pages/uk/supported-networks.mdx @@ -5,16 +5,14 @@ hideContentHeader: true --- import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { Heading } from '@/components' import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps -export const CustomTitle = () => { - const { t } = useI18n() - return

{t('index.supportedNetworks.title')}

-} - - + + {useI18n().t('index.supportedNetworks.title')} + diff --git a/website/src/pages/ur/supported-networks.mdx b/website/src/pages/ur/supported-networks.mdx index b0dcef0e76d9..fb2e141372fe 100644 --- a/website/src/pages/ur/supported-networks.mdx +++ b/website/src/pages/ur/supported-networks.mdx @@ -5,16 +5,14 @@ hideContentHeader: true --- import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { Heading } from '@/components' import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps -export const CustomTitle = () => { - const { t } = useI18n() - return

{t('index.supportedNetworks.title')}

-} - - + + {useI18n().t('index.supportedNetworks.title')} + diff --git a/website/src/pages/vi/supported-networks.mdx b/website/src/pages/vi/supported-networks.mdx index f968d918a4f8..63242b802eaf 100644 --- a/website/src/pages/vi/supported-networks.mdx +++ b/website/src/pages/vi/supported-networks.mdx @@ -5,16 +5,14 @@ hideContentHeader: true --- import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { Heading } from '@/components' import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps -export const CustomTitle = () => { - const { t } = useI18n() - return

{t('index.supportedNetworks.title')}

-} - - + + {useI18n().t('index.supportedNetworks.title')} + diff --git a/website/src/pages/zh/supported-networks.mdx b/website/src/pages/zh/supported-networks.mdx index 74a3f8af2b53..986d59ce75b3 100644 --- a/website/src/pages/zh/supported-networks.mdx +++ b/website/src/pages/zh/supported-networks.mdx @@ -5,16 +5,14 @@ hideContentHeader: true --- import { getSupportedNetworksStaticProps, SupportedNetworksTable } from '@/supportedNetworks' +import { Heading } from '@/components' import { useI18n } from '@/i18n' export const getStaticProps = getSupportedNetworksStaticProps -export const CustomTitle = () => { - const { t } = useI18n() - return

{t('index.supportedNetworks.title')}

-} - - + + {useI18n().t('index.supportedNetworks.title')} + From f9c2599348dd1d4045ddb62452e1c61c32ddb33d Mon Sep 17 00:00:00 2001 From: Hayder Date: Wed, 2 Apr 2025 10:49:01 +0200 Subject: [PATCH 25/37] Refactor big components + Optimize performance for networks --- website/src/components/NetworkDetailsPage.tsx | 106 +++--- website/src/components/NetworkPage.tsx | 28 +- website/src/components/index.ts | 3 + .../supported-networks/EmptySearchResults.tsx | 42 +++ .../supported-networks/NetworkFilters.tsx | 42 +++ .../supported-networks/NetworkRow.tsx | 79 +++++ .../supported-networks/NetworksTable.tsx | 59 ++++ .../supported-networks/SkeletonRow.tsx | 30 ++ .../components/supported-networks/index.ts | 5 + .../[locale]/supported-networks/[id].mdx | 16 +- website/src/supportedNetworks.tsx | 315 ++---------------- website/src/utils/networkUtils.ts | 109 ++++++ 12 files changed, 452 insertions(+), 382 deletions(-) create mode 100644 website/src/components/supported-networks/EmptySearchResults.tsx create mode 100644 website/src/components/supported-networks/NetworkFilters.tsx create mode 100644 website/src/components/supported-networks/NetworkRow.tsx create mode 100644 website/src/components/supported-networks/NetworksTable.tsx create mode 100644 website/src/components/supported-networks/SkeletonRow.tsx create mode 100644 website/src/components/supported-networks/index.ts create mode 100644 website/src/utils/networkUtils.ts diff --git a/website/src/components/NetworkDetailsPage.tsx b/website/src/components/NetworkDetailsPage.tsx index a964f3a03748..a3bbc8cc0934 100644 --- a/website/src/components/NetworkDetailsPage.tsx +++ b/website/src/components/NetworkDetailsPage.tsx @@ -1,14 +1,13 @@ import { NetworkType } from '@pinax/graph-networks-registry' -import Head from 'next/head' import type { ComponentPropsWithoutRef } from 'react' +import { memo } from 'react' import { classNames } from '@edgeandnode/gds' -import { translate } from '@edgeandnode/gds' -import { ExperimentalLink } from '@edgeandnode/gds' import { Clock, Subgraph, Substreams, SubstreamsPoweredSubgraph } from '@edgeandnode/gds/icons' import { Card } from '@/components' -import { translations, useI18n } from '@/i18n' +import { useI18n } from '@/i18n' +import { isNonEVMNetwork } from '@/utils/networkUtils' type NetworkDetailsPageProps = { network: { @@ -20,66 +19,33 @@ type NetworkDetailsPageProps = { nativeCurrency: string docs: string } - locale?: string } -const isNonEVMNetwork = (networkId: string): boolean => { - const nonEVMIds = [ - 'eos', - 'jungle4', - 'kylin', - 'telos-testnet', - 'telos', - 'wax-testnet', - 'wax', - 'arweave-mainnet', - 'gnosis-chiado-cl', - 'gnosis-cl', - 'holesky-cl', - 'mainnet-cl', - 'sepolia-cl', - 'btc', - 'litecoin', - 'injective-mainnet', - 'injective-testnet', - 'mantra-mainnet', - 'mantra-testnet', - 'near-mainnet', - 'near-testnet', - 'solana-accounts', - 'solana-devnet', - 'solana-mainnet', - 'solana-mainnet-beta', - 'solana-testnet', - 'starknet-mainnet', - 'starknet-testnet', - ] - return nonEVMIds.includes(networkId) -} - -function Time({ - variant, - minutes, - className, - ...props -}: ComponentPropsWithoutRef<'div'> & { - variant: 'reading' | 'duration' - minutes: number -}) { - const { t } = useI18n() - return ( -
- - {minutes} {t('index.time.minutes')} -
- ) -} +const Time = memo( + ({ + variant, + minutes, + className, + ...props + }: ComponentPropsWithoutRef<'div'> & { + variant: 'reading' | 'duration' + minutes: number + }) => { + const { t } = useI18n() + return ( +
+ + {minutes} {t('index.time.minutes')} +
+ ) + }, +) -function EVMResources() { +const EVMResources = memo(() => { const { t } = useI18n() return ( @@ -138,9 +104,9 @@ function EVMResources() {
) -} +}) -function NonEVMResources() { +const NonEVMResources = memo(() => { const { t } = useI18n() return ( @@ -199,9 +165,13 @@ function NonEVMResources() {
) -} +}) + +Time.displayName = 'Time' +EVMResources.displayName = 'EVMResources' +NonEVMResources.displayName = 'NonEVMResources' -export default function NetworkDetailsPage({ network, locale = 'en' }: NetworkDetailsPageProps) { +const NetworkDetailsPage = memo(({ network }: NetworkDetailsPageProps) => { const { t } = useI18n() return ( @@ -210,4 +180,8 @@ export default function NetworkDetailsPage({ network, locale = 'en' }: NetworkDe {isNonEVMNetwork(network.id) ? : } ) -} +}) + +NetworkDetailsPage.displayName = 'NetworkDetailsPage' + +export default NetworkDetailsPage diff --git a/website/src/components/NetworkPage.tsx b/website/src/components/NetworkPage.tsx index b37ffbe42935..1b5a1cf76517 100644 --- a/website/src/components/NetworkPage.tsx +++ b/website/src/components/NetworkPage.tsx @@ -1,21 +1,15 @@ import { NetworkType } from '@pinax/graph-networks-registry' import Head from 'next/head' import { useRouter } from 'next/router' +import { memo } from 'react' import { useData } from 'nextra/hooks' -import { - ExperimentalCopyButton, - ExperimentalDescriptionList, - ExperimentalLink, - Grid, - Skeleton, - Text, -} from '@edgeandnode/gds' +import { ExperimentalCopyButton, ExperimentalDescriptionList, ExperimentalLink, Grid, Skeleton } from '@edgeandnode/gds' import { NetworkIcon } from '@edgeandnode/go' import NetworkDetailsPage from '@/components/NetworkDetailsPage' import { useI18n } from '@/i18n' -import { MISSING_ICON_NETWORKS, MONO_ICON_NETWORKS } from '@/supportedNetworks' +import { getIconVariant, shouldShowSkeleton } from '@/utils/networkUtils' type CAIP2Id = `${string}:${string | number}` @@ -36,7 +30,7 @@ interface NetworkPageProps { network?: Network } -export function NetworkPage({ network }: NetworkPageProps) { +export const NetworkPage = memo(({ network }: NetworkPageProps) => { const data = useData() const contextNetwork = data?.ssg?.network || data?.network const networkData: Network = network || @@ -47,15 +41,6 @@ export function NetworkPage({ network }: NetworkPageProps) { } const { t } = useI18n() const router = useRouter() - const { locale = 'en' } = router - - const getIconVariant = (networkId: string): 'mono' | 'branded' => { - return MONO_ICON_NETWORKS.includes(networkId) ? 'mono' : 'branded' - } - - const shouldShowSkeleton = (networkId: string): boolean => { - return MISSING_ICON_NETWORKS.includes(networkId) || !networkId - } return ( <> @@ -143,9 +128,10 @@ export function NetworkPage({ network }: NetworkPageProps) { nativeCurrency: networkData.nativeToken ?? '', docs: networkData.docsUrl ?? '', }} - locale={locale} />
) -} +}) + +NetworkPage.displayName = 'NetworkPage' diff --git a/website/src/components/index.ts b/website/src/components/index.ts index 6b48b4900732..defb91284315 100644 --- a/website/src/components/index.ts +++ b/website/src/components/index.ts @@ -5,6 +5,9 @@ export * from './DocSearch' export * from './Heading' export * from './Image' export * from './Navigation' +export * from './NetworkDetailsPage' +export * from './NetworkPage' +export * from './supported-networks' export * from './Table' export * from './TimeIcon' export * from './VideoEmbed' diff --git a/website/src/components/supported-networks/EmptySearchResults.tsx b/website/src/components/supported-networks/EmptySearchResults.tsx new file mode 100644 index 000000000000..c759e0d2850e --- /dev/null +++ b/website/src/components/supported-networks/EmptySearchResults.tsx @@ -0,0 +1,42 @@ +import { Button, DottedRingsSpinner, Text } from '@edgeandnode/gds' +import { EyeClosed } from '@edgeandnode/gds/icons' + +import { useI18n } from '@/i18n' + +interface EmptySearchResultsProps { + searchQuery: string + onClearSearch: () => void + showTestnets: boolean + onToggleTestnets: () => void +} + +export const EmptySearchResults = ({ searchQuery, onClearSearch }: EmptySearchResultsProps) => { + const { t } = useI18n() + + return ( +
+
+ + + +
+ {t('index.supportedNetworks.emptySearch.title')} + + {t('index.supportedNetworks.emptySearch.description', [searchQuery])} + +
+ +
+
+ ) +} diff --git a/website/src/components/supported-networks/NetworkFilters.tsx b/website/src/components/supported-networks/NetworkFilters.tsx new file mode 100644 index 000000000000..c6800b9adb93 --- /dev/null +++ b/website/src/components/supported-networks/NetworkFilters.tsx @@ -0,0 +1,42 @@ +import { memo } from 'react' + +import { ExperimentalSearch, ExperimentalToggleChip, LoadingSpinner } from '@edgeandnode/gds' + +import { useI18n } from '@/i18n' + +interface NetworkFiltersProps { + searchQuery: string + setSearchQuery: (query: string) => void + showTestnets: boolean + isLoadingTestnets: boolean + onToggleTestnets: () => void +} + +export const NetworkFilters = memo( + ({ searchQuery, setSearchQuery, showTestnets, isLoadingTestnets, onToggleTestnets }: NetworkFiltersProps) => { + const { t } = useI18n() + + return ( +
+
+ setSearchQuery(value)} + className="w-full" + /> +
+ : undefined} + > + {t('index.supportedNetworks.showTestnets')} + +
+ ) + }, +) diff --git a/website/src/components/supported-networks/NetworkRow.tsx b/website/src/components/supported-networks/NetworkRow.tsx new file mode 100644 index 000000000000..513eb66345d6 --- /dev/null +++ b/website/src/components/supported-networks/NetworkRow.tsx @@ -0,0 +1,79 @@ +import { motion } from 'framer-motion' +import NextLink from 'next/link' +import { memo } from 'react' + +import { ExperimentalCopyButton, Skeleton, Text } from '@edgeandnode/gds' +import { Check } from '@edgeandnode/gds/icons' +import { NetworkIcon } from '@edgeandnode/go' + +import { getIconVariant, shouldShowSkeleton } from '@/utils/networkUtils' + +const MotionTR = motion.tr + +interface NetworkRowProps { + network: { + id: string + shortName: string + caip2Id: string + subgraphs: boolean + substreams: boolean + firehose: boolean + tokenapi: boolean + } + locale: string +} + +export const NetworkRow = memo(({ network, locale }: NetworkRowProps) => { + return ( + + + +
+ {shouldShowSkeleton(network.id) ? ( + + ) : ( + + )} + {network.shortName} +
+ + +
+ {network.id} +
+
{ + e.preventDefault() + e.stopPropagation() + }} + > + +
+
+
+ + {network.subgraphs ? : null} + {network.substreams ? : null} + {network.firehose ? : null} + {network.tokenapi ? : null} +
+
+ ) +}) diff --git a/website/src/components/supported-networks/NetworksTable.tsx b/website/src/components/supported-networks/NetworksTable.tsx new file mode 100644 index 000000000000..bd418feffde2 --- /dev/null +++ b/website/src/components/supported-networks/NetworksTable.tsx @@ -0,0 +1,59 @@ +import { AnimatePresence } from 'framer-motion' +import { memo } from 'react' + +import { Text } from '@edgeandnode/gds' + +import { Table } from '@/components' +import { useI18n } from '@/i18n' + +import { NetworkRow } from './NetworkRow' +import { SkeletonRow } from './SkeletonRow' + +interface NetworksTableProps { + networks: any[] + isLoading: boolean + locale: string +} + +export const NetworksTable = memo(({ networks, isLoading, locale }: NetworksTableProps) => { + const { t } = useI18n() + + // Generate skeleton rows for loading state + const skeletonRows = Array.from({ length: 20 }, (_, index) => ) + + return ( + + + + + + + + + + + {isLoading ? ( + skeletonRows + ) : ( + + {networks.map((network) => ( + + ))} + + )} + +
+ {t('index.supportedNetworks.tableHeaders.name')} + + {t('index.supportedNetworks.tableHeaders.id')} + + {t('index.supportedNetworks.tableHeaders.subgraphs')} + + {t('index.supportedNetworks.tableHeaders.substreams')} + + {t('index.supportedNetworks.tableHeaders.firehose')} + + {t('index.supportedNetworks.tableHeaders.tokenapi')} +
+ ) +}) diff --git a/website/src/components/supported-networks/SkeletonRow.tsx b/website/src/components/supported-networks/SkeletonRow.tsx new file mode 100644 index 000000000000..7f6e1d6a6292 --- /dev/null +++ b/website/src/components/supported-networks/SkeletonRow.tsx @@ -0,0 +1,30 @@ +import { Skeleton } from '@edgeandnode/gds' +import { memo } from 'react' + +export const SkeletonRow = memo(() => { + return ( + + +
+ + +
+ + + + + + + + + + + + + + + + + + ) +}) diff --git a/website/src/components/supported-networks/index.ts b/website/src/components/supported-networks/index.ts new file mode 100644 index 000000000000..63face70cd67 --- /dev/null +++ b/website/src/components/supported-networks/index.ts @@ -0,0 +1,5 @@ +export * from './EmptySearchResults' +export * from './NetworkFilters' +export * from './NetworkRow' +export * from './NetworksTable' +export * from './SkeletonRow' diff --git a/website/src/pages/[locale]/supported-networks/[id].mdx b/website/src/pages/[locale]/supported-networks/[id].mdx index 4ec4a29d9651..43792346cf8b 100644 --- a/website/src/pages/[locale]/supported-networks/[id].mdx +++ b/website/src/pages/[locale]/supported-networks/[id].mdx @@ -17,7 +17,11 @@ export const getStaticPaths = async () => { } } -return { paths, fallback: false, } } + return { + paths, + fallback: false + } +} export const getStaticProps = async ({ params }) => { const { locale, id } = params @@ -26,6 +30,7 @@ export const getStaticProps = async ({ params }) => { notFound: true, } } + const networks = await getSupportedNetworks() const network = networks.find((n) => n.id === id) if (!network) { @@ -33,6 +38,7 @@ export const getStaticProps = async ({ params }) => { notFound: true, } } + const rawMdx = `--- title: ${network.id} hideTableOfContents: true @@ -45,6 +51,7 @@ parentRouteKey: supported-networks ` const mdx = await buildDynamicMDX(rawMdx, { codeHighlight: false }) const { pageMap } = await import(`.next/static/chunks/nextra-page-map-${locale}.mjs`) + return { props: { ...mdx, @@ -56,10 +63,7 @@ parentRouteKey: supported-networks }, } } + export default function NetworkDetailPage({ network }) { - return ( - <> - - - ) + return } diff --git a/website/src/supportedNetworks.tsx b/website/src/supportedNetworks.tsx index 4a9f56bb169d..d0dbf3ff9946 100644 --- a/website/src/supportedNetworks.tsx +++ b/website/src/supportedNetworks.tsx @@ -1,84 +1,17 @@ import { NetworksRegistry } from '@pinax/graph-networks-registry' -import { AnimatePresence, motion } from 'framer-motion' -import NextLink from 'next/link' import { useRouter } from 'next/router' -import { useEffect, useMemo, useState } from 'react' +import { useCallback, useEffect, useMemo, useState } from 'react' -import { - Button, - DottedRingsSpinner, - ExperimentalCopyButton, - ExperimentalLink, - ExperimentalSearch, - ExperimentalToggleChip, - LoadingSpinner, - Skeleton, - Text, -} from '@edgeandnode/gds' -import { Check, EyeClosed, Lightbulb } from '@edgeandnode/gds/icons' -import { NetworkIcon } from '@edgeandnode/go' +import { ExperimentalLink, Text } from '@edgeandnode/gds' -import { Callout, Table } from '@/components' +import { Callout } from '@/components' +import { EmptySearchResults, NetworkFilters, NetworksTable } from '@/components/supported-networks' import { useI18n } from '@/i18n' - -// Networks that should use the "mono" icon variant -export const MONO_ICON_NETWORKS = [ - 'vana', - 'vana-moksha', - 'xlayer-mainnet', - 'xlayer-sepolia', - 'zksync-era', - 'zksync-era-sepolia', - 'sonic', - 'soneium-testnet', - 'soneium', - 'linea-sepolia', - 'linea', - 'lens-testnet', - 'expchain-testnet', - 'autonomys-taurus', - 'arweave-mainnet', - 'fraxtal', - 'lumia', - 'mbase', -] - -// Skeleton networks (no icon available) -export const MISSING_ICON_NETWORKS = [ - 'berachain-bepolia', - 'hoodi', - 'ink-sepolia', - 'megaeth-testnet', - 'solana-accounts', - 'manta', -] +import { processNetworksData } from '@/utils/networkUtils' export async function getSupportedNetworks() { const registry = await NetworksRegistry.fromLatestVersion() - - // Networks with Token API support - const tokenAPINetworks = ['mainnet', 'base', 'bsc', 'arbitrum-one', 'matic', 'optimism'] - - return registry.networks - .flatMap((network) => { - const subgraphs = Boolean(network.services.subgraphs?.length) - const substreams = Boolean(network.services.substreams?.length) - const firehose = Boolean(network.services.firehose?.length) - const tokenapi = tokenAPINetworks.includes(network.id) - if (!subgraphs && !substreams && !firehose && !tokenapi) { - return [] - } - return [ - { - ...network, - subgraphs, - substreams, - firehose, - tokenapi, - }, - ] - }) - .sort((a, b) => a.fullName.localeCompare(b.fullName)) + return processNetworksData(registry.networks) } export async function getSupportedNetworksStaticProps() { @@ -89,81 +22,6 @@ export async function getSupportedNetworksStaticProps() { } } -// Empty state component -interface EmptySearchResultsProps { - searchQuery: string - onClearSearch: () => void - showTestnets: boolean - onToggleTestnets: () => void -} - -const EmptySearchResults = ({ - searchQuery, - onClearSearch, - showTestnets, - onToggleTestnets, -}: EmptySearchResultsProps) => { - const { t } = useI18n() - - return ( -
-
- - - -
- {t('index.supportedNetworks.emptySearch.title')} - - {t('index.supportedNetworks.emptySearch.description', [searchQuery])} - -
- -
-
- ) -} - -// Skeleton row component for loading state -const SkeletonRow = () => { - return ( - - -
- - -
- - - - - - - - - - - - - - - - - - ) -} - -const MotionTR = motion.tr - export function SupportedNetworksTable({ networks, }: Awaited>['props']) { @@ -192,14 +50,6 @@ export function SupportedNetworksTable({ } }, [networks]) - const getIconVariant = (networkId: string) => { - return MONO_ICON_NETWORKS.includes(networkId) ? 'mono' : 'branded' - } - - const shouldShowSkeleton = (networkId: string) => { - return MISSING_ICON_NETWORKS.includes(networkId) || !networkId - } - const filteredNetworks = useMemo(() => { let filtered = networks @@ -226,11 +76,11 @@ export function SupportedNetworksTable({ setNoResults(filteredNetworks.length === 0 && searchQuery !== '') }, [filteredNetworks.length, searchQuery]) - const handleClearSearch = () => { + const handleClearSearch = useCallback(() => { setSearchQuery('') - } + }, []) - const handleShowTestnets = () => { + const handleShowTestnets = useCallback(() => { if (noResults) { setSearchQuery('') } @@ -241,22 +91,23 @@ export function SupportedNetworksTable({ setShowTestnets(true) setIsLoadingTestnets(false) }, 150) - } + }, [noResults]) - const handleHideTestnets = () => { + const handleHideTestnets = useCallback(() => { setShowTestnets(false) - } + }, []) - const handleToggleTestnets = () => { + const handleToggleTestnets = useCallback(() => { if (!showTestnets) { handleShowTestnets() } else { handleHideTestnets() } - } + }, [showTestnets, handleShowTestnets, handleHideTestnets]) - // Generate skeleton rows - const skeletonRows = Array.from({ length: 20 }, (_, index) => ) + const setSearchQueryCallback = useCallback((value: string) => { + setSearchQuery(value) + }, []) const shouldShowLoadingScreen = isLoading || (isLoadingTestnets && !hasLoadedDataBefore) @@ -272,132 +123,18 @@ export function SupportedNetworksTable({
-
-
- setSearchQuery(value)} - className="w-full" - /> -
- : undefined} - > - {t('index.supportedNetworks.showTestnets')} - -
+ {shouldShowLoadingScreen ? ( - - - - - - - - - - - {skeletonRows} - -
- {t('index.supportedNetworks.tableHeaders.name')} - - {t('index.supportedNetworks.tableHeaders.id')} - - {t('index.supportedNetworks.tableHeaders.subgraphs')} - - {t('index.supportedNetworks.tableHeaders.substreams')} - - {t('index.supportedNetworks.tableHeaders.firehose')} - - {t('index.supportedNetworks.tableHeaders.tokenapi')} -
+ ) : filteredNetworks.length > 0 ? ( - - - - - - - - - - - - {filteredNetworks.map((network) => ( - - - - - - - - - - - ))} - - -
- {t('index.supportedNetworks.tableHeaders.name')} - - {t('index.supportedNetworks.tableHeaders.id')} - - {t('index.supportedNetworks.tableHeaders.subgraphs')} - - {t('index.supportedNetworks.tableHeaders.substreams')} - - {t('index.supportedNetworks.tableHeaders.firehose')} - - {t('index.supportedNetworks.tableHeaders.tokenapi')} -
-
- {shouldShowSkeleton(network.id) ? ( - - ) : ( - - )} - {network.shortName} -
-
-
- {network.id} -
-
{ - e.preventDefault() - e.stopPropagation() - }} - > - -
-
-
-
{network.subgraphs ? : null}{network.substreams ? : null}{network.firehose ? : null}{network.tokenapi ? : null}
+ ) : ( { + return MONO_ICON_NETWORKS.includes(networkId) ? 'mono' : 'branded' +} + +// Skeleton Icon +export const shouldShowSkeleton = (networkId: string): boolean => { + return MISSING_ICON_NETWORKS.includes(networkId) || !networkId +} + +// Non-EVM Network +export const isNonEVMNetwork = (networkId: string): boolean => { + return NON_EVM_NETWORKS.includes(networkId) +} + +// Token API Support +export const supportsTokenAPI = (networkId: string): boolean => { + return TOKEN_API_NETWORKS.includes(networkId) +} + +export const processNetworksData = (networks: any[]) => { + return networks + .flatMap((network) => { + const subgraphs = Boolean(network.services.subgraphs?.length) + const substreams = Boolean(network.services.substreams?.length) + const firehose = Boolean(network.services.firehose?.length) + const tokenapi = TOKEN_API_NETWORKS.includes(network.id) + if (!subgraphs && !substreams && !firehose && !tokenapi) { + return [] + } + return [ + { + ...network, + subgraphs, + substreams, + firehose, + tokenapi, + }, + ] + }) + .sort((a, b) => a.fullName.localeCompare(b.fullName)) +} From 5e559501ee7a83a7de39cfa82fa80fb1086eaaff Mon Sep 17 00:00:00 2001 From: Hayder Date: Wed, 2 Apr 2025 11:05:02 +0200 Subject: [PATCH 26/37] fix lint --- website/src/components/NetworkPage.tsx | 2 +- .../supported-networks/SkeletonRow.tsx | 3 +- website/src/i18n.ts | 1 - website/src/supportedNetworks.tsx | 5 +-- website/src/utils/networkUtils.ts | 32 ++++++++++++++++++- 5 files changed, 37 insertions(+), 6 deletions(-) diff --git a/website/src/components/NetworkPage.tsx b/website/src/components/NetworkPage.tsx index 1b5a1cf76517..7931e6aa4e03 100644 --- a/website/src/components/NetworkPage.tsx +++ b/website/src/components/NetworkPage.tsx @@ -1,8 +1,8 @@ import { NetworkType } from '@pinax/graph-networks-registry' import Head from 'next/head' import { useRouter } from 'next/router' -import { memo } from 'react' import { useData } from 'nextra/hooks' +import { memo } from 'react' import { ExperimentalCopyButton, ExperimentalDescriptionList, ExperimentalLink, Grid, Skeleton } from '@edgeandnode/gds' import { NetworkIcon } from '@edgeandnode/go' diff --git a/website/src/components/supported-networks/SkeletonRow.tsx b/website/src/components/supported-networks/SkeletonRow.tsx index 7f6e1d6a6292..fa6f7405cbe7 100644 --- a/website/src/components/supported-networks/SkeletonRow.tsx +++ b/website/src/components/supported-networks/SkeletonRow.tsx @@ -1,6 +1,7 @@ -import { Skeleton } from '@edgeandnode/gds' import { memo } from 'react' +import { Skeleton } from '@edgeandnode/gds' + export const SkeletonRow = memo(() => { return ( diff --git a/website/src/i18n.ts b/website/src/i18n.ts index 93e1540c5a0a..9f7574644aef 100644 --- a/website/src/i18n.ts +++ b/website/src/i18n.ts @@ -84,7 +84,6 @@ export const translations = { global: NestedStrings index: NestedStrings docsearch: NestedStrings - supportedNetworks: NestedStrings } } diff --git a/website/src/supportedNetworks.tsx b/website/src/supportedNetworks.tsx index d0dbf3ff9946..58fe2d3c8a9d 100644 --- a/website/src/supportedNetworks.tsx +++ b/website/src/supportedNetworks.tsx @@ -7,11 +7,12 @@ import { ExperimentalLink, Text } from '@edgeandnode/gds' import { Callout } from '@/components' import { EmptySearchResults, NetworkFilters, NetworksTable } from '@/components/supported-networks' import { useI18n } from '@/i18n' +import type { NetworkData, ProcessedNetwork } from '@/utils/networkUtils' import { processNetworksData } from '@/utils/networkUtils' -export async function getSupportedNetworks() { +export async function getSupportedNetworks(): Promise { const registry = await NetworksRegistry.fromLatestVersion() - return processNetworksData(registry.networks) + return processNetworksData(registry.networks as NetworkData[]) } export async function getSupportedNetworksStaticProps() { diff --git a/website/src/utils/networkUtils.ts b/website/src/utils/networkUtils.ts index 6a69119dfbe5..aca62ce422a5 100644 --- a/website/src/utils/networkUtils.ts +++ b/website/src/utils/networkUtils.ts @@ -85,7 +85,37 @@ export const supportsTokenAPI = (networkId: string): boolean => { return TOKEN_API_NETWORKS.includes(networkId) } -export const processNetworksData = (networks: any[]) => { +export interface NetworkData { + id: string + shortName: string + fullName: string + networkType: string + caip2Id?: string + services: { + subgraphs?: any[] + substreams?: any[] + firehose?: any[] + } +} + +export interface ProcessedNetwork { + id: string + shortName: string + fullName: string + networkType: string + caip2Id?: string + subgraphs: boolean + substreams: boolean + firehose: boolean + tokenapi: boolean + services: { + subgraphs?: any[] + substreams?: any[] + firehose?: any[] + } +} + +export const processNetworksData = (networks: NetworkData[]): ProcessedNetwork[] => { return networks .flatMap((network) => { const subgraphs = Boolean(network.services.subgraphs?.length) From f199490ff067e9c4c860b422355d8e316634a7de Mon Sep 17 00:00:00 2001 From: Hayder Date: Wed, 2 Apr 2025 11:16:30 +0200 Subject: [PATCH 27/37] fix lint --- website/src/HomePage.tsx | 4 ++-- .../src/pages/[locale]/supported-networks/[id].mdx | 12 ++++-------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/website/src/HomePage.tsx b/website/src/HomePage.tsx index 96a7b8e9f4e1..8499e67b0a3c 100644 --- a/website/src/HomePage.tsx +++ b/website/src/HomePage.tsx @@ -259,11 +259,11 @@ function SupportedNetworks({ className, ...props }: ComponentPropsWithoutRef<'di
    {supportedNetworks // TODO: Don't filter out testnets that don't have a mainnet - .filter((network) => network.networkType === NetworkType.Mainnet) + .filter((network) => String(network.networkType) === String(NetworkType.Mainnet)) // Filter out networks that are either duplicates (same logo, same or similar short name) or irrelevant in this view .filter( (network) => - !network.caip2Id.startsWith('beacon:') && + !network.caip2Id?.startsWith('beacon:') && !['boba-bnb', 'eos-evm', 'polygon-zkevm', 'solana-accounts'].includes(network.id), ) // TODO: Fix Zora mono logo in web3icons diff --git a/website/src/pages/[locale]/supported-networks/[id].mdx b/website/src/pages/[locale]/supported-networks/[id].mdx index 43792346cf8b..d0576e918a0d 100644 --- a/website/src/pages/[locale]/supported-networks/[id].mdx +++ b/website/src/pages/[locale]/supported-networks/[id].mdx @@ -17,11 +17,7 @@ export const getStaticPaths = async () => { } } - return { - paths, - fallback: false - } -} +return { paths, fallback: false } } export const getStaticProps = async ({ params }) => { const { locale, id } = params @@ -30,7 +26,7 @@ export const getStaticProps = async ({ params }) => { notFound: true, } } - + const networks = await getSupportedNetworks() const network = networks.find((n) => n.id === id) if (!network) { @@ -38,7 +34,7 @@ export const getStaticProps = async ({ params }) => { notFound: true, } } - + const rawMdx = `--- title: ${network.id} hideTableOfContents: true @@ -51,7 +47,7 @@ parentRouteKey: supported-networks ` const mdx = await buildDynamicMDX(rawMdx, { codeHighlight: false }) const { pageMap } = await import(`.next/static/chunks/nextra-page-map-${locale}.mjs`) - + return { props: { ...mdx, From 0d1a759e56d3e787dad0c9b9902b3d15efc3768a Mon Sep 17 00:00:00 2001 From: Hayder Date: Wed, 2 Apr 2025 11:28:47 +0200 Subject: [PATCH 28/37] fix lint --- website/src/pages/[locale]/supported-networks/[id].mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/src/pages/[locale]/supported-networks/[id].mdx b/website/src/pages/[locale]/supported-networks/[id].mdx index d0576e918a0d..b134134a9abf 100644 --- a/website/src/pages/[locale]/supported-networks/[id].mdx +++ b/website/src/pages/[locale]/supported-networks/[id].mdx @@ -16,8 +16,11 @@ export const getStaticPaths = async () => { }) } } - -return { paths, fallback: false } } + return { + paths, + fallback: false, + } +} export const getStaticProps = async ({ params }) => { const { locale, id } = params @@ -26,7 +29,6 @@ export const getStaticProps = async ({ params }) => { notFound: true, } } - const networks = await getSupportedNetworks() const network = networks.find((n) => n.id === id) if (!network) { @@ -34,7 +36,6 @@ export const getStaticProps = async ({ params }) => { notFound: true, } } - const rawMdx = `--- title: ${network.id} hideTableOfContents: true @@ -47,7 +48,6 @@ parentRouteKey: supported-networks ` const mdx = await buildDynamicMDX(rawMdx, { codeHighlight: false }) const { pageMap } = await import(`.next/static/chunks/nextra-page-map-${locale}.mjs`) - return { props: { ...mdx, From 1f35fea22c3f4f5eea02452769313eac4a63c165 Mon Sep 17 00:00:00 2001 From: Hayder Date: Wed, 2 Apr 2025 11:50:03 +0200 Subject: [PATCH 29/37] Remove loading indicator2 --- website/src/components/NetworkDetailsPage.tsx | 85 ++++--------------- .../supported-networks/NetworkFilters.tsx | 3 +- 2 files changed, 19 insertions(+), 69 deletions(-) diff --git a/website/src/components/NetworkDetailsPage.tsx b/website/src/components/NetworkDetailsPage.tsx index a3bbc8cc0934..6fcfd702434c 100644 --- a/website/src/components/NetworkDetailsPage.tsx +++ b/website/src/components/NetworkDetailsPage.tsx @@ -3,9 +3,9 @@ import type { ComponentPropsWithoutRef } from 'react' import { memo } from 'react' import { classNames } from '@edgeandnode/gds' -import { Clock, Subgraph, Substreams, SubstreamsPoweredSubgraph } from '@edgeandnode/gds/icons' +import { Subgraph, Substreams, SubstreamsPoweredSubgraph } from '@edgeandnode/gds/icons' -import { Card } from '@/components' +import { Card, TimeIcon } from '@/components' import { useI18n } from '@/i18n' import { isNonEVMNetwork } from '@/utils/networkUtils' @@ -21,30 +21,6 @@ type NetworkDetailsPageProps = { } } -const Time = memo( - ({ - variant, - minutes, - className, - ...props - }: ComponentPropsWithoutRef<'div'> & { - variant: 'reading' | 'duration' - minutes: number - }) => { - const { t } = useI18n() - return ( -
    - - {minutes} {t('index.time.minutes')} -
    - ) - }, -) - const EVMResources = memo(() => { const { t } = useI18n() @@ -55,37 +31,25 @@ const EVMResources = memo(() => { href="https://thegraph.com/docs/en/subgraphs/quick-start/" title={t('index.networkGuides.evm.subgraphQuickStart.title')} description={t('index.networkGuides.evm.subgraphQuickStart.description')} - slotAboveTitle={
@@ -93,13 +57,13 @@ const EVMResources = memo(() => { href="https://thegraph.com/docs/en/subgraphs/developing/creating/advanced/" title={t('index.networkGuides.evm.advancedFeatures.title')} description={t('index.networkGuides.evm.advancedFeatures.description')} - slotAboveTitle={
@@ -116,37 +80,25 @@ const NonEVMResources = memo(() => { href="https://docs.substreams.dev/" title={t('index.networkGuides.nonEvm.officialDocs.title')} description={t('index.networkGuides.nonEvm.officialDocs.description')} - slotAboveTitle={
@@ -154,20 +106,19 @@ const NonEVMResources = memo(() => { href="https://github.com/streamingfast/substreams-starter" title={t('index.networkGuides.nonEvm.substreamsStarter.title')} description={t('index.networkGuides.nonEvm.substreamsStarter.description')} - slotAboveTitle={
) }) -Time.displayName = 'Time' EVMResources.displayName = 'EVMResources' NonEVMResources.displayName = 'NonEVMResources' diff --git a/website/src/components/supported-networks/NetworkFilters.tsx b/website/src/components/supported-networks/NetworkFilters.tsx index c6800b9adb93..1e3503995094 100644 --- a/website/src/components/supported-networks/NetworkFilters.tsx +++ b/website/src/components/supported-networks/NetworkFilters.tsx @@ -1,6 +1,6 @@ import { memo } from 'react' -import { ExperimentalSearch, ExperimentalToggleChip, LoadingSpinner } from '@edgeandnode/gds' +import { ExperimentalSearch, ExperimentalToggleChip } from '@edgeandnode/gds' import { useI18n } from '@/i18n' @@ -32,7 +32,6 @@ export const NetworkFilters = memo( onChange={onToggleTestnets} checked={showTestnets} disabled={isLoadingTestnets} - iconBefore={isLoadingTestnets ? : undefined} > {t('index.supportedNetworks.showTestnets')} From 173804625f6ea0a82a25c2eba60342b777c6c48b Mon Sep 17 00:00:00 2001 From: Hayder Date: Wed, 2 Apr 2025 21:34:57 +0200 Subject: [PATCH 30/37] Optimize files --- pnpm-lock.yaml | 849 +++++++++--------- website/package.json | 16 +- website/src/HomePage.tsx | 4 +- website/src/components/Table.tsx | 2 +- website/src/components/index.ts | 5 +- .../supported-networks/NetworkFilters.tsx | 41 - .../[locale]/supported-networks/[id].mdx | 2 +- .../components}/EmptySearchResults.tsx | 18 +- .../components/NetworkDetailsPage.tsx | 14 +- .../components/NetworkFilters.tsx | 38 + .../components/NetworkPage.tsx | 34 +- .../components}/NetworkRow.tsx | 2 +- .../components}/NetworksTable.tsx | 0 .../components}/SkeletonRow.tsx | 0 .../components}/index.ts | 2 + .../index.tsx} | 52 +- .../utils.ts} | 21 +- 17 files changed, 527 insertions(+), 573 deletions(-) delete mode 100644 website/src/components/supported-networks/NetworkFilters.tsx rename website/src/{components/supported-networks => supportedNetworks/components}/EmptySearchResults.tsx (65%) rename website/src/{ => supportedNetworks}/components/NetworkDetailsPage.tsx (94%) create mode 100644 website/src/supportedNetworks/components/NetworkFilters.tsx rename website/src/{ => supportedNetworks}/components/NetworkPage.tsx (80%) rename website/src/{components/supported-networks => supportedNetworks/components}/NetworkRow.tsx (97%) rename website/src/{components/supported-networks => supportedNetworks/components}/NetworksTable.tsx (100%) rename website/src/{components/supported-networks => supportedNetworks/components}/SkeletonRow.tsx (100%) rename website/src/{components/supported-networks => supportedNetworks/components}/index.ts (70%) rename website/src/{supportedNetworks.tsx => supportedNetworks/index.tsx} (67%) rename website/src/{utils/networkUtils.ts => supportedNetworks/utils.ts} (91%) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 73c481fa1acb..65405307e305 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -87,7 +87,7 @@ importers: version: 5.8.2 vitest: specifier: ^2.1.9 - version: 2.1.9(@types/node@22.13.17)(jsdom@24.1.3) + version: 2.1.9(@types/node@22.14.0)(jsdom@24.1.3) wrangler: specifier: ^3.114.3 version: 3.114.3(@cloudflare/workers-types@4.20250327.0) @@ -126,16 +126,16 @@ importers: dependencies: '@docsearch/react': specifier: ^3.9.0 - version: 3.9.0(@algolia/client-search@5.23.0)(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3) + version: 3.9.0(@algolia/client-search@5.23.1)(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3) '@edgeandnode/common': - specifier: ^7.0.3 - version: 7.0.3(hardhat@2.14.1(typescript@5.8.2)) + specifier: ^7.0.4 + version: 7.0.4(hardhat@2.14.1(typescript@5.8.2)) '@edgeandnode/gds': - specifier: ^6.5.10 - version: 6.5.10(@emotion/is-prop-valid@0.8.8)(@emotion/react@11.14.0(@types/react@18.3.20)(react@18.3.1))(@theme-ui/core@0.17.2(@emotion/react@11.14.0(@types/react@18.3.20)(react@18.3.1))(react@18.3.1))(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(dayjs@1.11.13)(hardhat@2.14.1(typescript@5.8.2))(next@14.2.26(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(theme-ui@0.17.2(@emotion/react@11.14.0(@types/react@18.3.20)(react@18.3.1))(react@18.3.1))(typescript@5.8.2) + specifier: ^6.5.12 + version: 6.5.12(@emotion/is-prop-valid@0.8.8)(@emotion/react@11.14.0(@types/react@18.3.20)(react@18.3.1))(@theme-ui/core@0.17.2(@emotion/react@11.14.0(@types/react@18.3.20)(react@18.3.1))(react@18.3.1))(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(dayjs@1.11.13)(hardhat@2.14.1(typescript@5.8.2))(next@14.2.26(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(theme-ui@0.17.2(@emotion/react@11.14.0(@types/react@18.3.20)(react@18.3.1))(react@18.3.1))(typescript@5.8.2) '@edgeandnode/go': - specifier: ^9.4.10 - version: 9.4.10(18dba0f8996509b386f470f6173a2cad) + specifier: ^9.4.12 + version: 9.4.12(7f99dc5aa8c93bcda610c6e8fd850d36) '@emotion/react': specifier: ^11.14.0 version: 11.14.0(@types/react@18.3.20)(react@18.3.1) @@ -161,11 +161,11 @@ importers: specifier: ^4.17.21 version: 4.17.21 mixpanel-browser: - specifier: ^2.62.0 - version: 2.62.0 + specifier: ^2.63.0 + version: 2.63.0 motion: - specifier: ^12.6.2 - version: 12.6.2(@emotion/is-prop-valid@0.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^12.6.3 + version: 12.6.3(@emotion/is-prop-valid@0.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) next: specifier: ^14.2.26 version: 14.2.26(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -222,20 +222,20 @@ importers: specifier: ^2.54.0 version: 2.54.0 '@types/node': - specifier: ^22.13.14 - version: 22.13.14 + specifier: ^22.14.0 + version: 22.14.0 '@types/react': specifier: ^18.3.20 version: 18.3.20 '@types/react-dom': - specifier: ^18.3.5 - version: 18.3.5(@types/react@18.3.20) + specifier: ^18.3.6 + version: 18.3.6(@types/react@18.3.20) autoprefixer: specifier: ^10.4.21 version: 10.4.21(postcss@8.5.3) fast-xml-parser: - specifier: ^5.0.9 - version: 5.0.9 + specifier: ^5.1.0 + version: 5.1.0 postcss: specifier: ^8.5.3 version: 8.5.3 @@ -277,56 +277,56 @@ packages: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' - '@algolia/client-abtesting@5.23.0': - resolution: {integrity: sha512-AyZ+9CUgWXwaaJ2lSwOJSy+/w0MFBPFqLrjWYs/HEpYMzBuFfGNZ7gEM9a7h4j7jY8hSBARBl8qdvInmj5vOEQ==} + '@algolia/client-abtesting@5.23.1': + resolution: {integrity: sha512-WZ9vKwHDiTCq6/F2+KHMeojT6MuqtVVvUJorbi6zGeOokKbOeeq7+RIPEezynsfq+Tl6SjuAbOWiQ0qTpJTWQw==} engines: {node: '>= 14.0.0'} - '@algolia/client-analytics@5.23.0': - resolution: {integrity: sha512-oeKCPwLBnTEPF/RWr0aaJnrfRDfFRLT5O7KV0OF1NmpEXvmzLmN7RwnwDKsNtPUHNfpJ6esP9xzkPEtJabrZ2w==} + '@algolia/client-analytics@5.23.1': + resolution: {integrity: sha512-Pr/hVwl2YN7xw0R9HS8KzG+R7IQAArdMQIqi/QYRmW6+Mst3cqGqvVJEAYOJUS5lAQ93pkAkc5ns1kFxSfWRIg==} engines: {node: '>= 14.0.0'} - '@algolia/client-common@5.23.0': - resolution: {integrity: sha512-9jacdC44vXLSaYKNLkFpbU1J4BbBPi/N7uoPhcGO//8ubRuVzigH6+RfK5FbudmQlqFt0J5DGUCVeTlHtgyUeg==} + '@algolia/client-common@5.23.1': + resolution: {integrity: sha512-/xJtZl+A7GBNf1jkG/xsemur7JDkBWY8wh58iah1xvJxxxpi+WBYAtVkwS7Mn/D/PJFpuVNSHKkoC8+uT5jYKQ==} engines: {node: '>= 14.0.0'} - '@algolia/client-insights@5.23.0': - resolution: {integrity: sha512-/Gw5UitweRsnyb24Td4XhjXmsx8PxFzCI0oW6FZZvyr4kjzB9ECP2IjO+PdDq1A2fzDl/LXQ+u8ROudoVnXnQg==} + '@algolia/client-insights@5.23.1': + resolution: {integrity: sha512-tmg7ovakc0uOfp5vZv9CPLuMkIqEEn7Ra3NzU0GOpSjXTgQmcsw7QvzLQtD6u9oFPCMk+OqJ+4V/94P5M0yWSw==} engines: {node: '>= 14.0.0'} - '@algolia/client-personalization@5.23.0': - resolution: {integrity: sha512-ivrEZBoXfDatpqpifgHauydxHEe4udNqJ0gy7adR2KODeQ+39MQeaT10I24mu+eylIuiQKJRqORgEdLZycq2qQ==} + '@algolia/client-personalization@5.23.1': + resolution: {integrity: sha512-jYsKIiCN5IlWG+F9vbrAXuXPy0u44HDYN3QrX+zfQ8Fr8cpdNHbQTuQAQfWpofhA6hYrrQ66Ms2KbXcdgkyPKw==} engines: {node: '>= 14.0.0'} - '@algolia/client-query-suggestions@5.23.0': - resolution: {integrity: sha512-DjSgJWqTcsnlXEKqDsU7Y2vB/W/VYLlr6UfkzJkMuKB554Ia7IJr4keP2AlHVjjbBG62IDpdh5OkEs/+fbWsOA==} + '@algolia/client-query-suggestions@5.23.1': + resolution: {integrity: sha512-BDFiGQ6UdFsEMEigFlOAeL7VDysqf05qn+yyQUnGuOuzSbsqtlB4W6ZyZC1+jpY2tXGpGOMDh9ej2BQOoji8UQ==} engines: {node: '>= 14.0.0'} - '@algolia/client-search@5.23.0': - resolution: {integrity: sha512-XAYWUYUhEG4OIdo/N7H/OFFRD9fokfv3bBTky+4Y4/q07bxhnrGSUvcrU6JQ2jJTQyg6kv0ke1EIfiTO/Xxb+g==} + '@algolia/client-search@5.23.1': + resolution: {integrity: sha512-5aW3B0F2aALh54rn/LLSZPigA0Wbpl4EZfI8g2KmAWHM3HLQtzFhpmeiItFMUklmmHwse4s/iDmRHlBhdHfFIQ==} engines: {node: '>= 14.0.0'} - '@algolia/ingestion@1.23.0': - resolution: {integrity: sha512-ULbykzzhhLVofCDU1m/CqSzTyKmjaxA/z1d6o6hgUuR6X7/dll9/G0lu0e4vmWIOItklWWrhU2V8sXD0YGBIHg==} + '@algolia/ingestion@1.23.1': + resolution: {integrity: sha512-YlS7wL1vFGd79/gDXHejfjcbLJHwh5Y9ljA6TEbsHsXeZuN8galpcMIDl9qadHJgx3PgQbwmWV87+EHGiLzXoQ==} engines: {node: '>= 14.0.0'} - '@algolia/monitoring@1.23.0': - resolution: {integrity: sha512-oB3wG7CgQJQr+uoijV7bWBphiSHkvGX43At8RGgkDyc7Aeabcp9ik5HgLC1YDgbHVOlQI+tce5HIbDCifzQCIg==} + '@algolia/monitoring@1.23.1': + resolution: {integrity: sha512-qD79lqsLv9G/nu6EIo3hjBBQr7rBt7QatdABT59HnQI5exbJBDMbtynu3VdrvvCfZ9XEb7j/HFbglbN7fVYKfA==} engines: {node: '>= 14.0.0'} - '@algolia/recommend@5.23.0': - resolution: {integrity: sha512-4PWvCV6VGhnCMAbv2zfQUAlc3ofMs6ovqKlC/xcp7tWaucYd//piHg9CcCM4S0p9OZznEGQMRYPt2uqbk6V9vg==} + '@algolia/recommend@5.23.1': + resolution: {integrity: sha512-kmQtotstkZCCojfqv4//XQhy+Y5rTkNTTadiJf/KsR1wBvLMIYDQtTR+1XZdHdVaJCnvW//gJA3KL84rQ91uPg==} engines: {node: '>= 14.0.0'} - '@algolia/requester-browser-xhr@5.23.0': - resolution: {integrity: sha512-bacOsX41pnsupNB0k0Ny+1JDchQxIsZIcp69GKDBT0NgTHG8OayEO141eFalNmGil+GXPY0NUPRpx+5s4RdhGA==} + '@algolia/requester-browser-xhr@5.23.1': + resolution: {integrity: sha512-BJfxcOWj3vAr3r4Oe9T3O+pg54qRZdeEmp5Lmzocog05rhfH/wgEXv/stFnuB+6MgLOOiXJNP1kdaiAHLzRZYw==} engines: {node: '>= 14.0.0'} - '@algolia/requester-fetch@5.23.0': - resolution: {integrity: sha512-tVNFREexJWDrvc23evmRgAcb2KLZuVilOIB/rVnQCl0GDbqIWJuQ1lG22HKqvCEQFthHkgVFGLYE74wQ96768g==} + '@algolia/requester-fetch@5.23.1': + resolution: {integrity: sha512-YTbslSbEpuCZn15eMx8djR1jYbJdELOIfvo5xLOBeSB/bGReHAOoQ9HHopCB17F40xaPQi6CJMXWx63ImMAN4w==} engines: {node: '>= 14.0.0'} - '@algolia/requester-node-http@5.23.0': - resolution: {integrity: sha512-XXHbq2heOZc9EFCc4z+uyHS9YRBygZbYQVsWjWZWx8hdAz+tkBX/jLHM9Xg+3zO0/v8JN6pcZzqYEVsdrLeNLg==} + '@algolia/requester-node-http@5.23.1': + resolution: {integrity: sha512-Jp/5Fqx+eREpmM179LOQpyvQOdsR3Pq2aVpsuoSdQ/8o4B6v38lmrkbbMrMsNayR59QQ9VkL2ImYKBysqB4Qug==} engines: {node: '>= 14.0.0'} '@alloc/quick-lru@5.2.0': @@ -540,8 +540,8 @@ packages: search-insights: optional: true - '@edgeandnode/common@7.0.3': - resolution: {integrity: sha512-4XZh6dzbe8u4pemFOBvb6eIaezOwRfBxfQU8sZF+cfz91ihiFNkuEiW+YMCx5mQFNwjNWw5ru4+aPHZfpJkdWw==} + '@edgeandnode/common@7.0.4': + resolution: {integrity: sha512-R5i6tPnmUY00nbaWKvrLlfToFciJSm7Kk5boql16f+NzZnvsk6+SxFWi7b/hmQfEbaXm74isD/yfVcLPX6h+Aw==} '@edgeandnode/ens@2.1.3': resolution: {integrity: sha512-WU0XfskpamhChqTai2jI6i6VY/yakb4zCBxx8YgoXekWPLsWoAl+tad9Ll7dDIsN4x9U33xXKyoM30Jpu/yEXw==} @@ -557,8 +557,8 @@ packages: typescript: optional: true - '@edgeandnode/gds@6.5.10': - resolution: {integrity: sha512-mvT8iGLKjKVI6diTHbTXmN1ueDbW1rF8Qz1XMwyw6+/VANzKzMplsgZ/cKSEdZUzLhBj4gz5earrUn5n5e1Ykw==} + '@edgeandnode/gds@6.5.12': + resolution: {integrity: sha512-ZrIdlSysK7564GjgV3Do26g5Qp8V7cgx3SqxckJvUQzlR1tAnH93ZX5LiscTSrmwtY716fiomeXOOgUyYDUkkg==} peerDependencies: '@emotion/react': ^11 dayjs: ^1.11 @@ -570,12 +570,12 @@ packages: next: optional: true - '@edgeandnode/go@9.4.10': - resolution: {integrity: sha512-A60jXmYCjGGV2/GEzPHXUZzrESt8LoUopQs8JjcltAdDFSJMYcvwp45gP//JesyNuysOrrb0AXAHYmnJxOh/Xw==} + '@edgeandnode/go@9.4.12': + resolution: {integrity: sha512-ppZP4IoJlKu2H6X4iiL+vdX3fFWhS8ZUysJdzwENWjKbemhrmGoDzXzqGggo745S3osSoi4tMreRGWDw+xjjbg==} peerDependencies: - '@edgeandnode/common': ^7.0.3 - '@edgeandnode/ens': ^2.1.3 - '@edgeandnode/gds': ^6.5.10 + '@edgeandnode/common': ^7.0.4 + '@edgeandnode/ens': ^2.1.4 + '@edgeandnode/gds': ^6.5.12 '@emotion/react': ^11 '@tanstack/react-query': ^5 graphql: '>=16.9' @@ -1323,8 +1323,8 @@ packages: react: '>=16.8.0' react-dom: '>=16.8.0' - '@floating-ui/react@0.27.5': - resolution: {integrity: sha512-BX3jKxo39Ba05pflcQmqPPwc0qdNsdNi/eweAFtoIdrJWNen2sVEWMEac3i6jU55Qfx+lOcdMNKYn2CtWmlnOQ==} + '@floating-ui/react@0.27.6': + resolution: {integrity: sha512-9GLOPbW8jTeboR2ar9uMMUDUZjpTLscUvOjNvRw2EgppgoLHLUh/P/OW9evULosnvDjhYf2Gwk/gMOP9KvXD2A==} peerDependencies: react: '>=17.0.0' react-dom: '>=17.0.0' @@ -2890,109 +2890,112 @@ packages: resolution: {integrity: sha512-FqALmHI8D4o6lk/LRWDnhw95z5eO+eAa6ORjVg09YRR7BkcM6oPHU9uyC0gtQG5vpFLvgpeU4+zEAz2H8APHNw==} engines: {node: '>= 10'} - '@rollup/rollup-android-arm-eabi@4.38.0': - resolution: {integrity: sha512-ldomqc4/jDZu/xpYU+aRxo3V4mGCV9HeTgUBANI3oIQMOL+SsxB+S2lxMpkFp5UamSS3XuTMQVbsS24R4J4Qjg==} + '@rollup/rollup-android-arm-eabi@4.39.0': + resolution: {integrity: sha512-lGVys55Qb00Wvh8DMAocp5kIcaNzEFTmGhfFd88LfaogYTRKrdxgtlO5H6S49v2Nd8R2C6wLOal0qv6/kCkOwA==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.38.0': - resolution: {integrity: sha512-VUsgcy4GhhT7rokwzYQP+aV9XnSLkkhlEJ0St8pbasuWO/vwphhZQxYEKUP3ayeCYLhk6gEtacRpYP/cj3GjyQ==} + '@rollup/rollup-android-arm64@4.39.0': + resolution: {integrity: sha512-It9+M1zE31KWfqh/0cJLrrsCPiF72PoJjIChLX+rEcujVRCb4NLQ5QzFkzIZW8Kn8FTbvGQBY5TkKBau3S8cCQ==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.38.0': - resolution: {integrity: sha512-buA17AYXlW9Rn091sWMq1xGUvWQFOH4N1rqUxGJtEQzhChxWjldGCCup7r/wUnaI6Au8sKXpoh0xg58a7cgcpg==} + '@rollup/rollup-darwin-arm64@4.39.0': + resolution: {integrity: sha512-lXQnhpFDOKDXiGxsU9/l8UEGGM65comrQuZ+lDcGUx+9YQ9dKpF3rSEGepyeR5AHZ0b5RgiligsBhWZfSSQh8Q==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.38.0': - resolution: {integrity: sha512-Mgcmc78AjunP1SKXl624vVBOF2bzwNWFPMP4fpOu05vS0amnLcX8gHIge7q/lDAHy3T2HeR0TqrriZDQS2Woeg==} + '@rollup/rollup-darwin-x64@4.39.0': + resolution: {integrity: sha512-mKXpNZLvtEbgu6WCkNij7CGycdw9cJi2k9v0noMb++Vab12GZjFgUXD69ilAbBh034Zwn95c2PNSz9xM7KYEAQ==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.38.0': - resolution: {integrity: sha512-zzJACgjLbQTsscxWqvrEQAEh28hqhebpRz5q/uUd1T7VTwUNZ4VIXQt5hE7ncs0GrF+s7d3S4on4TiXUY8KoQA==} + '@rollup/rollup-freebsd-arm64@4.39.0': + resolution: {integrity: sha512-jivRRlh2Lod/KvDZx2zUR+I4iBfHcu2V/BA2vasUtdtTN2Uk3jfcZczLa81ESHZHPHy4ih3T/W5rPFZ/hX7RtQ==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.38.0': - resolution: {integrity: sha512-hCY/KAeYMCyDpEE4pTETam0XZS4/5GXzlLgpi5f0IaPExw9kuB+PDTOTLuPtM10TlRG0U9OSmXJ+Wq9J39LvAg==} + '@rollup/rollup-freebsd-x64@4.39.0': + resolution: {integrity: sha512-8RXIWvYIRK9nO+bhVz8DwLBepcptw633gv/QT4015CpJ0Ht8punmoHU/DuEd3iw9Hr8UwUV+t+VNNuZIWYeY7Q==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.38.0': - resolution: {integrity: sha512-mimPH43mHl4JdOTD7bUMFhBdrg6f9HzMTOEnzRmXbOZqjijCw8LA5z8uL6LCjxSa67H2xiLFvvO67PT05PRKGg==} + '@rollup/rollup-linux-arm-gnueabihf@4.39.0': + resolution: {integrity: sha512-mz5POx5Zu58f2xAG5RaRRhp3IZDK7zXGk5sdEDj4o96HeaXhlUwmLFzNlc4hCQi5sGdR12VDgEUqVSHer0lI9g==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.38.0': - resolution: {integrity: sha512-tPiJtiOoNuIH8XGG8sWoMMkAMm98PUwlriOFCCbZGc9WCax+GLeVRhmaxjJtz6WxrPKACgrwoZ5ia/uapq3ZVg==} + '@rollup/rollup-linux-arm-musleabihf@4.39.0': + resolution: {integrity: sha512-+YDwhM6gUAyakl0CD+bMFpdmwIoRDzZYaTWV3SDRBGkMU/VpIBYXXEvkEcTagw/7VVkL2vA29zU4UVy1mP0/Yw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.38.0': - resolution: {integrity: sha512-wZco59rIVuB0tjQS0CSHTTUcEde+pXQWugZVxWaQFdQQ1VYub/sTrNdY76D1MKdN2NB48JDuGABP6o6fqos8mA==} + '@rollup/rollup-linux-arm64-gnu@4.39.0': + resolution: {integrity: sha512-EKf7iF7aK36eEChvlgxGnk7pdJfzfQbNvGV/+l98iiMwU23MwvmV0Ty3pJ0p5WQfm3JRHOytSIqD9LB7Bq7xdQ==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.38.0': - resolution: {integrity: sha512-fQgqwKmW0REM4LomQ+87PP8w8xvU9LZfeLBKybeli+0yHT7VKILINzFEuggvnV9M3x1Ed4gUBmGUzCo/ikmFbQ==} + '@rollup/rollup-linux-arm64-musl@4.39.0': + resolution: {integrity: sha512-vYanR6MtqC7Z2SNr8gzVnzUul09Wi1kZqJaek3KcIlI/wq5Xtq4ZPIZ0Mr/st/sv/NnaPwy/D4yXg5x0B3aUUA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loongarch64-gnu@4.38.0': - resolution: {integrity: sha512-hz5oqQLXTB3SbXpfkKHKXLdIp02/w3M+ajp8p4yWOWwQRtHWiEOCKtc9U+YXahrwdk+3qHdFMDWR5k+4dIlddg==} + '@rollup/rollup-linux-loongarch64-gnu@4.39.0': + resolution: {integrity: sha512-NMRUT40+h0FBa5fb+cpxtZoGAggRem16ocVKIv5gDB5uLDgBIwrIsXlGqYbLwW8YyO3WVTk1FkFDjMETYlDqiw==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.38.0': - resolution: {integrity: sha512-NXqygK/dTSibQ+0pzxsL3r4Xl8oPqVoWbZV9niqOnIHV/J92fe65pOir0xjkUZDRSPyFRvu+4YOpJF9BZHQImw==} + '@rollup/rollup-linux-powerpc64le-gnu@4.39.0': + resolution: {integrity: sha512-0pCNnmxgduJ3YRt+D+kJ6Ai/r+TaePu9ZLENl+ZDV/CdVczXl95CbIiwwswu4L+K7uOIGf6tMo2vm8uadRaICQ==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.38.0': - resolution: {integrity: sha512-GEAIabR1uFyvf/jW/5jfu8gjM06/4kZ1W+j1nWTSSB3w6moZEBm7iBtzwQ3a1Pxos2F7Gz+58aVEnZHU295QTg==} + '@rollup/rollup-linux-riscv64-gnu@4.39.0': + resolution: {integrity: sha512-t7j5Zhr7S4bBtksT73bO6c3Qa2AV/HqiGlj9+KB3gNF5upcVkx+HLgxTm8DK4OkzsOYqbdqbLKwvGMhylJCPhQ==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.38.0': - resolution: {integrity: sha512-9EYTX+Gus2EGPbfs+fh7l95wVADtSQyYw4DfSBcYdUEAmP2lqSZY0Y17yX/3m5VKGGJ4UmIH5LHLkMJft3bYoA==} + '@rollup/rollup-linux-riscv64-musl@4.39.0': + resolution: {integrity: sha512-m6cwI86IvQ7M93MQ2RF5SP8tUjD39Y7rjb1qjHgYh28uAPVU8+k/xYWvxRO3/tBN2pZkSMa5RjnPuUIbrwVxeA==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.38.0': - resolution: {integrity: sha512-Mpp6+Z5VhB9VDk7RwZXoG2qMdERm3Jw07RNlXHE0bOnEeX+l7Fy4bg+NxfyN15ruuY3/7Vrbpm75J9QHFqj5+Q==} + '@rollup/rollup-linux-s390x-gnu@4.39.0': + resolution: {integrity: sha512-iRDJd2ebMunnk2rsSBYlsptCyuINvxUfGwOUldjv5M4tpa93K8tFMeYGpNk2+Nxl+OBJnBzy2/JCscGeO507kA==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.38.0': - resolution: {integrity: sha512-vPvNgFlZRAgO7rwncMeE0+8c4Hmc+qixnp00/Uv3ht2x7KYrJ6ERVd3/R0nUtlE6/hu7/HiiNHJ/rP6knRFt1w==} + '@rollup/rollup-linux-x64-gnu@4.39.0': + resolution: {integrity: sha512-t9jqYw27R6Lx0XKfEFe5vUeEJ5pF3SGIM6gTfONSMb7DuG6z6wfj2yjcoZxHg129veTqU7+wOhY6GX8wmf90dA==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.38.0': - resolution: {integrity: sha512-q5Zv+goWvQUGCaL7fU8NuTw8aydIL/C9abAVGCzRReuj5h30TPx4LumBtAidrVOtXnlB+RZkBtExMsfqkMfb8g==} + '@rollup/rollup-linux-x64-musl@4.39.0': + resolution: {integrity: sha512-ThFdkrFDP55AIsIZDKSBWEt/JcWlCzydbZHinZ0F/r1h83qbGeenCt/G/wG2O0reuENDD2tawfAj2s8VK7Bugg==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.38.0': - resolution: {integrity: sha512-u/Jbm1BU89Vftqyqbmxdq14nBaQjQX1HhmsdBWqSdGClNaKwhjsg5TpW+5Ibs1mb8Es9wJiMdl86BcmtUVXNZg==} + '@rollup/rollup-win32-arm64-msvc@4.39.0': + resolution: {integrity: sha512-jDrLm6yUtbOg2TYB3sBF3acUnAwsIksEYjLeHL+TJv9jg+TmTwdyjnDex27jqEMakNKf3RwwPahDIt7QXCSqRQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.38.0': - resolution: {integrity: sha512-mqu4PzTrlpNHHbu5qleGvXJoGgHpChBlrBx/mEhTPpnAL1ZAYFlvHD7rLK839LLKQzqEQMFJfGrrOHItN4ZQqA==} + '@rollup/rollup-win32-ia32-msvc@4.39.0': + resolution: {integrity: sha512-6w9uMuza+LbLCVoNKL5FSLE7yvYkq9laSd09bwS0tMjkwXrmib/4KmoJcrKhLWHvw19mwU+33ndC69T7weNNjQ==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.38.0': - resolution: {integrity: sha512-jjqy3uWlecfB98Psxb5cD6Fny9Fupv9LrDSPTQZUROqjvZmcCqNu4UMl7qqhlUUGpwiAkotj6GYu4SZdcr/nLw==} + '@rollup/rollup-win32-x64-msvc@4.39.0': + resolution: {integrity: sha512-yAkUOkIKZlK5dl7u6dg897doBgLXmUHhIINM2c+sND3DZwnrdQkkSiDh7N75Ll4mM4dxSkYfXqU9fW3lLkMFug==} cpu: [x64] os: [win32] '@rrweb/types@2.0.0-alpha.18': resolution: {integrity: sha512-iMH3amHthJZ9x3gGmBPmdfim7wLGygC2GciIkw2A6SO8giSn8PHYtRT8OKNH4V+k3SZ6RSnYHcTQxBA7pSWZ3Q==} + '@rrweb/utils@2.0.0-alpha.18': + resolution: {integrity: sha512-qV8azQYo9RuwW4NGRtOiQfTBdHNL1B0Q//uRLMbCSjbaKqJYd88Js17Bdskj65a0Vgp2dwTLPIZ0gK47dfjfaA==} + '@rtsao/scc@1.1.0': resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} @@ -3387,12 +3390,12 @@ packages: '@types/nlcst@2.0.3': resolution: {integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==} - '@types/node@22.13.14': - resolution: {integrity: sha512-Zs/Ollc1SJ8nKUAgc7ivOEdIBM8JAKgrqqUYi2J997JuKO7/tpQC+WCetQ1sypiKCQWHdvdg9wBNpUPEWZae7w==} - '@types/node@22.13.17': resolution: {integrity: sha512-nAJuQXoyPj04uLgu+obZcSmsfOenUg6DxPKogeUy6yNCFwWaj5sBF8/G/pNo8EtBJjAfSVgfIlugR/BCOleO+g==} + '@types/node@22.14.0': + resolution: {integrity: sha512-Kmpl+z84ILoG+3T/zQFyAJsU6EPTmOCj8/2+83fSN6djd6I4o7uOuGIH6vq3PrjY5BGitSbFuMN18j3iknubbA==} + '@types/parse-json@4.0.2': resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} @@ -3405,8 +3408,8 @@ packages: '@types/prop-types@15.7.14': resolution: {integrity: sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==} - '@types/react-dom@18.3.5': - resolution: {integrity: sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==} + '@types/react-dom@18.3.6': + resolution: {integrity: sha512-nf22//wEbKXusP6E9pfOCDwFdHAX4u172eaJI4YkDRQEZiorm6KfYnSC2SWLDMVWUOWPERmJnN0ujeAfTBLvrw==} peerDependencies: '@types/react': ^18.0.0 @@ -3761,8 +3764,8 @@ packages: ajv@8.17.1: resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} - algoliasearch@5.23.0: - resolution: {integrity: sha512-7TCj+hLx6fZKppLL74lYGDEltSBNSu4vqRwgqeIKZ3VQ0q3aOrdEN0f1sDWcvU1b+psn2wnl7aHt9hWtYatUUA==} + algoliasearch@5.23.1: + resolution: {integrity: sha512-YgOhwpSIQjR/LrEN1FGOzEVhXTdkpfAn+MPGR1s3MQzvPvdTiGQgFDpPeIl5w/KvvXammMXTzazvaJpEie28xQ==} engines: {node: '>= 14.0.0'} ansi-align@3.0.1: @@ -4419,8 +4422,8 @@ packages: peerDependencies: cytoscape: ^3.2.0 - cytoscape@3.31.1: - resolution: {integrity: sha512-Hx5Mtb1+hnmAKaZZ/7zL1Y5HTFYOjdDswZy/jD+1WINRU8KVi1B7+vlHdsTwY+VCFucTreoyu1RDzQJ9u0d2Hw==} + cytoscape@3.31.2: + resolution: {integrity: sha512-/eOXg2uGdMdpGlEes5Sf6zE+jUG+05f3htFNQIxLxduOH/SsaUZiPBfAwP1btVIVzsnhiNOdi+hvDRLYfMZjGw==} engines: {node: '>=0.10'} d3-array@2.12.1: @@ -4741,8 +4744,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.128: - resolution: {integrity: sha512-bo1A4HH/NS522Ws0QNFIzyPcyUUNV/yyy70Ho1xqfGYzPUme2F/xr4tlEOuM6/A538U1vDA7a4XfCd1CKRegKQ==} + electron-to-chromium@1.5.129: + resolution: {integrity: sha512-JlXUemX4s0+9f8mLqib/bHH8gOHf5elKS6KeWG3sk3xozb/JTq/RLXIv8OKUWiK4Ah00Wm88EFj5PYkFr4RUPA==} elliptic@6.5.4: resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} @@ -5143,8 +5146,8 @@ packages: fast-uri@3.0.6: resolution: {integrity: sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==} - fast-xml-parser@5.0.9: - resolution: {integrity: sha512-2mBwCiuW3ycKQQ6SOesSB8WeF+fIGb6I/GG5vU5/XEptwFFhp9PE8b9O7fbs2dpq9fXn4ULR3UsfydNUCntf5A==} + fast-xml-parser@5.1.0: + resolution: {integrity: sha512-6fCOoEdpD/hU5fUDviXh0HE9aOiW6En0+4jeyY05F9lORwq6kaO4CrW+ke/hBKnr1pCldU8AVFITwFJEnz8O/w==} hasBin: true fastify-warning@0.2.0: @@ -5169,9 +5172,6 @@ packages: resolution: {integrity: sha512-FXmC4o6bqnMJ/ru/F1R+ik7QqYq8aWx7NZk6Xx4iQ/4jiVb4N/HUtd3BDBP8RT+UXFEndei4diHVqUd4vwsKGA==} engines: {node: '>=18.13.0'} - fflate@0.4.8: - resolution: {integrity: sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA==} - fflate@0.7.4: resolution: {integrity: sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw==} @@ -6434,8 +6434,8 @@ packages: mitt@3.0.1: resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} - mixpanel-browser@2.62.0: - resolution: {integrity: sha512-K22aPmHWqtT24ZK6oqBtZ9JztMCLkOC8yEtsCpMc3d+4heZUF847afxC/4/X+9Syk7CBOxLnxKlIvNM+kLZK+A==} + mixpanel-browser@2.63.0: + resolution: {integrity: sha512-h7M0J/LR/5YLWCVuvPaYuzwV7CgV9jkJz0m94uaTDPebWkhNQPEir63rf/ZpBZgntyvYjO1yMZp2pIpwQ1sBMQ==} mj-context-menu@0.6.1: resolution: {integrity: sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA==} @@ -6476,8 +6476,8 @@ packages: motion-utils@12.6.3: resolution: {integrity: sha512-R/b3Ia2VxtTNZ4LTEO5pKYau1OUNHOuUfxuP0WFCTDYdHkeTBR9UtxR1cc8mDmKr8PEhmmfnTKGz3rSMjNRoRg==} - motion@12.6.2: - resolution: {integrity: sha512-8OBjjuC59WuWHKmPzVWT5M0t5kDxtkfMfHF1M7Iey6F/nvd0AI15YlPnpGlcagW/eOfkdWDO90U/K5LF/k55Yw==} + motion@12.6.3: + resolution: {integrity: sha512-zw/vqUgv5F5m9fkvOl/eCv2AF1+tkeZl3fu2uIlisIaip8sm5e0CouAl6GkdiRoF+G7s29CjqMdIyPMirwUGHA==} peerDependencies: '@emotion/is-prop-valid': '*' react: ^18.0.0 || ^19.0.0 @@ -7463,8 +7463,8 @@ packages: remark-reading-time@2.0.1: resolution: {integrity: sha512-fy4BKy9SRhtYbEHvp6AItbRTnrhiDGbqLQTSYVbQPGuRCncU1ubSsh9p/W5QZSxtYcUXv8KGL0xBgPLyNJA1xw==} - remark-rehype@11.1.1: - resolution: {integrity: sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==} + remark-rehype@11.1.2: + resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==} remark-smartypants@3.0.2: resolution: {integrity: sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==} @@ -7564,8 +7564,8 @@ packages: rollup-pluginutils@2.8.2: resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} - rollup@4.38.0: - resolution: {integrity: sha512-5SsIRtJy9bf1ErAOiFMFzl64Ex9X5V7bnJ+WlFMb+zmP459OSWCEG7b0ERZ+PEU7xPt4OG3RHbrp1LJlXxYTrw==} + rollup@4.39.0: + resolution: {integrity: sha512-thI8kNc02yNvnmJp8dr3fNWJ9tCONDhp6TV35X6HkKGGs9E6q7YWCHbe5vKiTa7TAiNcFEmXKj3X/pG2b3ci0g==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -7584,8 +7584,8 @@ packages: rrweb-snapshot@2.0.0-alpha.18: resolution: {integrity: sha512-hBHZL/NfgQX6wO1D9mpwqFu1NJPpim+moIcKhFEjVTZVRUfCln+LOugRc4teVTCISYHN8Cw5e2iNTWCSm+SkoA==} - rrweb@2.0.0-alpha.13: - resolution: {integrity: sha512-a8GXOCnzWHNaVZPa7hsrLZtNZ3CGjiL+YrkpLo0TfmxGLhjNZbWY2r7pE06p+FcjFNlgUVTmFrSJbK3kO7yxvw==} + rrweb@2.0.0-alpha.18: + resolution: {integrity: sha512-1mjZcB+LVoGSx1+i9E2ZdAP90fS3MghYVix2wvGlZvrgRuLCbTCCOZMztFCkKpgp7/EeCdYM4nIHJkKX5J1Nmg==} run-async@2.4.1: resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} @@ -8360,6 +8360,9 @@ packages: undici-types@6.20.0: resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} + undici-types@6.21.0: + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + undici@5.29.0: resolution: {integrity: sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==} engines: {node: '>=14.0'} @@ -8884,110 +8887,110 @@ snapshots: '@adraffy/ens-normalize@1.11.0': {} - '@algolia/autocomplete-core@1.17.9(@algolia/client-search@5.23.0)(algoliasearch@5.23.0)(search-insights@2.17.3)': + '@algolia/autocomplete-core@1.17.9(@algolia/client-search@5.23.1)(algoliasearch@5.23.1)(search-insights@2.17.3)': dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.17.9(@algolia/client-search@5.23.0)(algoliasearch@5.23.0)(search-insights@2.17.3) - '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.23.0)(algoliasearch@5.23.0) + '@algolia/autocomplete-plugin-algolia-insights': 1.17.9(@algolia/client-search@5.23.1)(algoliasearch@5.23.1)(search-insights@2.17.3) + '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.23.1)(algoliasearch@5.23.1) transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - search-insights - '@algolia/autocomplete-plugin-algolia-insights@1.17.9(@algolia/client-search@5.23.0)(algoliasearch@5.23.0)(search-insights@2.17.3)': + '@algolia/autocomplete-plugin-algolia-insights@1.17.9(@algolia/client-search@5.23.1)(algoliasearch@5.23.1)(search-insights@2.17.3)': dependencies: - '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.23.0)(algoliasearch@5.23.0) + '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.23.1)(algoliasearch@5.23.1) search-insights: 2.17.3 transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - '@algolia/autocomplete-preset-algolia@1.17.9(@algolia/client-search@5.23.0)(algoliasearch@5.23.0)': + '@algolia/autocomplete-preset-algolia@1.17.9(@algolia/client-search@5.23.1)(algoliasearch@5.23.1)': dependencies: - '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.23.0)(algoliasearch@5.23.0) - '@algolia/client-search': 5.23.0 - algoliasearch: 5.23.0 + '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.23.1)(algoliasearch@5.23.1) + '@algolia/client-search': 5.23.1 + algoliasearch: 5.23.1 - '@algolia/autocomplete-shared@1.17.9(@algolia/client-search@5.23.0)(algoliasearch@5.23.0)': + '@algolia/autocomplete-shared@1.17.9(@algolia/client-search@5.23.1)(algoliasearch@5.23.1)': dependencies: - '@algolia/client-search': 5.23.0 - algoliasearch: 5.23.0 + '@algolia/client-search': 5.23.1 + algoliasearch: 5.23.1 - '@algolia/client-abtesting@5.23.0': + '@algolia/client-abtesting@5.23.1': dependencies: - '@algolia/client-common': 5.23.0 - '@algolia/requester-browser-xhr': 5.23.0 - '@algolia/requester-fetch': 5.23.0 - '@algolia/requester-node-http': 5.23.0 + '@algolia/client-common': 5.23.1 + '@algolia/requester-browser-xhr': 5.23.1 + '@algolia/requester-fetch': 5.23.1 + '@algolia/requester-node-http': 5.23.1 - '@algolia/client-analytics@5.23.0': + '@algolia/client-analytics@5.23.1': dependencies: - '@algolia/client-common': 5.23.0 - '@algolia/requester-browser-xhr': 5.23.0 - '@algolia/requester-fetch': 5.23.0 - '@algolia/requester-node-http': 5.23.0 + '@algolia/client-common': 5.23.1 + '@algolia/requester-browser-xhr': 5.23.1 + '@algolia/requester-fetch': 5.23.1 + '@algolia/requester-node-http': 5.23.1 - '@algolia/client-common@5.23.0': {} + '@algolia/client-common@5.23.1': {} - '@algolia/client-insights@5.23.0': + '@algolia/client-insights@5.23.1': dependencies: - '@algolia/client-common': 5.23.0 - '@algolia/requester-browser-xhr': 5.23.0 - '@algolia/requester-fetch': 5.23.0 - '@algolia/requester-node-http': 5.23.0 + '@algolia/client-common': 5.23.1 + '@algolia/requester-browser-xhr': 5.23.1 + '@algolia/requester-fetch': 5.23.1 + '@algolia/requester-node-http': 5.23.1 - '@algolia/client-personalization@5.23.0': + '@algolia/client-personalization@5.23.1': dependencies: - '@algolia/client-common': 5.23.0 - '@algolia/requester-browser-xhr': 5.23.0 - '@algolia/requester-fetch': 5.23.0 - '@algolia/requester-node-http': 5.23.0 + '@algolia/client-common': 5.23.1 + '@algolia/requester-browser-xhr': 5.23.1 + '@algolia/requester-fetch': 5.23.1 + '@algolia/requester-node-http': 5.23.1 - '@algolia/client-query-suggestions@5.23.0': + '@algolia/client-query-suggestions@5.23.1': dependencies: - '@algolia/client-common': 5.23.0 - '@algolia/requester-browser-xhr': 5.23.0 - '@algolia/requester-fetch': 5.23.0 - '@algolia/requester-node-http': 5.23.0 + '@algolia/client-common': 5.23.1 + '@algolia/requester-browser-xhr': 5.23.1 + '@algolia/requester-fetch': 5.23.1 + '@algolia/requester-node-http': 5.23.1 - '@algolia/client-search@5.23.0': + '@algolia/client-search@5.23.1': dependencies: - '@algolia/client-common': 5.23.0 - '@algolia/requester-browser-xhr': 5.23.0 - '@algolia/requester-fetch': 5.23.0 - '@algolia/requester-node-http': 5.23.0 + '@algolia/client-common': 5.23.1 + '@algolia/requester-browser-xhr': 5.23.1 + '@algolia/requester-fetch': 5.23.1 + '@algolia/requester-node-http': 5.23.1 - '@algolia/ingestion@1.23.0': + '@algolia/ingestion@1.23.1': dependencies: - '@algolia/client-common': 5.23.0 - '@algolia/requester-browser-xhr': 5.23.0 - '@algolia/requester-fetch': 5.23.0 - '@algolia/requester-node-http': 5.23.0 + '@algolia/client-common': 5.23.1 + '@algolia/requester-browser-xhr': 5.23.1 + '@algolia/requester-fetch': 5.23.1 + '@algolia/requester-node-http': 5.23.1 - '@algolia/monitoring@1.23.0': + '@algolia/monitoring@1.23.1': dependencies: - '@algolia/client-common': 5.23.0 - '@algolia/requester-browser-xhr': 5.23.0 - '@algolia/requester-fetch': 5.23.0 - '@algolia/requester-node-http': 5.23.0 + '@algolia/client-common': 5.23.1 + '@algolia/requester-browser-xhr': 5.23.1 + '@algolia/requester-fetch': 5.23.1 + '@algolia/requester-node-http': 5.23.1 - '@algolia/recommend@5.23.0': + '@algolia/recommend@5.23.1': dependencies: - '@algolia/client-common': 5.23.0 - '@algolia/requester-browser-xhr': 5.23.0 - '@algolia/requester-fetch': 5.23.0 - '@algolia/requester-node-http': 5.23.0 + '@algolia/client-common': 5.23.1 + '@algolia/requester-browser-xhr': 5.23.1 + '@algolia/requester-fetch': 5.23.1 + '@algolia/requester-node-http': 5.23.1 - '@algolia/requester-browser-xhr@5.23.0': + '@algolia/requester-browser-xhr@5.23.1': dependencies: - '@algolia/client-common': 5.23.0 + '@algolia/client-common': 5.23.1 - '@algolia/requester-fetch@5.23.0': + '@algolia/requester-fetch@5.23.1': dependencies: - '@algolia/client-common': 5.23.0 + '@algolia/client-common': 5.23.1 - '@algolia/requester-node-http@5.23.0': + '@algolia/requester-node-http@5.23.1': dependencies: - '@algolia/client-common': 5.23.0 + '@algolia/client-common': 5.23.1 '@alloc/quick-lru@5.2.0': {} @@ -9082,7 +9085,7 @@ snapshots: '@base-ui-components/react@1.0.0-alpha.7(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.27.0 - '@floating-ui/react': 0.27.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@floating-ui/react': 0.27.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@floating-ui/utils': 0.2.9 '@react-aria/overlays': 3.26.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) prop-types: 15.8.1 @@ -9189,12 +9192,12 @@ snapshots: '@docsearch/css@3.9.0': {} - '@docsearch/react@3.9.0(@algolia/client-search@5.23.0)(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)': + '@docsearch/react@3.9.0(@algolia/client-search@5.23.1)(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)': dependencies: - '@algolia/autocomplete-core': 1.17.9(@algolia/client-search@5.23.0)(algoliasearch@5.23.0)(search-insights@2.17.3) - '@algolia/autocomplete-preset-algolia': 1.17.9(@algolia/client-search@5.23.0)(algoliasearch@5.23.0) + '@algolia/autocomplete-core': 1.17.9(@algolia/client-search@5.23.1)(algoliasearch@5.23.1)(search-insights@2.17.3) + '@algolia/autocomplete-preset-algolia': 1.17.9(@algolia/client-search@5.23.1)(algoliasearch@5.23.1) '@docsearch/css': 3.9.0 - algoliasearch: 5.23.0 + algoliasearch: 5.23.1 optionalDependencies: '@types/react': 18.3.20 react: 18.3.1 @@ -9203,7 +9206,7 @@ snapshots: transitivePeerDependencies: - '@algolia/client-search' - '@edgeandnode/common@7.0.3(hardhat@2.14.1(typescript@5.8.2))': + '@edgeandnode/common@7.0.4(hardhat@2.14.1(typescript@5.8.2))': dependencies: '@ethersproject/providers': 5.8.0 '@pinax/graph-networks-registry': 0.6.7 @@ -9243,7 +9246,7 @@ snapshots: '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.8.2) eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1))(eslint@8.57.1) + eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0)(eslint@8.57.1) eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint-import-resolver-typescript@3.10.0)(eslint@8.57.1) eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.1) eslint-plugin-react: 7.37.4(eslint@8.57.1) @@ -9257,28 +9260,28 @@ snapshots: - eslint-plugin-import-x - supports-color - '@edgeandnode/gds@6.5.10(@emotion/is-prop-valid@0.8.8)(@emotion/react@11.14.0(@types/react@18.3.20)(react@18.3.1))(@theme-ui/core@0.17.2(@emotion/react@11.14.0(@types/react@18.3.20)(react@18.3.1))(react@18.3.1))(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(dayjs@1.11.13)(hardhat@2.14.1(typescript@5.8.2))(next@14.2.26(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(theme-ui@0.17.2(@emotion/react@11.14.0(@types/react@18.3.20)(react@18.3.1))(react@18.3.1))(typescript@5.8.2)': + '@edgeandnode/gds@6.5.12(@emotion/is-prop-valid@0.8.8)(@emotion/react@11.14.0(@types/react@18.3.20)(react@18.3.1))(@theme-ui/core@0.17.2(@emotion/react@11.14.0(@types/react@18.3.20)(react@18.3.1))(react@18.3.1))(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(dayjs@1.11.13)(hardhat@2.14.1(typescript@5.8.2))(next@14.2.26(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(theme-ui@0.17.2(@emotion/react@11.14.0(@types/react@18.3.20)(react@18.3.1))(react@18.3.1))(typescript@5.8.2)': dependencies: '@base-ui-components/react': 1.0.0-alpha.7(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@bramus/style-observer': 2.0.2 - '@edgeandnode/common': 7.0.3(hardhat@2.14.1(typescript@5.8.2)) + '@edgeandnode/common': 7.0.4(hardhat@2.14.1(typescript@5.8.2)) '@emotion/react': 11.14.0(@types/react@18.3.20)(react@18.3.1) '@figma/code-connect': 1.3.1 '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@headlessui/react': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@phosphor-icons/react': 2.1.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-accordion': 1.2.3(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-alert-dialog': 1.1.6(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-dialog': 1.1.6(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-accordion': 1.2.3(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-alert-dialog': 1.1.6(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-dialog': 1.1.6(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-direction': 1.1.0(@types/react@18.3.20)(react@18.3.1) - '@radix-ui/react-dropdown-menu': 2.1.6(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-label': 2.1.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-popover': 1.1.6(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-slider': 1.2.3(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-dropdown-menu': 2.1.6(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-label': 2.1.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-popover': 1.1.6(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slider': 1.2.3(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-slot': 1.1.2(@types/react@18.3.20)(react@18.3.1) - '@radix-ui/react-switch': 1.1.3(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-toast': 1.2.6(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-tooltip': 1.1.8(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-switch': 1.1.3(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-toast': 1.2.6(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-tooltip': 1.1.8(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/utils': 3.28.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-hookz/web': 25.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tailwindcss/container-queries': 0.1.1(tailwindcss@3.4.17) @@ -9293,7 +9296,7 @@ snapshots: ethers: 5.8.0 lodash: 4.17.21 md5: 2.3.0 - motion: 12.6.2(@emotion/is-prop-valid@0.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + motion: 12.6.3(@emotion/is-prop-valid@0.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) numeral: 2.0.6 prism-react-renderer: 2.4.1(react@18.3.1) prismjs: 1.30.0 @@ -9332,24 +9335,24 @@ snapshots: - typescript - utf-8-validate - '@edgeandnode/go@9.4.10(18dba0f8996509b386f470f6173a2cad)': + '@edgeandnode/go@9.4.12(7f99dc5aa8c93bcda610c6e8fd850d36)': dependencies: - '@edgeandnode/common': 7.0.3(hardhat@2.14.1(typescript@5.8.2)) + '@edgeandnode/common': 7.0.4(hardhat@2.14.1(typescript@5.8.2)) '@edgeandnode/ens': 2.1.3(typescript@5.8.2)(viem@2.24.2(typescript@5.8.2)(zod@3.24.2)) - '@edgeandnode/gds': 6.5.10(@emotion/is-prop-valid@0.8.8)(@emotion/react@11.14.0(@types/react@18.3.20)(react@18.3.1))(@theme-ui/core@0.17.2(@emotion/react@11.14.0(@types/react@18.3.20)(react@18.3.1))(react@18.3.1))(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(dayjs@1.11.13)(hardhat@2.14.1(typescript@5.8.2))(next@14.2.26(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(theme-ui@0.17.2(@emotion/react@11.14.0(@types/react@18.3.20)(react@18.3.1))(react@18.3.1))(typescript@5.8.2) + '@edgeandnode/gds': 6.5.12(@emotion/is-prop-valid@0.8.8)(@emotion/react@11.14.0(@types/react@18.3.20)(react@18.3.1))(@theme-ui/core@0.17.2(@emotion/react@11.14.0(@types/react@18.3.20)(react@18.3.1))(react@18.3.1))(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(dayjs@1.11.13)(hardhat@2.14.1(typescript@5.8.2))(next@14.2.26(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(theme-ui@0.17.2(@emotion/react@11.14.0(@types/react@18.3.20)(react@18.3.1))(react@18.3.1))(typescript@5.8.2) '@emotion/react': 11.14.0(@types/react@18.3.20)(react@18.3.1) '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.0) - '@radix-ui/react-collapsible': 1.1.3(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-dialog': 1.1.6(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-navigation-menu': 1.2.5(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-portal': 1.1.4(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-collapsible': 1.1.3(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-dialog': 1.1.6(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-navigation-menu': 1.2.5(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.1.4(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/utils': 3.28.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tanstack/react-query': 5.71.1(react@18.3.1) '@theme-ui/css': 0.17.2(@emotion/react@11.14.0(@types/react@18.3.20)(react@18.3.1)) escape-string-regexp: 5.0.0 graphql: 16.8.0 graphql-request: 7.1.2(graphql@16.8.0) - motion: 12.6.2(@emotion/is-prop-valid@0.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + motion: 12.6.3(@emotion/is-prop-valid@0.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) tailwindcss: 3.4.17 @@ -10309,7 +10312,7 @@ snapshots: react-dom: 18.3.1(react@18.3.1) tabbable: 6.2.0 - '@floating-ui/react@0.27.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@floating-ui/react@0.27.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@floating-ui/utils': 0.2.9 @@ -10650,7 +10653,7 @@ snapshots: rehype-recma: 1.0.0 remark-mdx: 3.1.0 remark-parse: 11.0.0 - remark-rehype: 11.1.1 + remark-rehype: 11.1.2 source-map: 0.7.4 unified: 11.0.5 unist-util-position-from-estree: 2.0.0 @@ -11043,73 +11046,73 @@ snapshots: '@radix-ui/primitive@1.1.1': {} - '@radix-ui/react-accordion@1.2.3(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-accordion@1.2.3(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collapsible': 1.1.3(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-collection': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-collapsible': 1.1.3(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-collection': 1.1.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-direction': 1.1.0(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-id': 1.1.0(@types/react@18.3.20)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.20)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: '@types/react': 18.3.20 - '@types/react-dom': 18.3.5(@types/react@18.3.20) + '@types/react-dom': 18.3.6(@types/react@18.3.20) - '@radix-ui/react-alert-dialog@1.1.6(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-alert-dialog@1.1.6(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.20)(react@18.3.1) - '@radix-ui/react-dialog': 1.1.6(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-dialog': 1.1.6(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-slot': 1.1.2(@types/react@18.3.20)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: '@types/react': 18.3.20 - '@types/react-dom': 18.3.5(@types/react@18.3.20) + '@types/react-dom': 18.3.6(@types/react@18.3.20) - '@radix-ui/react-arrow@1.1.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-arrow@1.1.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: '@types/react': 18.3.20 - '@types/react-dom': 18.3.5(@types/react@18.3.20) + '@types/react-dom': 18.3.6(@types/react@18.3.20) - '@radix-ui/react-collapsible@1.1.3(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-collapsible@1.1.3(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-id': 1.1.0(@types/react@18.3.20)(react@18.3.1) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.20)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: '@types/react': 18.3.20 - '@types/react-dom': 18.3.5(@types/react@18.3.20) + '@types/react-dom': 18.3.6(@types/react@18.3.20) - '@radix-ui/react-collection@1.1.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-collection@1.1.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.20)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-slot': 1.1.2(@types/react@18.3.20)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: '@types/react': 18.3.20 - '@types/react-dom': 18.3.5(@types/react@18.3.20) + '@types/react-dom': 18.3.6(@types/react@18.3.20) '@radix-ui/react-compose-refs@1.1.1(@types/react@18.3.20)(react@18.3.1)': dependencies: @@ -11123,18 +11126,18 @@ snapshots: optionalDependencies: '@types/react': 18.3.20 - '@radix-ui/react-dialog@1.1.6(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-dialog@1.1.6(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.20)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.20)(react@18.3.1) - '@radix-ui/react-focus-scope': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-focus-scope': 1.1.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-id': 1.1.0(@types/react@18.3.20)(react@18.3.1) - '@radix-ui/react-portal': 1.1.4(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.1.4(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-slot': 1.1.2(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.20)(react@18.3.1) aria-hidden: 1.2.4 @@ -11143,7 +11146,7 @@ snapshots: react-remove-scroll: 2.6.3(@types/react@18.3.20)(react@18.3.1) optionalDependencies: '@types/react': 18.3.20 - '@types/react-dom': 18.3.5(@types/react@18.3.20) + '@types/react-dom': 18.3.6(@types/react@18.3.20) '@radix-ui/react-direction@1.1.0(@types/react@18.3.20)(react@18.3.1)': dependencies: @@ -11151,33 +11154,33 @@ snapshots: optionalDependencies: '@types/react': 18.3.20 - '@radix-ui/react-dismissable-layer@1.1.5(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-dismissable-layer@1.1.5(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.20)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.20)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: '@types/react': 18.3.20 - '@types/react-dom': 18.3.5(@types/react@18.3.20) + '@types/react-dom': 18.3.6(@types/react@18.3.20) - '@radix-ui/react-dropdown-menu@2.1.6(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-dropdown-menu@2.1.6(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-id': 1.1.0(@types/react@18.3.20)(react@18.3.1) - '@radix-ui/react-menu': 2.1.6(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-menu': 2.1.6(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.20)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: '@types/react': 18.3.20 - '@types/react-dom': 18.3.5(@types/react@18.3.20) + '@types/react-dom': 18.3.6(@types/react@18.3.20) '@radix-ui/react-focus-guards@1.1.1(@types/react@18.3.20)(react@18.3.1)': dependencies: @@ -11185,16 +11188,16 @@ snapshots: optionalDependencies: '@types/react': 18.3.20 - '@radix-ui/react-focus-scope@1.1.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-focus-scope@1.1.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.20)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.20)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: '@types/react': 18.3.20 - '@types/react-dom': 18.3.5(@types/react@18.3.20) + '@types/react-dom': 18.3.6(@types/react@18.3.20) '@radix-ui/react-id@1.1.0(@types/react@18.3.20)(react@18.3.1)': dependencies: @@ -11203,31 +11206,31 @@ snapshots: optionalDependencies: '@types/react': 18.3.20 - '@radix-ui/react-label@2.1.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-label@2.1.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: '@types/react': 18.3.20 - '@types/react-dom': 18.3.5(@types/react@18.3.20) + '@types/react-dom': 18.3.6(@types/react@18.3.20) - '@radix-ui/react-menu@2.1.6(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-menu@2.1.6(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collection': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-collection': 1.1.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-direction': 1.1.0(@types/react@18.3.20)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.20)(react@18.3.1) - '@radix-ui/react-focus-scope': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-focus-scope': 1.1.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-id': 1.1.0(@types/react@18.3.20)(react@18.3.1) - '@radix-ui/react-popper': 1.2.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-portal': 1.1.4(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-roving-focus': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-popper': 1.2.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.1.4(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-roving-focus': 1.1.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-slot': 1.1.2(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.20)(react@18.3.1) aria-hidden: 1.2.4 @@ -11236,43 +11239,43 @@ snapshots: react-remove-scroll: 2.6.3(@types/react@18.3.20)(react@18.3.1) optionalDependencies: '@types/react': 18.3.20 - '@types/react-dom': 18.3.5(@types/react@18.3.20) + '@types/react-dom': 18.3.6(@types/react@18.3.20) - '@radix-ui/react-navigation-menu@1.2.5(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-navigation-menu@1.2.5(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collection': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-collection': 1.1.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-direction': 1.1.0(@types/react@18.3.20)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-id': 1.1.0(@types/react@18.3.20)(react@18.3.1) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.20)(react@18.3.1) - '@radix-ui/react-visually-hidden': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-visually-hidden': 1.1.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: '@types/react': 18.3.20 - '@types/react-dom': 18.3.5(@types/react@18.3.20) + '@types/react-dom': 18.3.6(@types/react@18.3.20) - '@radix-ui/react-popover@1.1.6(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-popover@1.1.6(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.20)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.20)(react@18.3.1) - '@radix-ui/react-focus-scope': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-focus-scope': 1.1.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-id': 1.1.0(@types/react@18.3.20)(react@18.3.1) - '@radix-ui/react-popper': 1.2.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-portal': 1.1.4(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-popper': 1.2.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.1.4(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-slot': 1.1.2(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.20)(react@18.3.1) aria-hidden: 1.2.4 @@ -11281,15 +11284,15 @@ snapshots: react-remove-scroll: 2.6.3(@types/react@18.3.20)(react@18.3.1) optionalDependencies: '@types/react': 18.3.20 - '@types/react-dom': 18.3.5(@types/react@18.3.20) + '@types/react-dom': 18.3.6(@types/react@18.3.20) - '@radix-ui/react-popper@1.2.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-popper@1.2.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-arrow': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-arrow': 1.1.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.20)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-use-rect': 1.1.0(@types/react@18.3.20)(react@18.3.1) @@ -11299,19 +11302,19 @@ snapshots: react-dom: 18.3.1(react@18.3.1) optionalDependencies: '@types/react': 18.3.20 - '@types/react-dom': 18.3.5(@types/react@18.3.20) + '@types/react-dom': 18.3.6(@types/react@18.3.20) - '@radix-ui/react-portal@1.1.4(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-portal@1.1.4(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.20)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: '@types/react': 18.3.20 - '@types/react-dom': 18.3.5(@types/react@18.3.20) + '@types/react-dom': 18.3.6(@types/react@18.3.20) - '@radix-ui/react-presence@1.1.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-presence@1.1.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.20)(react@18.3.1) @@ -11319,43 +11322,43 @@ snapshots: react-dom: 18.3.1(react@18.3.1) optionalDependencies: '@types/react': 18.3.20 - '@types/react-dom': 18.3.5(@types/react@18.3.20) + '@types/react-dom': 18.3.6(@types/react@18.3.20) - '@radix-ui/react-primitive@2.0.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-primitive@2.0.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/react-slot': 1.1.2(@types/react@18.3.20)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: '@types/react': 18.3.20 - '@types/react-dom': 18.3.5(@types/react@18.3.20) + '@types/react-dom': 18.3.6(@types/react@18.3.20) - '@radix-ui/react-roving-focus@1.1.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-roving-focus@1.1.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collection': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-collection': 1.1.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-direction': 1.1.0(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-id': 1.1.0(@types/react@18.3.20)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.20)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: '@types/react': 18.3.20 - '@types/react-dom': 18.3.5(@types/react@18.3.20) + '@types/react-dom': 18.3.6(@types/react@18.3.20) - '@radix-ui/react-slider@1.2.3(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-slider@1.2.3(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/number': 1.1.0 '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collection': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-collection': 1.1.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-direction': 1.1.0(@types/react@18.3.20)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.20)(react@18.3.1) @@ -11364,7 +11367,7 @@ snapshots: react-dom: 18.3.1(react@18.3.1) optionalDependencies: '@types/react': 18.3.20 - '@types/react-dom': 18.3.5(@types/react@18.3.20) + '@types/react-dom': 18.3.6(@types/react@18.3.20) '@radix-ui/react-slot@1.1.2(@types/react@18.3.20)(react@18.3.1)': dependencies: @@ -11373,12 +11376,12 @@ snapshots: optionalDependencies: '@types/react': 18.3.20 - '@radix-ui/react-switch@1.1.3(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-switch@1.1.3(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.20)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.20)(react@18.3.1) @@ -11386,47 +11389,47 @@ snapshots: react-dom: 18.3.1(react@18.3.1) optionalDependencies: '@types/react': 18.3.20 - '@types/react-dom': 18.3.5(@types/react@18.3.20) + '@types/react-dom': 18.3.6(@types/react@18.3.20) - '@radix-ui/react-toast@1.2.6(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-toast@1.2.6(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collection': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-collection': 1.1.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.20)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-portal': 1.1.4(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.1.4(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.20)(react@18.3.1) - '@radix-ui/react-visually-hidden': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-visually-hidden': 1.1.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: '@types/react': 18.3.20 - '@types/react-dom': 18.3.5(@types/react@18.3.20) + '@types/react-dom': 18.3.6(@types/react@18.3.20) - '@radix-ui/react-tooltip@1.1.8(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-tooltip@1.1.8(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-context': 1.1.1(@types/react@18.3.20)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-id': 1.1.0(@types/react@18.3.20)(react@18.3.1) - '@radix-ui/react-popper': 1.2.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-portal': 1.1.4(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-popper': 1.2.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.1.4(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-slot': 1.1.2(@types/react@18.3.20)(react@18.3.1) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.20)(react@18.3.1) - '@radix-ui/react-visually-hidden': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-visually-hidden': 1.1.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: '@types/react': 18.3.20 - '@types/react-dom': 18.3.5(@types/react@18.3.20) + '@types/react-dom': 18.3.6(@types/react@18.3.20) '@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.20)(react@18.3.1)': dependencies: @@ -11474,14 +11477,14 @@ snapshots: optionalDependencies: '@types/react': 18.3.20 - '@radix-ui/react-visually-hidden@1.1.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-visually-hidden@1.1.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.5(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: '@types/react': 18.3.20 - '@types/react-dom': 18.3.5(@types/react@18.3.20) + '@types/react-dom': 18.3.6(@types/react@18.3.20) '@radix-ui/rect@1.1.0': {} @@ -12481,68 +12484,70 @@ snapshots: '@resvg/resvg-wasm@2.6.2': {} - '@rollup/rollup-android-arm-eabi@4.38.0': + '@rollup/rollup-android-arm-eabi@4.39.0': optional: true - '@rollup/rollup-android-arm64@4.38.0': + '@rollup/rollup-android-arm64@4.39.0': optional: true - '@rollup/rollup-darwin-arm64@4.38.0': + '@rollup/rollup-darwin-arm64@4.39.0': optional: true - '@rollup/rollup-darwin-x64@4.38.0': + '@rollup/rollup-darwin-x64@4.39.0': optional: true - '@rollup/rollup-freebsd-arm64@4.38.0': + '@rollup/rollup-freebsd-arm64@4.39.0': optional: true - '@rollup/rollup-freebsd-x64@4.38.0': + '@rollup/rollup-freebsd-x64@4.39.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.38.0': + '@rollup/rollup-linux-arm-gnueabihf@4.39.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.38.0': + '@rollup/rollup-linux-arm-musleabihf@4.39.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.38.0': + '@rollup/rollup-linux-arm64-gnu@4.39.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.38.0': + '@rollup/rollup-linux-arm64-musl@4.39.0': optional: true - '@rollup/rollup-linux-loongarch64-gnu@4.38.0': + '@rollup/rollup-linux-loongarch64-gnu@4.39.0': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.38.0': + '@rollup/rollup-linux-powerpc64le-gnu@4.39.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.38.0': + '@rollup/rollup-linux-riscv64-gnu@4.39.0': optional: true - '@rollup/rollup-linux-riscv64-musl@4.38.0': + '@rollup/rollup-linux-riscv64-musl@4.39.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.38.0': + '@rollup/rollup-linux-s390x-gnu@4.39.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.38.0': + '@rollup/rollup-linux-x64-gnu@4.39.0': optional: true - '@rollup/rollup-linux-x64-musl@4.38.0': + '@rollup/rollup-linux-x64-musl@4.39.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.38.0': + '@rollup/rollup-win32-arm64-msvc@4.39.0': optional: true - '@rollup/rollup-win32-ia32-msvc@4.38.0': + '@rollup/rollup-win32-ia32-msvc@4.39.0': optional: true - '@rollup/rollup-win32-x64-msvc@4.38.0': + '@rollup/rollup-win32-x64-msvc@4.39.0': optional: true '@rrweb/types@2.0.0-alpha.18': {} + '@rrweb/utils@2.0.0-alpha.18': {} + '@rtsao/scc@1.1.0': {} '@rushstack/eslint-patch@1.11.0': {} @@ -12876,11 +12881,11 @@ snapshots: '@types/bn.js@4.11.6': dependencies: - '@types/node': 22.13.14 + '@types/node': 22.14.0 '@types/bn.js@5.1.6': dependencies: - '@types/node': 22.13.14 + '@types/node': 22.14.0 '@types/concat-stream@2.0.3': dependencies: @@ -13051,25 +13056,25 @@ snapshots: dependencies: '@types/unist': 3.0.3 - '@types/node@22.13.14': + '@types/node@22.13.17': dependencies: undici-types: 6.20.0 - '@types/node@22.13.17': + '@types/node@22.14.0': dependencies: - undici-types: 6.20.0 + undici-types: 6.21.0 '@types/parse-json@4.0.2': {} '@types/pbkdf2@3.1.2': dependencies: - '@types/node': 22.13.14 + '@types/node': 22.14.0 '@types/prismjs@1.26.5': {} '@types/prop-types@15.7.14': {} - '@types/react-dom@18.3.5(@types/react@18.3.20)': + '@types/react-dom@18.3.6(@types/react@18.3.20)': dependencies: '@types/react': 18.3.20 @@ -13080,12 +13085,12 @@ snapshots: '@types/readable-stream@2.3.15': dependencies: - '@types/node': 22.13.14 + '@types/node': 22.14.0 safe-buffer: 5.1.2 '@types/secp256k1@4.0.6': dependencies: - '@types/node': 22.13.14 + '@types/node': 22.14.0 '@types/semver@7.7.0': {} @@ -13322,13 +13327,13 @@ snapshots: chai: 5.2.0 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.9(vite@5.4.16(@types/node@22.13.17))': + '@vitest/mocker@2.1.9(vite@5.4.16(@types/node@22.14.0))': dependencies: '@vitest/spy': 2.1.9 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 5.4.16(@types/node@22.13.17) + vite: 5.4.16(@types/node@22.14.0) '@vitest/pretty-format@2.1.9': dependencies: @@ -13449,21 +13454,21 @@ snapshots: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 - algoliasearch@5.23.0: - dependencies: - '@algolia/client-abtesting': 5.23.0 - '@algolia/client-analytics': 5.23.0 - '@algolia/client-common': 5.23.0 - '@algolia/client-insights': 5.23.0 - '@algolia/client-personalization': 5.23.0 - '@algolia/client-query-suggestions': 5.23.0 - '@algolia/client-search': 5.23.0 - '@algolia/ingestion': 1.23.0 - '@algolia/monitoring': 1.23.0 - '@algolia/recommend': 5.23.0 - '@algolia/requester-browser-xhr': 5.23.0 - '@algolia/requester-fetch': 5.23.0 - '@algolia/requester-node-http': 5.23.0 + algoliasearch@5.23.1: + dependencies: + '@algolia/client-abtesting': 5.23.1 + '@algolia/client-analytics': 5.23.1 + '@algolia/client-common': 5.23.1 + '@algolia/client-insights': 5.23.1 + '@algolia/client-personalization': 5.23.1 + '@algolia/client-query-suggestions': 5.23.1 + '@algolia/client-search': 5.23.1 + '@algolia/ingestion': 1.23.1 + '@algolia/monitoring': 1.23.1 + '@algolia/recommend': 5.23.1 + '@algolia/requester-browser-xhr': 5.23.1 + '@algolia/requester-fetch': 5.23.1 + '@algolia/requester-node-http': 5.23.1 ansi-align@3.0.1: dependencies: @@ -13761,7 +13766,7 @@ snapshots: browserslist@4.24.4: dependencies: caniuse-lite: 1.0.30001707 - electron-to-chromium: 1.5.128 + electron-to-chromium: 1.5.129 node-releases: 2.0.19 update-browserslist-db: 1.1.3(browserslist@4.24.4) @@ -14136,17 +14141,17 @@ snapshots: csstype@3.1.3: {} - cytoscape-cose-bilkent@4.1.0(cytoscape@3.31.1): + cytoscape-cose-bilkent@4.1.0(cytoscape@3.31.2): dependencies: cose-base: 1.0.3 - cytoscape: 3.31.1 + cytoscape: 3.31.2 - cytoscape-fcose@2.2.0(cytoscape@3.31.1): + cytoscape-fcose@2.2.0(cytoscape@3.31.2): dependencies: cose-base: 2.2.0 - cytoscape: 3.31.1 + cytoscape: 3.31.2 - cytoscape@3.31.1: {} + cytoscape@3.31.2: {} d3-array@2.12.1: dependencies: @@ -14474,7 +14479,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.128: {} + electron-to-chromium@1.5.129: {} elliptic@6.5.4: dependencies: @@ -14740,7 +14745,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1))(eslint@8.57.1): + eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0)(eslint@8.57.1): dependencies: '@nolyfill/is-core-module': 1.0.39 debug: 4.4.0(supports-color@8.1.1) @@ -14776,14 +14781,14 @@ snapshots: - bluebird - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1): + eslint-module-utils@2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0)(eslint@8.57.1): dependencies: debug: 3.2.7 optionalDependencies: '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.8.2) eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1))(eslint@8.57.1) + eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0)(eslint@8.57.1) transitivePeerDependencies: - supports-color @@ -14798,7 +14803,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0)(eslint@8.57.1) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -15239,7 +15244,7 @@ snapshots: fast-uri@3.0.6: {} - fast-xml-parser@5.0.9: + fast-xml-parser@5.1.0: dependencies: strnum: 2.0.5 @@ -15262,8 +15267,6 @@ snapshots: '@readme/data-urls': 3.0.0 '@types/har-format': 1.2.16 - fflate@0.4.8: {} - fflate@0.7.4: {} figures@3.2.0: @@ -16654,9 +16657,9 @@ snapshots: '@iconify/utils': 2.3.0 '@mermaid-js/parser': 0.4.0 '@types/d3': 7.4.3 - cytoscape: 3.31.1 - cytoscape-cose-bilkent: 4.1.0(cytoscape@3.31.1) - cytoscape-fcose: 2.2.0(cytoscape@3.31.1) + cytoscape: 3.31.2 + cytoscape-cose-bilkent: 4.1.0(cytoscape@3.31.2) + cytoscape-fcose: 2.2.0(cytoscape@3.31.2) d3: 7.9.0 d3-sankey: 0.12.3 dagre-d3-es: 7.0.11 @@ -17020,9 +17023,9 @@ snapshots: mitt@3.0.1: {} - mixpanel-browser@2.62.0: + mixpanel-browser@2.63.0: dependencies: - rrweb: 2.0.0-alpha.13 + rrweb: 2.0.0-alpha.18 mj-context-menu@0.6.1: {} @@ -17086,7 +17089,7 @@ snapshots: motion-utils@12.6.3: {} - motion@12.6.2(@emotion/is-prop-valid@0.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + motion@12.6.3(@emotion/is-prop-valid@0.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: framer-motion: 12.6.3(@emotion/is-prop-valid@0.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) tslib: 2.8.1 @@ -18204,7 +18207,7 @@ snapshots: reading-time: 1.5.0 unist-util-visit: 3.1.0 - remark-rehype@11.1.1: + remark-rehype@11.1.2: dependencies: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 @@ -18322,30 +18325,30 @@ snapshots: dependencies: estree-walker: 0.6.1 - rollup@4.38.0: + rollup@4.39.0: dependencies: '@types/estree': 1.0.7 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.38.0 - '@rollup/rollup-android-arm64': 4.38.0 - '@rollup/rollup-darwin-arm64': 4.38.0 - '@rollup/rollup-darwin-x64': 4.38.0 - '@rollup/rollup-freebsd-arm64': 4.38.0 - '@rollup/rollup-freebsd-x64': 4.38.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.38.0 - '@rollup/rollup-linux-arm-musleabihf': 4.38.0 - '@rollup/rollup-linux-arm64-gnu': 4.38.0 - '@rollup/rollup-linux-arm64-musl': 4.38.0 - '@rollup/rollup-linux-loongarch64-gnu': 4.38.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.38.0 - '@rollup/rollup-linux-riscv64-gnu': 4.38.0 - '@rollup/rollup-linux-riscv64-musl': 4.38.0 - '@rollup/rollup-linux-s390x-gnu': 4.38.0 - '@rollup/rollup-linux-x64-gnu': 4.38.0 - '@rollup/rollup-linux-x64-musl': 4.38.0 - '@rollup/rollup-win32-arm64-msvc': 4.38.0 - '@rollup/rollup-win32-ia32-msvc': 4.38.0 - '@rollup/rollup-win32-x64-msvc': 4.38.0 + '@rollup/rollup-android-arm-eabi': 4.39.0 + '@rollup/rollup-android-arm64': 4.39.0 + '@rollup/rollup-darwin-arm64': 4.39.0 + '@rollup/rollup-darwin-x64': 4.39.0 + '@rollup/rollup-freebsd-arm64': 4.39.0 + '@rollup/rollup-freebsd-x64': 4.39.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.39.0 + '@rollup/rollup-linux-arm-musleabihf': 4.39.0 + '@rollup/rollup-linux-arm64-gnu': 4.39.0 + '@rollup/rollup-linux-arm64-musl': 4.39.0 + '@rollup/rollup-linux-loongarch64-gnu': 4.39.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.39.0 + '@rollup/rollup-linux-riscv64-gnu': 4.39.0 + '@rollup/rollup-linux-riscv64-musl': 4.39.0 + '@rollup/rollup-linux-s390x-gnu': 4.39.0 + '@rollup/rollup-linux-x64-gnu': 4.39.0 + '@rollup/rollup-linux-x64-musl': 4.39.0 + '@rollup/rollup-win32-arm64-msvc': 4.39.0 + '@rollup/rollup-win32-ia32-msvc': 4.39.0 + '@rollup/rollup-win32-x64-msvc': 4.39.0 fsevents: 2.3.3 roughjs@4.6.6: @@ -18367,13 +18370,13 @@ snapshots: dependencies: postcss: 8.5.3 - rrweb@2.0.0-alpha.13: + rrweb@2.0.0-alpha.18: dependencies: '@rrweb/types': 2.0.0-alpha.18 + '@rrweb/utils': 2.0.0-alpha.18 '@types/css-font-loading-module': 0.0.7 '@xstate/fsm': 1.6.5 base64-arraybuffer: 1.0.2 - fflate: 0.4.8 mitt: 3.0.1 rrdom: 2.0.0-alpha.18 rrweb-snapshot: 2.0.0-alpha.18 @@ -19121,7 +19124,7 @@ snapshots: picocolors: 1.1.1 postcss-load-config: 6.0.1(jiti@1.21.7)(postcss@8.5.3)(tsx@4.19.3)(yaml@2.7.1) resolve-from: 5.0.0 - rollup: 4.38.0 + rollup: 4.39.0 source-map: 0.8.0-beta.0 sucrase: 3.35.0 tinyexec: 0.3.2 @@ -19261,6 +19264,8 @@ snapshots: undici-types@6.20.0: {} + undici-types@6.21.0: {} + undici@5.29.0: dependencies: '@fastify/busboy': 2.1.1 @@ -19558,13 +19563,13 @@ snapshots: - utf-8-validate - zod - vite-node@2.1.9(@types/node@22.13.17): + vite-node@2.1.9(@types/node@22.14.0): dependencies: cac: 6.7.14 debug: 4.4.0(supports-color@8.1.1) es-module-lexer: 1.6.0 pathe: 1.1.2 - vite: 5.4.16(@types/node@22.13.17) + vite: 5.4.16(@types/node@22.14.0) transitivePeerDependencies: - '@types/node' - less @@ -19576,19 +19581,19 @@ snapshots: - supports-color - terser - vite@5.4.16(@types/node@22.13.17): + vite@5.4.16(@types/node@22.14.0): dependencies: esbuild: 0.21.5 postcss: 8.5.3 - rollup: 4.38.0 + rollup: 4.39.0 optionalDependencies: - '@types/node': 22.13.17 + '@types/node': 22.14.0 fsevents: 2.3.3 - vitest@2.1.9(@types/node@22.13.17)(jsdom@24.1.3): + vitest@2.1.9(@types/node@22.14.0)(jsdom@24.1.3): dependencies: '@vitest/expect': 2.1.9 - '@vitest/mocker': 2.1.9(vite@5.4.16(@types/node@22.13.17)) + '@vitest/mocker': 2.1.9(vite@5.4.16(@types/node@22.14.0)) '@vitest/pretty-format': 2.1.9 '@vitest/runner': 2.1.9 '@vitest/snapshot': 2.1.9 @@ -19604,11 +19609,11 @@ snapshots: tinyexec: 0.3.2 tinypool: 1.0.2 tinyrainbow: 1.2.0 - vite: 5.4.16(@types/node@22.13.17) - vite-node: 2.1.9(@types/node@22.13.17) + vite: 5.4.16(@types/node@22.14.0) + vite-node: 2.1.9(@types/node@22.14.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.13.17 + '@types/node': 22.14.0 jsdom: 24.1.3 transitivePeerDependencies: - less @@ -19740,7 +19745,7 @@ snapshots: wkx@0.5.0: dependencies: - '@types/node': 22.13.14 + '@types/node': 22.14.0 wonka@6.3.5: {} diff --git a/website/package.json b/website/package.json index 172ca3981151..44bfbafc03c2 100644 --- a/website/package.json +++ b/website/package.json @@ -17,9 +17,9 @@ }, "dependencies": { "@docsearch/react": "^3.9.0", - "@edgeandnode/common": "^7.0.3", - "@edgeandnode/gds": "^6.5.10", - "@edgeandnode/go": "^9.4.10", + "@edgeandnode/common": "^7.0.4", + "@edgeandnode/gds": "^6.5.12", + "@edgeandnode/go": "^9.4.12", "@emotion/react": "^11.14.0", "@graphprotocol/contracts": "6.2.1", "@pinax/graph-networks-registry": "^0.6.7", @@ -28,8 +28,8 @@ "@readme/openapi-parser": "^3.0.1", "fetch-har": "^11.1.1", "lodash": "^4.17.21", - "mixpanel-browser": "^2.62.0", - "motion": "^12.6.2", + "mixpanel-browser": "^2.63.0", + "motion": "^12.6.3", "next": "^14.2.26", "next-seo": "^6.6.0", "next-sitemap": "^4.2.3", @@ -50,11 +50,11 @@ "@types/lodash": "^4.17.16", "@types/mdast": "^4.0.4", "@types/mixpanel-browser": "^2.54.0", - "@types/node": "^22.13.14", + "@types/node": "^22.14.0", "@types/react": "^18.3.20", - "@types/react-dom": "^18.3.5", + "@types/react-dom": "^18.3.6", "autoprefixer": "^10.4.21", - "fast-xml-parser": "^5.0.9", + "fast-xml-parser": "^5.1.0", "postcss": "^8.5.3", "tailwindcss": "^3.4.17", "tsup": "^8.4.0", diff --git a/website/src/HomePage.tsx b/website/src/HomePage.tsx index 8499e67b0a3c..96a7b8e9f4e1 100644 --- a/website/src/HomePage.tsx +++ b/website/src/HomePage.tsx @@ -259,11 +259,11 @@ function SupportedNetworks({ className, ...props }: ComponentPropsWithoutRef<'di
    {supportedNetworks // TODO: Don't filter out testnets that don't have a mainnet - .filter((network) => String(network.networkType) === String(NetworkType.Mainnet)) + .filter((network) => network.networkType === NetworkType.Mainnet) // Filter out networks that are either duplicates (same logo, same or similar short name) or irrelevant in this view .filter( (network) => - !network.caip2Id?.startsWith('beacon:') && + !network.caip2Id.startsWith('beacon:') && !['boba-bnb', 'eos-evm', 'polygon-zkevm', 'solana-accounts'].includes(network.id), ) // TODO: Fix Zora mono logo in web3icons diff --git a/website/src/components/Table.tsx b/website/src/components/Table.tsx index 9c0c86486b5e..01f232bba14b 100644 --- a/website/src/components/Table.tsx +++ b/website/src/components/Table.tsx @@ -8,7 +8,7 @@ interface TableProps extends ComponentPropsWithoutRef<'table'> { export const Table = ({ className, children, variant = 'default', ...props }: TableProps) => { const isSupportedNetworks = variant === 'supported-networks' - + //TODO: @hayderkg Fix when we decide if having variants or not return (
    void - showTestnets: boolean - isLoadingTestnets: boolean - onToggleTestnets: () => void -} - -export const NetworkFilters = memo( - ({ searchQuery, setSearchQuery, showTestnets, isLoadingTestnets, onToggleTestnets }: NetworkFiltersProps) => { - const { t } = useI18n() - - return ( -
    -
    - setSearchQuery(value)} - className="w-full" - /> -
    - - {t('index.supportedNetworks.showTestnets')} - -
    - ) - }, -) diff --git a/website/src/pages/[locale]/supported-networks/[id].mdx b/website/src/pages/[locale]/supported-networks/[id].mdx index b134134a9abf..c69ce9aa463b 100644 --- a/website/src/pages/[locale]/supported-networks/[id].mdx +++ b/website/src/pages/[locale]/supported-networks/[id].mdx @@ -2,7 +2,7 @@ import { translate } from '@edgeandnode/gds' import { RemoteContent } from 'nextra/components' import { buildDynamicMDX } from 'nextra/remote' -import { NetworkPage } from '@/components/NetworkPage' +import { NetworkPage } from '@/supportedNetworks/components' import { supportedLocales, translations } from '@/i18n' import { getSupportedNetworks } from '@/supportedNetworks' diff --git a/website/src/components/supported-networks/EmptySearchResults.tsx b/website/src/supportedNetworks/components/EmptySearchResults.tsx similarity index 65% rename from website/src/components/supported-networks/EmptySearchResults.tsx rename to website/src/supportedNetworks/components/EmptySearchResults.tsx index c759e0d2850e..d27b212c395e 100644 --- a/website/src/components/supported-networks/EmptySearchResults.tsx +++ b/website/src/supportedNetworks/components/EmptySearchResults.tsx @@ -1,4 +1,4 @@ -import { Button, DottedRingsSpinner, Text } from '@edgeandnode/gds' +import { Button, DottedRingsSpinner } from '@edgeandnode/gds' import { EyeClosed } from '@edgeandnode/gds/icons' import { useI18n } from '@/i18n' @@ -17,21 +17,13 @@ export const EmptySearchResults = ({ searchQuery, onClearSearch }: EmptySearchRe
    - +
    - {t('index.supportedNetworks.emptySearch.title')} - +

    {t('index.supportedNetworks.emptySearch.title')}

    +

    {t('index.supportedNetworks.emptySearch.description', [searchQuery])} - +

    @@ -81,7 +81,7 @@ const NonEVMResources = memo(() => { title={t('index.networkGuides.nonEvm.officialDocs.title')} description={t('index.networkGuides.nonEvm.officialDocs.description')} slotAboveTitle={} - className="min-h-[252px]" + className="min-h-64" icon={} /> { title={t('index.networkGuides.nonEvm.spsIntro.title')} description={t('index.networkGuides.nonEvm.spsIntro.description')} slotAboveTitle={} - className="min-h-[252px]" + className="min-h-64" icon={} /> { title={t('index.networkGuides.nonEvm.substreamsDev.title')} description={t('index.networkGuides.nonEvm.substreamsDev.description')} slotAboveTitle={} - className="min-h-[252px]" + className="min-h-64" icon={} />
    diff --git a/website/src/supportedNetworks/components/NetworkFilters.tsx b/website/src/supportedNetworks/components/NetworkFilters.tsx new file mode 100644 index 000000000000..17545b403b57 --- /dev/null +++ b/website/src/supportedNetworks/components/NetworkFilters.tsx @@ -0,0 +1,38 @@ +import { memo } from 'react' + +import { ExperimentalSearch, ExperimentalToggleChip } from '@edgeandnode/gds' + +import { useI18n } from '@/i18n' + +interface NetworkFiltersProps { + searchQuery: string + setSearchQuery: (value: string) => void + showTestnets: boolean + onToggleTestnets: () => void +} + +export const NetworkFilters = ({ + searchQuery, + setSearchQuery, + showTestnets, + onToggleTestnets, +}: NetworkFiltersProps) => { + const { t } = useI18n() + + return ( +
    +
    + setSearchQuery(value)} + className="w-full" + /> +
    + + {t('index.supportedNetworks.showTestnets')} + +
    + ) +} diff --git a/website/src/components/NetworkPage.tsx b/website/src/supportedNetworks/components/NetworkPage.tsx similarity index 80% rename from website/src/components/NetworkPage.tsx rename to website/src/supportedNetworks/components/NetworkPage.tsx index 7931e6aa4e03..d39d1475bd06 100644 --- a/website/src/components/NetworkPage.tsx +++ b/website/src/supportedNetworks/components/NetworkPage.tsx @@ -4,12 +4,12 @@ import { useRouter } from 'next/router' import { useData } from 'nextra/hooks' import { memo } from 'react' -import { ExperimentalCopyButton, ExperimentalDescriptionList, ExperimentalLink, Grid, Skeleton } from '@edgeandnode/gds' +import { ExperimentalCopyButton, ExperimentalDescriptionList, ExperimentalLink, Skeleton } from '@edgeandnode/gds' import { NetworkIcon } from '@edgeandnode/go' -import NetworkDetailsPage from '@/components/NetworkDetailsPage' +import NetworkDetailsPage from './NetworkDetailsPage' import { useI18n } from '@/i18n' -import { getIconVariant, shouldShowSkeleton } from '@/utils/networkUtils' +import { getIconVariant, shouldShowSkeleton } from '@/supportedNetworks/utils' type CAIP2Id = `${string}:${string | number}` @@ -50,7 +50,7 @@ export const NetworkPage = memo(({ network }: NetworkPageProps) => {
    {networkData.caip2Id ? ( -
    +
    {shouldShowSkeleton(networkData.id) ? ( ) : ( @@ -66,7 +66,7 @@ export const NetworkPage = memo(({ network }: NetworkPageProps) => {

    {networkData.fullName}

    - +
    @@ -79,19 +79,21 @@ export const NetworkPage = memo(({ network }: NetworkPageProps) => { )} {networkData.id && ( - -
    - {networkData.id} - -
    + } + > + {networkData.id} )} {networkData.caip2Id && ( - -
    - {networkData.caip2Id} - -
    + } + > + {networkData.caip2Id} )} {networkData.nativeToken && ( @@ -114,7 +116,7 @@ export const NetworkPage = memo(({ network }: NetworkPageProps) => {
    - +

    diff --git a/website/src/components/supported-networks/NetworkRow.tsx b/website/src/supportedNetworks/components/NetworkRow.tsx similarity index 97% rename from website/src/components/supported-networks/NetworkRow.tsx rename to website/src/supportedNetworks/components/NetworkRow.tsx index 513eb66345d6..1f93b6f79da8 100644 --- a/website/src/components/supported-networks/NetworkRow.tsx +++ b/website/src/supportedNetworks/components/NetworkRow.tsx @@ -6,7 +6,7 @@ import { ExperimentalCopyButton, Skeleton, Text } from '@edgeandnode/gds' import { Check } from '@edgeandnode/gds/icons' import { NetworkIcon } from '@edgeandnode/go' -import { getIconVariant, shouldShowSkeleton } from '@/utils/networkUtils' +import { getIconVariant, shouldShowSkeleton } from '@/supportedNetworks/utils' const MotionTR = motion.tr diff --git a/website/src/components/supported-networks/NetworksTable.tsx b/website/src/supportedNetworks/components/NetworksTable.tsx similarity index 100% rename from website/src/components/supported-networks/NetworksTable.tsx rename to website/src/supportedNetworks/components/NetworksTable.tsx diff --git a/website/src/components/supported-networks/SkeletonRow.tsx b/website/src/supportedNetworks/components/SkeletonRow.tsx similarity index 100% rename from website/src/components/supported-networks/SkeletonRow.tsx rename to website/src/supportedNetworks/components/SkeletonRow.tsx diff --git a/website/src/components/supported-networks/index.ts b/website/src/supportedNetworks/components/index.ts similarity index 70% rename from website/src/components/supported-networks/index.ts rename to website/src/supportedNetworks/components/index.ts index 63face70cd67..eafd7e14d666 100644 --- a/website/src/components/supported-networks/index.ts +++ b/website/src/supportedNetworks/components/index.ts @@ -1,5 +1,7 @@ export * from './EmptySearchResults' +export * from './NetworkDetailsPage' export * from './NetworkFilters' +export * from './NetworkPage' export * from './NetworkRow' export * from './NetworksTable' export * from './SkeletonRow' diff --git a/website/src/supportedNetworks.tsx b/website/src/supportedNetworks/index.tsx similarity index 67% rename from website/src/supportedNetworks.tsx rename to website/src/supportedNetworks/index.tsx index 58fe2d3c8a9d..8968e94393d8 100644 --- a/website/src/supportedNetworks.tsx +++ b/website/src/supportedNetworks/index.tsx @@ -1,14 +1,14 @@ import { NetworksRegistry } from '@pinax/graph-networks-registry' import { useRouter } from 'next/router' -import { useCallback, useEffect, useMemo, useState } from 'react' +import { useCallback, useMemo, useState } from 'react' -import { ExperimentalLink, Text } from '@edgeandnode/gds' +import { ExperimentalLink } from '@edgeandnode/gds' import { Callout } from '@/components' -import { EmptySearchResults, NetworkFilters, NetworksTable } from '@/components/supported-networks' +import { EmptySearchResults, NetworkFilters, NetworksTable } from './components' import { useI18n } from '@/i18n' -import type { NetworkData, ProcessedNetwork } from '@/utils/networkUtils' -import { processNetworksData } from '@/utils/networkUtils' +import type { NetworkData, ProcessedNetwork } from './utils' +import { processNetworksData } from './utils' export async function getSupportedNetworks(): Promise { const registry = await NetworksRegistry.fromLatestVersion() @@ -31,25 +31,6 @@ export function SupportedNetworksTable({ const { locale = 'en' } = router const [searchQuery, setSearchQuery] = useState('') const [showTestnets, setShowTestnets] = useState(false) - const [isLoading, setIsLoading] = useState(true) - const [isLoadingTestnets, setIsLoadingTestnets] = useState(false) - const [hasLoadedDataBefore, setHasLoadedDataBefore] = useState(false) - const [noResults, setNoResults] = useState(false) - - useEffect(() => { - if (networks.length > 0) { - setIsLoading(false) - setHasLoadedDataBefore(true) - } else { - setIsLoading(true) - - const timer = setTimeout(() => { - setIsLoading(false) - }, 1500) - - return () => clearTimeout(timer) - } - }, [networks]) const filteredNetworks = useMemo(() => { let filtered = networks @@ -73,9 +54,7 @@ export function SupportedNetworksTable({ return filtered }, [networks, searchQuery, showTestnets]) - useEffect(() => { - setNoResults(filteredNetworks.length === 0 && searchQuery !== '') - }, [filteredNetworks.length, searchQuery]) + const noResults = filteredNetworks.length === 0 && searchQuery !== '' const handleClearSearch = useCallback(() => { setSearchQuery('') @@ -85,13 +64,7 @@ export function SupportedNetworksTable({ if (noResults) { setSearchQuery('') } - - setIsLoadingTestnets(true) - - setTimeout(() => { - setShowTestnets(true) - setIsLoadingTestnets(false) - }, 150) + setShowTestnets(true) }, [noResults]) const handleHideTestnets = useCallback(() => { @@ -110,31 +83,26 @@ export function SupportedNetworksTable({ setSearchQuery(value) }, []) - const shouldShowLoadingScreen = isLoading || (isLoadingTestnets && !hasLoadedDataBefore) - return ( <> - + {t('index.supportedNetworks.infoText')}{' '} {t('index.supportedNetworks.infoLink')} . - + - {shouldShowLoadingScreen ? ( - - ) : filteredNetworks.length > 0 ? ( + {filteredNetworks.length > 0 ? ( ) : ( { return MONO_ICON_NETWORKS.includes(networkId) ? 'mono' : 'branded' } -// Skeleton Icon export const shouldShowSkeleton = (networkId: string): boolean => { return MISSING_ICON_NETWORKS.includes(networkId) || !networkId } -// Non-EVM Network export const isNonEVMNetwork = (networkId: string): boolean => { return NON_EVM_NETWORKS.includes(networkId) } -// Token API Support export const supportsTokenAPI = (networkId: string): boolean => { return TOKEN_API_NETWORKS.includes(networkId) } @@ -90,7 +81,7 @@ export interface NetworkData { shortName: string fullName: string networkType: string - caip2Id?: string + caip2Id: string services: { subgraphs?: any[] substreams?: any[] @@ -103,7 +94,7 @@ export interface ProcessedNetwork { shortName: string fullName: string networkType: string - caip2Id?: string + caip2Id: string subgraphs: boolean substreams: boolean firehose: boolean From 4db3409ed57474e7a7193762f7e794c530629d47 Mon Sep 17 00:00:00 2001 From: Hayder Date: Wed, 2 Apr 2025 21:39:53 +0200 Subject: [PATCH 31/37] move dependecies to website --- website/package.json | 1 + website/route-lockfile.txt | 2208 +++++++++++++++++++++++++++++ website/src/openApi/tokenApi.json | 16 +- 3 files changed, 2217 insertions(+), 8 deletions(-) diff --git a/website/package.json b/website/package.json index 44bfbafc03c2..ae5715567853 100644 --- a/website/package.json +++ b/website/package.json @@ -27,6 +27,7 @@ "@readme/httpsnippet": "^11.0.0", "@readme/openapi-parser": "^3.0.1", "fetch-har": "^11.1.1", + "framer-motion": "^12.6.3", "lodash": "^4.17.21", "mixpanel-browser": "^2.63.0", "motion": "^12.6.3", diff --git a/website/route-lockfile.txt b/website/route-lockfile.txt index 2ad20de02283..d5ca9671afd2 100644 --- a/website/route-lockfile.txt +++ b/website/route-lockfile.txt @@ -85,6 +85,144 @@ /ar/substreams/publishing/ /ar/substreams/quick-start/ /ar/supported-networks/ +/ar/supported-networks/abstract-testnet/ +/ar/supported-networks/abstract/ +/ar/supported-networks/apechain-curtis/ +/ar/supported-networks/apechain/ +/ar/supported-networks/arbitrum-nova/ +/ar/supported-networks/arbitrum-one/ +/ar/supported-networks/arbitrum-sepolia/ +/ar/supported-networks/arweave-mainnet/ +/ar/supported-networks/aurora-testnet/ +/ar/supported-networks/aurora/ +/ar/supported-networks/autonomys-taurus/ +/ar/supported-networks/avalanche/ +/ar/supported-networks/base-sepolia/ +/ar/supported-networks/base/ +/ar/supported-networks/berachain-bepolia/ +/ar/supported-networks/berachain/ +/ar/supported-networks/blast-mainnet/ +/ar/supported-networks/blast-testnet/ +/ar/supported-networks/bnb-op/ +/ar/supported-networks/boba-bnb-testnet/ +/ar/supported-networks/boba-bnb/ +/ar/supported-networks/boba-testnet/ +/ar/supported-networks/boba/ +/ar/supported-networks/botanix-testnet/ +/ar/supported-networks/bsc/ +/ar/supported-networks/btc/ +/ar/supported-networks/celo-alfajores/ +/ar/supported-networks/celo/ +/ar/supported-networks/chapel/ +/ar/supported-networks/chiliz-testnet/ +/ar/supported-networks/chiliz/ +/ar/supported-networks/clover/ +/ar/supported-networks/corn-testnet/ +/ar/supported-networks/corn/ +/ar/supported-networks/eos-evm/ +/ar/supported-networks/eos/ +/ar/supported-networks/etherlink-mainnet/ +/ar/supported-networks/etherlink-testnet/ +/ar/supported-networks/expchain-testnet/ +/ar/supported-networks/fantom-testnet/ +/ar/supported-networks/fantom/ +/ar/supported-networks/fraxtal/ +/ar/supported-networks/fuji/ +/ar/supported-networks/fuse-testnet/ +/ar/supported-networks/fuse/ +/ar/supported-networks/gnosis-chiado-cl/ +/ar/supported-networks/gnosis-chiado/ +/ar/supported-networks/gnosis-cl/ +/ar/supported-networks/gnosis/ +/ar/supported-networks/gravity-mainnet/ +/ar/supported-networks/gravity-testnet/ +/ar/supported-networks/harmony/ +/ar/supported-networks/hashkeychain-sepolia/ +/ar/supported-networks/hashkeychain/ +/ar/supported-networks/hemi-sepolia/ +/ar/supported-networks/hemi/ +/ar/supported-networks/holesky-cl/ +/ar/supported-networks/holesky/ +/ar/supported-networks/hoodi/ +/ar/supported-networks/injective-mainnet/ +/ar/supported-networks/injective-testnet/ +/ar/supported-networks/ink-sepolia/ +/ar/supported-networks/ink/ +/ar/supported-networks/iotex-testnet/ +/ar/supported-networks/iotex/ +/ar/supported-networks/joc-testnet/ +/ar/supported-networks/joc/ +/ar/supported-networks/jungle4-evm/ +/ar/supported-networks/jungle4/ +/ar/supported-networks/kaia-testnet/ +/ar/supported-networks/kaia/ +/ar/supported-networks/kylin/ +/ar/supported-networks/lens-testnet/ +/ar/supported-networks/linea-sepolia/ +/ar/supported-networks/linea/ +/ar/supported-networks/litecoin/ +/ar/supported-networks/lumia/ +/ar/supported-networks/mainnet-cl/ +/ar/supported-networks/mainnet/ +/ar/supported-networks/manta/ +/ar/supported-networks/mantra-mainnet/ +/ar/supported-networks/mantra-testnet/ +/ar/supported-networks/matic/ +/ar/supported-networks/mbase/ +/ar/supported-networks/megaeth-testnet/ +/ar/supported-networks/metis/ +/ar/supported-networks/mint-sepolia/ +/ar/supported-networks/mint/ +/ar/supported-networks/mode-mainnet/ +/ar/supported-networks/mode-sepolia/ +/ar/supported-networks/monad-testnet/ +/ar/supported-networks/moonbeam/ +/ar/supported-networks/moonriver/ +/ar/supported-networks/near-mainnet/ +/ar/supported-networks/near-testnet/ +/ar/supported-networks/neox-testnet/ +/ar/supported-networks/neox/ +/ar/supported-networks/optimism-sepolia/ +/ar/supported-networks/optimism/ +/ar/supported-networks/peaq/ +/ar/supported-networks/polygon-amoy/ +/ar/supported-networks/polygon-zkevm-cardona/ +/ar/supported-networks/polygon-zkevm/ +/ar/supported-networks/rootstock-testnet/ +/ar/supported-networks/rootstock/ +/ar/supported-networks/scroll-sepolia/ +/ar/supported-networks/scroll/ +/ar/supported-networks/sei-atlantic/ +/ar/supported-networks/sei-mainnet/ +/ar/supported-networks/sepolia-cl/ +/ar/supported-networks/sepolia/ +/ar/supported-networks/solana-accounts/ +/ar/supported-networks/solana-devnet/ +/ar/supported-networks/solana-mainnet-beta/ +/ar/supported-networks/soneium-testnet/ +/ar/supported-networks/soneium/ +/ar/supported-networks/sonic/ +/ar/supported-networks/starknet-mainnet/ +/ar/supported-networks/starknet-testnet/ +/ar/supported-networks/swellchain-sepolia/ +/ar/supported-networks/swellchain/ +/ar/supported-networks/telos-testnet/ +/ar/supported-networks/telos/ +/ar/supported-networks/unichain-testnet/ +/ar/supported-networks/unichain/ +/ar/supported-networks/vana-moksha/ +/ar/supported-networks/vana/ +/ar/supported-networks/viction/ +/ar/supported-networks/wax-testnet/ +/ar/supported-networks/wax/ +/ar/supported-networks/xai/ +/ar/supported-networks/xlayer-mainnet/ +/ar/supported-networks/xlayer-sepolia/ +/ar/supported-networks/zetachain/ +/ar/supported-networks/zilliqa-protomainnet/ +/ar/supported-networks/zksync-era-sepolia/ +/ar/supported-networks/zksync-era/ +/ar/supported-networks/zora/ /ar/token-api/evm/get-balances-evm-by-address/ /ar/token-api/evm/get-holders-evm-by-contract/ /ar/token-api/evm/get-ohlc-prices-evm-by-contract/ @@ -183,6 +321,144 @@ /cs/substreams/publishing/ /cs/substreams/quick-start/ /cs/supported-networks/ +/cs/supported-networks/abstract-testnet/ +/cs/supported-networks/abstract/ +/cs/supported-networks/apechain-curtis/ +/cs/supported-networks/apechain/ +/cs/supported-networks/arbitrum-nova/ +/cs/supported-networks/arbitrum-one/ +/cs/supported-networks/arbitrum-sepolia/ +/cs/supported-networks/arweave-mainnet/ +/cs/supported-networks/aurora-testnet/ +/cs/supported-networks/aurora/ +/cs/supported-networks/autonomys-taurus/ +/cs/supported-networks/avalanche/ +/cs/supported-networks/base-sepolia/ +/cs/supported-networks/base/ +/cs/supported-networks/berachain-bepolia/ +/cs/supported-networks/berachain/ +/cs/supported-networks/blast-mainnet/ +/cs/supported-networks/blast-testnet/ +/cs/supported-networks/bnb-op/ +/cs/supported-networks/boba-bnb-testnet/ +/cs/supported-networks/boba-bnb/ +/cs/supported-networks/boba-testnet/ +/cs/supported-networks/boba/ +/cs/supported-networks/botanix-testnet/ +/cs/supported-networks/bsc/ +/cs/supported-networks/btc/ +/cs/supported-networks/celo-alfajores/ +/cs/supported-networks/celo/ +/cs/supported-networks/chapel/ +/cs/supported-networks/chiliz-testnet/ +/cs/supported-networks/chiliz/ +/cs/supported-networks/clover/ +/cs/supported-networks/corn-testnet/ +/cs/supported-networks/corn/ +/cs/supported-networks/eos-evm/ +/cs/supported-networks/eos/ +/cs/supported-networks/etherlink-mainnet/ +/cs/supported-networks/etherlink-testnet/ +/cs/supported-networks/expchain-testnet/ +/cs/supported-networks/fantom-testnet/ +/cs/supported-networks/fantom/ +/cs/supported-networks/fraxtal/ +/cs/supported-networks/fuji/ +/cs/supported-networks/fuse-testnet/ +/cs/supported-networks/fuse/ +/cs/supported-networks/gnosis-chiado-cl/ +/cs/supported-networks/gnosis-chiado/ +/cs/supported-networks/gnosis-cl/ +/cs/supported-networks/gnosis/ +/cs/supported-networks/gravity-mainnet/ +/cs/supported-networks/gravity-testnet/ +/cs/supported-networks/harmony/ +/cs/supported-networks/hashkeychain-sepolia/ +/cs/supported-networks/hashkeychain/ +/cs/supported-networks/hemi-sepolia/ +/cs/supported-networks/hemi/ +/cs/supported-networks/holesky-cl/ +/cs/supported-networks/holesky/ +/cs/supported-networks/hoodi/ +/cs/supported-networks/injective-mainnet/ +/cs/supported-networks/injective-testnet/ +/cs/supported-networks/ink-sepolia/ +/cs/supported-networks/ink/ +/cs/supported-networks/iotex-testnet/ +/cs/supported-networks/iotex/ +/cs/supported-networks/joc-testnet/ +/cs/supported-networks/joc/ +/cs/supported-networks/jungle4-evm/ +/cs/supported-networks/jungle4/ +/cs/supported-networks/kaia-testnet/ +/cs/supported-networks/kaia/ +/cs/supported-networks/kylin/ +/cs/supported-networks/lens-testnet/ +/cs/supported-networks/linea-sepolia/ +/cs/supported-networks/linea/ +/cs/supported-networks/litecoin/ +/cs/supported-networks/lumia/ +/cs/supported-networks/mainnet-cl/ +/cs/supported-networks/mainnet/ +/cs/supported-networks/manta/ +/cs/supported-networks/mantra-mainnet/ +/cs/supported-networks/mantra-testnet/ +/cs/supported-networks/matic/ +/cs/supported-networks/mbase/ +/cs/supported-networks/megaeth-testnet/ +/cs/supported-networks/metis/ +/cs/supported-networks/mint-sepolia/ +/cs/supported-networks/mint/ +/cs/supported-networks/mode-mainnet/ +/cs/supported-networks/mode-sepolia/ +/cs/supported-networks/monad-testnet/ +/cs/supported-networks/moonbeam/ +/cs/supported-networks/moonriver/ +/cs/supported-networks/near-mainnet/ +/cs/supported-networks/near-testnet/ +/cs/supported-networks/neox-testnet/ +/cs/supported-networks/neox/ +/cs/supported-networks/optimism-sepolia/ +/cs/supported-networks/optimism/ +/cs/supported-networks/peaq/ +/cs/supported-networks/polygon-amoy/ +/cs/supported-networks/polygon-zkevm-cardona/ +/cs/supported-networks/polygon-zkevm/ +/cs/supported-networks/rootstock-testnet/ +/cs/supported-networks/rootstock/ +/cs/supported-networks/scroll-sepolia/ +/cs/supported-networks/scroll/ +/cs/supported-networks/sei-atlantic/ +/cs/supported-networks/sei-mainnet/ +/cs/supported-networks/sepolia-cl/ +/cs/supported-networks/sepolia/ +/cs/supported-networks/solana-accounts/ +/cs/supported-networks/solana-devnet/ +/cs/supported-networks/solana-mainnet-beta/ +/cs/supported-networks/soneium-testnet/ +/cs/supported-networks/soneium/ +/cs/supported-networks/sonic/ +/cs/supported-networks/starknet-mainnet/ +/cs/supported-networks/starknet-testnet/ +/cs/supported-networks/swellchain-sepolia/ +/cs/supported-networks/swellchain/ +/cs/supported-networks/telos-testnet/ +/cs/supported-networks/telos/ +/cs/supported-networks/unichain-testnet/ +/cs/supported-networks/unichain/ +/cs/supported-networks/vana-moksha/ +/cs/supported-networks/vana/ +/cs/supported-networks/viction/ +/cs/supported-networks/wax-testnet/ +/cs/supported-networks/wax/ +/cs/supported-networks/xai/ +/cs/supported-networks/xlayer-mainnet/ +/cs/supported-networks/xlayer-sepolia/ +/cs/supported-networks/zetachain/ +/cs/supported-networks/zilliqa-protomainnet/ +/cs/supported-networks/zksync-era-sepolia/ +/cs/supported-networks/zksync-era/ +/cs/supported-networks/zora/ /cs/token-api/evm/get-balances-evm-by-address/ /cs/token-api/evm/get-holders-evm-by-contract/ /cs/token-api/evm/get-ohlc-prices-evm-by-contract/ @@ -281,6 +557,144 @@ /de/substreams/publishing/ /de/substreams/quick-start/ /de/supported-networks/ +/de/supported-networks/abstract-testnet/ +/de/supported-networks/abstract/ +/de/supported-networks/apechain-curtis/ +/de/supported-networks/apechain/ +/de/supported-networks/arbitrum-nova/ +/de/supported-networks/arbitrum-one/ +/de/supported-networks/arbitrum-sepolia/ +/de/supported-networks/arweave-mainnet/ +/de/supported-networks/aurora-testnet/ +/de/supported-networks/aurora/ +/de/supported-networks/autonomys-taurus/ +/de/supported-networks/avalanche/ +/de/supported-networks/base-sepolia/ +/de/supported-networks/base/ +/de/supported-networks/berachain-bepolia/ +/de/supported-networks/berachain/ +/de/supported-networks/blast-mainnet/ +/de/supported-networks/blast-testnet/ +/de/supported-networks/bnb-op/ +/de/supported-networks/boba-bnb-testnet/ +/de/supported-networks/boba-bnb/ +/de/supported-networks/boba-testnet/ +/de/supported-networks/boba/ +/de/supported-networks/botanix-testnet/ +/de/supported-networks/bsc/ +/de/supported-networks/btc/ +/de/supported-networks/celo-alfajores/ +/de/supported-networks/celo/ +/de/supported-networks/chapel/ +/de/supported-networks/chiliz-testnet/ +/de/supported-networks/chiliz/ +/de/supported-networks/clover/ +/de/supported-networks/corn-testnet/ +/de/supported-networks/corn/ +/de/supported-networks/eos-evm/ +/de/supported-networks/eos/ +/de/supported-networks/etherlink-mainnet/ +/de/supported-networks/etherlink-testnet/ +/de/supported-networks/expchain-testnet/ +/de/supported-networks/fantom-testnet/ +/de/supported-networks/fantom/ +/de/supported-networks/fraxtal/ +/de/supported-networks/fuji/ +/de/supported-networks/fuse-testnet/ +/de/supported-networks/fuse/ +/de/supported-networks/gnosis-chiado-cl/ +/de/supported-networks/gnosis-chiado/ +/de/supported-networks/gnosis-cl/ +/de/supported-networks/gnosis/ +/de/supported-networks/gravity-mainnet/ +/de/supported-networks/gravity-testnet/ +/de/supported-networks/harmony/ +/de/supported-networks/hashkeychain-sepolia/ +/de/supported-networks/hashkeychain/ +/de/supported-networks/hemi-sepolia/ +/de/supported-networks/hemi/ +/de/supported-networks/holesky-cl/ +/de/supported-networks/holesky/ +/de/supported-networks/hoodi/ +/de/supported-networks/injective-mainnet/ +/de/supported-networks/injective-testnet/ +/de/supported-networks/ink-sepolia/ +/de/supported-networks/ink/ +/de/supported-networks/iotex-testnet/ +/de/supported-networks/iotex/ +/de/supported-networks/joc-testnet/ +/de/supported-networks/joc/ +/de/supported-networks/jungle4-evm/ +/de/supported-networks/jungle4/ +/de/supported-networks/kaia-testnet/ +/de/supported-networks/kaia/ +/de/supported-networks/kylin/ +/de/supported-networks/lens-testnet/ +/de/supported-networks/linea-sepolia/ +/de/supported-networks/linea/ +/de/supported-networks/litecoin/ +/de/supported-networks/lumia/ +/de/supported-networks/mainnet-cl/ +/de/supported-networks/mainnet/ +/de/supported-networks/manta/ +/de/supported-networks/mantra-mainnet/ +/de/supported-networks/mantra-testnet/ +/de/supported-networks/matic/ +/de/supported-networks/mbase/ +/de/supported-networks/megaeth-testnet/ +/de/supported-networks/metis/ +/de/supported-networks/mint-sepolia/ +/de/supported-networks/mint/ +/de/supported-networks/mode-mainnet/ +/de/supported-networks/mode-sepolia/ +/de/supported-networks/monad-testnet/ +/de/supported-networks/moonbeam/ +/de/supported-networks/moonriver/ +/de/supported-networks/near-mainnet/ +/de/supported-networks/near-testnet/ +/de/supported-networks/neox-testnet/ +/de/supported-networks/neox/ +/de/supported-networks/optimism-sepolia/ +/de/supported-networks/optimism/ +/de/supported-networks/peaq/ +/de/supported-networks/polygon-amoy/ +/de/supported-networks/polygon-zkevm-cardona/ +/de/supported-networks/polygon-zkevm/ +/de/supported-networks/rootstock-testnet/ +/de/supported-networks/rootstock/ +/de/supported-networks/scroll-sepolia/ +/de/supported-networks/scroll/ +/de/supported-networks/sei-atlantic/ +/de/supported-networks/sei-mainnet/ +/de/supported-networks/sepolia-cl/ +/de/supported-networks/sepolia/ +/de/supported-networks/solana-accounts/ +/de/supported-networks/solana-devnet/ +/de/supported-networks/solana-mainnet-beta/ +/de/supported-networks/soneium-testnet/ +/de/supported-networks/soneium/ +/de/supported-networks/sonic/ +/de/supported-networks/starknet-mainnet/ +/de/supported-networks/starknet-testnet/ +/de/supported-networks/swellchain-sepolia/ +/de/supported-networks/swellchain/ +/de/supported-networks/telos-testnet/ +/de/supported-networks/telos/ +/de/supported-networks/unichain-testnet/ +/de/supported-networks/unichain/ +/de/supported-networks/vana-moksha/ +/de/supported-networks/vana/ +/de/supported-networks/viction/ +/de/supported-networks/wax-testnet/ +/de/supported-networks/wax/ +/de/supported-networks/xai/ +/de/supported-networks/xlayer-mainnet/ +/de/supported-networks/xlayer-sepolia/ +/de/supported-networks/zetachain/ +/de/supported-networks/zilliqa-protomainnet/ +/de/supported-networks/zksync-era-sepolia/ +/de/supported-networks/zksync-era/ +/de/supported-networks/zora/ /de/token-api/evm/get-balances-evm-by-address/ /de/token-api/evm/get-holders-evm-by-contract/ /de/token-api/evm/get-ohlc-prices-evm-by-contract/ @@ -379,6 +793,144 @@ /en/substreams/publishing/ /en/substreams/quick-start/ /en/supported-networks/ +/en/supported-networks/abstract-testnet/ +/en/supported-networks/abstract/ +/en/supported-networks/apechain-curtis/ +/en/supported-networks/apechain/ +/en/supported-networks/arbitrum-nova/ +/en/supported-networks/arbitrum-one/ +/en/supported-networks/arbitrum-sepolia/ +/en/supported-networks/arweave-mainnet/ +/en/supported-networks/aurora-testnet/ +/en/supported-networks/aurora/ +/en/supported-networks/autonomys-taurus/ +/en/supported-networks/avalanche/ +/en/supported-networks/base-sepolia/ +/en/supported-networks/base/ +/en/supported-networks/berachain-bepolia/ +/en/supported-networks/berachain/ +/en/supported-networks/blast-mainnet/ +/en/supported-networks/blast-testnet/ +/en/supported-networks/bnb-op/ +/en/supported-networks/boba-bnb-testnet/ +/en/supported-networks/boba-bnb/ +/en/supported-networks/boba-testnet/ +/en/supported-networks/boba/ +/en/supported-networks/botanix-testnet/ +/en/supported-networks/bsc/ +/en/supported-networks/btc/ +/en/supported-networks/celo-alfajores/ +/en/supported-networks/celo/ +/en/supported-networks/chapel/ +/en/supported-networks/chiliz-testnet/ +/en/supported-networks/chiliz/ +/en/supported-networks/clover/ +/en/supported-networks/corn-testnet/ +/en/supported-networks/corn/ +/en/supported-networks/eos-evm/ +/en/supported-networks/eos/ +/en/supported-networks/etherlink-mainnet/ +/en/supported-networks/etherlink-testnet/ +/en/supported-networks/expchain-testnet/ +/en/supported-networks/fantom-testnet/ +/en/supported-networks/fantom/ +/en/supported-networks/fraxtal/ +/en/supported-networks/fuji/ +/en/supported-networks/fuse-testnet/ +/en/supported-networks/fuse/ +/en/supported-networks/gnosis-chiado-cl/ +/en/supported-networks/gnosis-chiado/ +/en/supported-networks/gnosis-cl/ +/en/supported-networks/gnosis/ +/en/supported-networks/gravity-mainnet/ +/en/supported-networks/gravity-testnet/ +/en/supported-networks/harmony/ +/en/supported-networks/hashkeychain-sepolia/ +/en/supported-networks/hashkeychain/ +/en/supported-networks/hemi-sepolia/ +/en/supported-networks/hemi/ +/en/supported-networks/holesky-cl/ +/en/supported-networks/holesky/ +/en/supported-networks/hoodi/ +/en/supported-networks/injective-mainnet/ +/en/supported-networks/injective-testnet/ +/en/supported-networks/ink-sepolia/ +/en/supported-networks/ink/ +/en/supported-networks/iotex-testnet/ +/en/supported-networks/iotex/ +/en/supported-networks/joc-testnet/ +/en/supported-networks/joc/ +/en/supported-networks/jungle4-evm/ +/en/supported-networks/jungle4/ +/en/supported-networks/kaia-testnet/ +/en/supported-networks/kaia/ +/en/supported-networks/kylin/ +/en/supported-networks/lens-testnet/ +/en/supported-networks/linea-sepolia/ +/en/supported-networks/linea/ +/en/supported-networks/litecoin/ +/en/supported-networks/lumia/ +/en/supported-networks/mainnet-cl/ +/en/supported-networks/mainnet/ +/en/supported-networks/manta/ +/en/supported-networks/mantra-mainnet/ +/en/supported-networks/mantra-testnet/ +/en/supported-networks/matic/ +/en/supported-networks/mbase/ +/en/supported-networks/megaeth-testnet/ +/en/supported-networks/metis/ +/en/supported-networks/mint-sepolia/ +/en/supported-networks/mint/ +/en/supported-networks/mode-mainnet/ +/en/supported-networks/mode-sepolia/ +/en/supported-networks/monad-testnet/ +/en/supported-networks/moonbeam/ +/en/supported-networks/moonriver/ +/en/supported-networks/near-mainnet/ +/en/supported-networks/near-testnet/ +/en/supported-networks/neox-testnet/ +/en/supported-networks/neox/ +/en/supported-networks/optimism-sepolia/ +/en/supported-networks/optimism/ +/en/supported-networks/peaq/ +/en/supported-networks/polygon-amoy/ +/en/supported-networks/polygon-zkevm-cardona/ +/en/supported-networks/polygon-zkevm/ +/en/supported-networks/rootstock-testnet/ +/en/supported-networks/rootstock/ +/en/supported-networks/scroll-sepolia/ +/en/supported-networks/scroll/ +/en/supported-networks/sei-atlantic/ +/en/supported-networks/sei-mainnet/ +/en/supported-networks/sepolia-cl/ +/en/supported-networks/sepolia/ +/en/supported-networks/solana-accounts/ +/en/supported-networks/solana-devnet/ +/en/supported-networks/solana-mainnet-beta/ +/en/supported-networks/soneium-testnet/ +/en/supported-networks/soneium/ +/en/supported-networks/sonic/ +/en/supported-networks/starknet-mainnet/ +/en/supported-networks/starknet-testnet/ +/en/supported-networks/swellchain-sepolia/ +/en/supported-networks/swellchain/ +/en/supported-networks/telos-testnet/ +/en/supported-networks/telos/ +/en/supported-networks/unichain-testnet/ +/en/supported-networks/unichain/ +/en/supported-networks/vana-moksha/ +/en/supported-networks/vana/ +/en/supported-networks/viction/ +/en/supported-networks/wax-testnet/ +/en/supported-networks/wax/ +/en/supported-networks/xai/ +/en/supported-networks/xlayer-mainnet/ +/en/supported-networks/xlayer-sepolia/ +/en/supported-networks/zetachain/ +/en/supported-networks/zilliqa-protomainnet/ +/en/supported-networks/zksync-era-sepolia/ +/en/supported-networks/zksync-era/ +/en/supported-networks/zora/ /en/token-api/evm/get-balances-evm-by-address/ /en/token-api/evm/get-holders-evm-by-contract/ /en/token-api/evm/get-ohlc-prices-evm-by-contract/ @@ -477,6 +1029,144 @@ /es/substreams/publishing/ /es/substreams/quick-start/ /es/supported-networks/ +/es/supported-networks/abstract-testnet/ +/es/supported-networks/abstract/ +/es/supported-networks/apechain-curtis/ +/es/supported-networks/apechain/ +/es/supported-networks/arbitrum-nova/ +/es/supported-networks/arbitrum-one/ +/es/supported-networks/arbitrum-sepolia/ +/es/supported-networks/arweave-mainnet/ +/es/supported-networks/aurora-testnet/ +/es/supported-networks/aurora/ +/es/supported-networks/autonomys-taurus/ +/es/supported-networks/avalanche/ +/es/supported-networks/base-sepolia/ +/es/supported-networks/base/ +/es/supported-networks/berachain-bepolia/ +/es/supported-networks/berachain/ +/es/supported-networks/blast-mainnet/ +/es/supported-networks/blast-testnet/ +/es/supported-networks/bnb-op/ +/es/supported-networks/boba-bnb-testnet/ +/es/supported-networks/boba-bnb/ +/es/supported-networks/boba-testnet/ +/es/supported-networks/boba/ +/es/supported-networks/botanix-testnet/ +/es/supported-networks/bsc/ +/es/supported-networks/btc/ +/es/supported-networks/celo-alfajores/ +/es/supported-networks/celo/ +/es/supported-networks/chapel/ +/es/supported-networks/chiliz-testnet/ +/es/supported-networks/chiliz/ +/es/supported-networks/clover/ +/es/supported-networks/corn-testnet/ +/es/supported-networks/corn/ +/es/supported-networks/eos-evm/ +/es/supported-networks/eos/ +/es/supported-networks/etherlink-mainnet/ +/es/supported-networks/etherlink-testnet/ +/es/supported-networks/expchain-testnet/ +/es/supported-networks/fantom-testnet/ +/es/supported-networks/fantom/ +/es/supported-networks/fraxtal/ +/es/supported-networks/fuji/ +/es/supported-networks/fuse-testnet/ +/es/supported-networks/fuse/ +/es/supported-networks/gnosis-chiado-cl/ +/es/supported-networks/gnosis-chiado/ +/es/supported-networks/gnosis-cl/ +/es/supported-networks/gnosis/ +/es/supported-networks/gravity-mainnet/ +/es/supported-networks/gravity-testnet/ +/es/supported-networks/harmony/ +/es/supported-networks/hashkeychain-sepolia/ +/es/supported-networks/hashkeychain/ +/es/supported-networks/hemi-sepolia/ +/es/supported-networks/hemi/ +/es/supported-networks/holesky-cl/ +/es/supported-networks/holesky/ +/es/supported-networks/hoodi/ +/es/supported-networks/injective-mainnet/ +/es/supported-networks/injective-testnet/ +/es/supported-networks/ink-sepolia/ +/es/supported-networks/ink/ +/es/supported-networks/iotex-testnet/ +/es/supported-networks/iotex/ +/es/supported-networks/joc-testnet/ +/es/supported-networks/joc/ +/es/supported-networks/jungle4-evm/ +/es/supported-networks/jungle4/ +/es/supported-networks/kaia-testnet/ +/es/supported-networks/kaia/ +/es/supported-networks/kylin/ +/es/supported-networks/lens-testnet/ +/es/supported-networks/linea-sepolia/ +/es/supported-networks/linea/ +/es/supported-networks/litecoin/ +/es/supported-networks/lumia/ +/es/supported-networks/mainnet-cl/ +/es/supported-networks/mainnet/ +/es/supported-networks/manta/ +/es/supported-networks/mantra-mainnet/ +/es/supported-networks/mantra-testnet/ +/es/supported-networks/matic/ +/es/supported-networks/mbase/ +/es/supported-networks/megaeth-testnet/ +/es/supported-networks/metis/ +/es/supported-networks/mint-sepolia/ +/es/supported-networks/mint/ +/es/supported-networks/mode-mainnet/ +/es/supported-networks/mode-sepolia/ +/es/supported-networks/monad-testnet/ +/es/supported-networks/moonbeam/ +/es/supported-networks/moonriver/ +/es/supported-networks/near-mainnet/ +/es/supported-networks/near-testnet/ +/es/supported-networks/neox-testnet/ +/es/supported-networks/neox/ +/es/supported-networks/optimism-sepolia/ +/es/supported-networks/optimism/ +/es/supported-networks/peaq/ +/es/supported-networks/polygon-amoy/ +/es/supported-networks/polygon-zkevm-cardona/ +/es/supported-networks/polygon-zkevm/ +/es/supported-networks/rootstock-testnet/ +/es/supported-networks/rootstock/ +/es/supported-networks/scroll-sepolia/ +/es/supported-networks/scroll/ +/es/supported-networks/sei-atlantic/ +/es/supported-networks/sei-mainnet/ +/es/supported-networks/sepolia-cl/ +/es/supported-networks/sepolia/ +/es/supported-networks/solana-accounts/ +/es/supported-networks/solana-devnet/ +/es/supported-networks/solana-mainnet-beta/ +/es/supported-networks/soneium-testnet/ +/es/supported-networks/soneium/ +/es/supported-networks/sonic/ +/es/supported-networks/starknet-mainnet/ +/es/supported-networks/starknet-testnet/ +/es/supported-networks/swellchain-sepolia/ +/es/supported-networks/swellchain/ +/es/supported-networks/telos-testnet/ +/es/supported-networks/telos/ +/es/supported-networks/unichain-testnet/ +/es/supported-networks/unichain/ +/es/supported-networks/vana-moksha/ +/es/supported-networks/vana/ +/es/supported-networks/viction/ +/es/supported-networks/wax-testnet/ +/es/supported-networks/wax/ +/es/supported-networks/xai/ +/es/supported-networks/xlayer-mainnet/ +/es/supported-networks/xlayer-sepolia/ +/es/supported-networks/zetachain/ +/es/supported-networks/zilliqa-protomainnet/ +/es/supported-networks/zksync-era-sepolia/ +/es/supported-networks/zksync-era/ +/es/supported-networks/zora/ /es/token-api/evm/get-balances-evm-by-address/ /es/token-api/evm/get-holders-evm-by-contract/ /es/token-api/evm/get-ohlc-prices-evm-by-contract/ @@ -575,6 +1265,144 @@ /fr/substreams/publishing/ /fr/substreams/quick-start/ /fr/supported-networks/ +/fr/supported-networks/abstract-testnet/ +/fr/supported-networks/abstract/ +/fr/supported-networks/apechain-curtis/ +/fr/supported-networks/apechain/ +/fr/supported-networks/arbitrum-nova/ +/fr/supported-networks/arbitrum-one/ +/fr/supported-networks/arbitrum-sepolia/ +/fr/supported-networks/arweave-mainnet/ +/fr/supported-networks/aurora-testnet/ +/fr/supported-networks/aurora/ +/fr/supported-networks/autonomys-taurus/ +/fr/supported-networks/avalanche/ +/fr/supported-networks/base-sepolia/ +/fr/supported-networks/base/ +/fr/supported-networks/berachain-bepolia/ +/fr/supported-networks/berachain/ +/fr/supported-networks/blast-mainnet/ +/fr/supported-networks/blast-testnet/ +/fr/supported-networks/bnb-op/ +/fr/supported-networks/boba-bnb-testnet/ +/fr/supported-networks/boba-bnb/ +/fr/supported-networks/boba-testnet/ +/fr/supported-networks/boba/ +/fr/supported-networks/botanix-testnet/ +/fr/supported-networks/bsc/ +/fr/supported-networks/btc/ +/fr/supported-networks/celo-alfajores/ +/fr/supported-networks/celo/ +/fr/supported-networks/chapel/ +/fr/supported-networks/chiliz-testnet/ +/fr/supported-networks/chiliz/ +/fr/supported-networks/clover/ +/fr/supported-networks/corn-testnet/ +/fr/supported-networks/corn/ +/fr/supported-networks/eos-evm/ +/fr/supported-networks/eos/ +/fr/supported-networks/etherlink-mainnet/ +/fr/supported-networks/etherlink-testnet/ +/fr/supported-networks/expchain-testnet/ +/fr/supported-networks/fantom-testnet/ +/fr/supported-networks/fantom/ +/fr/supported-networks/fraxtal/ +/fr/supported-networks/fuji/ +/fr/supported-networks/fuse-testnet/ +/fr/supported-networks/fuse/ +/fr/supported-networks/gnosis-chiado-cl/ +/fr/supported-networks/gnosis-chiado/ +/fr/supported-networks/gnosis-cl/ +/fr/supported-networks/gnosis/ +/fr/supported-networks/gravity-mainnet/ +/fr/supported-networks/gravity-testnet/ +/fr/supported-networks/harmony/ +/fr/supported-networks/hashkeychain-sepolia/ +/fr/supported-networks/hashkeychain/ +/fr/supported-networks/hemi-sepolia/ +/fr/supported-networks/hemi/ +/fr/supported-networks/holesky-cl/ +/fr/supported-networks/holesky/ +/fr/supported-networks/hoodi/ +/fr/supported-networks/injective-mainnet/ +/fr/supported-networks/injective-testnet/ +/fr/supported-networks/ink-sepolia/ +/fr/supported-networks/ink/ +/fr/supported-networks/iotex-testnet/ +/fr/supported-networks/iotex/ +/fr/supported-networks/joc-testnet/ +/fr/supported-networks/joc/ +/fr/supported-networks/jungle4-evm/ +/fr/supported-networks/jungle4/ +/fr/supported-networks/kaia-testnet/ +/fr/supported-networks/kaia/ +/fr/supported-networks/kylin/ +/fr/supported-networks/lens-testnet/ +/fr/supported-networks/linea-sepolia/ +/fr/supported-networks/linea/ +/fr/supported-networks/litecoin/ +/fr/supported-networks/lumia/ +/fr/supported-networks/mainnet-cl/ +/fr/supported-networks/mainnet/ +/fr/supported-networks/manta/ +/fr/supported-networks/mantra-mainnet/ +/fr/supported-networks/mantra-testnet/ +/fr/supported-networks/matic/ +/fr/supported-networks/mbase/ +/fr/supported-networks/megaeth-testnet/ +/fr/supported-networks/metis/ +/fr/supported-networks/mint-sepolia/ +/fr/supported-networks/mint/ +/fr/supported-networks/mode-mainnet/ +/fr/supported-networks/mode-sepolia/ +/fr/supported-networks/monad-testnet/ +/fr/supported-networks/moonbeam/ +/fr/supported-networks/moonriver/ +/fr/supported-networks/near-mainnet/ +/fr/supported-networks/near-testnet/ +/fr/supported-networks/neox-testnet/ +/fr/supported-networks/neox/ +/fr/supported-networks/optimism-sepolia/ +/fr/supported-networks/optimism/ +/fr/supported-networks/peaq/ +/fr/supported-networks/polygon-amoy/ +/fr/supported-networks/polygon-zkevm-cardona/ +/fr/supported-networks/polygon-zkevm/ +/fr/supported-networks/rootstock-testnet/ +/fr/supported-networks/rootstock/ +/fr/supported-networks/scroll-sepolia/ +/fr/supported-networks/scroll/ +/fr/supported-networks/sei-atlantic/ +/fr/supported-networks/sei-mainnet/ +/fr/supported-networks/sepolia-cl/ +/fr/supported-networks/sepolia/ +/fr/supported-networks/solana-accounts/ +/fr/supported-networks/solana-devnet/ +/fr/supported-networks/solana-mainnet-beta/ +/fr/supported-networks/soneium-testnet/ +/fr/supported-networks/soneium/ +/fr/supported-networks/sonic/ +/fr/supported-networks/starknet-mainnet/ +/fr/supported-networks/starknet-testnet/ +/fr/supported-networks/swellchain-sepolia/ +/fr/supported-networks/swellchain/ +/fr/supported-networks/telos-testnet/ +/fr/supported-networks/telos/ +/fr/supported-networks/unichain-testnet/ +/fr/supported-networks/unichain/ +/fr/supported-networks/vana-moksha/ +/fr/supported-networks/vana/ +/fr/supported-networks/viction/ +/fr/supported-networks/wax-testnet/ +/fr/supported-networks/wax/ +/fr/supported-networks/xai/ +/fr/supported-networks/xlayer-mainnet/ +/fr/supported-networks/xlayer-sepolia/ +/fr/supported-networks/zetachain/ +/fr/supported-networks/zilliqa-protomainnet/ +/fr/supported-networks/zksync-era-sepolia/ +/fr/supported-networks/zksync-era/ +/fr/supported-networks/zora/ /fr/token-api/evm/get-balances-evm-by-address/ /fr/token-api/evm/get-holders-evm-by-contract/ /fr/token-api/evm/get-ohlc-prices-evm-by-contract/ @@ -673,6 +1501,144 @@ /hi/substreams/publishing/ /hi/substreams/quick-start/ /hi/supported-networks/ +/hi/supported-networks/abstract-testnet/ +/hi/supported-networks/abstract/ +/hi/supported-networks/apechain-curtis/ +/hi/supported-networks/apechain/ +/hi/supported-networks/arbitrum-nova/ +/hi/supported-networks/arbitrum-one/ +/hi/supported-networks/arbitrum-sepolia/ +/hi/supported-networks/arweave-mainnet/ +/hi/supported-networks/aurora-testnet/ +/hi/supported-networks/aurora/ +/hi/supported-networks/autonomys-taurus/ +/hi/supported-networks/avalanche/ +/hi/supported-networks/base-sepolia/ +/hi/supported-networks/base/ +/hi/supported-networks/berachain-bepolia/ +/hi/supported-networks/berachain/ +/hi/supported-networks/blast-mainnet/ +/hi/supported-networks/blast-testnet/ +/hi/supported-networks/bnb-op/ +/hi/supported-networks/boba-bnb-testnet/ +/hi/supported-networks/boba-bnb/ +/hi/supported-networks/boba-testnet/ +/hi/supported-networks/boba/ +/hi/supported-networks/botanix-testnet/ +/hi/supported-networks/bsc/ +/hi/supported-networks/btc/ +/hi/supported-networks/celo-alfajores/ +/hi/supported-networks/celo/ +/hi/supported-networks/chapel/ +/hi/supported-networks/chiliz-testnet/ +/hi/supported-networks/chiliz/ +/hi/supported-networks/clover/ +/hi/supported-networks/corn-testnet/ +/hi/supported-networks/corn/ +/hi/supported-networks/eos-evm/ +/hi/supported-networks/eos/ +/hi/supported-networks/etherlink-mainnet/ +/hi/supported-networks/etherlink-testnet/ +/hi/supported-networks/expchain-testnet/ +/hi/supported-networks/fantom-testnet/ +/hi/supported-networks/fantom/ +/hi/supported-networks/fraxtal/ +/hi/supported-networks/fuji/ +/hi/supported-networks/fuse-testnet/ +/hi/supported-networks/fuse/ +/hi/supported-networks/gnosis-chiado-cl/ +/hi/supported-networks/gnosis-chiado/ +/hi/supported-networks/gnosis-cl/ +/hi/supported-networks/gnosis/ +/hi/supported-networks/gravity-mainnet/ +/hi/supported-networks/gravity-testnet/ +/hi/supported-networks/harmony/ +/hi/supported-networks/hashkeychain-sepolia/ +/hi/supported-networks/hashkeychain/ +/hi/supported-networks/hemi-sepolia/ +/hi/supported-networks/hemi/ +/hi/supported-networks/holesky-cl/ +/hi/supported-networks/holesky/ +/hi/supported-networks/hoodi/ +/hi/supported-networks/injective-mainnet/ +/hi/supported-networks/injective-testnet/ +/hi/supported-networks/ink-sepolia/ +/hi/supported-networks/ink/ +/hi/supported-networks/iotex-testnet/ +/hi/supported-networks/iotex/ +/hi/supported-networks/joc-testnet/ +/hi/supported-networks/joc/ +/hi/supported-networks/jungle4-evm/ +/hi/supported-networks/jungle4/ +/hi/supported-networks/kaia-testnet/ +/hi/supported-networks/kaia/ +/hi/supported-networks/kylin/ +/hi/supported-networks/lens-testnet/ +/hi/supported-networks/linea-sepolia/ +/hi/supported-networks/linea/ +/hi/supported-networks/litecoin/ +/hi/supported-networks/lumia/ +/hi/supported-networks/mainnet-cl/ +/hi/supported-networks/mainnet/ +/hi/supported-networks/manta/ +/hi/supported-networks/mantra-mainnet/ +/hi/supported-networks/mantra-testnet/ +/hi/supported-networks/matic/ +/hi/supported-networks/mbase/ +/hi/supported-networks/megaeth-testnet/ +/hi/supported-networks/metis/ +/hi/supported-networks/mint-sepolia/ +/hi/supported-networks/mint/ +/hi/supported-networks/mode-mainnet/ +/hi/supported-networks/mode-sepolia/ +/hi/supported-networks/monad-testnet/ +/hi/supported-networks/moonbeam/ +/hi/supported-networks/moonriver/ +/hi/supported-networks/near-mainnet/ +/hi/supported-networks/near-testnet/ +/hi/supported-networks/neox-testnet/ +/hi/supported-networks/neox/ +/hi/supported-networks/optimism-sepolia/ +/hi/supported-networks/optimism/ +/hi/supported-networks/peaq/ +/hi/supported-networks/polygon-amoy/ +/hi/supported-networks/polygon-zkevm-cardona/ +/hi/supported-networks/polygon-zkevm/ +/hi/supported-networks/rootstock-testnet/ +/hi/supported-networks/rootstock/ +/hi/supported-networks/scroll-sepolia/ +/hi/supported-networks/scroll/ +/hi/supported-networks/sei-atlantic/ +/hi/supported-networks/sei-mainnet/ +/hi/supported-networks/sepolia-cl/ +/hi/supported-networks/sepolia/ +/hi/supported-networks/solana-accounts/ +/hi/supported-networks/solana-devnet/ +/hi/supported-networks/solana-mainnet-beta/ +/hi/supported-networks/soneium-testnet/ +/hi/supported-networks/soneium/ +/hi/supported-networks/sonic/ +/hi/supported-networks/starknet-mainnet/ +/hi/supported-networks/starknet-testnet/ +/hi/supported-networks/swellchain-sepolia/ +/hi/supported-networks/swellchain/ +/hi/supported-networks/telos-testnet/ +/hi/supported-networks/telos/ +/hi/supported-networks/unichain-testnet/ +/hi/supported-networks/unichain/ +/hi/supported-networks/vana-moksha/ +/hi/supported-networks/vana/ +/hi/supported-networks/viction/ +/hi/supported-networks/wax-testnet/ +/hi/supported-networks/wax/ +/hi/supported-networks/xai/ +/hi/supported-networks/xlayer-mainnet/ +/hi/supported-networks/xlayer-sepolia/ +/hi/supported-networks/zetachain/ +/hi/supported-networks/zilliqa-protomainnet/ +/hi/supported-networks/zksync-era-sepolia/ +/hi/supported-networks/zksync-era/ +/hi/supported-networks/zora/ /hi/token-api/evm/get-balances-evm-by-address/ /hi/token-api/evm/get-holders-evm-by-contract/ /hi/token-api/evm/get-ohlc-prices-evm-by-contract/ @@ -771,6 +1737,144 @@ /it/substreams/publishing/ /it/substreams/quick-start/ /it/supported-networks/ +/it/supported-networks/abstract-testnet/ +/it/supported-networks/abstract/ +/it/supported-networks/apechain-curtis/ +/it/supported-networks/apechain/ +/it/supported-networks/arbitrum-nova/ +/it/supported-networks/arbitrum-one/ +/it/supported-networks/arbitrum-sepolia/ +/it/supported-networks/arweave-mainnet/ +/it/supported-networks/aurora-testnet/ +/it/supported-networks/aurora/ +/it/supported-networks/autonomys-taurus/ +/it/supported-networks/avalanche/ +/it/supported-networks/base-sepolia/ +/it/supported-networks/base/ +/it/supported-networks/berachain-bepolia/ +/it/supported-networks/berachain/ +/it/supported-networks/blast-mainnet/ +/it/supported-networks/blast-testnet/ +/it/supported-networks/bnb-op/ +/it/supported-networks/boba-bnb-testnet/ +/it/supported-networks/boba-bnb/ +/it/supported-networks/boba-testnet/ +/it/supported-networks/boba/ +/it/supported-networks/botanix-testnet/ +/it/supported-networks/bsc/ +/it/supported-networks/btc/ +/it/supported-networks/celo-alfajores/ +/it/supported-networks/celo/ +/it/supported-networks/chapel/ +/it/supported-networks/chiliz-testnet/ +/it/supported-networks/chiliz/ +/it/supported-networks/clover/ +/it/supported-networks/corn-testnet/ +/it/supported-networks/corn/ +/it/supported-networks/eos-evm/ +/it/supported-networks/eos/ +/it/supported-networks/etherlink-mainnet/ +/it/supported-networks/etherlink-testnet/ +/it/supported-networks/expchain-testnet/ +/it/supported-networks/fantom-testnet/ +/it/supported-networks/fantom/ +/it/supported-networks/fraxtal/ +/it/supported-networks/fuji/ +/it/supported-networks/fuse-testnet/ +/it/supported-networks/fuse/ +/it/supported-networks/gnosis-chiado-cl/ +/it/supported-networks/gnosis-chiado/ +/it/supported-networks/gnosis-cl/ +/it/supported-networks/gnosis/ +/it/supported-networks/gravity-mainnet/ +/it/supported-networks/gravity-testnet/ +/it/supported-networks/harmony/ +/it/supported-networks/hashkeychain-sepolia/ +/it/supported-networks/hashkeychain/ +/it/supported-networks/hemi-sepolia/ +/it/supported-networks/hemi/ +/it/supported-networks/holesky-cl/ +/it/supported-networks/holesky/ +/it/supported-networks/hoodi/ +/it/supported-networks/injective-mainnet/ +/it/supported-networks/injective-testnet/ +/it/supported-networks/ink-sepolia/ +/it/supported-networks/ink/ +/it/supported-networks/iotex-testnet/ +/it/supported-networks/iotex/ +/it/supported-networks/joc-testnet/ +/it/supported-networks/joc/ +/it/supported-networks/jungle4-evm/ +/it/supported-networks/jungle4/ +/it/supported-networks/kaia-testnet/ +/it/supported-networks/kaia/ +/it/supported-networks/kylin/ +/it/supported-networks/lens-testnet/ +/it/supported-networks/linea-sepolia/ +/it/supported-networks/linea/ +/it/supported-networks/litecoin/ +/it/supported-networks/lumia/ +/it/supported-networks/mainnet-cl/ +/it/supported-networks/mainnet/ +/it/supported-networks/manta/ +/it/supported-networks/mantra-mainnet/ +/it/supported-networks/mantra-testnet/ +/it/supported-networks/matic/ +/it/supported-networks/mbase/ +/it/supported-networks/megaeth-testnet/ +/it/supported-networks/metis/ +/it/supported-networks/mint-sepolia/ +/it/supported-networks/mint/ +/it/supported-networks/mode-mainnet/ +/it/supported-networks/mode-sepolia/ +/it/supported-networks/monad-testnet/ +/it/supported-networks/moonbeam/ +/it/supported-networks/moonriver/ +/it/supported-networks/near-mainnet/ +/it/supported-networks/near-testnet/ +/it/supported-networks/neox-testnet/ +/it/supported-networks/neox/ +/it/supported-networks/optimism-sepolia/ +/it/supported-networks/optimism/ +/it/supported-networks/peaq/ +/it/supported-networks/polygon-amoy/ +/it/supported-networks/polygon-zkevm-cardona/ +/it/supported-networks/polygon-zkevm/ +/it/supported-networks/rootstock-testnet/ +/it/supported-networks/rootstock/ +/it/supported-networks/scroll-sepolia/ +/it/supported-networks/scroll/ +/it/supported-networks/sei-atlantic/ +/it/supported-networks/sei-mainnet/ +/it/supported-networks/sepolia-cl/ +/it/supported-networks/sepolia/ +/it/supported-networks/solana-accounts/ +/it/supported-networks/solana-devnet/ +/it/supported-networks/solana-mainnet-beta/ +/it/supported-networks/soneium-testnet/ +/it/supported-networks/soneium/ +/it/supported-networks/sonic/ +/it/supported-networks/starknet-mainnet/ +/it/supported-networks/starknet-testnet/ +/it/supported-networks/swellchain-sepolia/ +/it/supported-networks/swellchain/ +/it/supported-networks/telos-testnet/ +/it/supported-networks/telos/ +/it/supported-networks/unichain-testnet/ +/it/supported-networks/unichain/ +/it/supported-networks/vana-moksha/ +/it/supported-networks/vana/ +/it/supported-networks/viction/ +/it/supported-networks/wax-testnet/ +/it/supported-networks/wax/ +/it/supported-networks/xai/ +/it/supported-networks/xlayer-mainnet/ +/it/supported-networks/xlayer-sepolia/ +/it/supported-networks/zetachain/ +/it/supported-networks/zilliqa-protomainnet/ +/it/supported-networks/zksync-era-sepolia/ +/it/supported-networks/zksync-era/ +/it/supported-networks/zora/ /it/token-api/evm/get-balances-evm-by-address/ /it/token-api/evm/get-holders-evm-by-contract/ /it/token-api/evm/get-ohlc-prices-evm-by-contract/ @@ -869,6 +1973,144 @@ /ja/substreams/publishing/ /ja/substreams/quick-start/ /ja/supported-networks/ +/ja/supported-networks/abstract-testnet/ +/ja/supported-networks/abstract/ +/ja/supported-networks/apechain-curtis/ +/ja/supported-networks/apechain/ +/ja/supported-networks/arbitrum-nova/ +/ja/supported-networks/arbitrum-one/ +/ja/supported-networks/arbitrum-sepolia/ +/ja/supported-networks/arweave-mainnet/ +/ja/supported-networks/aurora-testnet/ +/ja/supported-networks/aurora/ +/ja/supported-networks/autonomys-taurus/ +/ja/supported-networks/avalanche/ +/ja/supported-networks/base-sepolia/ +/ja/supported-networks/base/ +/ja/supported-networks/berachain-bepolia/ +/ja/supported-networks/berachain/ +/ja/supported-networks/blast-mainnet/ +/ja/supported-networks/blast-testnet/ +/ja/supported-networks/bnb-op/ +/ja/supported-networks/boba-bnb-testnet/ +/ja/supported-networks/boba-bnb/ +/ja/supported-networks/boba-testnet/ +/ja/supported-networks/boba/ +/ja/supported-networks/botanix-testnet/ +/ja/supported-networks/bsc/ +/ja/supported-networks/btc/ +/ja/supported-networks/celo-alfajores/ +/ja/supported-networks/celo/ +/ja/supported-networks/chapel/ +/ja/supported-networks/chiliz-testnet/ +/ja/supported-networks/chiliz/ +/ja/supported-networks/clover/ +/ja/supported-networks/corn-testnet/ +/ja/supported-networks/corn/ +/ja/supported-networks/eos-evm/ +/ja/supported-networks/eos/ +/ja/supported-networks/etherlink-mainnet/ +/ja/supported-networks/etherlink-testnet/ +/ja/supported-networks/expchain-testnet/ +/ja/supported-networks/fantom-testnet/ +/ja/supported-networks/fantom/ +/ja/supported-networks/fraxtal/ +/ja/supported-networks/fuji/ +/ja/supported-networks/fuse-testnet/ +/ja/supported-networks/fuse/ +/ja/supported-networks/gnosis-chiado-cl/ +/ja/supported-networks/gnosis-chiado/ +/ja/supported-networks/gnosis-cl/ +/ja/supported-networks/gnosis/ +/ja/supported-networks/gravity-mainnet/ +/ja/supported-networks/gravity-testnet/ +/ja/supported-networks/harmony/ +/ja/supported-networks/hashkeychain-sepolia/ +/ja/supported-networks/hashkeychain/ +/ja/supported-networks/hemi-sepolia/ +/ja/supported-networks/hemi/ +/ja/supported-networks/holesky-cl/ +/ja/supported-networks/holesky/ +/ja/supported-networks/hoodi/ +/ja/supported-networks/injective-mainnet/ +/ja/supported-networks/injective-testnet/ +/ja/supported-networks/ink-sepolia/ +/ja/supported-networks/ink/ +/ja/supported-networks/iotex-testnet/ +/ja/supported-networks/iotex/ +/ja/supported-networks/joc-testnet/ +/ja/supported-networks/joc/ +/ja/supported-networks/jungle4-evm/ +/ja/supported-networks/jungle4/ +/ja/supported-networks/kaia-testnet/ +/ja/supported-networks/kaia/ +/ja/supported-networks/kylin/ +/ja/supported-networks/lens-testnet/ +/ja/supported-networks/linea-sepolia/ +/ja/supported-networks/linea/ +/ja/supported-networks/litecoin/ +/ja/supported-networks/lumia/ +/ja/supported-networks/mainnet-cl/ +/ja/supported-networks/mainnet/ +/ja/supported-networks/manta/ +/ja/supported-networks/mantra-mainnet/ +/ja/supported-networks/mantra-testnet/ +/ja/supported-networks/matic/ +/ja/supported-networks/mbase/ +/ja/supported-networks/megaeth-testnet/ +/ja/supported-networks/metis/ +/ja/supported-networks/mint-sepolia/ +/ja/supported-networks/mint/ +/ja/supported-networks/mode-mainnet/ +/ja/supported-networks/mode-sepolia/ +/ja/supported-networks/monad-testnet/ +/ja/supported-networks/moonbeam/ +/ja/supported-networks/moonriver/ +/ja/supported-networks/near-mainnet/ +/ja/supported-networks/near-testnet/ +/ja/supported-networks/neox-testnet/ +/ja/supported-networks/neox/ +/ja/supported-networks/optimism-sepolia/ +/ja/supported-networks/optimism/ +/ja/supported-networks/peaq/ +/ja/supported-networks/polygon-amoy/ +/ja/supported-networks/polygon-zkevm-cardona/ +/ja/supported-networks/polygon-zkevm/ +/ja/supported-networks/rootstock-testnet/ +/ja/supported-networks/rootstock/ +/ja/supported-networks/scroll-sepolia/ +/ja/supported-networks/scroll/ +/ja/supported-networks/sei-atlantic/ +/ja/supported-networks/sei-mainnet/ +/ja/supported-networks/sepolia-cl/ +/ja/supported-networks/sepolia/ +/ja/supported-networks/solana-accounts/ +/ja/supported-networks/solana-devnet/ +/ja/supported-networks/solana-mainnet-beta/ +/ja/supported-networks/soneium-testnet/ +/ja/supported-networks/soneium/ +/ja/supported-networks/sonic/ +/ja/supported-networks/starknet-mainnet/ +/ja/supported-networks/starknet-testnet/ +/ja/supported-networks/swellchain-sepolia/ +/ja/supported-networks/swellchain/ +/ja/supported-networks/telos-testnet/ +/ja/supported-networks/telos/ +/ja/supported-networks/unichain-testnet/ +/ja/supported-networks/unichain/ +/ja/supported-networks/vana-moksha/ +/ja/supported-networks/vana/ +/ja/supported-networks/viction/ +/ja/supported-networks/wax-testnet/ +/ja/supported-networks/wax/ +/ja/supported-networks/xai/ +/ja/supported-networks/xlayer-mainnet/ +/ja/supported-networks/xlayer-sepolia/ +/ja/supported-networks/zetachain/ +/ja/supported-networks/zilliqa-protomainnet/ +/ja/supported-networks/zksync-era-sepolia/ +/ja/supported-networks/zksync-era/ +/ja/supported-networks/zora/ /ja/token-api/evm/get-balances-evm-by-address/ /ja/token-api/evm/get-holders-evm-by-contract/ /ja/token-api/evm/get-ohlc-prices-evm-by-contract/ @@ -1063,6 +2305,144 @@ /mr/substreams/publishing/ /mr/substreams/quick-start/ /mr/supported-networks/ +/mr/supported-networks/abstract-testnet/ +/mr/supported-networks/abstract/ +/mr/supported-networks/apechain-curtis/ +/mr/supported-networks/apechain/ +/mr/supported-networks/arbitrum-nova/ +/mr/supported-networks/arbitrum-one/ +/mr/supported-networks/arbitrum-sepolia/ +/mr/supported-networks/arweave-mainnet/ +/mr/supported-networks/aurora-testnet/ +/mr/supported-networks/aurora/ +/mr/supported-networks/autonomys-taurus/ +/mr/supported-networks/avalanche/ +/mr/supported-networks/base-sepolia/ +/mr/supported-networks/base/ +/mr/supported-networks/berachain-bepolia/ +/mr/supported-networks/berachain/ +/mr/supported-networks/blast-mainnet/ +/mr/supported-networks/blast-testnet/ +/mr/supported-networks/bnb-op/ +/mr/supported-networks/boba-bnb-testnet/ +/mr/supported-networks/boba-bnb/ +/mr/supported-networks/boba-testnet/ +/mr/supported-networks/boba/ +/mr/supported-networks/botanix-testnet/ +/mr/supported-networks/bsc/ +/mr/supported-networks/btc/ +/mr/supported-networks/celo-alfajores/ +/mr/supported-networks/celo/ +/mr/supported-networks/chapel/ +/mr/supported-networks/chiliz-testnet/ +/mr/supported-networks/chiliz/ +/mr/supported-networks/clover/ +/mr/supported-networks/corn-testnet/ +/mr/supported-networks/corn/ +/mr/supported-networks/eos-evm/ +/mr/supported-networks/eos/ +/mr/supported-networks/etherlink-mainnet/ +/mr/supported-networks/etherlink-testnet/ +/mr/supported-networks/expchain-testnet/ +/mr/supported-networks/fantom-testnet/ +/mr/supported-networks/fantom/ +/mr/supported-networks/fraxtal/ +/mr/supported-networks/fuji/ +/mr/supported-networks/fuse-testnet/ +/mr/supported-networks/fuse/ +/mr/supported-networks/gnosis-chiado-cl/ +/mr/supported-networks/gnosis-chiado/ +/mr/supported-networks/gnosis-cl/ +/mr/supported-networks/gnosis/ +/mr/supported-networks/gravity-mainnet/ +/mr/supported-networks/gravity-testnet/ +/mr/supported-networks/harmony/ +/mr/supported-networks/hashkeychain-sepolia/ +/mr/supported-networks/hashkeychain/ +/mr/supported-networks/hemi-sepolia/ +/mr/supported-networks/hemi/ +/mr/supported-networks/holesky-cl/ +/mr/supported-networks/holesky/ +/mr/supported-networks/hoodi/ +/mr/supported-networks/injective-mainnet/ +/mr/supported-networks/injective-testnet/ +/mr/supported-networks/ink-sepolia/ +/mr/supported-networks/ink/ +/mr/supported-networks/iotex-testnet/ +/mr/supported-networks/iotex/ +/mr/supported-networks/joc-testnet/ +/mr/supported-networks/joc/ +/mr/supported-networks/jungle4-evm/ +/mr/supported-networks/jungle4/ +/mr/supported-networks/kaia-testnet/ +/mr/supported-networks/kaia/ +/mr/supported-networks/kylin/ +/mr/supported-networks/lens-testnet/ +/mr/supported-networks/linea-sepolia/ +/mr/supported-networks/linea/ +/mr/supported-networks/litecoin/ +/mr/supported-networks/lumia/ +/mr/supported-networks/mainnet-cl/ +/mr/supported-networks/mainnet/ +/mr/supported-networks/manta/ +/mr/supported-networks/mantra-mainnet/ +/mr/supported-networks/mantra-testnet/ +/mr/supported-networks/matic/ +/mr/supported-networks/mbase/ +/mr/supported-networks/megaeth-testnet/ +/mr/supported-networks/metis/ +/mr/supported-networks/mint-sepolia/ +/mr/supported-networks/mint/ +/mr/supported-networks/mode-mainnet/ +/mr/supported-networks/mode-sepolia/ +/mr/supported-networks/monad-testnet/ +/mr/supported-networks/moonbeam/ +/mr/supported-networks/moonriver/ +/mr/supported-networks/near-mainnet/ +/mr/supported-networks/near-testnet/ +/mr/supported-networks/neox-testnet/ +/mr/supported-networks/neox/ +/mr/supported-networks/optimism-sepolia/ +/mr/supported-networks/optimism/ +/mr/supported-networks/peaq/ +/mr/supported-networks/polygon-amoy/ +/mr/supported-networks/polygon-zkevm-cardona/ +/mr/supported-networks/polygon-zkevm/ +/mr/supported-networks/rootstock-testnet/ +/mr/supported-networks/rootstock/ +/mr/supported-networks/scroll-sepolia/ +/mr/supported-networks/scroll/ +/mr/supported-networks/sei-atlantic/ +/mr/supported-networks/sei-mainnet/ +/mr/supported-networks/sepolia-cl/ +/mr/supported-networks/sepolia/ +/mr/supported-networks/solana-accounts/ +/mr/supported-networks/solana-devnet/ +/mr/supported-networks/solana-mainnet-beta/ +/mr/supported-networks/soneium-testnet/ +/mr/supported-networks/soneium/ +/mr/supported-networks/sonic/ +/mr/supported-networks/starknet-mainnet/ +/mr/supported-networks/starknet-testnet/ +/mr/supported-networks/swellchain-sepolia/ +/mr/supported-networks/swellchain/ +/mr/supported-networks/telos-testnet/ +/mr/supported-networks/telos/ +/mr/supported-networks/unichain-testnet/ +/mr/supported-networks/unichain/ +/mr/supported-networks/vana-moksha/ +/mr/supported-networks/vana/ +/mr/supported-networks/viction/ +/mr/supported-networks/wax-testnet/ +/mr/supported-networks/wax/ +/mr/supported-networks/xai/ +/mr/supported-networks/xlayer-mainnet/ +/mr/supported-networks/xlayer-sepolia/ +/mr/supported-networks/zetachain/ +/mr/supported-networks/zilliqa-protomainnet/ +/mr/supported-networks/zksync-era-sepolia/ +/mr/supported-networks/zksync-era/ +/mr/supported-networks/zora/ /mr/token-api/evm/get-balances-evm-by-address/ /mr/token-api/evm/get-holders-evm-by-contract/ /mr/token-api/evm/get-ohlc-prices-evm-by-contract/ @@ -1353,6 +2733,144 @@ /pt/substreams/publishing/ /pt/substreams/quick-start/ /pt/supported-networks/ +/pt/supported-networks/abstract-testnet/ +/pt/supported-networks/abstract/ +/pt/supported-networks/apechain-curtis/ +/pt/supported-networks/apechain/ +/pt/supported-networks/arbitrum-nova/ +/pt/supported-networks/arbitrum-one/ +/pt/supported-networks/arbitrum-sepolia/ +/pt/supported-networks/arweave-mainnet/ +/pt/supported-networks/aurora-testnet/ +/pt/supported-networks/aurora/ +/pt/supported-networks/autonomys-taurus/ +/pt/supported-networks/avalanche/ +/pt/supported-networks/base-sepolia/ +/pt/supported-networks/base/ +/pt/supported-networks/berachain-bepolia/ +/pt/supported-networks/berachain/ +/pt/supported-networks/blast-mainnet/ +/pt/supported-networks/blast-testnet/ +/pt/supported-networks/bnb-op/ +/pt/supported-networks/boba-bnb-testnet/ +/pt/supported-networks/boba-bnb/ +/pt/supported-networks/boba-testnet/ +/pt/supported-networks/boba/ +/pt/supported-networks/botanix-testnet/ +/pt/supported-networks/bsc/ +/pt/supported-networks/btc/ +/pt/supported-networks/celo-alfajores/ +/pt/supported-networks/celo/ +/pt/supported-networks/chapel/ +/pt/supported-networks/chiliz-testnet/ +/pt/supported-networks/chiliz/ +/pt/supported-networks/clover/ +/pt/supported-networks/corn-testnet/ +/pt/supported-networks/corn/ +/pt/supported-networks/eos-evm/ +/pt/supported-networks/eos/ +/pt/supported-networks/etherlink-mainnet/ +/pt/supported-networks/etherlink-testnet/ +/pt/supported-networks/expchain-testnet/ +/pt/supported-networks/fantom-testnet/ +/pt/supported-networks/fantom/ +/pt/supported-networks/fraxtal/ +/pt/supported-networks/fuji/ +/pt/supported-networks/fuse-testnet/ +/pt/supported-networks/fuse/ +/pt/supported-networks/gnosis-chiado-cl/ +/pt/supported-networks/gnosis-chiado/ +/pt/supported-networks/gnosis-cl/ +/pt/supported-networks/gnosis/ +/pt/supported-networks/gravity-mainnet/ +/pt/supported-networks/gravity-testnet/ +/pt/supported-networks/harmony/ +/pt/supported-networks/hashkeychain-sepolia/ +/pt/supported-networks/hashkeychain/ +/pt/supported-networks/hemi-sepolia/ +/pt/supported-networks/hemi/ +/pt/supported-networks/holesky-cl/ +/pt/supported-networks/holesky/ +/pt/supported-networks/hoodi/ +/pt/supported-networks/injective-mainnet/ +/pt/supported-networks/injective-testnet/ +/pt/supported-networks/ink-sepolia/ +/pt/supported-networks/ink/ +/pt/supported-networks/iotex-testnet/ +/pt/supported-networks/iotex/ +/pt/supported-networks/joc-testnet/ +/pt/supported-networks/joc/ +/pt/supported-networks/jungle4-evm/ +/pt/supported-networks/jungle4/ +/pt/supported-networks/kaia-testnet/ +/pt/supported-networks/kaia/ +/pt/supported-networks/kylin/ +/pt/supported-networks/lens-testnet/ +/pt/supported-networks/linea-sepolia/ +/pt/supported-networks/linea/ +/pt/supported-networks/litecoin/ +/pt/supported-networks/lumia/ +/pt/supported-networks/mainnet-cl/ +/pt/supported-networks/mainnet/ +/pt/supported-networks/manta/ +/pt/supported-networks/mantra-mainnet/ +/pt/supported-networks/mantra-testnet/ +/pt/supported-networks/matic/ +/pt/supported-networks/mbase/ +/pt/supported-networks/megaeth-testnet/ +/pt/supported-networks/metis/ +/pt/supported-networks/mint-sepolia/ +/pt/supported-networks/mint/ +/pt/supported-networks/mode-mainnet/ +/pt/supported-networks/mode-sepolia/ +/pt/supported-networks/monad-testnet/ +/pt/supported-networks/moonbeam/ +/pt/supported-networks/moonriver/ +/pt/supported-networks/near-mainnet/ +/pt/supported-networks/near-testnet/ +/pt/supported-networks/neox-testnet/ +/pt/supported-networks/neox/ +/pt/supported-networks/optimism-sepolia/ +/pt/supported-networks/optimism/ +/pt/supported-networks/peaq/ +/pt/supported-networks/polygon-amoy/ +/pt/supported-networks/polygon-zkevm-cardona/ +/pt/supported-networks/polygon-zkevm/ +/pt/supported-networks/rootstock-testnet/ +/pt/supported-networks/rootstock/ +/pt/supported-networks/scroll-sepolia/ +/pt/supported-networks/scroll/ +/pt/supported-networks/sei-atlantic/ +/pt/supported-networks/sei-mainnet/ +/pt/supported-networks/sepolia-cl/ +/pt/supported-networks/sepolia/ +/pt/supported-networks/solana-accounts/ +/pt/supported-networks/solana-devnet/ +/pt/supported-networks/solana-mainnet-beta/ +/pt/supported-networks/soneium-testnet/ +/pt/supported-networks/soneium/ +/pt/supported-networks/sonic/ +/pt/supported-networks/starknet-mainnet/ +/pt/supported-networks/starknet-testnet/ +/pt/supported-networks/swellchain-sepolia/ +/pt/supported-networks/swellchain/ +/pt/supported-networks/telos-testnet/ +/pt/supported-networks/telos/ +/pt/supported-networks/unichain-testnet/ +/pt/supported-networks/unichain/ +/pt/supported-networks/vana-moksha/ +/pt/supported-networks/vana/ +/pt/supported-networks/viction/ +/pt/supported-networks/wax-testnet/ +/pt/supported-networks/wax/ +/pt/supported-networks/xai/ +/pt/supported-networks/xlayer-mainnet/ +/pt/supported-networks/xlayer-sepolia/ +/pt/supported-networks/zetachain/ +/pt/supported-networks/zilliqa-protomainnet/ +/pt/supported-networks/zksync-era-sepolia/ +/pt/supported-networks/zksync-era/ +/pt/supported-networks/zora/ /pt/token-api/evm/get-balances-evm-by-address/ /pt/token-api/evm/get-holders-evm-by-contract/ /pt/token-api/evm/get-ohlc-prices-evm-by-contract/ @@ -1547,6 +3065,144 @@ /ru/substreams/publishing/ /ru/substreams/quick-start/ /ru/supported-networks/ +/ru/supported-networks/abstract-testnet/ +/ru/supported-networks/abstract/ +/ru/supported-networks/apechain-curtis/ +/ru/supported-networks/apechain/ +/ru/supported-networks/arbitrum-nova/ +/ru/supported-networks/arbitrum-one/ +/ru/supported-networks/arbitrum-sepolia/ +/ru/supported-networks/arweave-mainnet/ +/ru/supported-networks/aurora-testnet/ +/ru/supported-networks/aurora/ +/ru/supported-networks/autonomys-taurus/ +/ru/supported-networks/avalanche/ +/ru/supported-networks/base-sepolia/ +/ru/supported-networks/base/ +/ru/supported-networks/berachain-bepolia/ +/ru/supported-networks/berachain/ +/ru/supported-networks/blast-mainnet/ +/ru/supported-networks/blast-testnet/ +/ru/supported-networks/bnb-op/ +/ru/supported-networks/boba-bnb-testnet/ +/ru/supported-networks/boba-bnb/ +/ru/supported-networks/boba-testnet/ +/ru/supported-networks/boba/ +/ru/supported-networks/botanix-testnet/ +/ru/supported-networks/bsc/ +/ru/supported-networks/btc/ +/ru/supported-networks/celo-alfajores/ +/ru/supported-networks/celo/ +/ru/supported-networks/chapel/ +/ru/supported-networks/chiliz-testnet/ +/ru/supported-networks/chiliz/ +/ru/supported-networks/clover/ +/ru/supported-networks/corn-testnet/ +/ru/supported-networks/corn/ +/ru/supported-networks/eos-evm/ +/ru/supported-networks/eos/ +/ru/supported-networks/etherlink-mainnet/ +/ru/supported-networks/etherlink-testnet/ +/ru/supported-networks/expchain-testnet/ +/ru/supported-networks/fantom-testnet/ +/ru/supported-networks/fantom/ +/ru/supported-networks/fraxtal/ +/ru/supported-networks/fuji/ +/ru/supported-networks/fuse-testnet/ +/ru/supported-networks/fuse/ +/ru/supported-networks/gnosis-chiado-cl/ +/ru/supported-networks/gnosis-chiado/ +/ru/supported-networks/gnosis-cl/ +/ru/supported-networks/gnosis/ +/ru/supported-networks/gravity-mainnet/ +/ru/supported-networks/gravity-testnet/ +/ru/supported-networks/harmony/ +/ru/supported-networks/hashkeychain-sepolia/ +/ru/supported-networks/hashkeychain/ +/ru/supported-networks/hemi-sepolia/ +/ru/supported-networks/hemi/ +/ru/supported-networks/holesky-cl/ +/ru/supported-networks/holesky/ +/ru/supported-networks/hoodi/ +/ru/supported-networks/injective-mainnet/ +/ru/supported-networks/injective-testnet/ +/ru/supported-networks/ink-sepolia/ +/ru/supported-networks/ink/ +/ru/supported-networks/iotex-testnet/ +/ru/supported-networks/iotex/ +/ru/supported-networks/joc-testnet/ +/ru/supported-networks/joc/ +/ru/supported-networks/jungle4-evm/ +/ru/supported-networks/jungle4/ +/ru/supported-networks/kaia-testnet/ +/ru/supported-networks/kaia/ +/ru/supported-networks/kylin/ +/ru/supported-networks/lens-testnet/ +/ru/supported-networks/linea-sepolia/ +/ru/supported-networks/linea/ +/ru/supported-networks/litecoin/ +/ru/supported-networks/lumia/ +/ru/supported-networks/mainnet-cl/ +/ru/supported-networks/mainnet/ +/ru/supported-networks/manta/ +/ru/supported-networks/mantra-mainnet/ +/ru/supported-networks/mantra-testnet/ +/ru/supported-networks/matic/ +/ru/supported-networks/mbase/ +/ru/supported-networks/megaeth-testnet/ +/ru/supported-networks/metis/ +/ru/supported-networks/mint-sepolia/ +/ru/supported-networks/mint/ +/ru/supported-networks/mode-mainnet/ +/ru/supported-networks/mode-sepolia/ +/ru/supported-networks/monad-testnet/ +/ru/supported-networks/moonbeam/ +/ru/supported-networks/moonriver/ +/ru/supported-networks/near-mainnet/ +/ru/supported-networks/near-testnet/ +/ru/supported-networks/neox-testnet/ +/ru/supported-networks/neox/ +/ru/supported-networks/optimism-sepolia/ +/ru/supported-networks/optimism/ +/ru/supported-networks/peaq/ +/ru/supported-networks/polygon-amoy/ +/ru/supported-networks/polygon-zkevm-cardona/ +/ru/supported-networks/polygon-zkevm/ +/ru/supported-networks/rootstock-testnet/ +/ru/supported-networks/rootstock/ +/ru/supported-networks/scroll-sepolia/ +/ru/supported-networks/scroll/ +/ru/supported-networks/sei-atlantic/ +/ru/supported-networks/sei-mainnet/ +/ru/supported-networks/sepolia-cl/ +/ru/supported-networks/sepolia/ +/ru/supported-networks/solana-accounts/ +/ru/supported-networks/solana-devnet/ +/ru/supported-networks/solana-mainnet-beta/ +/ru/supported-networks/soneium-testnet/ +/ru/supported-networks/soneium/ +/ru/supported-networks/sonic/ +/ru/supported-networks/starknet-mainnet/ +/ru/supported-networks/starknet-testnet/ +/ru/supported-networks/swellchain-sepolia/ +/ru/supported-networks/swellchain/ +/ru/supported-networks/telos-testnet/ +/ru/supported-networks/telos/ +/ru/supported-networks/unichain-testnet/ +/ru/supported-networks/unichain/ +/ru/supported-networks/vana-moksha/ +/ru/supported-networks/vana/ +/ru/supported-networks/viction/ +/ru/supported-networks/wax-testnet/ +/ru/supported-networks/wax/ +/ru/supported-networks/xai/ +/ru/supported-networks/xlayer-mainnet/ +/ru/supported-networks/xlayer-sepolia/ +/ru/supported-networks/zetachain/ +/ru/supported-networks/zilliqa-protomainnet/ +/ru/supported-networks/zksync-era-sepolia/ +/ru/supported-networks/zksync-era/ +/ru/supported-networks/zora/ /ru/token-api/evm/get-balances-evm-by-address/ /ru/token-api/evm/get-holders-evm-by-contract/ /ru/token-api/evm/get-ohlc-prices-evm-by-contract/ @@ -1645,6 +3301,144 @@ /sv/substreams/publishing/ /sv/substreams/quick-start/ /sv/supported-networks/ +/sv/supported-networks/abstract-testnet/ +/sv/supported-networks/abstract/ +/sv/supported-networks/apechain-curtis/ +/sv/supported-networks/apechain/ +/sv/supported-networks/arbitrum-nova/ +/sv/supported-networks/arbitrum-one/ +/sv/supported-networks/arbitrum-sepolia/ +/sv/supported-networks/arweave-mainnet/ +/sv/supported-networks/aurora-testnet/ +/sv/supported-networks/aurora/ +/sv/supported-networks/autonomys-taurus/ +/sv/supported-networks/avalanche/ +/sv/supported-networks/base-sepolia/ +/sv/supported-networks/base/ +/sv/supported-networks/berachain-bepolia/ +/sv/supported-networks/berachain/ +/sv/supported-networks/blast-mainnet/ +/sv/supported-networks/blast-testnet/ +/sv/supported-networks/bnb-op/ +/sv/supported-networks/boba-bnb-testnet/ +/sv/supported-networks/boba-bnb/ +/sv/supported-networks/boba-testnet/ +/sv/supported-networks/boba/ +/sv/supported-networks/botanix-testnet/ +/sv/supported-networks/bsc/ +/sv/supported-networks/btc/ +/sv/supported-networks/celo-alfajores/ +/sv/supported-networks/celo/ +/sv/supported-networks/chapel/ +/sv/supported-networks/chiliz-testnet/ +/sv/supported-networks/chiliz/ +/sv/supported-networks/clover/ +/sv/supported-networks/corn-testnet/ +/sv/supported-networks/corn/ +/sv/supported-networks/eos-evm/ +/sv/supported-networks/eos/ +/sv/supported-networks/etherlink-mainnet/ +/sv/supported-networks/etherlink-testnet/ +/sv/supported-networks/expchain-testnet/ +/sv/supported-networks/fantom-testnet/ +/sv/supported-networks/fantom/ +/sv/supported-networks/fraxtal/ +/sv/supported-networks/fuji/ +/sv/supported-networks/fuse-testnet/ +/sv/supported-networks/fuse/ +/sv/supported-networks/gnosis-chiado-cl/ +/sv/supported-networks/gnosis-chiado/ +/sv/supported-networks/gnosis-cl/ +/sv/supported-networks/gnosis/ +/sv/supported-networks/gravity-mainnet/ +/sv/supported-networks/gravity-testnet/ +/sv/supported-networks/harmony/ +/sv/supported-networks/hashkeychain-sepolia/ +/sv/supported-networks/hashkeychain/ +/sv/supported-networks/hemi-sepolia/ +/sv/supported-networks/hemi/ +/sv/supported-networks/holesky-cl/ +/sv/supported-networks/holesky/ +/sv/supported-networks/hoodi/ +/sv/supported-networks/injective-mainnet/ +/sv/supported-networks/injective-testnet/ +/sv/supported-networks/ink-sepolia/ +/sv/supported-networks/ink/ +/sv/supported-networks/iotex-testnet/ +/sv/supported-networks/iotex/ +/sv/supported-networks/joc-testnet/ +/sv/supported-networks/joc/ +/sv/supported-networks/jungle4-evm/ +/sv/supported-networks/jungle4/ +/sv/supported-networks/kaia-testnet/ +/sv/supported-networks/kaia/ +/sv/supported-networks/kylin/ +/sv/supported-networks/lens-testnet/ +/sv/supported-networks/linea-sepolia/ +/sv/supported-networks/linea/ +/sv/supported-networks/litecoin/ +/sv/supported-networks/lumia/ +/sv/supported-networks/mainnet-cl/ +/sv/supported-networks/mainnet/ +/sv/supported-networks/manta/ +/sv/supported-networks/mantra-mainnet/ +/sv/supported-networks/mantra-testnet/ +/sv/supported-networks/matic/ +/sv/supported-networks/mbase/ +/sv/supported-networks/megaeth-testnet/ +/sv/supported-networks/metis/ +/sv/supported-networks/mint-sepolia/ +/sv/supported-networks/mint/ +/sv/supported-networks/mode-mainnet/ +/sv/supported-networks/mode-sepolia/ +/sv/supported-networks/monad-testnet/ +/sv/supported-networks/moonbeam/ +/sv/supported-networks/moonriver/ +/sv/supported-networks/near-mainnet/ +/sv/supported-networks/near-testnet/ +/sv/supported-networks/neox-testnet/ +/sv/supported-networks/neox/ +/sv/supported-networks/optimism-sepolia/ +/sv/supported-networks/optimism/ +/sv/supported-networks/peaq/ +/sv/supported-networks/polygon-amoy/ +/sv/supported-networks/polygon-zkevm-cardona/ +/sv/supported-networks/polygon-zkevm/ +/sv/supported-networks/rootstock-testnet/ +/sv/supported-networks/rootstock/ +/sv/supported-networks/scroll-sepolia/ +/sv/supported-networks/scroll/ +/sv/supported-networks/sei-atlantic/ +/sv/supported-networks/sei-mainnet/ +/sv/supported-networks/sepolia-cl/ +/sv/supported-networks/sepolia/ +/sv/supported-networks/solana-accounts/ +/sv/supported-networks/solana-devnet/ +/sv/supported-networks/solana-mainnet-beta/ +/sv/supported-networks/soneium-testnet/ +/sv/supported-networks/soneium/ +/sv/supported-networks/sonic/ +/sv/supported-networks/starknet-mainnet/ +/sv/supported-networks/starknet-testnet/ +/sv/supported-networks/swellchain-sepolia/ +/sv/supported-networks/swellchain/ +/sv/supported-networks/telos-testnet/ +/sv/supported-networks/telos/ +/sv/supported-networks/unichain-testnet/ +/sv/supported-networks/unichain/ +/sv/supported-networks/vana-moksha/ +/sv/supported-networks/vana/ +/sv/supported-networks/viction/ +/sv/supported-networks/wax-testnet/ +/sv/supported-networks/wax/ +/sv/supported-networks/xai/ +/sv/supported-networks/xlayer-mainnet/ +/sv/supported-networks/xlayer-sepolia/ +/sv/supported-networks/zetachain/ +/sv/supported-networks/zilliqa-protomainnet/ +/sv/supported-networks/zksync-era-sepolia/ +/sv/supported-networks/zksync-era/ +/sv/supported-networks/zora/ /sv/token-api/evm/get-balances-evm-by-address/ /sv/token-api/evm/get-holders-evm-by-contract/ /sv/token-api/evm/get-ohlc-prices-evm-by-contract/ @@ -1743,6 +3537,144 @@ /tr/substreams/publishing/ /tr/substreams/quick-start/ /tr/supported-networks/ +/tr/supported-networks/abstract-testnet/ +/tr/supported-networks/abstract/ +/tr/supported-networks/apechain-curtis/ +/tr/supported-networks/apechain/ +/tr/supported-networks/arbitrum-nova/ +/tr/supported-networks/arbitrum-one/ +/tr/supported-networks/arbitrum-sepolia/ +/tr/supported-networks/arweave-mainnet/ +/tr/supported-networks/aurora-testnet/ +/tr/supported-networks/aurora/ +/tr/supported-networks/autonomys-taurus/ +/tr/supported-networks/avalanche/ +/tr/supported-networks/base-sepolia/ +/tr/supported-networks/base/ +/tr/supported-networks/berachain-bepolia/ +/tr/supported-networks/berachain/ +/tr/supported-networks/blast-mainnet/ +/tr/supported-networks/blast-testnet/ +/tr/supported-networks/bnb-op/ +/tr/supported-networks/boba-bnb-testnet/ +/tr/supported-networks/boba-bnb/ +/tr/supported-networks/boba-testnet/ +/tr/supported-networks/boba/ +/tr/supported-networks/botanix-testnet/ +/tr/supported-networks/bsc/ +/tr/supported-networks/btc/ +/tr/supported-networks/celo-alfajores/ +/tr/supported-networks/celo/ +/tr/supported-networks/chapel/ +/tr/supported-networks/chiliz-testnet/ +/tr/supported-networks/chiliz/ +/tr/supported-networks/clover/ +/tr/supported-networks/corn-testnet/ +/tr/supported-networks/corn/ +/tr/supported-networks/eos-evm/ +/tr/supported-networks/eos/ +/tr/supported-networks/etherlink-mainnet/ +/tr/supported-networks/etherlink-testnet/ +/tr/supported-networks/expchain-testnet/ +/tr/supported-networks/fantom-testnet/ +/tr/supported-networks/fantom/ +/tr/supported-networks/fraxtal/ +/tr/supported-networks/fuji/ +/tr/supported-networks/fuse-testnet/ +/tr/supported-networks/fuse/ +/tr/supported-networks/gnosis-chiado-cl/ +/tr/supported-networks/gnosis-chiado/ +/tr/supported-networks/gnosis-cl/ +/tr/supported-networks/gnosis/ +/tr/supported-networks/gravity-mainnet/ +/tr/supported-networks/gravity-testnet/ +/tr/supported-networks/harmony/ +/tr/supported-networks/hashkeychain-sepolia/ +/tr/supported-networks/hashkeychain/ +/tr/supported-networks/hemi-sepolia/ +/tr/supported-networks/hemi/ +/tr/supported-networks/holesky-cl/ +/tr/supported-networks/holesky/ +/tr/supported-networks/hoodi/ +/tr/supported-networks/injective-mainnet/ +/tr/supported-networks/injective-testnet/ +/tr/supported-networks/ink-sepolia/ +/tr/supported-networks/ink/ +/tr/supported-networks/iotex-testnet/ +/tr/supported-networks/iotex/ +/tr/supported-networks/joc-testnet/ +/tr/supported-networks/joc/ +/tr/supported-networks/jungle4-evm/ +/tr/supported-networks/jungle4/ +/tr/supported-networks/kaia-testnet/ +/tr/supported-networks/kaia/ +/tr/supported-networks/kylin/ +/tr/supported-networks/lens-testnet/ +/tr/supported-networks/linea-sepolia/ +/tr/supported-networks/linea/ +/tr/supported-networks/litecoin/ +/tr/supported-networks/lumia/ +/tr/supported-networks/mainnet-cl/ +/tr/supported-networks/mainnet/ +/tr/supported-networks/manta/ +/tr/supported-networks/mantra-mainnet/ +/tr/supported-networks/mantra-testnet/ +/tr/supported-networks/matic/ +/tr/supported-networks/mbase/ +/tr/supported-networks/megaeth-testnet/ +/tr/supported-networks/metis/ +/tr/supported-networks/mint-sepolia/ +/tr/supported-networks/mint/ +/tr/supported-networks/mode-mainnet/ +/tr/supported-networks/mode-sepolia/ +/tr/supported-networks/monad-testnet/ +/tr/supported-networks/moonbeam/ +/tr/supported-networks/moonriver/ +/tr/supported-networks/near-mainnet/ +/tr/supported-networks/near-testnet/ +/tr/supported-networks/neox-testnet/ +/tr/supported-networks/neox/ +/tr/supported-networks/optimism-sepolia/ +/tr/supported-networks/optimism/ +/tr/supported-networks/peaq/ +/tr/supported-networks/polygon-amoy/ +/tr/supported-networks/polygon-zkevm-cardona/ +/tr/supported-networks/polygon-zkevm/ +/tr/supported-networks/rootstock-testnet/ +/tr/supported-networks/rootstock/ +/tr/supported-networks/scroll-sepolia/ +/tr/supported-networks/scroll/ +/tr/supported-networks/sei-atlantic/ +/tr/supported-networks/sei-mainnet/ +/tr/supported-networks/sepolia-cl/ +/tr/supported-networks/sepolia/ +/tr/supported-networks/solana-accounts/ +/tr/supported-networks/solana-devnet/ +/tr/supported-networks/solana-mainnet-beta/ +/tr/supported-networks/soneium-testnet/ +/tr/supported-networks/soneium/ +/tr/supported-networks/sonic/ +/tr/supported-networks/starknet-mainnet/ +/tr/supported-networks/starknet-testnet/ +/tr/supported-networks/swellchain-sepolia/ +/tr/supported-networks/swellchain/ +/tr/supported-networks/telos-testnet/ +/tr/supported-networks/telos/ +/tr/supported-networks/unichain-testnet/ +/tr/supported-networks/unichain/ +/tr/supported-networks/vana-moksha/ +/tr/supported-networks/vana/ +/tr/supported-networks/viction/ +/tr/supported-networks/wax-testnet/ +/tr/supported-networks/wax/ +/tr/supported-networks/xai/ +/tr/supported-networks/xlayer-mainnet/ +/tr/supported-networks/xlayer-sepolia/ +/tr/supported-networks/zetachain/ +/tr/supported-networks/zilliqa-protomainnet/ +/tr/supported-networks/zksync-era-sepolia/ +/tr/supported-networks/zksync-era/ +/tr/supported-networks/zora/ /tr/token-api/evm/get-balances-evm-by-address/ /tr/token-api/evm/get-holders-evm-by-contract/ /tr/token-api/evm/get-ohlc-prices-evm-by-contract/ @@ -1937,6 +3869,144 @@ /ur/substreams/publishing/ /ur/substreams/quick-start/ /ur/supported-networks/ +/ur/supported-networks/abstract-testnet/ +/ur/supported-networks/abstract/ +/ur/supported-networks/apechain-curtis/ +/ur/supported-networks/apechain/ +/ur/supported-networks/arbitrum-nova/ +/ur/supported-networks/arbitrum-one/ +/ur/supported-networks/arbitrum-sepolia/ +/ur/supported-networks/arweave-mainnet/ +/ur/supported-networks/aurora-testnet/ +/ur/supported-networks/aurora/ +/ur/supported-networks/autonomys-taurus/ +/ur/supported-networks/avalanche/ +/ur/supported-networks/base-sepolia/ +/ur/supported-networks/base/ +/ur/supported-networks/berachain-bepolia/ +/ur/supported-networks/berachain/ +/ur/supported-networks/blast-mainnet/ +/ur/supported-networks/blast-testnet/ +/ur/supported-networks/bnb-op/ +/ur/supported-networks/boba-bnb-testnet/ +/ur/supported-networks/boba-bnb/ +/ur/supported-networks/boba-testnet/ +/ur/supported-networks/boba/ +/ur/supported-networks/botanix-testnet/ +/ur/supported-networks/bsc/ +/ur/supported-networks/btc/ +/ur/supported-networks/celo-alfajores/ +/ur/supported-networks/celo/ +/ur/supported-networks/chapel/ +/ur/supported-networks/chiliz-testnet/ +/ur/supported-networks/chiliz/ +/ur/supported-networks/clover/ +/ur/supported-networks/corn-testnet/ +/ur/supported-networks/corn/ +/ur/supported-networks/eos-evm/ +/ur/supported-networks/eos/ +/ur/supported-networks/etherlink-mainnet/ +/ur/supported-networks/etherlink-testnet/ +/ur/supported-networks/expchain-testnet/ +/ur/supported-networks/fantom-testnet/ +/ur/supported-networks/fantom/ +/ur/supported-networks/fraxtal/ +/ur/supported-networks/fuji/ +/ur/supported-networks/fuse-testnet/ +/ur/supported-networks/fuse/ +/ur/supported-networks/gnosis-chiado-cl/ +/ur/supported-networks/gnosis-chiado/ +/ur/supported-networks/gnosis-cl/ +/ur/supported-networks/gnosis/ +/ur/supported-networks/gravity-mainnet/ +/ur/supported-networks/gravity-testnet/ +/ur/supported-networks/harmony/ +/ur/supported-networks/hashkeychain-sepolia/ +/ur/supported-networks/hashkeychain/ +/ur/supported-networks/hemi-sepolia/ +/ur/supported-networks/hemi/ +/ur/supported-networks/holesky-cl/ +/ur/supported-networks/holesky/ +/ur/supported-networks/hoodi/ +/ur/supported-networks/injective-mainnet/ +/ur/supported-networks/injective-testnet/ +/ur/supported-networks/ink-sepolia/ +/ur/supported-networks/ink/ +/ur/supported-networks/iotex-testnet/ +/ur/supported-networks/iotex/ +/ur/supported-networks/joc-testnet/ +/ur/supported-networks/joc/ +/ur/supported-networks/jungle4-evm/ +/ur/supported-networks/jungle4/ +/ur/supported-networks/kaia-testnet/ +/ur/supported-networks/kaia/ +/ur/supported-networks/kylin/ +/ur/supported-networks/lens-testnet/ +/ur/supported-networks/linea-sepolia/ +/ur/supported-networks/linea/ +/ur/supported-networks/litecoin/ +/ur/supported-networks/lumia/ +/ur/supported-networks/mainnet-cl/ +/ur/supported-networks/mainnet/ +/ur/supported-networks/manta/ +/ur/supported-networks/mantra-mainnet/ +/ur/supported-networks/mantra-testnet/ +/ur/supported-networks/matic/ +/ur/supported-networks/mbase/ +/ur/supported-networks/megaeth-testnet/ +/ur/supported-networks/metis/ +/ur/supported-networks/mint-sepolia/ +/ur/supported-networks/mint/ +/ur/supported-networks/mode-mainnet/ +/ur/supported-networks/mode-sepolia/ +/ur/supported-networks/monad-testnet/ +/ur/supported-networks/moonbeam/ +/ur/supported-networks/moonriver/ +/ur/supported-networks/near-mainnet/ +/ur/supported-networks/near-testnet/ +/ur/supported-networks/neox-testnet/ +/ur/supported-networks/neox/ +/ur/supported-networks/optimism-sepolia/ +/ur/supported-networks/optimism/ +/ur/supported-networks/peaq/ +/ur/supported-networks/polygon-amoy/ +/ur/supported-networks/polygon-zkevm-cardona/ +/ur/supported-networks/polygon-zkevm/ +/ur/supported-networks/rootstock-testnet/ +/ur/supported-networks/rootstock/ +/ur/supported-networks/scroll-sepolia/ +/ur/supported-networks/scroll/ +/ur/supported-networks/sei-atlantic/ +/ur/supported-networks/sei-mainnet/ +/ur/supported-networks/sepolia-cl/ +/ur/supported-networks/sepolia/ +/ur/supported-networks/solana-accounts/ +/ur/supported-networks/solana-devnet/ +/ur/supported-networks/solana-mainnet-beta/ +/ur/supported-networks/soneium-testnet/ +/ur/supported-networks/soneium/ +/ur/supported-networks/sonic/ +/ur/supported-networks/starknet-mainnet/ +/ur/supported-networks/starknet-testnet/ +/ur/supported-networks/swellchain-sepolia/ +/ur/supported-networks/swellchain/ +/ur/supported-networks/telos-testnet/ +/ur/supported-networks/telos/ +/ur/supported-networks/unichain-testnet/ +/ur/supported-networks/unichain/ +/ur/supported-networks/vana-moksha/ +/ur/supported-networks/vana/ +/ur/supported-networks/viction/ +/ur/supported-networks/wax-testnet/ +/ur/supported-networks/wax/ +/ur/supported-networks/xai/ +/ur/supported-networks/xlayer-mainnet/ +/ur/supported-networks/xlayer-sepolia/ +/ur/supported-networks/zetachain/ +/ur/supported-networks/zilliqa-protomainnet/ +/ur/supported-networks/zksync-era-sepolia/ +/ur/supported-networks/zksync-era/ +/ur/supported-networks/zora/ /ur/token-api/evm/get-balances-evm-by-address/ /ur/token-api/evm/get-holders-evm-by-contract/ /ur/token-api/evm/get-ohlc-prices-evm-by-contract/ @@ -2131,6 +4201,144 @@ /zh/substreams/publishing/ /zh/substreams/quick-start/ /zh/supported-networks/ +/zh/supported-networks/abstract-testnet/ +/zh/supported-networks/abstract/ +/zh/supported-networks/apechain-curtis/ +/zh/supported-networks/apechain/ +/zh/supported-networks/arbitrum-nova/ +/zh/supported-networks/arbitrum-one/ +/zh/supported-networks/arbitrum-sepolia/ +/zh/supported-networks/arweave-mainnet/ +/zh/supported-networks/aurora-testnet/ +/zh/supported-networks/aurora/ +/zh/supported-networks/autonomys-taurus/ +/zh/supported-networks/avalanche/ +/zh/supported-networks/base-sepolia/ +/zh/supported-networks/base/ +/zh/supported-networks/berachain-bepolia/ +/zh/supported-networks/berachain/ +/zh/supported-networks/blast-mainnet/ +/zh/supported-networks/blast-testnet/ +/zh/supported-networks/bnb-op/ +/zh/supported-networks/boba-bnb-testnet/ +/zh/supported-networks/boba-bnb/ +/zh/supported-networks/boba-testnet/ +/zh/supported-networks/boba/ +/zh/supported-networks/botanix-testnet/ +/zh/supported-networks/bsc/ +/zh/supported-networks/btc/ +/zh/supported-networks/celo-alfajores/ +/zh/supported-networks/celo/ +/zh/supported-networks/chapel/ +/zh/supported-networks/chiliz-testnet/ +/zh/supported-networks/chiliz/ +/zh/supported-networks/clover/ +/zh/supported-networks/corn-testnet/ +/zh/supported-networks/corn/ +/zh/supported-networks/eos-evm/ +/zh/supported-networks/eos/ +/zh/supported-networks/etherlink-mainnet/ +/zh/supported-networks/etherlink-testnet/ +/zh/supported-networks/expchain-testnet/ +/zh/supported-networks/fantom-testnet/ +/zh/supported-networks/fantom/ +/zh/supported-networks/fraxtal/ +/zh/supported-networks/fuji/ +/zh/supported-networks/fuse-testnet/ +/zh/supported-networks/fuse/ +/zh/supported-networks/gnosis-chiado-cl/ +/zh/supported-networks/gnosis-chiado/ +/zh/supported-networks/gnosis-cl/ +/zh/supported-networks/gnosis/ +/zh/supported-networks/gravity-mainnet/ +/zh/supported-networks/gravity-testnet/ +/zh/supported-networks/harmony/ +/zh/supported-networks/hashkeychain-sepolia/ +/zh/supported-networks/hashkeychain/ +/zh/supported-networks/hemi-sepolia/ +/zh/supported-networks/hemi/ +/zh/supported-networks/holesky-cl/ +/zh/supported-networks/holesky/ +/zh/supported-networks/hoodi/ +/zh/supported-networks/injective-mainnet/ +/zh/supported-networks/injective-testnet/ +/zh/supported-networks/ink-sepolia/ +/zh/supported-networks/ink/ +/zh/supported-networks/iotex-testnet/ +/zh/supported-networks/iotex/ +/zh/supported-networks/joc-testnet/ +/zh/supported-networks/joc/ +/zh/supported-networks/jungle4-evm/ +/zh/supported-networks/jungle4/ +/zh/supported-networks/kaia-testnet/ +/zh/supported-networks/kaia/ +/zh/supported-networks/kylin/ +/zh/supported-networks/lens-testnet/ +/zh/supported-networks/linea-sepolia/ +/zh/supported-networks/linea/ +/zh/supported-networks/litecoin/ +/zh/supported-networks/lumia/ +/zh/supported-networks/mainnet-cl/ +/zh/supported-networks/mainnet/ +/zh/supported-networks/manta/ +/zh/supported-networks/mantra-mainnet/ +/zh/supported-networks/mantra-testnet/ +/zh/supported-networks/matic/ +/zh/supported-networks/mbase/ +/zh/supported-networks/megaeth-testnet/ +/zh/supported-networks/metis/ +/zh/supported-networks/mint-sepolia/ +/zh/supported-networks/mint/ +/zh/supported-networks/mode-mainnet/ +/zh/supported-networks/mode-sepolia/ +/zh/supported-networks/monad-testnet/ +/zh/supported-networks/moonbeam/ +/zh/supported-networks/moonriver/ +/zh/supported-networks/near-mainnet/ +/zh/supported-networks/near-testnet/ +/zh/supported-networks/neox-testnet/ +/zh/supported-networks/neox/ +/zh/supported-networks/optimism-sepolia/ +/zh/supported-networks/optimism/ +/zh/supported-networks/peaq/ +/zh/supported-networks/polygon-amoy/ +/zh/supported-networks/polygon-zkevm-cardona/ +/zh/supported-networks/polygon-zkevm/ +/zh/supported-networks/rootstock-testnet/ +/zh/supported-networks/rootstock/ +/zh/supported-networks/scroll-sepolia/ +/zh/supported-networks/scroll/ +/zh/supported-networks/sei-atlantic/ +/zh/supported-networks/sei-mainnet/ +/zh/supported-networks/sepolia-cl/ +/zh/supported-networks/sepolia/ +/zh/supported-networks/solana-accounts/ +/zh/supported-networks/solana-devnet/ +/zh/supported-networks/solana-mainnet-beta/ +/zh/supported-networks/soneium-testnet/ +/zh/supported-networks/soneium/ +/zh/supported-networks/sonic/ +/zh/supported-networks/starknet-mainnet/ +/zh/supported-networks/starknet-testnet/ +/zh/supported-networks/swellchain-sepolia/ +/zh/supported-networks/swellchain/ +/zh/supported-networks/telos-testnet/ +/zh/supported-networks/telos/ +/zh/supported-networks/unichain-testnet/ +/zh/supported-networks/unichain/ +/zh/supported-networks/vana-moksha/ +/zh/supported-networks/vana/ +/zh/supported-networks/viction/ +/zh/supported-networks/wax-testnet/ +/zh/supported-networks/wax/ +/zh/supported-networks/xai/ +/zh/supported-networks/xlayer-mainnet/ +/zh/supported-networks/xlayer-sepolia/ +/zh/supported-networks/zetachain/ +/zh/supported-networks/zilliqa-protomainnet/ +/zh/supported-networks/zksync-era-sepolia/ +/zh/supported-networks/zksync-era/ +/zh/supported-networks/zora/ /zh/token-api/evm/get-balances-evm-by-address/ /zh/token-api/evm/get-holders-evm-by-contract/ /zh/token-api/evm/get-ohlc-prices-evm-by-contract/ diff --git a/website/src/openApi/tokenApi.json b/website/src/openApi/tokenApi.json index 3904191271b5..291f109535e9 100644 --- a/website/src/openApi/tokenApi.json +++ b/website/src/openApi/tokenApi.json @@ -3,7 +3,7 @@ "info": { "title": "Token API (Beta)", "description": "Power your apps & AI agents with real-time token data.", - "version": "1.2.2+de83bb9 (2025-03-27)" + "version": "1.2.4+643807a (2025-03-28)" }, "servers": [ { @@ -180,7 +180,7 @@ "schema": { "type": "integer", "minimum": 1, - "maximum": 500, + "maximum": 1000, "default": 10, "description": "The maximum number of items returned in a single request." } @@ -387,7 +387,7 @@ "schema": { "type": "integer", "minimum": 1, - "maximum": 500, + "maximum": 1000, "default": 10, "description": "The maximum number of items returned in a single request." } @@ -572,7 +572,7 @@ "schema": { "type": "integer", "minimum": 1, - "maximum": 500, + "maximum": 1000, "default": 10, "description": "The maximum number of items returned in a single request." } @@ -929,7 +929,7 @@ "schema": { "type": "integer", "minimum": 1, - "maximum": 500, + "maximum": 1000, "default": 10, "description": "The maximum number of items returned in a single request." } @@ -1094,9 +1094,9 @@ ] }, "example": { - "version": "1.2.2", - "commit": "de83bb9", - "date": "2025-03-27", + "version": "1.2.4", + "commit": "643807a", + "date": "2025-03-28", "repo": "pinax-network/token-api" } } From 56d7b26d962f224765dfc8d811257b8fa41412ab Mon Sep 17 00:00:00 2001 From: Hayder Date: Wed, 2 Apr 2025 22:16:44 +0200 Subject: [PATCH 32/37] refactor: use caip2Id to determine EVM networks instead of network list --- .../components/NetworkDetailsPage.tsx | 17 +----- .../components/NetworkPage.tsx | 33 ++--------- website/src/supportedNetworks/utils.ts | 55 +++++++------------ 3 files changed, 26 insertions(+), 79 deletions(-) diff --git a/website/src/supportedNetworks/components/NetworkDetailsPage.tsx b/website/src/supportedNetworks/components/NetworkDetailsPage.tsx index 601c278fb4d1..5f7ec262f94d 100644 --- a/website/src/supportedNetworks/components/NetworkDetailsPage.tsx +++ b/website/src/supportedNetworks/components/NetworkDetailsPage.tsx @@ -1,24 +1,13 @@ -import { NetworkType } from '@pinax/graph-networks-registry' -import type { ComponentPropsWithoutRef } from 'react' import { memo } from 'react' -import { classNames } from '@edgeandnode/gds' import { Subgraph, Substreams, SubstreamsPoweredSubgraph } from '@edgeandnode/gds/icons' import { Card, TimeIcon } from '@/components' import { useI18n } from '@/i18n' -import { isNonEVMNetwork } from '@/supportedNetworks/utils' +import { isEVMNetwork, type Network } from '../utils' type NetworkDetailsPageProps = { - network: { - id: string - fullName: string - networkType: NetworkType - protocol: string - chainId: number | string - nativeCurrency: string - docs: string - } + network: Network } const EVMResources = memo(() => { @@ -128,7 +117,7 @@ const NetworkDetailsPage = memo(({ network }: NetworkDetailsPageProps) => { return ( <>

    {t('index.supportedNetworks.guides')}

    - {isNonEVMNetwork(network.id) ? : } + {isEVMNetwork(network) ? : } ) }) diff --git a/website/src/supportedNetworks/components/NetworkPage.tsx b/website/src/supportedNetworks/components/NetworkPage.tsx index d39d1475bd06..7eaeded9765d 100644 --- a/website/src/supportedNetworks/components/NetworkPage.tsx +++ b/website/src/supportedNetworks/components/NetworkPage.tsx @@ -1,6 +1,5 @@ import { NetworkType } from '@pinax/graph-networks-registry' import Head from 'next/head' -import { useRouter } from 'next/router' import { useData } from 'nextra/hooks' import { memo } from 'react' @@ -9,22 +8,7 @@ import { NetworkIcon } from '@edgeandnode/go' import NetworkDetailsPage from './NetworkDetailsPage' import { useI18n } from '@/i18n' -import { getIconVariant, shouldShowSkeleton } from '@/supportedNetworks/utils' - -type CAIP2Id = `${string}:${string | number}` - -interface Network { - id: string - fullName: string - shortName?: string - networkType: NetworkType - graphNode?: { - protocol: string - } - caip2Id?: CAIP2Id - nativeToken?: string - docsUrl?: string -} +import { getIconVariant, shouldShowSkeleton, type Network } from '../utils' interface NetworkPageProps { network?: Network @@ -38,9 +22,10 @@ export const NetworkPage = memo(({ network }: NetworkPageProps) => { id: '', fullName: '', networkType: NetworkType.Mainnet, + caip2Id: '', } + const { t } = useI18n() - const router = useRouter() return ( <> @@ -120,17 +105,7 @@ export const NetworkPage = memo(({ network }: NetworkPageProps) => {
    - +
    ) diff --git a/website/src/supportedNetworks/utils.ts b/website/src/supportedNetworks/utils.ts index 22d031b7257d..cac002ebfa66 100644 --- a/website/src/supportedNetworks/utils.ts +++ b/website/src/supportedNetworks/utils.ts @@ -1,3 +1,5 @@ +import { NetworkType } from '@pinax/graph-networks-registry' + // Networks that should use the "mono" icon variant export const MONO_ICON_NETWORKS = [ 'vana', @@ -25,38 +27,6 @@ export const MONO_ICON_NETWORKS = [ // Skeleton networks (no icon available) export const MISSING_ICON_NETWORKS = ['ink-sepolia'] -// Non-EVM networks -export const NON_EVM_NETWORKS = [ - 'eos', - 'jungle4', - 'kylin', - 'telos-testnet', - 'telos', - 'wax-testnet', - 'wax', - 'arweave-mainnet', - 'gnosis-chiado-cl', - 'gnosis-cl', - 'holesky-cl', - 'mainnet-cl', - 'sepolia-cl', - 'btc', - 'litecoin', - 'injective-mainnet', - 'injective-testnet', - 'mantra-mainnet', - 'mantra-testnet', - 'near-mainnet', - 'near-testnet', - 'solana-accounts', - 'solana-devnet', - 'solana-mainnet', - 'solana-mainnet-beta', - 'solana-testnet', - 'starknet-mainnet', - 'starknet-testnet', -] - // Networks with Token API support (TODO: remove once the registry has this information) export const TOKEN_API_NETWORKS = ['mainnet', 'base', 'bsc', 'arbitrum-one', 'matic', 'optimism'] @@ -68,14 +38,23 @@ export const shouldShowSkeleton = (networkId: string): boolean => { return MISSING_ICON_NETWORKS.includes(networkId) || !networkId } -export const isNonEVMNetwork = (networkId: string): boolean => { - return NON_EVM_NETWORKS.includes(networkId) -} - export const supportsTokenAPI = (networkId: string): boolean => { return TOKEN_API_NETWORKS.includes(networkId) } +export interface Network { + id: string + fullName: string + shortName?: string + networkType: NetworkType + graphNode?: { + protocol: string + } + caip2Id: string + nativeToken?: string + docsUrl?: string +} + export interface NetworkData { id: string shortName: string @@ -128,3 +107,7 @@ export const processNetworksData = (networks: NetworkData[]): ProcessedNetwork[] }) .sort((a, b) => a.fullName.localeCompare(b.fullName)) } + +export const isEVMNetwork = (network: Network | NetworkData): boolean => { + return network.caip2Id.startsWith('eip155:') +} From b742a4d72d588fd17936e78a68b94c0c3f66292e Mon Sep 17 00:00:00 2001 From: Hayder Date: Wed, 2 Apr 2025 22:25:52 +0200 Subject: [PATCH 33/37] Fix lint errors --- package.json | 3 --- pnpm-lock.yaml | 7 +++---- website/src/components/index.ts | 2 +- .../supportedNetworks/components/NetworkDetailsPage.tsx | 1 + website/src/supportedNetworks/components/NetworkPage.tsx | 6 ++++-- website/src/supportedNetworks/index.tsx | 3 ++- website/src/supportedNetworks/utils.ts | 4 ++-- 7 files changed, 13 insertions(+), 13 deletions(-) diff --git a/package.json b/package.json index 6c8e55a1c500..36d2d6f64dbc 100644 --- a/package.json +++ b/package.json @@ -35,8 +35,5 @@ }, "resolutions": { "@babel/core": "7.26.7" - }, - "dependencies": { - "framer-motion": "^12.6.3" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 65405307e305..9942c3451640 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,10 +10,6 @@ overrides: importers: .: - dependencies: - framer-motion: - specifier: ^12.6.3 - version: 12.6.3(@emotion/is-prop-valid@0.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) devDependencies: '@edgeandnode/eslint-config': specifier: ^2.0.3 @@ -157,6 +153,9 @@ importers: fetch-har: specifier: ^11.1.1 version: 11.1.1 + framer-motion: + specifier: ^12.6.3 + version: 12.6.3(@emotion/is-prop-valid@0.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) lodash: specifier: ^4.17.21 version: 4.17.21 diff --git a/website/src/components/index.ts b/website/src/components/index.ts index f7025dc63314..6b48b4900732 100644 --- a/website/src/components/index.ts +++ b/website/src/components/index.ts @@ -1,5 +1,5 @@ -export * from './Card' export * from './Callout' +export * from './Card' export * from './CodeBlock' export * from './DocSearch' export * from './Heading' diff --git a/website/src/supportedNetworks/components/NetworkDetailsPage.tsx b/website/src/supportedNetworks/components/NetworkDetailsPage.tsx index 5f7ec262f94d..03d579c61729 100644 --- a/website/src/supportedNetworks/components/NetworkDetailsPage.tsx +++ b/website/src/supportedNetworks/components/NetworkDetailsPage.tsx @@ -4,6 +4,7 @@ import { Subgraph, Substreams, SubstreamsPoweredSubgraph } from '@edgeandnode/gd import { Card, TimeIcon } from '@/components' import { useI18n } from '@/i18n' + import { isEVMNetwork, type Network } from '../utils' type NetworkDetailsPageProps = { diff --git a/website/src/supportedNetworks/components/NetworkPage.tsx b/website/src/supportedNetworks/components/NetworkPage.tsx index 7eaeded9765d..ef4190675718 100644 --- a/website/src/supportedNetworks/components/NetworkPage.tsx +++ b/website/src/supportedNetworks/components/NetworkPage.tsx @@ -6,9 +6,11 @@ import { memo } from 'react' import { ExperimentalCopyButton, ExperimentalDescriptionList, ExperimentalLink, Skeleton } from '@edgeandnode/gds' import { NetworkIcon } from '@edgeandnode/go' -import NetworkDetailsPage from './NetworkDetailsPage' import { useI18n } from '@/i18n' -import { getIconVariant, shouldShowSkeleton, type Network } from '../utils' + +import { getIconVariant, type Network, shouldShowSkeleton } from '../utils' + +import NetworkDetailsPage from './NetworkDetailsPage' interface NetworkPageProps { network?: Network diff --git a/website/src/supportedNetworks/index.tsx b/website/src/supportedNetworks/index.tsx index 8968e94393d8..eb2ccfb58638 100644 --- a/website/src/supportedNetworks/index.tsx +++ b/website/src/supportedNetworks/index.tsx @@ -5,8 +5,9 @@ import { useCallback, useMemo, useState } from 'react' import { ExperimentalLink } from '@edgeandnode/gds' import { Callout } from '@/components' -import { EmptySearchResults, NetworkFilters, NetworksTable } from './components' import { useI18n } from '@/i18n' + +import { EmptySearchResults, NetworkFilters, NetworksTable } from './components' import type { NetworkData, ProcessedNetwork } from './utils' import { processNetworksData } from './utils' diff --git a/website/src/supportedNetworks/utils.ts b/website/src/supportedNetworks/utils.ts index cac002ebfa66..057eff1ac789 100644 --- a/website/src/supportedNetworks/utils.ts +++ b/website/src/supportedNetworks/utils.ts @@ -59,7 +59,7 @@ export interface NetworkData { id: string shortName: string fullName: string - networkType: string + networkType: NetworkType caip2Id: string services: { subgraphs?: any[] @@ -72,7 +72,7 @@ export interface ProcessedNetwork { id: string shortName: string fullName: string - networkType: string + networkType: NetworkType caip2Id: string subgraphs: boolean substreams: boolean From ba4661a6ce930e66189e4f37ea9292dab61b1a87 Mon Sep 17 00:00:00 2001 From: Hayder Date: Thu, 3 Apr 2025 10:26:29 +0200 Subject: [PATCH 34/37] General improvements --- pnpm-lock.yaml | 10 +-- website/package.json | 2 +- .../[locale]/supported-networks/[id].mdx | 20 ++--- .../components/NetworkPage.tsx | 7 +- .../components/NetworkRow.tsx | 89 ++++++++++--------- website/src/supportedNetworks/index.tsx | 69 ++++++-------- website/src/supportedNetworks/utils.ts | 5 +- 7 files changed, 90 insertions(+), 112 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9942c3451640..93a170242125 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -130,8 +130,8 @@ importers: specifier: ^6.5.12 version: 6.5.12(@emotion/is-prop-valid@0.8.8)(@emotion/react@11.14.0(@types/react@18.3.20)(react@18.3.1))(@theme-ui/core@0.17.2(@emotion/react@11.14.0(@types/react@18.3.20)(react@18.3.1))(react@18.3.1))(@types/react-dom@18.3.6(@types/react@18.3.20))(@types/react@18.3.20)(dayjs@1.11.13)(hardhat@2.14.1(typescript@5.8.2))(next@14.2.26(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(theme-ui@0.17.2(@emotion/react@11.14.0(@types/react@18.3.20)(react@18.3.1))(react@18.3.1))(typescript@5.8.2) '@edgeandnode/go': - specifier: ^9.4.12 - version: 9.4.12(7f99dc5aa8c93bcda610c6e8fd850d36) + specifier: ^9.4.13 + version: 9.4.13(7f99dc5aa8c93bcda610c6e8fd850d36) '@emotion/react': specifier: ^11.14.0 version: 11.14.0(@types/react@18.3.20)(react@18.3.1) @@ -569,8 +569,8 @@ packages: next: optional: true - '@edgeandnode/go@9.4.12': - resolution: {integrity: sha512-ppZP4IoJlKu2H6X4iiL+vdX3fFWhS8ZUysJdzwENWjKbemhrmGoDzXzqGggo745S3osSoi4tMreRGWDw+xjjbg==} + '@edgeandnode/go@9.4.13': + resolution: {integrity: sha512-NUXb1Ay/4JKkD0a1VjJDlnFnUyyU0+uQ+DxZHMwTMMz6jOxAmOrszWF2PhHDDdxLrRR4rJUeypMjsl1BdLKcQA==} peerDependencies: '@edgeandnode/common': ^7.0.4 '@edgeandnode/ens': ^2.1.4 @@ -9334,7 +9334,7 @@ snapshots: - typescript - utf-8-validate - '@edgeandnode/go@9.4.12(7f99dc5aa8c93bcda610c6e8fd850d36)': + '@edgeandnode/go@9.4.13(7f99dc5aa8c93bcda610c6e8fd850d36)': dependencies: '@edgeandnode/common': 7.0.4(hardhat@2.14.1(typescript@5.8.2)) '@edgeandnode/ens': 2.1.3(typescript@5.8.2)(viem@2.24.2(typescript@5.8.2)(zod@3.24.2)) diff --git a/website/package.json b/website/package.json index ae5715567853..6411f3485699 100644 --- a/website/package.json +++ b/website/package.json @@ -19,7 +19,7 @@ "@docsearch/react": "^3.9.0", "@edgeandnode/common": "^7.0.4", "@edgeandnode/gds": "^6.5.12", - "@edgeandnode/go": "^9.4.12", + "@edgeandnode/go": "^9.4.13", "@emotion/react": "^11.14.0", "@graphprotocol/contracts": "6.2.1", "@pinax/graph-networks-registry": "^0.6.7", diff --git a/website/src/pages/[locale]/supported-networks/[id].mdx b/website/src/pages/[locale]/supported-networks/[id].mdx index c69ce9aa463b..cc03cd353a2a 100644 --- a/website/src/pages/[locale]/supported-networks/[id].mdx +++ b/website/src/pages/[locale]/supported-networks/[id].mdx @@ -8,19 +8,13 @@ import { getSupportedNetworks } from '@/supportedNetworks' export const getStaticPaths = async () => { const networks = await getSupportedNetworks() - const paths = [] - for (const locale of supportedLocales) { - for (const network of networks) { - paths.push({ - params: { locale, id: network.id }, - }) - } - } - return { - paths, - fallback: false, - } -} + const paths = supportedLocales.flatMap((locale) => + networks.map((network) => ({ + params: { locale, id: network.id }, + })) + ) + +return { paths, fallback: false } } export const getStaticProps = async ({ params }) => { const { locale, id } = params diff --git a/website/src/supportedNetworks/components/NetworkPage.tsx b/website/src/supportedNetworks/components/NetworkPage.tsx index ef4190675718..1279dc46511f 100644 --- a/website/src/supportedNetworks/components/NetworkPage.tsx +++ b/website/src/supportedNetworks/components/NetworkPage.tsx @@ -90,12 +90,7 @@ export const NetworkPage = memo(({ network }: NetworkPageProps) => { )} {networkData.docsUrl && ( - + {networkData.docsUrl} diff --git a/website/src/supportedNetworks/components/NetworkRow.tsx b/website/src/supportedNetworks/components/NetworkRow.tsx index 1f93b6f79da8..1ce067e40002 100644 --- a/website/src/supportedNetworks/components/NetworkRow.tsx +++ b/website/src/supportedNetworks/components/NetworkRow.tsx @@ -2,14 +2,12 @@ import { motion } from 'framer-motion' import NextLink from 'next/link' import { memo } from 'react' -import { ExperimentalCopyButton, Skeleton, Text } from '@edgeandnode/gds' +import { ExperimentalCopyButton, Skeleton } from '@edgeandnode/gds' import { Check } from '@edgeandnode/gds/icons' import { NetworkIcon } from '@edgeandnode/go' import { getIconVariant, shouldShowSkeleton } from '@/supportedNetworks/utils' -const MotionTR = motion.tr - interface NetworkRowProps { network: { id: string @@ -25,55 +23,58 @@ interface NetworkRowProps { export const NetworkRow = memo(({ network, locale }: NetworkRowProps) => { return ( - - - + + +
    {shouldShowSkeleton(network.id) ? ( ) : ( )} - {network.shortName} + {network.shortName}
    - - -
    - {network.id} -
    -
    { - e.preventDefault() - e.stopPropagation() - }} - > - -
    + + + +
    + {network.id} +
    +
    { + e.preventDefault() + e.stopPropagation() + }} + > +
    - - {network.subgraphs ? : null} - {network.substreams ? : null} - {network.firehose ? : null} - {network.tokenapi ? : null} - - +
    + + {network.subgraphs ? : null} + {network.substreams ? : null} + {network.firehose ? : null} + {network.tokenapi ? : null} + ) }) diff --git a/website/src/supportedNetworks/index.tsx b/website/src/supportedNetworks/index.tsx index eb2ccfb58638..17449a14c971 100644 --- a/website/src/supportedNetworks/index.tsx +++ b/website/src/supportedNetworks/index.tsx @@ -1,6 +1,6 @@ import { NetworksRegistry } from '@pinax/graph-networks-registry' import { useRouter } from 'next/router' -import { useCallback, useMemo, useState } from 'react' +import { useMemo, useState } from 'react' import { ExperimentalLink } from '@edgeandnode/gds' @@ -57,50 +57,30 @@ export function SupportedNetworksTable({ const noResults = filteredNetworks.length === 0 && searchQuery !== '' - const handleClearSearch = useCallback(() => { - setSearchQuery('') - }, []) - - const handleShowTestnets = useCallback(() => { - if (noResults) { - setSearchQuery('') - } - setShowTestnets(true) - }, [noResults]) - - const handleHideTestnets = useCallback(() => { - setShowTestnets(false) - }, []) - - const handleToggleTestnets = useCallback(() => { - if (!showTestnets) { - handleShowTestnets() - } else { - handleHideTestnets() - } - }, [showTestnets, handleShowTestnets, handleHideTestnets]) - - const setSearchQueryCallback = useCallback((value: string) => { - setSearchQuery(value) - }, []) - return ( <> - - - {t('index.supportedNetworks.infoText')}{' '} - - {t('index.supportedNetworks.infoLink')} - - . - + + {t('index.supportedNetworks.infoText')}{' '} + + {t('index.supportedNetworks.infoLink')} + + . { + if (!showTestnets) { + if (noResults) { + setSearchQuery('') + } + setShowTestnets(true) + } else { + setShowTestnets(false) + } + }} /> {filteredNetworks.length > 0 ? ( @@ -108,9 +88,18 @@ export function SupportedNetworksTable({ ) : ( setSearchQuery('')} showTestnets={showTestnets} - onToggleTestnets={handleToggleTestnets} + onToggleTestnets={() => { + if (!showTestnets) { + if (noResults) { + setSearchQuery('') + } + setShowTestnets(true) + } else { + setShowTestnets(false) + } + }} /> )} diff --git a/website/src/supportedNetworks/utils.ts b/website/src/supportedNetworks/utils.ts index 057eff1ac789..f0517c581fc9 100644 --- a/website/src/supportedNetworks/utils.ts +++ b/website/src/supportedNetworks/utils.ts @@ -23,9 +23,8 @@ export const MONO_ICON_NETWORKS = [ 'megaeth-testnet', ] -// TODO(@hayderkg, @benface): Add network icons to GDS for these networks -// Skeleton networks (no icon available) -export const MISSING_ICON_NETWORKS = ['ink-sepolia'] +// TODO(@hayderkg, @benface, @0xa3k5): Add network icons to GDS for these networks +export const MISSING_ICON_NETWORKS: string[] = [] // Networks with Token API support (TODO: remove once the registry has this information) export const TOKEN_API_NETWORKS = ['mainnet', 'base', 'bsc', 'arbitrum-one', 'matic', 'optimism'] From 149c8f2b1705616017418bb6c65ae06afe79d0d0 Mon Sep 17 00:00:00 2001 From: Hayder Date: Thu, 3 Apr 2025 11:00:33 +0200 Subject: [PATCH 35/37] Change font-size to Callout component --- website/src/components/Callout.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/src/components/Callout.tsx b/website/src/components/Callout.tsx index 16fcce515c55..f686596e0c1b 100644 --- a/website/src/components/Callout.tsx +++ b/website/src/components/Callout.tsx @@ -62,7 +62,7 @@ export const Callout = ({
    Date: Thu, 3 Apr 2025 13:23:07 -0400 Subject: [PATCH 36/37] Supported Networks fixes and tweaks (for Hayder) (#918) * Work around Safari bug with absolute positioning relative to table row * Callout visual tweaks * Use semantic typography classes * This was more readable (sorry Hayder, 100% my bad) --- website/src/components/Callout.tsx | 4 +- website/src/components/Table.tsx | 6 +-- .../[locale]/supported-networks/[id].mdx | 17 +++++---- .../components/EmptySearchResults.tsx | 4 +- .../components/NetworkPage.tsx | 2 +- .../components/NetworkRow.tsx | 38 +++++++------------ .../components/NetworksTable.tsx | 4 +- .../components/SkeletonRow.tsx | 6 +-- website/src/supportedNetworks/index.tsx | 12 +++--- 9 files changed, 44 insertions(+), 49 deletions(-) diff --git a/website/src/components/Callout.tsx b/website/src/components/Callout.tsx index f686596e0c1b..83a1bfb88c97 100644 --- a/website/src/components/Callout.tsx +++ b/website/src/components/Callout.tsx @@ -53,7 +53,7 @@ export const Callout = ({ ])} {...(props as ComponentPropsWithoutRef<'div'>)} > -
    +
    {variant === 'info' ? ( ) : ( @@ -63,7 +63,7 @@ export const Callout = ({
    { const networks = await getSupportedNetworks() - const paths = supportedLocales.flatMap((locale) => - networks.map((network) => ({ - params: { locale, id: network.id }, - })) - ) - -return { paths, fallback: false } } + const paths = [] + for (const locale of supportedLocales) { + for (const network of networks) { + paths.push({ + params: { locale, id: network.id }, + }) + } + } + return { paths, fallback: false } +} export const getStaticProps = async ({ params }) => { const { locale, id } = params diff --git a/website/src/supportedNetworks/components/EmptySearchResults.tsx b/website/src/supportedNetworks/components/EmptySearchResults.tsx index d27b212c395e..41f2edcb225a 100644 --- a/website/src/supportedNetworks/components/EmptySearchResults.tsx +++ b/website/src/supportedNetworks/components/EmptySearchResults.tsx @@ -20,8 +20,8 @@ export const EmptySearchResults = ({ searchQuery, onClearSearch }: EmptySearchRe -

    {t('index.supportedNetworks.emptySearch.title')}

    -

    +

    {t('index.supportedNetworks.emptySearch.title')}

    +

    {t('index.supportedNetworks.emptySearch.description', [searchQuery])}

    diff --git a/website/src/supportedNetworks/components/NetworkPage.tsx b/website/src/supportedNetworks/components/NetworkPage.tsx index 1279dc46511f..40b33c14701e 100644 --- a/website/src/supportedNetworks/components/NetworkPage.tsx +++ b/website/src/supportedNetworks/components/NetworkPage.tsx @@ -90,7 +90,7 @@ export const NetworkPage = memo(({ network }: NetworkPageProps) => { )} {networkData.docsUrl && ( - + {networkData.docsUrl} diff --git a/website/src/supportedNetworks/components/NetworkRow.tsx b/website/src/supportedNetworks/components/NetworkRow.tsx index 1ce067e40002..79f030358770 100644 --- a/website/src/supportedNetworks/components/NetworkRow.tsx +++ b/website/src/supportedNetworks/components/NetworkRow.tsx @@ -1,8 +1,7 @@ import { motion } from 'framer-motion' -import NextLink from 'next/link' import { memo } from 'react' -import { ExperimentalCopyButton, Skeleton } from '@edgeandnode/gds' +import { ButtonOrLink, ExperimentalCopyButton, Skeleton } from '@edgeandnode/gds' import { Check } from '@edgeandnode/gds/icons' import { NetworkIcon } from '@edgeandnode/go' @@ -24,7 +23,7 @@ interface NetworkRowProps { export const NetworkRow = memo(({ network, locale }: NetworkRowProps) => { return ( { }} layoutId={network.id} > -
    - diff --git a/website/src/supportedNetworks/components/NetworksTable.tsx b/website/src/supportedNetworks/components/NetworksTable.tsx index bd418feffde2..6d48bb4429ab 100644 --- a/website/src/supportedNetworks/components/NetworksTable.tsx +++ b/website/src/supportedNetworks/components/NetworksTable.tsx @@ -25,10 +25,10 @@ export const NetworksTable = memo(({ networks, isLoading, locale }: NetworksTabl
    - -
    +
    + + {shouldShowSkeleton(network.id) ? ( ) : ( )} - {network.shortName} - - + {network.shortName} + + + -
    - {network.id} -
    -
    { - e.preventDefault() - e.stopPropagation() - }} - > - -
    +
    +
    + {network.id} +
    +
    - - - + - - + ) }) diff --git a/website/src/supportedNetworks/components/NetworksTable.tsx b/website/src/supportedNetworks/components/NetworksTable.tsx index 6d48bb4429ab..ae13ed5848ea 100644 --- a/website/src/supportedNetworks/components/NetworksTable.tsx +++ b/website/src/supportedNetworks/components/NetworksTable.tsx @@ -1,4 +1,3 @@ -import { AnimatePresence } from 'framer-motion' import { memo } from 'react' import { Text } from '@edgeandnode/gds' @@ -44,15 +43,9 @@ export const NetworksTable = memo(({ networks, isLoading, locale }: NetworksTabl {t('index.supportedNetworks.tableHeaders.tokenapi')} - {isLoading ? ( - skeletonRows - ) : ( - - {networks.map((network) => ( - - ))} - - )} + {isLoading + ? skeletonRows + : networks.map((network) => )}
    + {t('index.supportedNetworks.tableHeaders.name')} + {t('index.supportedNetworks.tableHeaders.id')} diff --git a/website/src/supportedNetworks/components/SkeletonRow.tsx b/website/src/supportedNetworks/components/SkeletonRow.tsx index fa6f7405cbe7..99c00e9125ee 100644 --- a/website/src/supportedNetworks/components/SkeletonRow.tsx +++ b/website/src/supportedNetworks/components/SkeletonRow.tsx @@ -4,14 +4,14 @@ import { Skeleton } from '@edgeandnode/gds' export const SkeletonRow = memo(() => { return ( -
    +
    + diff --git a/website/src/supportedNetworks/index.tsx b/website/src/supportedNetworks/index.tsx index 17449a14c971..a2b052311b68 100644 --- a/website/src/supportedNetworks/index.tsx +++ b/website/src/supportedNetworks/index.tsx @@ -60,11 +60,13 @@ export function SupportedNetworksTable({ return ( <> - {t('index.supportedNetworks.infoText')}{' '} - - {t('index.supportedNetworks.infoLink')} - - . +

    + {t('index.supportedNetworks.infoText')}{' '} + + {t('index.supportedNetworks.infoLink')} + + . +

    Date: Thu, 3 Apr 2025 19:39:29 +0200 Subject: [PATCH 37/37] Remove framer-motion --- pnpm-lock.yaml | 3 --- website/package.json | 1 - .../components/NetworkRow.tsx | 22 ++----------------- .../components/NetworksTable.tsx | 13 +++-------- 4 files changed, 5 insertions(+), 34 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 93a170242125..3ac9ead7f8d7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -153,9 +153,6 @@ importers: fetch-har: specifier: ^11.1.1 version: 11.1.1 - framer-motion: - specifier: ^12.6.3 - version: 12.6.3(@emotion/is-prop-valid@0.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) lodash: specifier: ^4.17.21 version: 4.17.21 diff --git a/website/package.json b/website/package.json index 6411f3485699..5ce1050ee643 100644 --- a/website/package.json +++ b/website/package.json @@ -27,7 +27,6 @@ "@readme/httpsnippet": "^11.0.0", "@readme/openapi-parser": "^3.0.1", "fetch-har": "^11.1.1", - "framer-motion": "^12.6.3", "lodash": "^4.17.21", "mixpanel-browser": "^2.63.0", "motion": "^12.6.3", diff --git a/website/src/supportedNetworks/components/NetworkRow.tsx b/website/src/supportedNetworks/components/NetworkRow.tsx index 79f030358770..b55987e66198 100644 --- a/website/src/supportedNetworks/components/NetworkRow.tsx +++ b/website/src/supportedNetworks/components/NetworkRow.tsx @@ -1,4 +1,3 @@ -import { motion } from 'framer-motion' import { memo } from 'react' import { ButtonOrLink, ExperimentalCopyButton, Skeleton } from '@edgeandnode/gds' @@ -22,24 +21,7 @@ interface NetworkRowProps { export const NetworkRow = memo(({ network, locale }: NetworkRowProps) => { return ( - +
    @@ -65,6 +47,6 @@ export const NetworkRow = memo(({ network, locale }: NetworkRowProps) => { {network.substreams ? : null} {network.firehose ? : null} {network.tokenapi ? : null}
    )