aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes/(app)/send/ecash
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/ecash
parent6422ef30f14e1baf5d1995de69c777efcad77e32 (diff)
downloadcoinos-ui-a9b44cbae79e9c01cff07964a45e1c7efa7fb241.tar.gz
coinos-ui-a9b44cbae79e9c01cff07964a45e1c7efa7fb241.zip
cached rates
Diffstat (limited to 'src/routes/(app)/send/ecash')
-rw-r--r--src/routes/(app)/send/ecash/+page.server.ts7
-rw-r--r--src/routes/(app)/send/ecash/+page.svelte20
-rw-r--r--src/routes/(app)/send/ecash/[request]/+page.svelte4
3 files changed, 17 insertions, 14 deletions
diff --git a/src/routes/(app)/send/ecash/+page.server.ts b/src/routes/(app)/send/ecash/+page.server.ts
index d65c0046..b290fb95 100644
--- a/src/routes/(app)/send/ecash/+page.server.ts
+++ b/src/routes/(app)/send/ecash/+page.server.ts
@@ -1,6 +1,13 @@
+import getRates from "$lib/rates";
import { auth, fd, post } from "$lib/utils";
import { error, redirect } from "@sveltejs/kit";
+export async function load({ parent }) {
+ const rates = await getRates();
+ const { user } = await parent();
+ return { rate: rates[user.currency] };
+}
+
export const actions = {
default: async ({ cookies, request }) => {
let id;
diff --git a/src/routes/(app)/send/ecash/+page.svelte b/src/routes/(app)/send/ecash/+page.svelte
index 5de8bee1..96ab5b02 100644
--- a/src/routes/(app)/send/ecash/+page.svelte
+++ b/src/routes/(app)/send/ecash/+page.svelte
@@ -1,6 +1,4 @@
<script>
- import { run, preventDefault } from 'svelte/legacy';
-
import { enhance, applyAction } from "$app/forms";
import { t } from "$lib/translations";
import Icon from "$comp/Icon.svelte";
@@ -13,24 +11,22 @@
let { data } = $props();
- let { rates, user } = data;
- let { balance, currency, username } = user;
+ let { user } = $derived(data);
+ let { balance, currency, username } = $derived(user);
let amount = $state(0);
- let submit = $state(), fiat = $state();
-
- let update = () => ($rate = data.rates[currency]);
+ let submit = $state(),
+ fiat = $state();
- let setMax = () => {
+ let setMax = (e) => {
+ e.preventDefault();
fiat = false;
amount = balance;
};
let submitting = $state();
let toggle = () => (submitting = !submitting);
- run(() => {
- update(data);
- });
+ $effect(() => ({ rate: $rate } = user));
</script>
<div class="container px-4 max-w-xl mx-auto space-y-5 text-center">
@@ -45,7 +41,7 @@
<button
type="button"
class="btn !w-auto grow"
- onclick={preventDefault(setMax)}
+ onclick={setMax}
disabled={submitting}
onkeydown={setMax}>Max ⚡️{s(balance)}</button
>
diff --git a/src/routes/(app)/send/ecash/[request]/+page.svelte b/src/routes/(app)/send/ecash/[request]/+page.svelte
index 1f950de0..3f75eee4 100644
--- a/src/routes/(app)/send/ecash/[request]/+page.svelte
+++ b/src/routes/(app)/send/ecash/[request]/+page.svelte
@@ -63,7 +63,7 @@
submitting = false;
};
- let { rates, recipient, req, user, type, target } = $derived({
+ let { recipient, req, user, type, target } = $derived({
...data,
...form,
});
@@ -73,7 +73,7 @@
let toggle = () => (show = !show);
let amount = $derived(form?.amount || data.req.amount);
- $effect(() => ($rate ||= rates[currency]));
+ $effect(() => ($rate ||= data.rate);
$effect(() => form && (submitting = false));
</script>