From baa77d4269721ffaa8edbbb13d230096fdd34d81 Mon Sep 17 00:00:00 2001 From: Sebastian Martinez Date: Sat, 12 Jun 2021 16:53:29 -0300 Subject: [PATCH] Add User View Route Signed-off-by: Sebastian Martinez --- src/Address.svelte | 28 +++++----- src/App.svelte | 2 + src/base/users/Routes.svelte | 11 ++++ src/base/users/View.svelte | 99 ++++++++++++++++++++++++++++++++++++ 4 files changed, 124 insertions(+), 16 deletions(-) create mode 100644 src/base/users/Routes.svelte create mode 100644 src/base/users/View.svelte diff --git a/src/Address.svelte b/src/Address.svelte index b9f8e31f2..411f9fad9 100644 --- a/src/Address.svelte +++ b/src/Address.svelte @@ -2,8 +2,7 @@ import { onMount } from 'svelte'; import { link } from 'svelte-routing'; import { ethers } from 'ethers'; - import { explorerLink, safeLink } from '@app/utils'; - import Blockies from '@app/Blockies.svelte'; + import { safeLink } from '@app/utils'; import Loading from '@app/Loading.svelte'; import type { Config } from '@app/config'; import { identifyAddress, formatAddress, AddressType } from '@app/utils'; @@ -17,14 +16,16 @@ let checksumAddress = compact ? formatAddress(address) : ethers.utils.getAddress(address); + let loading: boolean = true; let addressType: AddressType | null = null; let addressName: string | null = null; - onMount(() => { - identifyAddress(address, config).then(typ => addressType = typ); + onMount(async () => { if (resolve) { - config.provider.lookupAddress(address).then(name => addressName = name); + addressName = await config.provider.lookupAddress(address); } + addressType = await identifyAddress(address, config); + loading = false; }); $: addressLabel = addressName || checksumAddress; @@ -38,14 +39,6 @@ .address.no-badge .badge { display: none; } - .icon { - display: inline-block; - width: 1rem; - height: 1rem; - margin-right: 0.5rem; - min-width: 1rem; - min-height: 1rem; - } .address a { color: var(--color-foreground-90); } @@ -58,8 +51,10 @@ } -
- +{#if loading} + +{:else} +
{#if addressType === AddressType.Org} {addressLabel} org @@ -67,7 +62,7 @@ {addressLabel} safe {:else} - {addressLabel} + {addressLabel} {#if addressType === AddressType.Contract} contract {:else if addressType === AddressType.EOA} @@ -77,3 +72,4 @@ {/if} {/if}
+{/if} diff --git a/src/App.svelte b/src/App.svelte index e2149ab15..0726f1569 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -7,6 +7,7 @@ import Vesting from '@app/base/vesting/Index.svelte'; import Registrations from '@app/base/registrations/Routes.svelte'; import Orgs from '@app/base/orgs/Routes.svelte'; + import Users from '@app/base/users/Routes.svelte'; import Projects from '@app/base/projects/Routes.svelte'; import Resolver from '@app/base/resolver/Routes.svelte'; import Header from '@app/Header.svelte'; @@ -61,6 +62,7 @@ + diff --git a/src/base/users/Routes.svelte b/src/base/users/Routes.svelte new file mode 100644 index 000000000..c611f349f --- /dev/null +++ b/src/base/users/Routes.svelte @@ -0,0 +1,11 @@ + + + + + diff --git a/src/base/users/View.svelte b/src/base/users/View.svelte new file mode 100644 index 000000000..c7b1a5ed0 --- /dev/null +++ b/src/base/users/View.svelte @@ -0,0 +1,99 @@ + + + + +{#if loading} + +{:else} +
+
+
+ {#if registration && registration.avatar} + avatar + {:else} + + {/if} +
+
+
+ +
+
+
+{/if} \ No newline at end of file