From 002cd9134d2e23bec34f838f6d6fefba41f2d530 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Fri, 18 Oct 2024 09:08:07 -0700 Subject: biome format --- src/routes/(app)/+layout.svelte | 6 ++- .../(app)/[username]/(profile)/+layout.server.ts | 4 +- .../(app)/[username]/(profile)/+layout.svelte | 18 +++++---- .../[username]/(profile)/followers/+page.svelte | 8 +++- .../[username]/(profile)/follows/+page.svelte | 6 ++- src/routes/(app)/[username]/+layout.server.ts | 2 +- src/routes/(app)/account/[id]/+page.server.ts | 3 +- src/routes/(app)/account/[id]/+page.svelte | 4 +- src/routes/(app)/account/pass/+page.svelte | 4 +- src/routes/(app)/account/savings/+page.svelte | 4 +- src/routes/(app)/account/setup/+page.svelte | 3 +- src/routes/(app)/admin/+page.server.ts | 2 +- .../(app)/ecash/[id]/[...version]/+layout.svelte | 4 +- .../ecash/[id]/[...version]/swap/+page.server.ts | 2 +- .../ecash/[id]/[...version]/swap/+page.svelte | 4 +- src/routes/(app)/invoice/+page.server.ts | 2 +- src/routes/(app)/invoice/+server.ts | 6 +-- src/routes/(app)/invoice/[id]/+page.svelte | 2 +- src/routes/(app)/invoice/[id]/tip/+page.server.ts | 7 ++-- src/routes/(app)/ln/[lnurl]/+page.server.ts | 5 +-- src/routes/(app)/messages/+page.server.ts | 6 ++- .../(app)/messages/[recipient]/+page.server.ts | 3 +- src/routes/(app)/messages/[recipient]/+page.svelte | 6 +-- src/routes/(app)/otpsecret/+server.ts | 2 +- .../pay/[username]/[...amount]/+page.server.ts | 4 +- src/routes/(app)/payments/[...page]/+page.svelte | 2 +- src/routes/(app)/qr/[text]/+page.svelte | 16 ++++---- .../(app)/receive/[...token]/+page.server.ts | 6 +-- src/routes/(app)/send/[...text]/+page.server.ts | 2 +- src/routes/(app)/send/[...text]/+page.svelte | 3 +- .../[amount]/[...feeRate]/+page.server.ts | 2 +- .../(app)/send/lightning/[payreq]/+page.svelte | 16 ++++---- src/routes/(app)/sent/[id]/+page.server.ts | 2 +- src/routes/(app)/sent/[id]/+page.svelte | 5 +-- src/routes/(app)/settings/[...tab]/+page.svelte | 8 ++-- src/routes/(app)/settings/[...tab]/_pos.svelte | 44 +++++++++++++++++++++- src/routes/(app)/subscription/+server.ts | 11 ++++++ 37 files changed, 153 insertions(+), 81 deletions(-) create mode 100644 src/routes/(app)/subscription/+server.ts (limited to 'src/routes/(app)') diff --git a/src/routes/(app)/+layout.svelte b/src/routes/(app)/+layout.svelte index db14b046..d8519a1f 100644 --- a/src/routes/(app)/+layout.svelte +++ b/src/routes/(app)/+layout.svelte @@ -19,7 +19,7 @@ import Password from "$comp/Password.svelte"; import { getCookie, warning, protectedRoutes } from "$lib/utils"; import { t, locale, loading } from "$lib/translations"; - import { goto, onNavigate } from "$app/navigation"; + import { goto, afterNavigate, preloadData } from "$app/navigation"; export let data; @@ -30,6 +30,10 @@ ({ rate, user, subject, token, rates } = data); }; + afterNavigate(() => { + preloadData(`/${user.username}/receive`); + }); + onMount(async () => { if (browser) { checkSocket(); diff --git a/src/routes/(app)/[username]/(profile)/+layout.server.ts b/src/routes/(app)/[username]/(profile)/+layout.server.ts index 73a24397..4592b81e 100644 --- a/src/routes/(app)/[username]/(profile)/+layout.server.ts +++ b/src/routes/(app)/[username]/(profile)/+layout.server.ts @@ -8,7 +8,9 @@ export async function load({ depends, parent }) { let { follows, followers } = await get(`/${subject.pubkey}/count`); let followList = new Promise((r) => r([])); if (user) - followList = get(`/${user.pubkey}/follows?pubkeysOnly=true`).catch(() => []); + followList = get(`/${user.pubkey}/follows?pubkeysOnly=true`).catch( + () => [], + ); return { follows, followers, followList }; } diff --git a/src/routes/(app)/[username]/(profile)/+layout.svelte b/src/routes/(app)/[username]/(profile)/+layout.svelte index d48fa279..5ad30f46 100644 --- a/src/routes/(app)/[username]/(profile)/+layout.svelte +++ b/src/routes/(app)/[username]/(profile)/+layout.svelte @@ -54,7 +54,7 @@ let follow = async () => { list = [...list, subject.pubkey]; let tags = await get( - `/api/${user.pubkey}/follows?pubkeysOnly=true&nocache=true` + `/api/${user.pubkey}/follows?pubkeysOnly=true&nocache=true`, ); tags.push(["p", subject.pubkey]); await update(tags); @@ -64,15 +64,15 @@ let unfollow = async () => { list.splice( list.findIndex((t) => t[1] === subject.pubkey), - 1 + 1, ); list = list; let tags = await get( - `/api/${user.pubkey}/follows?pubkeysOnly=true&nocache=true` + `/api/${user.pubkey}/follows?pubkeysOnly=true&nocache=true`, ); tags.splice( tags.findIndex((t) => t[1] === subject.pubkey), - 1 + 1, ); await update(tags); }; @@ -151,13 +151,17 @@
- {si(follows)} {$t("user.following")} {si(followers)} {$t("user.followers")} @@ -199,7 +203,7 @@ > diff --git a/src/routes/(app)/[username]/(profile)/followers/+page.svelte b/src/routes/(app)/[username]/(profile)/followers/+page.svelte index 19e4a9aa..c0080990 100644 --- a/src/routes/(app)/[username]/(profile)/followers/+page.svelte +++ b/src/routes/(app)/[username]/(profile)/followers/+page.svelte @@ -14,11 +14,15 @@ {#await followers} -
Loading followers...
+
Loading followers...
{:then followers} {#if followers.length} -
+
- +
diff --git a/src/routes/(app)/[username]/+layout.server.ts b/src/routes/(app)/[username]/+layout.server.ts index 1b95bdd0..c7a5c44b 100644 --- a/src/routes/(app)/[username]/+layout.server.ts +++ b/src/routes/(app)/[username]/+layout.server.ts @@ -9,7 +9,7 @@ export let load = async ({ }) => { depends("app:user"); - try { + try { let subject = await get(`/users/${username}`); let { user } = await parent(); diff --git a/src/routes/(app)/account/[id]/+page.server.ts b/src/routes/(app)/account/[id]/+page.server.ts index 35b5517d..e521f15b 100644 --- a/src/routes/(app)/account/[id]/+page.server.ts +++ b/src/routes/(app)/account/[id]/+page.server.ts @@ -1,11 +1,10 @@ import { error, redirect } from "@sveltejs/kit"; import { auth, get, post, fd } from "$lib/utils"; - export let load = async ({ cookies, params }) => { let account = await get(`/account/${params.id}`, auth(cookies)); return { account }; -} +}; export const actions = { default: async ({ cookies, params, request }) => { diff --git a/src/routes/(app)/account/[id]/+page.svelte b/src/routes/(app)/account/[id]/+page.svelte index 3f7bb900..63fd7a42 100644 --- a/src/routes/(app)/account/[id]/+page.svelte +++ b/src/routes/(app)/account/[id]/+page.svelte @@ -37,10 +37,10 @@ } }; -let nwc; + let nwc; let revealNwc = () => (nwc = `nostr+walletconnect://${pk}?relay=${encodeURIComponent( - relay + relay, )}&secret=${user.nwc}`); diff --git a/src/routes/(app)/account/pass/+page.svelte b/src/routes/(app)/account/pass/+page.svelte index c063d647..5becf337 100644 --- a/src/routes/(app)/account/pass/+page.svelte +++ b/src/routes/(app)/account/pass/+page.svelte @@ -39,12 +39,12 @@ try { let seed = await encrypt( mnemonicToEntropy($mnemonic, wordlist), - password + password, ); let master = HDKey.fromMasterSeed( await mnemonicToSeed($mnemonic, password), - versions + versions, ); let child = master.derive("m/84'/0'/0'"); diff --git a/src/routes/(app)/account/savings/+page.svelte b/src/routes/(app)/account/savings/+page.svelte index f9c6305c..8cc24aa2 100644 --- a/src/routes/(app)/account/savings/+page.svelte +++ b/src/routes/(app)/account/savings/+page.svelte @@ -4,7 +4,9 @@
-

{$t("accounts.accountSetup")}

+

+ {$t("accounts.accountSetup")} +

diff --git a/src/routes/(app)/account/setup/+page.svelte b/src/routes/(app)/account/setup/+page.svelte index f5a5ac09..24b6e248 100644 --- a/src/routes/(app)/account/setup/+page.svelte +++ b/src/routes/(app)/account/setup/+page.svelte @@ -12,8 +12,7 @@
Cash
- Your balance is held with a custodian. Payments are fast and - free. + Your balance is held with a custodian. Payments are fast and free.
diff --git a/src/routes/(app)/admin/+page.server.ts b/src/routes/(app)/admin/+page.server.ts index 96a1cd78..40c56c77 100644 --- a/src/routes/(app)/admin/+page.server.ts +++ b/src/routes/(app)/admin/+page.server.ts @@ -6,7 +6,7 @@ export async function load({ cookies, parent }) { if (!user) redirect(307, "/login"); let users = (await get("/users", auth(cookies))).sort( - (a, b) => b.balance - a.balance + (a, b) => b.balance - a.balance, ); return { users }; } diff --git a/src/routes/(app)/ecash/[id]/[...version]/+layout.svelte b/src/routes/(app)/ecash/[id]/[...version]/+layout.svelte index 89de4b58..f9c80329 100644 --- a/src/routes/(app)/ecash/[id]/[...version]/+layout.svelte +++ b/src/routes/(app)/ecash/[id]/[...version]/+layout.svelte @@ -34,10 +34,10 @@ {/if}
- {$t("payments.from")} {mint} + {$t("payments.from")} + {mint}
- {#if spent > 0}
diff --git a/src/routes/(app)/ecash/[id]/[...version]/swap/+page.server.ts b/src/routes/(app)/ecash/[id]/[...version]/swap/+page.server.ts index c8806bf0..14e4767d 100644 --- a/src/routes/(app)/ecash/[id]/[...version]/swap/+page.server.ts +++ b/src/routes/(app)/ecash/[id]/[...version]/swap/+page.server.ts @@ -1,3 +1,3 @@ - export async function load() { +export async function load() { return { test: 123 }; } diff --git a/src/routes/(app)/ecash/[id]/[...version]/swap/+page.svelte b/src/routes/(app)/ecash/[id]/[...version]/swap/+page.svelte index 3df9504d..ee22cea2 100644 --- a/src/routes/(app)/ecash/[id]/[...version]/swap/+page.svelte +++ b/src/routes/(app)/ecash/[id]/[...version]/swap/+page.svelte @@ -2,4 +2,6 @@ export let data; -
Support for swapping in cash from other mints is coming soon
+
+ Support for swapping in cash from other mints is coming soon +
diff --git a/src/routes/(app)/invoice/+page.server.ts b/src/routes/(app)/invoice/+page.server.ts index fa644eb9..5f3c38d3 100644 --- a/src/routes/(app)/invoice/+page.server.ts +++ b/src/routes/(app)/invoice/+page.server.ts @@ -5,7 +5,7 @@ import type { Invoice } from "$lib/types"; export let load = async ({ cookies, parent }) => { let aid = cookies.get("aid"); let { subject, user, rates } = await parent(); - if (aid === user.id) redirect(307, `/${user.username}/receive`) + if (aid === user.id) redirect(307, `/${user.username}/receive`); let invoice: Invoice = { aid, diff --git a/src/routes/(app)/invoice/+server.ts b/src/routes/(app)/invoice/+server.ts index 5e3d0300..0b5eb04e 100644 --- a/src/routes/(app)/invoice/+server.ts +++ b/src/routes/(app)/invoice/+server.ts @@ -1,7 +1,7 @@ import { auth, post } from "$lib/utils"; import { json } from "@sveltejs/kit"; -export let POST = async ({ cookies: c, request: r }) => { - let j = await r.json(); - return json(await post("/invoice", j, auth(c))); +export const POST = async ({ cookies: c, request: r }) => { + const j = await r.json(); + return json(await post("/invoice", j, auth(c))); }; diff --git a/src/routes/(app)/invoice/[id]/+page.svelte b/src/routes/(app)/invoice/[id]/+page.svelte index 5495e118..1a32b5b4 100644 --- a/src/routes/(app)/invoice/[id]/+page.svelte +++ b/src/routes/(app)/invoice/[id]/+page.svelte @@ -52,7 +52,7 @@ user: { username, currency }, } = invoice); - if (browser && !subbed[id]) + if (browser && !subbed[id]) send("subscribe", invoice) .then(() => (subbed[id] = true)) .catch((e) => { diff --git a/src/routes/(app)/invoice/[id]/tip/+page.server.ts b/src/routes/(app)/invoice/[id]/tip/+page.server.ts index 97f148d1..f5a1b220 100644 --- a/src/routes/(app)/invoice/[id]/tip/+page.server.ts +++ b/src/routes/(app)/invoice/[id]/tip/+page.server.ts @@ -3,12 +3,11 @@ import invoice from "$lib/invoice"; import { redirect } from "@sveltejs/kit"; export async function load({ parent }) { - let rates = await get("/rates"); + let rates = await get("/rates"); let { invoice } = await parent(); - if (!invoice.amount) - redirect(307, `/invoice/${invoice.id}`); + if (!invoice.amount) redirect(307, `/invoice/${invoice.id}`); - return { rates} + return { rates }; } export const actions = { diff --git a/src/routes/(app)/ln/[lnurl]/+page.server.ts b/src/routes/(app)/ln/[lnurl]/+page.server.ts index cae220bf..4ac55e44 100644 --- a/src/routes/(app)/ln/[lnurl]/+page.server.ts +++ b/src/routes/(app)/ln/[lnurl]/+page.server.ts @@ -24,9 +24,8 @@ export const actions = { pay: async ({ fetch, request }) => { let error; - let { callback, amount, minSendable, maxSendable, comment } = await fd( - request - ); + let { callback, amount, minSendable, maxSendable, comment } = + await fd(request); minSendable = Math.round(minSendable / 1000); maxSendable = Math.round(maxSendable / 1000); diff --git a/src/routes/(app)/messages/+page.server.ts b/src/routes/(app)/messages/+page.server.ts index 94659621..a7195b18 100644 --- a/src/routes/(app)/messages/+page.server.ts +++ b/src/routes/(app)/messages/+page.server.ts @@ -10,7 +10,7 @@ interface Note { seen: number; } -export async function load({ params, parent, }) { +export async function load({ params, parent }) { let { user } = await parent(); if (user.username !== params.username) redirect(307, `/${params.username}`); let { since = 0 } = params; @@ -22,7 +22,9 @@ export async function load({ params, parent, }) { let { pubkey } = user; try { messages = await get(`/${pubkey}/${since}/messages`); - messages = messages.sort((a: Message, b: Message) => b.created_at - a.created_at); + messages = messages.sort( + (a: Message, b: Message) => b.created_at - a.created_at, + ); } catch (e) { console.log(`failed to fetch nostr messages`, e); } diff --git a/src/routes/(app)/messages/[recipient]/+page.server.ts b/src/routes/(app)/messages/[recipient]/+page.server.ts index 6be9f6ec..0ff2885e 100644 --- a/src/routes/(app)/messages/[recipient]/+page.server.ts +++ b/src/routes/(app)/messages/[recipient]/+page.server.ts @@ -13,7 +13,8 @@ export async function load({ params, parent }) { messages = messages .filter( - (m: Message) => m.recipient?.id === recipient.id || m.author?.id === recipient.id + (m: Message) => + m.recipient?.id === recipient.id || m.author?.id === recipient.id, ) .sort((a, b) => a.created_at - b.created_at); } catch (e) { diff --git a/src/routes/(app)/messages/[recipient]/+page.svelte b/src/routes/(app)/messages/[recipient]/+page.svelte index 98638389..9b9f6f47 100644 --- a/src/routes/(app)/messages/[recipient]/+page.svelte +++ b/src/routes/(app)/messages/[recipient]/+page.svelte @@ -17,7 +17,7 @@ function fadeScale( node, - { delay = 0, duration = 200, easing = (x) => x, baseScale = 0 } + { delay = 0, duration = 200, easing = (x) => x, baseScale = 0 }, ) { const o = +getComputedStyle(node).opacity; const m = getComputedStyle(node).transform.match(/scale\(([0-9.]+)\)/); @@ -43,8 +43,8 @@ let initialize = async (p) => { await Promise.all( messages.map( - async (event) => (event.message = await decrypt({ event, user })) - ) + async (event) => (event.message = await decrypt({ event, user })), + ), ); messages = messages; diff --git a/src/routes/(app)/otpsecret/+server.ts b/src/routes/(app)/otpsecret/+server.ts index 2539ba27..9102dd51 100644 --- a/src/routes/(app)/otpsecret/+server.ts +++ b/src/routes/(app)/otpsecret/+server.ts @@ -8,7 +8,7 @@ export async function POST({ cookies, request }) { let { username, secret } = await post("/otpsecret", body, auth(cookies)); let uri = `otpauth://totp/coinos:${username}?secret=${secret}&period=30&digits=6&algorithm=SHA1&issuer=coinos`; return new Response( - JSON.stringify({ secret, uri, qr: Qr.drawImg(uri, { size: 600 }) }) + JSON.stringify({ secret, uri, qr: Qr.drawImg(uri, { size: 600 }) }), ); } catch (e: any) { if (e.message.includes("pin")) throw e; diff --git a/src/routes/(app)/pay/[username]/[...amount]/+page.server.ts b/src/routes/(app)/pay/[username]/[...amount]/+page.server.ts index 93100ff0..61809cf7 100644 --- a/src/routes/(app)/pay/[username]/[...amount]/+page.server.ts +++ b/src/routes/(app)/pay/[username]/[...amount]/+page.server.ts @@ -5,7 +5,7 @@ export async function load({ cookies, params, parent }) { let { username } = params; let { rates, user } = await parent(); - if ((user?.username === username)) error(500, "Cannot send to self"); + if (user?.username === username) error(500, "Cannot send to self"); let subject = await get(`/users/${username}`); let [amount, currency] = params.amount.split("/"); @@ -28,7 +28,7 @@ export async function load({ cookies, params, parent }) { }, user: { username }, }, - auth(cookies) + auth(cookies), ); redirect(307, `/invoice/${id}`); diff --git a/src/routes/(app)/payments/[...page]/+page.svelte b/src/routes/(app)/payments/[...page]/+page.svelte index be2ba3bb..e781409f 100644 --- a/src/routes/(app)/payments/[...page]/+page.svelte +++ b/src/routes/(app)/payments/[...page]/+page.svelte @@ -46,7 +46,7 @@ $: selection = start ? presets.findIndex( - (p) => Math.abs(differenceInDays(new Date(start * 1000), p.start)) < 1 + (p) => Math.abs(differenceInDays(new Date(start * 1000), p.start)) < 1, ) : 0; diff --git a/src/routes/(app)/qr/[text]/+page.svelte b/src/routes/(app)/qr/[text]/+page.svelte index 5469c084..e073b66e 100644 --- a/src/routes/(app)/qr/[text]/+page.svelte +++ b/src/routes/(app)/qr/[text]/+page.svelte @@ -10,13 +10,13 @@
diff --git a/src/routes/(app)/receive/[...token]/+page.server.ts b/src/routes/(app)/receive/[...token]/+page.server.ts index 011ffb00..65888ff4 100644 --- a/src/routes/(app)/receive/[...token]/+page.server.ts +++ b/src/routes/(app)/receive/[...token]/+page.server.ts @@ -1,4 +1,4 @@ -import { fd} from "$lib/utils"; +import { fd } from "$lib/utils"; import { fail, redirect } from "@sveltejs/kit"; import parse from "$lib/parse"; @@ -11,7 +11,7 @@ export async function load({ params, parent, url }) { export const actions = { default: async ({ request, url }) => { let { text } = await fd(request); - await parse(text, url.host ); - return fail(400, { error: "default" }); + await parse(text, url.host); + return fail(400, { error: "default" }); }, }; diff --git a/src/routes/(app)/send/[...text]/+page.server.ts b/src/routes/(app)/send/[...text]/+page.server.ts index 950a2c98..906d6563 100644 --- a/src/routes/(app)/send/[...text]/+page.server.ts +++ b/src/routes/(app)/send/[...text]/+page.server.ts @@ -13,7 +13,7 @@ export async function load({ cookies, params, url }) { export const actions = { default: async ({ request, url }) => { let { text } = await fd(request); - await parse(text, url.host); + await parse(text, url.host); return fail(400, { error: "default" }); }, }; diff --git a/src/routes/(app)/send/[...text]/+page.svelte b/src/routes/(app)/send/[...text]/+page.svelte index 2fbd8d59..d27df639 100644 --- a/src/routes/(app)/send/[...text]/+page.svelte +++ b/src/routes/(app)/send/[...text]/+page.svelte @@ -18,7 +18,8 @@ let el, text, pasted, w; - let keypress = (e) => e.key === "Enter" ? (e.preventDefault() || el.click()) : (pasted = false); + let keypress = (e) => + e.key === "Enter" ? e.preventDefault() || el.click() : (pasted = false); let paste = async () => { text = await navigator.clipboard.readText(); diff --git a/src/routes/(app)/send/bitcoin/[address]/[amount]/[...feeRate]/+page.server.ts b/src/routes/(app)/send/bitcoin/[address]/[amount]/[...feeRate]/+page.server.ts index e46a9f56..77fd8a4d 100644 --- a/src/routes/(app)/send/bitcoin/[address]/[amount]/[...feeRate]/+page.server.ts +++ b/src/routes/(app)/send/bitcoin/[address]/[amount]/[...feeRate]/+page.server.ts @@ -8,7 +8,7 @@ export async function load({ params: { address, amount, feeRate }, cookies }) { let { fee, fees, inputs, ourfee, hex } = await post( "/bitcoin/fee", { address, amount, feeRate, aid }, - auth(cookies) + auth(cookies), ); let account = await get(`/account/${aid}`, auth(cookies)); diff --git a/src/routes/(app)/send/lightning/[payreq]/+page.svelte b/src/routes/(app)/send/lightning/[payreq]/+page.svelte index 01f41d34..132874a0 100644 --- a/src/routes/(app)/send/lightning/[payreq]/+page.svelte +++ b/src/routes/(app)/send/lightning/[payreq]/+page.svelte @@ -36,14 +36,14 @@ amount < 100 ? amount * 5 : amount < 1000 - ? amount - : amount < 10000 - ? amount * 0.5 - : amount < 100000 - ? amount * 0.1 - : amount < 1000000 - ? amount * 0.05 - : amount * 0.01 + ? amount + : amount < 10000 + ? amount * 0.5 + : amount < 100000 + ? amount * 0.1 + : amount < 1000000 + ? amount * 0.05 + : amount * 0.01, ); let loading; diff --git a/src/routes/(app)/sent/[id]/+page.server.ts b/src/routes/(app)/sent/[id]/+page.server.ts index 38d95e4e..80b1d428 100644 --- a/src/routes/(app)/sent/[id]/+page.server.ts +++ b/src/routes/(app)/sent/[id]/+page.server.ts @@ -2,6 +2,6 @@ import { get, auth } from "$lib/utils"; export let load = async ({ cookies, params }) => { let { id } = params; - let p = await get(`/payments/${id}`, auth(cookies)); + let p = await get(`/payments/${id}`, auth(cookies)); return p; }; diff --git a/src/routes/(app)/sent/[id]/+page.svelte b/src/routes/(app)/sent/[id]/+page.svelte index ce2c8d6e..a71a5360 100644 --- a/src/routes/(app)/sent/[id]/+page.svelte +++ b/src/routes/(app)/sent/[id]/+page.svelte @@ -14,10 +14,7 @@
-
+

{$t("payments.sent")}!

diff --git a/src/routes/(app)/settings/[...tab]/+page.svelte b/src/routes/(app)/settings/[...tab]/+page.svelte index f59806d1..7ef1653d 100644 --- a/src/routes/(app)/settings/[...tab]/+page.svelte +++ b/src/routes/(app)/settings/[...tab]/+page.svelte @@ -87,7 +87,7 @@ try { data.set( "cipher", - await reEncryptEntropy(user, data.get("password")) + await reEncryptEntropy(user, data.get("password")), ); } catch (e) { console.log("Failed to encrypt keys with new password"); @@ -98,7 +98,7 @@ if ($avatar) { try { let { hash } = JSON.parse( - await upload($avatar.file, $avatar.type, $avatar.progress, token) + await upload($avatar.file, $avatar.type, $avatar.progress, token), ); data.set("profile", hash); @@ -115,7 +115,7 @@ if ($banner) { try { let { hash } = JSON.parse( - await upload($banner.file, $banner.type, $banner.progress, token) + await upload($banner.file, $banner.type, $banner.progress, token), ); data.set("banner", hash); @@ -161,7 +161,7 @@ await post( "/api/request", { id: user.id, email: user.email }, - auth(cookies) + auth(cookies), ); warning($t("user.settings.verifying"), false); diff --git a/src/routes/(app)/settings/[...tab]/_pos.svelte b/src/routes/(app)/settings/[...tab]/_pos.svelte index dcfcbe44..7ccaa69f 100644 --- a/src/routes/(app)/settings/[...tab]/_pos.svelte +++ b/src/routes/(app)/settings/[...tab]/_pos.svelte @@ -13,7 +13,7 @@ let { currency } = user; let rate = rates[currency]; - let fiats = Object.keys(rates).sort((a,b) => a.localeCompare(b)); + let fiats = Object.keys(rates).sort((a, b) => a.localeCompare(b)); $: user.language = $locale; let keypress = (e) => e.key === "Enter" && (e.preventDefault() || el.click()); @@ -38,6 +38,36 @@ if (!user.threshold) user.threshold = 1000000; if (!user.reserve) user.reserve = 100000; let reserveEl, thresholdEl; + + let subscription; + $: updateNotifications(user.push); + let updateNotifications = async (push) => { + if (push && navigator.serviceWorker) { + const VAPID_PUBLIC_KEY = + "BEfgMDTeAn1F8ZQUGC6v5iKTD86zYXaa3QVr1E-ylKXC5c24JplcfSAN9PDlXAsVtUd3cU6j4-LsX_TKQzz_yDQ"; + + const swRegistration = await navigator.serviceWorker.getRegistration(); + const pushManager = swRegistration.pushManager; + if (!isPushManagerActive(pushManager)) { + console.log("not active"); + return; + } + subscription = await pushManager.subscribe({ + userVisibleOnly: true, + applicationServerKey: VAPID_PUBLIC_KEY, + }); + } + }; + + function isPushManagerActive(pushManager) { + if (pushManager) return true; + + if (!window.navigator.standalone) { + console.log("not standalone"); + } + + return false; + }
@@ -72,6 +102,18 @@

+
+
+ {$t("user.settings.pushNotifications")} + +
+

+ {$t("user.settings.pushNotificationsDesc")} +

+
+ +{JSON.stringify(subscription)} +
{$t("user.settings.tipPrompt")} diff --git a/src/routes/(app)/subscription/+server.ts b/src/routes/(app)/subscription/+server.ts new file mode 100644 index 00000000..8ae3f965 --- /dev/null +++ b/src/routes/(app)/subscription/+server.ts @@ -0,0 +1,11 @@ +import { auth, post } from "$lib/utils"; +import { json } from "@sveltejs/kit"; + +export async function POST({ cookies, request }) { + const result = await post( + "/subscription", + await request.json(), + auth(cookies), + ); + return json(result); +} -- cgit v1.2.3