diff --git a/composables/useLookup.ts b/composables/useLookup.ts index 4156c00..54c92f0 100644 --- a/composables/useLookup.ts +++ b/composables/useLookup.ts @@ -1,4 +1,5 @@ import { ethers } from "ethers"; +import { VNode } from "vue"; const networks = { mainnet: "https://rpc.ankr.com/eth", @@ -48,6 +49,8 @@ type Task = { networkResults?: { [network: string]: TaskCheckResponse; }; + renderMetadata?: ({ network: string, metadata: object }) => VNode; + renderMetadataValue?: ({ key: string, value: any }) => VNode; statusStrategy?: "some" | "every"; check: TaskCheckFun; }; @@ -125,13 +128,13 @@ const tasks: Array = [ export function useLookup(addressOrEnsName: string) { - const taskResults = ref([]); + const taskResults = ref>([]); const error = ref(""); const mainnetProvider = new ethers.providers.JsonRpcProvider(networks.mainnet); const address = ref(ethers.utils.isAddress(addressOrEnsName) ? addressOrEnsName : ""); const shortAddress = computed(() => address.value ? address.value.substr(0, 8) + "..." + address.value.substr(-6) : ""); - + const ens = ref(""); const detectedNetworks = computed(() => [ ...new Set( @@ -195,6 +198,8 @@ export function useLookup(addressOrEnsName: string) { }, }, status: "success", + renderMetadata: task.renderMetadata, + renderMetadataValue: task.renderMetadataValue, loading: true, }); diff --git a/pages/[address].vue b/pages/[address].vue index 20ff54e..5666f50 100644 --- a/pages/[address].vue +++ b/pages/[address].vue @@ -30,7 +30,8 @@ const statusIcon = { warning: ExclamationIcon, }; -const { address, ens, detectedNetworks, taskResults, error, shortAddress } = useLookup(String(route.params.address)); +const { address, ens, detectedNetworks, taskResults, error, shortAddress } = + useLookup(String(route.params.address));