Radish alpha
r
Radicle web interface
Radicle
Git (anonymous pull)
Log in to clone via SSH
Simplify project view code
Alexis Sellier committed 4 years ago
commit 0631465e0964f453fb718df2e67b53daa4504942
parent 1c8c1b925e3316f0bea3008975aea232895b1643
1 file changed +5 -19
modified src/base/projects/View.svelte
@@ -1,5 +1,4 @@
<script lang="typescript">
-
  import { onMount } from 'svelte';
  import { Link, navigate } from 'svelte-routing';
  import type { Config } from '@app/config';
  import * as proj from '@app/project';
@@ -8,32 +7,19 @@

  import Browser from './Browser.svelte';

-
  enum State {
-
    Loading,
-
  };
-

  export let urn: string;
  export let org: string = "";
  export let commit: string = "";
  export let config: Config;
  export let path: string;

-
  let project: State.Loading | proj.Info | null = null;
+
  let getProject = proj.getInfo(urn, config);
  let projectRoot = proj.path({ urn, org, commit });

  const onSelect = ({ detail: path }: { detail: string }) => {
    navigate(proj.path({ urn, org, commit, path }));
  };
  const back = () => window.history.back();
-

-
  onMount(async () => {
-
    try {
-
      project = State.Loading;
-
      project = await proj.getInfo(urn, config);
-
    } catch {
-
      project = null;
-
    }
-
  });
</script>

<style>
@@ -59,11 +45,11 @@
</style>

<main>
-
  {#if project === State.Loading}
+
  {#await getProject}
    <header>
      <Loading small />
    </header>
-
  {:else if project}
+
  {:then project}
    <header>
      <div class="title bold">
        <Link to={projectRoot}>{project.meta.name}</Link>
@@ -72,7 +58,7 @@
      <div class="description">{project.meta.description}</div>
    </header>
    <Browser {urn} {org} commit={commit || project.head} {path} {onSelect} {config} />
-
  {:else}
+
  {:catch}
    <Modal subtle>
      <span slot="title">🏜️</span>
      <span slot="body">
@@ -85,5 +71,5 @@
        </button>
      </span>
    </Modal>
-
  {/if}
+
  {/await}
</main>