diff options
| author | Adam Soltys <[email protected]> | 2024-12-05 19:20:36 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2024-12-05 19:20:36 -0800 |
| commit | a9b44cbae79e9c01cff07964a45e1c7efa7fb241 (patch) | |
| tree | 5caa996fc2eca705fb793e79d63bfbf5f9f93e48 /src/routes/(app)/send/ecash | |
| parent | 6422ef30f14e1baf5d1995de69c777efcad77e32 (diff) | |
| download | coinos-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.ts | 7 | ||||
| -rw-r--r-- | src/routes/(app)/send/ecash/+page.svelte | 20 | ||||
| -rw-r--r-- | src/routes/(app)/send/ecash/[request]/+page.svelte | 4 |
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> |
