diff options
| author | Adam Soltys <[email protected]> | 2026-03-04 09:23:03 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-03-04 09:23:03 -0800 |
| commit | ba579c4f801be258128294e7cb1f4d2e518e37ca (patch) | |
| tree | 2ffbee38d5d82d06580a68ffddd798c1930d6ded /src | |
| parent | e39b182ac4c2134157eca3f4cc7c8c7dfd389484 (diff) | |
| download | coinos-ui-ba579c4f801be258128294e7cb1f4d2e518e37ca.tar.gz coinos-ui-ba579c4f801be258128294e7cb1f4d2e518e37ca.zip | |
fix api calls
Diffstat (limited to 'src')
31 files changed, 116 insertions, 89 deletions
diff --git a/src/components/Event.svelte b/src/components/Event.svelte index eef48868..c833c5a9 100644 --- a/src/components/Event.svelte +++ b/src/components/Event.svelte @@ -21,11 +21,11 @@ const body = new FormData(); if (!user) return goto(`/register?redirect=${$page.url.pathname}`); - let request = await post("/api/zapRequest", { amount, id }); - let { pr: payreq } = await post("/api/zap", { + let request = await post("/zapRequest", { amount, id }); + let { pr: payreq } = await post("/zap", { event: await sign(request), }); - await post("/api/payments", { amount, payreq }); + await post("/payments", { amount, payreq }); } catch (e: any) { console.log(e); fail(e.message); diff --git a/src/components/Menu.svelte b/src/components/Menu.svelte index 5ffd7a75..4b0204fd 100644 --- a/src/components/Menu.svelte +++ b/src/components/Menu.svelte @@ -4,6 +4,7 @@ import PhLifebuoyBold from "virtual:icons/ph/lifebuoy-bold"; import PhMapTrifoldBold from "virtual:icons/ph/map-trifold-bold"; import PhChatBold from "virtual:icons/ph/chat-bold"; + import PhLightningFill from "virtual:icons/ph/lightning-fill"; import PhMoonStarsBold from "virtual:icons/ph/moon-stars-bold"; import PhSignOutBold from "virtual:icons/ph/sign-out-bold"; import CoinosLogo from "virtual:icons/coinos/logo"; @@ -15,6 +16,7 @@ let showMenu = $state(false); let menuButtons = [ + { key: "nav.funds", icon: PhLightningFill, href: `/funds` }, { key: "nav.settings", icon: PhFadersBold, href: `/settings` }, { key: "nav.support", icon: PhLifebuoyBold, href: `/support` }, { key: "nav.map", icon: PhMapTrifoldBold, href: `/map` }, diff --git a/src/components/Password.svelte b/src/components/Password.svelte index 7651d5a1..ab1b7d9d 100644 --- a/src/components/Password.svelte +++ b/src/components/Password.svelte @@ -13,7 +13,7 @@ let submit = async (e) => { e.preventDefault(); try { - let res = await post("/api/password", { password }); + let res = await post("/password", { password }); $passwordPrompt = false; $pw = password; } catch (e) { diff --git a/src/components/Pin.svelte b/src/components/Pin.svelte index c8ead368..da0c6aeb 100644 --- a/src/components/Pin.svelte +++ b/src/components/Pin.svelte @@ -27,7 +27,7 @@ if (p?.length !== 6) return; let result; try { - result = await post("/api/pin", { pin: hashPin(p) }); + result = await post("/pin", { pin: hashPin(p) }); } catch (e) { console.log("Pin check failed", e); } diff --git a/src/lib/ark.ts b/src/lib/ark.ts index e223d013..dac5cb2a 100644 --- a/src/lib/ark.ts +++ b/src/lib/ark.ts @@ -303,7 +303,7 @@ const _syncTransactions = async (aid: string) => { const bal = await wallet.getBalance(); const balance = (bal.available || 0) + (bal.preconfirmed || 0); - const result = await post("/api/ark/sync", { transactions, aid, balance, arkAddress: walletAddr }); + const result = await post("/ark/sync", { transactions, aid, balance, arkAddress: walletAddr }); cacheVaultSnapshot(); // fire-and-forget return result; }; @@ -456,14 +456,14 @@ export const sendArkViaForward = async ({ try { const txid = await sendArk(serverArkAddress, amount); - await post("/api/ark/vault-send", { hash: txid, amount, aid }); + await post("/ark/vault-send", { hash: txid, amount, aid }); const invoice: any = { type: "ark", amount, aid }; if (forward) invoice.forward = forward; - const inv = await post("/api/invoice", { invoice, user }); + const inv = await post("/invoice", { invoice, user }); - return await post("/api/ark/receive", { amount, hash: txid, iid: inv.id }); + return await post("/ark/receive", { amount, hash: txid, iid: inv.id }); } finally { vaultForwarding = false; } diff --git a/src/lib/bitcoinSync.ts b/src/lib/bitcoinSync.ts index 92d3382b..3b31d6c0 100644 --- a/src/lib/bitcoinSync.ts +++ b/src/lib/bitcoinSync.ts @@ -6,7 +6,7 @@ export const syncBitcoinVault = async (aid: string) => { if (syncing) return; syncing = true; try { - return await post("/api/bitcoin/sync", { aid }); + return await post("/bitcoin/sync", { aid }); } finally { syncing = false; } diff --git a/src/lib/keyWrapping.ts b/src/lib/keyWrapping.ts index fb46f767..971b929c 100644 --- a/src/lib/keyWrapping.ts +++ b/src/lib/keyWrapping.ts @@ -45,7 +45,7 @@ export async function resolveCanonicalKey( export async function saveEncryptedKeys( encryptedKeys: Record<string, string>, ): Promise<void> { - await post("/api/user", { encryptedKeys }); + await post("/user", { encryptedKeys }); } export function passwordMethodId(): string { diff --git a/src/lib/nostr.ts b/src/lib/nostr.ts index 4b7316e8..e91e33f5 100644 --- a/src/lib/nostr.ts +++ b/src/lib/nostr.ts @@ -136,7 +136,7 @@ export const sign = async (event: any, user?: any) => { }; export const send = (event: EventTemplate) => { - return post("/api/event", { event }); + return post("/event", { event }); }; const getPassword = async (): Promise<string> => { diff --git a/src/lib/utils.ts b/src/lib/utils.ts index cb1e5ec7..74e05f17 100644 --- a/src/lib/utils.ts +++ b/src/lib/utils.ts @@ -14,7 +14,7 @@ export function scroll(section: any) { setTimeout(() => section.scrollIntoView({ behavior: "smooth" }), 500); } -const base = browser ? "" : PUBLIC_COINOS_URL; +const base = browser ? "/api" : PUBLIC_COINOS_URL; let getIp: (() => string | undefined) | undefined; diff --git a/src/routes/(app)/+layout.svelte b/src/routes/(app)/+layout.svelte index 248206fb..991171be 100644 --- a/src/routes/(app)/+layout.svelte +++ b/src/routes/(app)/+layout.svelte @@ -104,8 +104,8 @@ try { const { serverArkAddress, amount, iid } = result.forward; const txid = await sendArk(serverArkAddress, amount); - await post("/api/ark/vault-send", { hash: txid, amount, aid }); - await post("/api/ark/receive", { amount, hash: txid, iid }); + await post("/ark/vault-send", { hash: txid, amount, aid }); + await post("/ark/receive", { amount, hash: txid, iid }); } catch (e) { console.error("Ark custodial forward failed:", e); } finally { diff --git a/src/routes/(app)/[username]/(profile)/+page.svelte b/src/routes/(app)/[username]/(profile)/+page.svelte index 4ed8eaaf..123a14e8 100644 --- a/src/routes/(app)/[username]/(profile)/+page.svelte +++ b/src/routes/(app)/[username]/(profile)/+page.svelte @@ -11,7 +11,7 @@ import { installPrompt, password, cachedAccounts, cachedRates } from "$lib/store"; import { goto, invalidate } from "$app/navigation"; import { page } from "$app/stores"; - import { versions, post, fail, getCookie } from "$lib/utils"; + import { get, versions, post, fail, getCookie } from "$lib/utils"; let { data } = $props(); @@ -46,14 +46,14 @@ const mn = entropyToMnemonic(entropy, wordlist); const seed = await mnemonicToSeed(mn); const master = HDKey.fromMasterSeed(seed, versions); - const existing = await fetch("/api/accounts").then((r) => r.json()); + const existing = await get("/accounts"); const nextIdx = existing .filter((a: any) => a.pubkey && a.fingerprint) .reduce((max: number, a: any) => Math.max(max, (a.accountIndex ?? 0) + 1), 0); const child = master.derive(`m/84'/0'/${nextIdx}'`); const pubkey = child.publicExtendedKey; const fingerprint = child.fingerprint.toString(16).padStart(8, "0"); - await post("/api/accounts", { + await post("/accounts", { fingerprint, pubkey, name: $t("accounts.vault"), diff --git a/src/routes/(app)/account/[id]/+page.svelte b/src/routes/(app)/account/[id]/+page.svelte index 582fe3ec..6f1d9921 100644 --- a/src/routes/(app)/account/[id]/+page.svelte +++ b/src/routes/(app)/account/[id]/+page.svelte @@ -131,7 +131,7 @@ let del = async () => { try { - await post("/api/account/delete", { id }); + await post("/account/delete", { id }); goto(`/${user.username}`); } catch (e: any) { fail(e.message); diff --git a/src/routes/(app)/account/ark/+page.svelte b/src/routes/(app)/account/ark/+page.svelte index 65d03aad..268109fa 100644 --- a/src/routes/(app)/account/ark/+page.svelte +++ b/src/routes/(app)/account/ark/+page.svelte @@ -42,7 +42,7 @@ const identity = SingleKey.fromHex(arkHex); const wallet = await Wallet.create({ identity, arkServerUrl }); arkAddress = await wallet.getAddress(); - await post("/api/accounts", { name, type, arkAddress }); + await post("/accounts", { name, type, arkAddress }); goto(`/${user.username}`); } catch (e: any) { console.log("Ark account creation failed", e); diff --git a/src/routes/(app)/account/new/+page.svelte b/src/routes/(app)/account/new/+page.svelte index 1761f3f6..4365dedd 100644 --- a/src/routes/(app)/account/new/+page.svelte +++ b/src/routes/(app)/account/new/+page.svelte @@ -37,7 +37,7 @@ const wallet = await Wallet.create({ identity, arkServerUrl }); const arkAddress = await wallet.getAddress(); - await post("/api/accounts", { name: $t("accounts.savings"), type: "ark", arkAddress }); + await post("/accounts", { name: $t("accounts.savings"), type: "ark", arkAddress }); goto(`/${user.username}`); } catch (e: any) { console.log("Ark account creation failed", e); diff --git a/src/routes/(app)/account/pass/+page.svelte b/src/routes/(app)/account/pass/+page.svelte index a76494c0..5aebb1d9 100644 --- a/src/routes/(app)/account/pass/+page.svelte +++ b/src/routes/(app)/account/pass/+page.svelte @@ -5,7 +5,7 @@ import Spinner from "$comp/Spinner.svelte"; import { entropyToMnemonic, mnemonicToSeed } from "@scure/bip39"; import { wordlist } from "@scure/bip39/wordlists/english.js"; - import { versions, fail, post } from "$lib/utils"; + import { get, versions, fail, post } from "$lib/utils"; import { goto } from "$app/navigation"; import { HDKey } from "@scure/bip32"; @@ -41,14 +41,14 @@ await mnemonicToSeed(mn), versions, ); - const accounts = await fetch("/api/accounts").then((r) => r.json()); + const accounts = await get("/accounts"); const nextIdx = (accounts || []) .filter((a: any) => a.pubkey && a.fingerprint && a.type !== "ark") .reduce((max: number, a: any) => Math.max(max, (a.accountIndex ?? 0) + 1), 0); const child = master.derive(`m/84'/0'/${nextIdx}'`); const pubkey = child.publicExtendedKey; const fingerprint = child.fingerprint.toString(16).padStart(8, "0"); - await post("/api/accounts", { + await post("/accounts", { fingerprint, pubkey, name: $t("accounts.vault"), diff --git a/src/routes/(app)/account/seed/+page.svelte b/src/routes/(app)/account/seed/+page.svelte index 70f3fe32..690781f5 100644 --- a/src/routes/(app)/account/seed/+page.svelte +++ b/src/routes/(app)/account/seed/+page.svelte @@ -3,7 +3,7 @@ import Mnemonic from "$comp/Mnemonic.svelte"; import { browser } from "$app/environment"; import { tick, onMount } from "svelte"; - import { copy, versions, fail, post } from "$lib/utils"; + import { copy, get, versions, fail, post } from "$lib/utils"; import { t } from "$lib/translations"; import { mnemonic } from "$lib/store"; import { generateMnemonic, mnemonicToSeed, entropyToMnemonic } from "@scure/bip39"; @@ -27,14 +27,14 @@ const mn = entropyToMnemonic(entropy, wordlist); const seed = await mnemonicToSeed(mn); const master = HDKey.fromMasterSeed(seed, versions); - const accounts = await fetch("/api/accounts").then((r) => r.json()); + const accounts = await get("/accounts"); const nextIdx = (accounts || []) .filter((a: any) => a.pubkey && a.fingerprint && a.type !== "ark") .reduce((max: number, a: any) => Math.max(max, (a.accountIndex ?? 0) + 1), 0); const child = master.derive(`m/84'/0'/${nextIdx}'`); const pubkey = child.publicExtendedKey; const fingerprint = child.fingerprint.toString(16).padStart(8, "0"); - await post("/api/accounts", { + await post("/accounts", { fingerprint, pubkey, name: $t("accounts.vault"), diff --git a/src/routes/(app)/api/[...path]/+server.ts b/src/routes/(app)/api/[...path]/+server.ts deleted file mode 100644 index bc12494f..00000000 --- a/src/routes/(app)/api/[...path]/+server.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { PUBLIC_COINOS_URL as base } from "$env/static/public"; -import { auth } from "$lib/utils"; - -function getHeaders(cookies, request) { - const headers: Record<string, string> = {}; - const authHeader = request.headers.get("authorization"); - if (authHeader) { - headers.authorization = authHeader; - } else { - Object.assign(headers, auth(cookies)); - } - return headers; -} - -export async function GET({ cookies, fetch, params, request }) { - return fetch(`${base}/${params.path}`, { headers: getHeaders(cookies, request) }); -} - -export async function POST({ cookies, fetch, params, request }) { - return fetch(`${base}/${params.path}`, { - method: "POST", - body: JSON.stringify(await request.json()), - headers: { "Content-Type": "application/json", ...getHeaders(cookies, request) }, - }); -} diff --git a/src/routes/(app)/firehose/+page.svelte b/src/routes/(app)/firehose/+page.svelte index 2a5e8fa6..84dc7000 100644 --- a/src/routes/(app)/firehose/+page.svelte +++ b/src/routes/(app)/firehose/+page.svelte @@ -23,7 +23,7 @@ const subscription = relay.subscribe([{ kinds: [1], limit: 20 }], { async onevent(event: any) { if (paused) return; - const { parts, names } = await post("/api/parseEvent", { event }); + const { parts, names } = await post("/parseEvent", { event }); event.author = await get(`/api/users/${event.pubkey}`); event.parts = parts; event.names = names; diff --git a/src/routes/(app)/funds/+page.server.ts b/src/routes/(app)/funds/+page.server.ts new file mode 100644 index 00000000..e6836596 --- /dev/null +++ b/src/routes/(app)/funds/+page.server.ts @@ -0,0 +1,10 @@ +import getRates from "$lib/rates"; +import { auth, get } from "$lib/utils"; + +export const load = async ({ cookies, parent }) => { + const { user } = await parent(); + const funds = await get("/funds", auth(cookies)); + const rates = await getRates(); + const rate = rates[user?.currency || "USD"]; + return { funds, rate }; +}; diff --git a/src/routes/(app)/funds/+page.svelte b/src/routes/(app)/funds/+page.svelte new file mode 100644 index 00000000..678f1937 --- /dev/null +++ b/src/routes/(app)/funds/+page.svelte @@ -0,0 +1,54 @@ +<script lang="ts"> + import PhLightningFill from "virtual:icons/ph/lightning-fill"; + import PhPlusBold from "virtual:icons/ph/plus-bold"; + import { t } from "$lib/translations"; + import { s, f, loc, sats } from "$lib/utils"; + import { fiat } from "$lib/store"; + + let { data } = $props(); + let funds = $derived(data.funds); + let user = $derived(data.user); + let rate = $derived(data.rate); + let currency = $derived(user?.currency || "USD"); + let locale = $derived(loc(user)); +</script> + +<div class="container px-4 max-w-lg mx-auto space-y-5 mt-20"> + <h1 class="px-3 md:px-0 text-center text-3xl md:text-4xl font-semibold">Funds</h1> + + <a href="/send/fund" class="block"> + <button type="button" class="btn btn-accent"> + <PhPlusBold width="24" /> + <div class="my-auto">Create a fund</div> + </button> + </a> + + {#if funds.length} + <div class="space-y-3"> + {#each funds as fund} + <a href={`/fund/${fund.id}`} class="block"> + <div class="flex items-center justify-between p-4 rounded-2xl bg-base-200 hover:bg-base-300"> + <div class="flex items-center gap-3"> + <PhLightningFill width="24" class="text-yellow-300" /> + <div> + <p class="font-mono text-sm opacity-60">{fund.id.slice(0, 8)}...</p> + {#if fund.managers > 0} + <p class="text-xs opacity-50">{fund.managers} manager{fund.managers > 1 ? 's' : ''}</p> + {/if} + </div> + </div> + <div class="text-right font-semibold"> + {#if $fiat && rate} + {f(parseFloat(((fund.amount * rate) / sats).toFixed(2)), currency, locale)} + {:else} + {s(fund.amount, locale)} sats + {/if} + </div> + </div> + </a> + {/each} + </div> + {:else} + <p class="text-center opacity-60">No funds yet. Create one to get started.</p> + {/if} +</div> diff --git a/src/routes/(app)/send/[...text]/+page.svelte b/src/routes/(app)/send/[...text]/+page.svelte index 49a3853e..430355a5 100644 --- a/src/routes/(app)/send/[...text]/+page.svelte +++ b/src/routes/(app)/send/[...text]/+page.svelte @@ -2,7 +2,6 @@ import PhCameraBold from "virtual:icons/ph/camera-bold"; import PhClipboardTextBold from "virtual:icons/ph/clipboard-text-bold"; import PhPaperPlaneRightBold from "virtual:icons/ph/paper-plane-right-bold"; - import PhLightningFill from "virtual:icons/ph/lightning-fill"; import PhPushPinFill from "virtual:icons/ph/push-pin-fill"; import PhPushPinBold from "virtual:icons/ph/push-pin-bold"; import PhStarFill from "virtual:icons/ph/star-fill"; @@ -27,7 +26,7 @@ let loaded = $state(); let loadMore = async () => { loaded = true; - all = await fetch("/api/contacts").then((r) => r.json()); + all = await get("/contacts"); }; let el: any = $state(), @@ -48,12 +47,12 @@ e.stopPropagation(); if (pinned) { - await post("/api/pins/delete", { id }); + await post("/pins/delete", { id }); } else { - await post("/api/pins", { id }); + await post("/pins", { id }); } - if (all) all = await fetch("/api/contacts").then((r) => r.json()); + if (all) all = await get("/contacts"); invalidate("app:contacts"); }; @@ -62,12 +61,12 @@ e.stopPropagation(); if (trusted) { - await post("/api/trust/delete", { id }); + await post("/trust/delete", { id }); } else { - await post("/api/trust", { id }); + await post("/trust", { id }); } - if (all) all = await fetch("/api/contacts").then((r) => r.json()); + if (all) all = await get("/contacts"); invalidate("app:contacts"); }; @@ -120,12 +119,6 @@ <div class="my-auto">{$t("user.send.next")}</div> </button> - <a href="/send/fund" class="block"> - <button type="button" class="btn"> - <PhLightningFill width="24" class="text-yellow-300" /> - <div class="my-auto">{$t("payments.createFund")}</div> - </button> - </a> </form> {#if contacts.length} diff --git a/src/routes/(app)/send/ark/[address]/[amount]/[...feeRate]/+page.svelte b/src/routes/(app)/send/ark/[address]/[amount]/[...feeRate]/+page.svelte index bb3229b9..ced8dfce 100644 --- a/src/routes/(app)/send/ark/[address]/[amount]/[...feeRate]/+page.svelte +++ b/src/routes/(app)/send/ark/[address]/[amount]/[...feeRate]/+page.svelte @@ -35,7 +35,7 @@ }); } else { const txid = await sendArk(address, parseInt(amount)); - p = await post("/api/ark/vault-send", { + p = await post("/ark/vault-send", { hash: txid, amount: parseInt(amount), aid: account.id, diff --git a/src/routes/(app)/send/invoice/[id]/+page.svelte b/src/routes/(app)/send/invoice/[id]/+page.svelte index a0af8482..ffdfc259 100644 --- a/src/routes/(app)/send/invoice/[id]/+page.svelte +++ b/src/routes/(app)/send/invoice/[id]/+page.svelte @@ -70,9 +70,9 @@ e.stopPropagation(); if (trusted) { - await post("/api/trust/delete", { id: recipient.id }); + await post("/trust/delete", { id: recipient.id }); } else { - await post("/api/trust", { id: recipient.id }); + await post("/trust", { id: recipient.id }); } invalidate("app:trust"); diff --git a/src/routes/(app)/send/lightning/[payreq]/[...memo]/+page.svelte b/src/routes/(app)/send/lightning/[payreq]/[...memo]/+page.svelte index 5669ee1e..b22d954a 100644 --- a/src/routes/(app)/send/lightning/[payreq]/[...memo]/+page.svelte +++ b/src/routes/(app)/send/lightning/[payreq]/[...memo]/+page.svelte @@ -70,7 +70,7 @@ (async () => { try { - const inv = await post("/api/invoice", { + const inv = await post("/invoice", { invoice: { type: "bitcoin", amount: parseInt(amount), diff --git a/src/routes/(app)/send/zap/[id]/[...amount]/+page.svelte b/src/routes/(app)/send/zap/[id]/[...amount]/+page.svelte index 21090d23..98e0d8c8 100644 --- a/src/routes/(app)/send/zap/[id]/[...amount]/+page.svelte +++ b/src/routes/(app)/send/zap/[id]/[...amount]/+page.svelte @@ -29,8 +29,8 @@ try { loading = false; event = await sign(request); - let { pr: payreq } = await post("/api/zap", { event }); - await post("/api/payments", { amount, payreq, pin: $pin }); + let { pr: payreq } = await post("/zap", { event }); + await post("/payments", { amount, payreq, pin: $pin }); goto(`/e/${id}`); } catch (e: any) { console.log(e); diff --git a/src/routes/(app)/settings/+layout.svelte b/src/routes/(app)/settings/+layout.svelte index 2b3de9f5..d447f9e3 100644 --- a/src/routes/(app)/settings/+layout.svelte +++ b/src/routes/(app)/settings/+layout.svelte @@ -195,7 +195,7 @@ user.verified = false; - await post("/api/request", { email }); + await post("/request", { email }); warning($t("user.settings.verifying"), false); } catch (e: any) { diff --git a/src/routes/(app)/settings/account/+page.svelte b/src/routes/(app)/settings/account/+page.svelte index fb8a9538..115f46c5 100644 --- a/src/routes/(app)/settings/account/+page.svelte +++ b/src/routes/(app)/settings/account/+page.svelte @@ -58,7 +58,7 @@ } if (subscription) { - await post("/api/subscription", { subscription }); + await post("/subscription", { subscription }); } }; run(() => { diff --git a/src/routes/(app)/settings/security/+page.svelte b/src/routes/(app)/settings/security/+page.svelte index 6ba91240..6e779eb8 100644 --- a/src/routes/(app)/settings/security/+page.svelte +++ b/src/routes/(app)/settings/security/+page.svelte @@ -136,7 +136,7 @@ let enable2fa = async (twoFa?: any) => { try { if (setting2fa && token && token.length === 6) { - await post("/api/2fa", { token }); + await post("/2fa", { token }); success("2FA enabled"); user.twofa = 1; cancel(); @@ -150,7 +150,7 @@ let disable2fa = async (_?: any) => { try { if (disabling2fa && token && token.length === 6) { - await post("/api/disable2fa", { token }); + await post("/disable2fa", { token }); success("2FA disabled"); delete user.twofa; disabling2fa = false; diff --git a/src/routes/(app)/tag/[tag]/+page.svelte b/src/routes/(app)/tag/[tag]/+page.svelte index 6446c265..a811e8fa 100644 --- a/src/routes/(app)/tag/[tag]/+page.svelte +++ b/src/routes/(app)/tag/[tag]/+page.svelte @@ -27,7 +27,7 @@ async onevent(event: any) { if (paused) return; if (events.find((e) => e.id === event.id)) return; - const { parts, names } = await post("/api/parseEvent", { event }); + const { parts, names } = await post("/parseEvent", { event }); event.author = await get(`/api/users/${event.pubkey}`); event.parts = parts; event.names = names; diff --git a/src/routes/(static)/register/auth/+page.svelte b/src/routes/(static)/register/auth/+page.svelte index c45d63f6..0aeee6de 100644 --- a/src/routes/(static)/register/auth/+page.svelte +++ b/src/routes/(static)/register/auth/+page.svelte @@ -174,7 +174,7 @@ console.log("Nostr key derivation failed", e); } - await post("/api/user", nostrPubkey ? { encryptedKeys, pubkey: nostrPubkey } : { encryptedKeys }); + await post("/user", nostrPubkey ? { encryptedKeys, pubkey: nostrPubkey } : { encryptedKeys }); } catch (e) { console.log("Canonical key generation failed", e); } @@ -269,14 +269,7 @@ // Clean up the account created by passkeyCreate if passkey registration failed if (passkeyToken) { try { - await fetch("/api/user/delete", { - method: "POST", - headers: { - "Content-Type": "application/json", - authorization: `Bearer ${passkeyToken}`, - }, - body: JSON.stringify({}), - }); + await post("/user/delete", {}, { authorization: `Bearer ${passkeyToken}` }); } catch {} } if (e.name !== "NotAllowedError") { diff --git a/src/routes/(static)/support/+page.svelte b/src/routes/(static)/support/+page.svelte index 6af80f86..a7316129 100644 --- a/src/routes/(static)/support/+page.svelte +++ b/src/routes/(static)/support/+page.svelte @@ -31,7 +31,7 @@ let submit = (e: any) => { e.preventDefault(); if (isTor) { - post("/api/email", { + post("/email", { username: user?.username || `${username} (unverified)`, email, message, @@ -43,7 +43,7 @@ } grecaptcha.ready(() => { grecaptcha.execute(recaptchaSiteKey, { action: "submit" }).then((token) => - post("/api/email", { + post("/email", { username: user?.username || `${username} (unverified)`, email, message, |
