Radish alpha
r
Radicle web interface
Radicle
Git (anonymous pull)
Log in to clone via SSH
Remove await in user view and address for now
Sebastian Martinez committed 4 years ago
commit 5c63c1da1b0d376b68af1b3830b6923fc866b1d7
parent 7a42d7271c6d4e7ef226995da67e3c0fb4f0d6b4
2 files changed +30 -47
modified src/Address.svelte
@@ -1,12 +1,10 @@
<script lang="typescript">
  import { onMount } from 'svelte';
-
  import { navigate } from 'svelte-routing';
  import { link } from 'svelte-routing';
  import { ethers } from 'ethers';
  import { safeLink, identifyAddress, formatAddress, AddressType } from '@app/utils';
  import Loading from '@app/Loading.svelte';
  import Avatar from "@app/Avatar.svelte";
-
  import Error from '@app/Error.svelte';
  import type { Config } from '@app/config';
  import type { Registration } from '@app/base/registrations/registrar';
  import { getRegistration } from '@app/base/registrations/registrar';
@@ -23,13 +21,13 @@
    : ethers.utils.getAddress(address);
  let addressType: AddressType | null = null;
  let addressName: string | null = null;
-
  let getInfo: Promise<Registration | null>;
+
  let info: Registration | null;

  onMount(async () => {
    identifyAddress(address, config).then((t: AddressType) => addressType = t);
    if (resolve) {
      addressName = await config.provider.lookupAddress(address);
-
      getInfo = getRegistration(addressName, config);
+
      info = await getRegistration(addressName, config);
    }
  });
  $: addressLabel = addressName ?? checksumAddress;
@@ -56,28 +54,22 @@
  }
</style>

-
{#await getInfo}
-
  <Loading fadeIn />
-
{:then info}
-
  <div class="address" title={address} class:no-badge={noBadge}>
-
    {#if !noAvatar}
-
      <Avatar inline source={info?.avatar ?? address} />
-
    {/if}
-
    {#if addressType === AddressType.Org}
-
      <a use:link href={`/orgs/${address}`}>{addressLabel}</a>
-
      <span class="badge">org</span>
-
    {:else if addressType === AddressType.Safe}
-
      <a href={safeLink(address, config)} target="_blank">{addressLabel}</a>
-
      <span class="badge safe">safe</span>
-
    {:else if addressType === AddressType.Contract}
-
      <a href={`/orgs/${address}`} target="_blank">{addressLabel}</a>
-
      <span class="badge">contract</span>
-
    {:else if addressType === AddressType.EOA}
-
      <a href={`/users/${address}`} target="_blank">{addressLabel}</a>
-
    {:else if !noBadge}
-
      <div class="loading"><Loading small /></div>
-
    {/if}
-
  </div>
-
{:catch error}
-
  <Error {error} title="Address could not be loaded" on:close={() => navigate('/')} />
-
{/await}
+
<div class="address" title={address} class:no-badge={noBadge}>
+
  {#if !noAvatar}
+
    <Avatar inline source={info?.avatar ?? address} />
+
  {/if}
+
  {#if addressType === AddressType.Org}
+
    <a use:link href={`/orgs/${address}`}>{addressLabel}</a>
+
    <span class="badge">org</span>
+
  {:else if addressType === AddressType.Safe}
+
    <a href={safeLink(address, config)} target="_blank">{addressLabel}</a>
+
    <span class="badge safe">safe</span>
+
  {:else if addressType === AddressType.Contract}
+
    <a href={`/orgs/${address}`} target="_blank">{addressLabel}</a>
+
    <span class="badge">contract</span>
+
  {:else if addressType === AddressType.EOA}
+
    <a href={`/users/${address}`} target="_blank">{addressLabel}</a>
+
  {:else if !noBadge}
+
    <div class="loading"><Loading small /></div>
+
  {/if}
+
</div>
modified src/base/users/View.svelte
@@ -1,24 +1,21 @@
<script lang="typescript">
  import { onMount } from 'svelte';
-
  import { navigate } from 'svelte-routing';
  import type { Config } from '@app/config';
  import type { Registration } from '@app/base/registrations/registrar';
  import { getRegistration } from '@app/base/registrations/registrar';
  import Icon from '@app/Icon.svelte';
-
  import Loading from '@app/Loading.svelte';
  import Address from '@app/Address.svelte';
  import Avatar from '@app/Avatar.svelte';
-
  import Error from '@app/Error.svelte';

  export let address: string;
  export let config: Config;
  
  let addressName: string | null = null;
-
  let getInfo: Promise<Registration | null>;
+
  let info: Registration | null;
  
  onMount(async () => {
    addressName = await config.provider.lookupAddress(address);
-
    getInfo = getRegistration(addressName, config);
+
    info = await getRegistration(addressName, config);
  });
</script>

@@ -59,16 +56,13 @@
  }
</style>

-
{#await getInfo}
-
  <Loading fadeIn />
-
{:then info}
-
  <main>
-
    <header>
-
      <div class="avatar">
-
        <Avatar source={info?.avatar ?? address} />
-
      </div> 
-
      <div class="info">
-
        <span class="title bold"><Address noAvatar {address} {config} resolve/></span>
+
<main>
+
  <header>
+
    <div class="avatar">
+
      <Avatar source={info?.avatar ?? address} />
+
    </div> 
+
    <div class="info">
+
      <span class="title bold"><Address noAvatar {address} {config} resolve/></span>
        <div class="links">
          {#if info?.url}
            <a class="url" href={info.url}>{info.url}</a>
@@ -87,6 +81,3 @@
      </div>
    </header> 
  </main>
-
{:catch error}
-
  <Error {error} title="User could not be loaded" on:close={() => navigate('/')} />
-
{/await}