diff options
| author | Adam Soltys <[email protected]> | 2025-05-06 22:13:34 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2025-05-06 22:13:34 -0700 |
| commit | 37abfe39f9ffbd7f3d55b6f4248a329e3cf7c4f4 (patch) | |
| tree | 84a5ea8e48b5c047f6a956658bdfae02f2d63b84 /src/routes | |
| parent | 82044b824495def206e74f46bd58b4351ec5a678 (diff) | |
| download | coinos-ui-37abfe39f9ffbd7f3d55b6f4248a329e3cf7c4f4.tar.gz coinos-ui-37abfe39f9ffbd7f3d55b6f4248a329e3cf7c4f4.zip | |
account for subtracted fees
Diffstat (limited to 'src/routes')
3 files changed, 22 insertions, 7 deletions
diff --git a/src/routes/(app)/send/bitcoin/[address]/+page.svelte b/src/routes/(app)/send/bitcoin/[address]/+page.svelte index 060473ec..154534a7 100644 --- a/src/routes/(app)/send/bitcoin/[address]/+page.svelte +++ b/src/routes/(app)/send/bitcoin/[address]/+page.svelte @@ -1,4 +1,5 @@ <script> + import { tick } from "svelte"; import { t } from "$lib/translations"; import Icon from "$comp/Icon.svelte"; import Numpad from "$comp/Numpad.svelte"; @@ -13,13 +14,18 @@ let { currency, username } = user; let amount = $state(0); - let submit = $state(), fiat = $state(); + let a = $state(0); + let submit = $state(), + fiat = $state(); $effect(() => ($rate = data.rate)); + $effect(() => (amount = a)); - let setMax = (e) => { + let setMax = async (e) => { e.preventDefault(); fiat = false; amount = balance; + await tick(); + submit.click(); }; </script> @@ -28,7 +34,8 @@ <div class="text-xl text-secondary break-all">{address}</div> - <Numpad bind:amount bind:fiat {currency} {submit} bind:rate={$rate} /> + <div>{amount}</div> + <Numpad bind:amount={a} bind:fiat {currency} {submit} bind:rate={$rate} /> <div class="flex justify-center gap-2"> <button @@ -39,7 +46,12 @@ > <form action={`/send/bitcoin/${address}/${amount}`} class="contents"> - <button use:focus bind:this={submit} type="submit" class="btn !w-auto grow btn-accent"> + <button + use:focus + bind:this={submit} + type="submit" + class="btn !w-auto grow btn-accent" + > {$t("payments.next")} </button> </form> 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 5f20d1bd..ac883afd 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 @@ -11,8 +11,10 @@ export async function load({ const { user } = await parent(); const aid = cookies.get("aid") || user.id; + console.log("YO", amount, address, feeRate); + try { - const { fee, fees, inputs, ourfee, hex } = await post( + const { fee, fees, inputs, ourfee, hex, subtract } = await post( "/bitcoin/fee", { address, amount, feeRate, aid }, auth(cookies), @@ -29,6 +31,7 @@ export async function load({ feeRate, rate: rates[user.currency], ourfee, + subtract, 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 ad7a2da8..b86082f3 100644 --- a/src/routes/(app)/send/bitcoin/[address]/[amount]/[...feeRate]/+page.svelte +++ b/src/routes/(app)/send/bitcoin/[address]/[amount]/[...feeRate]/+page.svelte @@ -71,7 +71,7 @@ let toggle = () => (submitting = !submitting); - let { account, amount, address, message, fee, fees, ourfee, hex, inputs } = + let { account, amount, address, message, fee, fees, subtract, ourfee, hex, inputs } = $derived(data); let { feeRate } = $state(data); @@ -116,7 +116,7 @@ {:else} <div class="text-xl text-secondary break-all">{address}</div> - <Amount {amount} rate={$rate} {currency} /> + <Amount amount={subtract ? amount - fee - ourfee : amount} rate={$rate} {currency} /> <div class="text-center"> <h2 class="text-secondary text-lg">{$t("payments.networkFee")}</h2> |
