aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/locales/en.json2
-rw-r--r--src/routes/(app)/[username]/settings/[...tab]/+page.server.js8
-rw-r--r--src/routes/(app)/[username]/settings/[...tab]/+page.svelte1
-rw-r--r--src/routes/(app)/[username]/settings/[...tab]/_account.svelte17
-rw-r--r--src/routes/(app)/[username]/settings/[...tab]/_pos.svelte21
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>