aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2024-02-07 10:46:11 -0800
committerAdam Soltys <[email protected]>2024-02-07 10:46:11 -0800
commitc5ee254c484f9b447d32f0c85e4a930d67eb1767 (patch)
tree4062939d31cbad98ecd63a20cd136a464b2e89a6 /src/routes
parentacc52900570cb949a8cdc460e0be98911ea1184c (diff)
downloadcoinos-ui-c5ee254c484f9b447d32f0c85e4a930d67eb1767.tar.gz
coinos-ui-c5ee254c484f9b447d32f0c85e4a930d67eb1767.zip
nostr key import
Diffstat (limited to 'src/routes')
-rw-r--r--src/routes/(app)/[username]/settings/[...tab]/_security.svelte37
1 files changed, 32 insertions, 5 deletions
diff --git a/src/routes/(app)/[username]/settings/[...tab]/_security.svelte b/src/routes/(app)/[username]/settings/[...tab]/_security.svelte
index 129b57df..7151f619 100644
--- a/src/routes/(app)/[username]/settings/[...tab]/_security.svelte
+++ b/src/routes/(app)/[username]/settings/[...tab]/_security.svelte
@@ -1,5 +1,5 @@
<script>
- import { getMnemonic, getNsec } from "$lib/nostr";
+ import { getMnemonic, getNsec, setNsec } from "$lib/nostr";
import { tick } from "svelte";
import { t } from "$lib/translations";
import Pin from "$comp/Pin.svelte";
@@ -14,8 +14,10 @@
let confirming2fa,
disabling2fa,
+ importing,
locked,
mnemonic,
+ newNsec = "nsec13wekuqstlsyfrzm369yh6vjaphslq5pq9kze74acqqynjm8lvpms4qzsx9",
nsec,
old,
otp,
@@ -29,6 +31,10 @@
settingPin,
verify;
+ let importNsec = () => {
+ importing = true;
+ };
+
let toggleNsec = async () => {
try {
nsec = await getNsec(user);
@@ -301,10 +307,31 @@
{$t("user.settings.nostrDescription")}
</p>
- <button type="button" class="primary" on:click={toggleNsec}>
- <Icon icon="warning" style="mr-1 w-6 my-auto" />
- {revealNsec ? $t("user.settings.hideNsec") : $t("user.settings.revealNsec")}
- </button>
+ <div class="flex">
+ <button type="button" class="primary" on:click={toggleNsec}>
+ <Icon icon="warning" style="mr-1 w-6 my-auto" />
+ {revealNsec
+ ? $t("user.settings.hideNsec")
+ : $t("user.settings.revealNsec")}
+ </button>
+
+ <button type="button" class="primary" on:click={importNsec}>
+ <Icon icon="save" style="mr-1 w-6 my-auto" />
+ {$t("user.settings.import")}
+ </button>
+ </div>
+
+ {#if importing}
+ <input
+ name="nsec"
+ bind:value={newNsec}
+ placeholder="nsec..."
+ on:blur={() => setNsec(user, newNsec)}
+ />
+ {/if}
+
+ <input type="hidden" name="nsec" bind:value={user.nsec} />
+ <input type="hidden" name="pubkey" bind:value={user.pubkey} />
{#if revealNsec}
<div class="text-lg break-all">