aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes/(app)/send/bitcoin
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2024-12-05 19:20:36 -0800
committerAdam Soltys <[email protected]>2024-12-05 19:20:36 -0800
commita9b44cbae79e9c01cff07964a45e1c7efa7fb241 (patch)
tree5caa996fc2eca705fb793e79d63bfbf5f9f93e48 /src/routes/(app)/send/bitcoin
parent6422ef30f14e1baf5d1995de69c777efcad77e32 (diff)
downloadcoinos-ui-a9b44cbae79e9c01cff07964a45e1c7efa7fb241.tar.gz
coinos-ui-a9b44cbae79e9c01cff07964a45e1c7efa7fb241.zip
cached rates
Diffstat (limited to 'src/routes/(app)/send/bitcoin')
-rw-r--r--src/routes/(app)/send/bitcoin/[address]/+page.server.ts7
-rw-r--r--src/routes/(app)/send/bitcoin/[address]/+page.svelte4
-rw-r--r--src/routes/(app)/send/bitcoin/[address]/[amount]/[...feeRate]/+page.server.ts10
-rw-r--r--src/routes/(app)/send/bitcoin/[address]/[amount]/[...feeRate]/+page.svelte19
4 files changed, 22 insertions, 18 deletions
diff --git a/src/routes/(app)/send/bitcoin/[address]/+page.server.ts b/src/routes/(app)/send/bitcoin/[address]/+page.server.ts
index f27d3fab..00429c1e 100644
--- a/src/routes/(app)/send/bitcoin/[address]/+page.server.ts
+++ b/src/routes/(app)/send/bitcoin/[address]/+page.server.ts
@@ -1,7 +1,10 @@
+import getRates from "$lib/rates";
import { auth, get } from "$lib/utils";
-export async function load({ cookies }) {
+export async function load({ cookies, parent }) {
+ const { user } = await parent();
+ const rates = await getRates();
const aid = cookies.get("aid");
const { balance } = await get(`/account/${aid}`, auth(cookies));
- return { balance };
+ return { balance, rate: rates[user.currency] };
}
diff --git a/src/routes/(app)/send/bitcoin/[address]/+page.svelte b/src/routes/(app)/send/bitcoin/[address]/+page.svelte
index c271543c..09caaa85 100644
--- a/src/routes/(app)/send/bitcoin/[address]/+page.svelte
+++ b/src/routes/(app)/send/bitcoin/[address]/+page.svelte
@@ -10,14 +10,14 @@
let { data } = $props();
- let { balance, rates, user } = data;
+ let { balance, user } = data;
let { address } = $page.params;
let { currency, username } = user;
let amount = $state(0);
let submit = $state(), fiat = $state();
- let update = () => ($rate = data.rates[currency]);
+ let update = () => ($rate = data.rate);
let setMax = () => {
fiat = false;
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 9156bf7b..ee38cbd3 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
@@ -1,8 +1,15 @@
+import getRates from "$lib/rates";
import { auth, fd, get, post } from "$lib/utils";
import { fail, redirect } from "@sveltejs/kit";
-export async function load({ params: { address, amount, feeRate }, cookies }) {
+export async function load({
+ params: { address, amount, feeRate },
+ cookies,
+ parent,
+}) {
const aid = cookies.get("aid");
+ const rates = await getRates();
+ const { user } = await parent();
try {
const { fee, fees, inputs, ourfee, hex } = await post(
@@ -20,6 +27,7 @@ export async function load({ params: { address, amount, feeRate }, cookies }) {
fee,
fees,
feeRate,
+ rate: rates[user.currency],
ourfee,
hex,
inputs,
diff --git a/src/routes/(app)/send/bitcoin/[address]/[amount]/[...feeRate]/+page.svelte b/src/routes/(app)/send/bitcoin/[address]/[amount]/[...feeRate]/+page.svelte
index 298280df..7d9b8f64 100644
--- a/src/routes/(app)/send/bitcoin/[address]/[amount]/[...feeRate]/+page.svelte
+++ b/src/routes/(app)/send/bitcoin/[address]/[amount]/[...feeRate]/+page.svelte
@@ -71,18 +71,8 @@
let toggle = () => (submitting = !submitting);
- let {
- account,
- amount,
- address,
- message,
- fee,
- fees,
- ourfee,
- rates,
- hex,
- inputs,
- } = $derived(data);
+ let { account, amount, address, message, fee, fees, ourfee, hex, inputs } =
+ $derived(data);
let { feeRate } = $state(data);
@@ -91,7 +81,10 @@
feeRate = feeRate
? closest(Object.values(fees), feeRate)
: fees.halfHourFee;
- if (!$rate) $rate = rates[currency];
+ });
+
+ $effect(() => {
+ if (!$rate) $rate = data.rate;
});
let { balance, currency } = data.user;