diff options
| author | Adam Soltys <[email protected]> | 2023-12-07 23:08:43 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2023-12-07 23:08:43 -0800 |
| commit | d88d4a9b1d8f229904f4a052e03b860a82811a71 (patch) | |
| tree | 33b50e5728d4651c968963b98c9f3682b67dc208 /src | |
| parent | 8940118dd22c5f2ab680ef8036bcfafecc5696ab (diff) | |
| download | coinos-ui-d88d4a9b1d8f229904f4a052e03b860a82811a71.tar.gz coinos-ui-d88d4a9b1d8f229904f4a052e03b860a82811a71.zip | |
payment notifications
Diffstat (limited to 'src')
5 files changed, 35 insertions, 14 deletions
diff --git a/src/locales/en.json b/src/locales/en.json index 6d10da6c..cefabaa3 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -201,6 +201,8 @@ "placeholder": "Paste a bitcoin address, lightning invoice or coinos username" }, "settings": { + "notifications": "Payment notifications", + "notificationsDesc": "Receive an email whenever a payment lands in your account", "seedPhrase": "Seed phrase", "nostrKeys": "Nostr key", "nostrDescription": "Your nostr key is used to sign and decrypt messages, keep it safe or someone may be able to impersonate you.", diff --git a/src/routes/(app)/[username]/settings/[...tab]/+page.server.js b/src/routes/(app)/[username]/settings/[...tab]/+page.server.js index 2acad2dd..c035da12 100644 --- a/src/routes/(app)/[username]/settings/[...tab]/+page.server.js +++ b/src/routes/(app)/[username]/settings/[...tab]/+page.server.js @@ -11,7 +11,13 @@ export function load({ cookies, params, url }) { export const actions = { default: async ({ cookies, request }) => { let form = await fd(request); - if (form.prompt) form.prompt = form.prompt === "on"; + + if (form.tab === "pos") { + form.notify = form.notify === "on"; + form.nip5 = form.nip5 === "on"; + form.prompt = form.prompt === "on"; + } + let user = { ...(await get("/me", auth(cookies))), ...form }; try { diff --git a/src/routes/(app)/[username]/settings/[...tab]/+page.svelte b/src/routes/(app)/[username]/settings/[...tab]/+page.svelte index b4283e72..b300b75d 100644 --- a/src/routes/(app)/[username]/settings/[...tab]/+page.svelte +++ b/src/routes/(app)/[username]/settings/[...tab]/+page.svelte @@ -186,6 +186,7 @@ bind:this={formElement} > <input type="hidden" name="pin" value={$pin} /> + <input type="hidden" name="tab" value={tab} /> <div class="mt-24 mb-20 px-3 md:px-0 w-full md:w-[400px] mx-auto space-y-8"> <div class="header"> diff --git a/src/routes/(app)/[username]/settings/[...tab]/_account.svelte b/src/routes/(app)/[username]/settings/[...tab]/_account.svelte index 20c883e3..e96341b4 100644 --- a/src/routes/(app)/[username]/settings/[...tab]/_account.svelte +++ b/src/routes/(app)/[username]/settings/[...tab]/_account.svelte @@ -93,6 +93,23 @@ <input type="text" name="display" bind:value={user.display} /> </div> +<div class="space-y-1 relative"> + <label for="email" class="font-bold block">{$t("user.settings.email")}</label> + <p class="text-secondary"> + {$t("user.settings.emailDescription")} + </p> + + <div class="relative"> + <input type="text" name="email" bind:value={user.email} /> + {#if user.verified} + <Icon icon="check" style="absolute right-5 top-3 w-8" /> + {:else} + <Icon icon="orangeclock" style="absolute right-5 top-3 w-8" /> + {/if} + </div> +</div> + + <div> <span class="font-bold">{$t("user.settings.profileImage")}</span> diff --git a/src/routes/(app)/[username]/settings/[...tab]/_pos.svelte b/src/routes/(app)/[username]/settings/[...tab]/_pos.svelte index e211b013..8892e7d1 100644 --- a/src/routes/(app)/[username]/settings/[...tab]/_pos.svelte +++ b/src/routes/(app)/[username]/settings/[...tab]/_pos.svelte @@ -32,22 +32,17 @@ </select> </div> -<div class="space-y-1 relative"> - <label for="email" class="font-bold block">{$t("user.settings.email")}</label> - <p class="text-secondary"> - {$t("user.settings.emailDescription")} - </p> - - <div class="relative"> - <input type="text" name="email" bind:value={user.email} /> - {#if user.verified} - <Icon icon="check" style="absolute right-5 top-3 w-8" /> - {:else} - <Icon icon="orangeclock" style="absolute right-5 top-3 w-8" /> - {/if} +<div> + <div class="flex justify-between items-center"> + <span class="font-bold">{$t("user.settings.notifications")}</span> + <Toggle id="notify" bind:value={user.notify} /> </div> + <p class="text-secondary mt-1 w-9/12"> + {$t("user.settings.notificationsDesc")} + </p> </div> +{user.prompt} <div> <div class="flex justify-between items-center"> <span class="font-bold">{$t("user.settings.tipPrompt")}</span> |
