From 4b6883362463c3ddfb8c7a574b9beba5220d120b Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Tue, 27 Dec 2022 13:45:55 -0800 Subject: broadcast profile settings to nostr --- src/components/Feed.svelte | 5 +- src/components/Password.svelte | 8 +-- src/components/Pin.svelte | 4 +- src/lib/nostr.js | 6 +- src/lib/utils.js | 3 +- src/locales/en.json | 3 +- src/routes/(app)/[username]/+server.js | 6 -- .../[username]/settings/[...tab]/+page.svelte | 73 +++++++++++++++++++--- .../[username]/settings/[...tab]/_account.svelte | 9 ++- src/routes/(app)/events/+server.js | 6 ++ src/routes/(app)/login/+server.js | 8 +-- src/routes/(app)/password/+server.js | 1 - 12 files changed, 99 insertions(+), 33 deletions(-) delete mode 100644 src/routes/(app)/[username]/+server.js create mode 100644 src/routes/(app)/events/+server.js (limited to 'src') diff --git a/src/components/Feed.svelte b/src/components/Feed.svelte index 0ccda7b8..eef12a91 100644 --- a/src/components/Feed.svelte +++ b/src/components/Feed.svelte @@ -7,7 +7,7 @@ import { post, punk, failure } from '$lib/utils'; import { Password } from '$comp'; import { password, passwordPrompt } from '$lib/store'; - import { send } from '$lib/nostr'; + import { sign, send } from '$lib/nostr'; export let events; export let user; @@ -35,7 +35,8 @@ tags: [] }; - await send(event, user, $password); + await sign(event, user, $password); + await send(event); event.user = user; event.seen = event.created_at; diff --git a/src/components/Password.svelte b/src/components/Password.svelte index c9318201..e21bdad1 100644 --- a/src/components/Password.svelte +++ b/src/components/Password.svelte @@ -1,5 +1,5 @@ @@ -17,7 +17,7 @@ diff --git a/src/lib/nostr.js b/src/lib/nostr.js index df63d5d8..385c7ac6 100644 --- a/src/lib/nostr.js +++ b/src/lib/nostr.js @@ -6,7 +6,7 @@ import { calculateId, signId } from 'nostr'; const { decode, fromWords } = bech32m; -export let send = async (event, { cipher, username, salt }, password) => { +export let sign = async (event, { cipher, username, salt }, password) => { let mnemonic, key, seed, entropy, child, privkey; entropy = Buffer.from( await crypto.subtle.decrypt( @@ -25,6 +25,8 @@ export let send = async (event, { cipher, username, salt }, password) => { event.id = await calculateId(event); event.sig = await signId(privkey, event.id); +}; - await post(`/${username}`, { event }); +export let send = (event) => { + return post('/events', { event }); }; diff --git a/src/lib/utils.js b/src/lib/utils.js index d4d78007..43e77022 100644 --- a/src/lib/utils.js +++ b/src/lib/utils.js @@ -49,8 +49,7 @@ export const post = (url, body, headers) => { try { let { message } = JSON.parse(text); if (message) return JSON.stringify({ name: 'Error', message }); - } catch (e) { - } + } catch (e) {} return { error: text }; }) diff --git a/src/locales/en.json b/src/locales/en.json index d455f107..99ae7a5a 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -210,7 +210,8 @@ "username": "Username", "email": "Email", "newPassword": "New Password", - "businessAddress": "Business Address", + "about": "About", + "aboutPlaceholder": "A short description of you or your business (address, bio, etc.)", "emailNotifications": "Email Notifications", "emailNotificationsDescription": "Get notified via email when a change occurs on your account or when people send you payments.", "smsNotifications": "SMS Notifications", diff --git a/src/routes/(app)/[username]/+server.js b/src/routes/(app)/[username]/+server.js deleted file mode 100644 index d0b1242f..00000000 --- a/src/routes/(app)/[username]/+server.js +++ /dev/null @@ -1,6 +0,0 @@ -import { auth, post } from '$lib/utils'; -import { json } from '@sveltejs/kit'; - -export async function POST({ cookies, request }) { - return json(post('/nostr/send', await request.json(), auth(cookies))); -} diff --git a/src/routes/(app)/[username]/settings/[...tab]/+page.svelte b/src/routes/(app)/[username]/settings/[...tab]/+page.svelte index 3b213a11..55963105 100644 --- a/src/routes/(app)/[username]/settings/[...tab]/+page.svelte +++ b/src/routes/(app)/[username]/settings/[...tab]/+page.svelte @@ -1,23 +1,28 @@ {#if loaded && user.haspin && $pin?.length !== 6} {/if} -
+{#if $passwordPrompt} + +{/if} + +
diff --git a/src/routes/(app)/[username]/settings/[...tab]/_account.svelte b/src/routes/(app)/[username]/settings/[...tab]/_account.svelte index a60ab7a6..0359f074 100644 --- a/src/routes/(app)/[username]/settings/[...tab]/_account.svelte +++ b/src/routes/(app)/[username]/settings/[...tab]/_account.svelte @@ -96,8 +96,13 @@
- - + +