Radish alpha
r
Radicle web interface
Radicle
Git (anonymous pull)
Log in to clone via SSH
Only enable record editing for owner
Alexis Sellier committed 5 years ago
commit 718642d22bf21d4f3dcecb9a3c5dfd811cc4d3c2
parent 62ccf6e7821bc50dfec5e7e7cad903648a71cd57
2 files changed +13 -7
modified src/base/register/Registration.svelte
@@ -1,12 +1,18 @@
<script lang="typescript">
  import { getRegistration } from './registrar';
+
  import type { Registration } from './registrar';
  import type { Config } from '@app/config';
+
  import { session } from '@app/session';
  import Loading from '@app/Loading.svelte';
  import Link from '@app/Link.svelte';
  import Modal from '@app/Modal.svelte';

  export let subdomain: string;
  export let config: Config;
+

+
  $: isOwner = (registration: Registration): boolean => {
+
    return registration.owner === ($session && $session.address);
+
  };
</script>

<style>
@@ -38,16 +44,16 @@
          {/if}
        </div>
        <div>
-
          {#if !registration.address}
-
            <button class="tiny primary">
-
              Set
-
            </button>
-
          {/if}
+
          <button class="tiny primary" disabled={!isOwner(registration)}>
+
            Set
+
          </button>
        </div>
        <!-- Owner -->
        <div class="label">Owner</div>
        <div>{registration.owner}</div>
-
        <div><button class="tiny secondary">Transfer</button></div>
+
        <div>
+
          <button class="tiny secondary" disabled={!isOwner(registration)}>Transfer</button>
+
        </div>
      </div>
    </main>
  {:else}
modified src/base/register/registrar.ts
@@ -22,7 +22,7 @@ const registrarAbi = [
  {"inputs":[{"internalType":"string","name":"name","type":"string"}],"name":"valid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"}
];

-
interface Registration {
+
export interface Registration {
  name: string
  owner: string
  address: string | null