allow for nip19 for account

This commit is contained in:
Tiago Vasconcelos 2023-03-13 15:48:32 +00:00
parent b7d091cf84
commit 0fe9712b45
2 changed files with 14 additions and 6 deletions

View file

@ -91,9 +91,12 @@ const market = async () => {
return window.nostr
},
isValidKey() {
return this.accountDialog.data.key
?.toLowerCase()
?.match(/^[0-9a-f]{64}$/)
let key = this.accountDialog.data.key
if (key && key.startsWith('n')) {
let {type, data} = NostrTools.nip19.decode(key)
key = data
}
return key?.toLowerCase()?.match(/^[0-9a-f]{64}$/)
}
},
async created() {
@ -176,6 +179,10 @@ const market = async () => {
}
if (this.isValidKey) {
let {key, watchOnly} = this.accountDialog.data
if (key.startsWith('n')) {
let {type, data} = NostrTools.nip19.decode(key)
key = data
}
this.$q.localStorage.set('diagonAlley.account', {
privkey: watchOnly ? null : key,
pubkey: watchOnly ? key : NostrTools.getPublicKey(key),
@ -247,7 +254,7 @@ const market = async () => {
this.events.map(eventToObj).map(e => {
if (e.kind == 0) {
this.profiles.set(e.pubkey, e.content)
if (e.pubkey == this.account.pubkey) {
if (e.pubkey == this.account?.pubkey) {
this.accountMetadata = this.profiles.get(this.account.pubkey)
}
return

View file

@ -216,11 +216,12 @@
<q-card-section class="q-pt-none">
<q-input
dense
label="Private key (hex)"
label="nsec/npub/hex"
v-model="accountDialog.data.key"
autofocus
@keyup.enter="createAccount"
:error="!isValidKey"
:error="accountDialog.data.key && !isValidKey"
hint="Enter you private key (recommended) or public key"
></q-input>
<q-item tag="label">