aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/Numpad.svelte
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2024-11-08 15:19:04 -0800
committerAdam Soltys <[email protected]>2024-11-08 15:19:04 -0800
commit84fb4b209a2650b2a93f3208ee9a23a44d8283c7 (patch)
tree8687566bd8eac12de99439d448773d8ce5dc34b4 /src/components/Numpad.svelte
parent32fcc461cd43c8907df5e306d520bb671307eab1 (diff)
downloadcoinos-ui-84fb4b209a2650b2a93f3208ee9a23a44d8283c7.tar.gz
coinos-ui-84fb4b209a2650b2a93f3208ee9a23a44d8283c7.zip
svelte 5 fixups
Diffstat (limited to 'src/components/Numpad.svelte')
-rw-r--r--src/components/Numpad.svelte55
1 files changed, 19 insertions, 36 deletions
diff --git a/src/components/Numpad.svelte b/src/components/Numpad.svelte
index 03c7c48f..07d1ef4c 100644
--- a/src/components/Numpad.svelte
+++ b/src/components/Numpad.svelte
@@ -1,33 +1,21 @@
-<script lang="ts">
- import { run, preventDefault, stopPropagation } from "svelte/legacy";
-
+<script>
import Left from "$comp/Left.svelte";
import Icon from "$comp/Icon.svelte";
import { f, s, focus, warning, sat, sats } from "$lib/utils";
import { t } from "$lib/translations";
- interface Props {
- amount: any;
- currency: any;
- element: any;
- fiat?: any;
- rate: any;
- submit?: any;
- amountFiat?: number;
- }
-
- let {
- amount = $bindable(),
+ export let amount,
currency,
- element = $bindable(),
- fiat = $bindable(!amount),
- rate = $bindable(),
- submit = undefined,
- amountFiat = $bindable(0),
- }: Props = $props();
+ element,
+ fiat = !amount,
+ rate,
+ submit = undefined;
+
+ export let amountFiat = 0;
let arrow = "<";
+ $: update(amount, amountFiat);
let update = (a, f) => {
if (fiat) {
amount = Math.round(f / (rate / sats));
@@ -114,6 +102,8 @@
}
};
+ $: html = fiat ? amountFiat : s(amount);
+
let prev = "";
let input = (e) => {
@@ -203,13 +193,6 @@
}
fiat = !fiat;
};
- run(() => {
- update(amount, amountFiat);
- });
- let html;
- run(() => {
- html = fiat ? amountFiat : s(amount);
- });
</script>
<div class="flex justify-center items-center">
@@ -225,17 +208,17 @@
use:focus
contenteditable
bind:innerHTML={html}
- onfocus={select}
- onblur={blur}
- oninput={input}
- onkeydown={keydown}
+ on:focus={select}
+ on:blur={blur}
+ on:input={input}
+ on:keydown={keydown}
class="outline-none my-auto"
bind:this={element}
- ></div>
+ />
</div>
<div
class="flex items-center justify-center text-2xl cursor-pointer"
- onclick={stopPropagation(preventDefault(swap))}
+ on:click|preventDefault|stopPropagation={swap}
>
{fiat ? "⚡️" + s(amount) : f(amountFiat, currency)}
</div>
@@ -247,7 +230,7 @@
<button
type="button"
class="btn"
- onclick={stopPropagation(preventDefault(() => handleInput(value)))}
+ on:click|preventDefault|stopPropagation={() => handleInput(value)}
>
<Left />
</button>
@@ -255,7 +238,7 @@
<button
type="button"
class="btn"
- onclick={stopPropagation(preventDefault(() => handleInput(value)))}
+ on:click|preventDefault|stopPropagation={() => handleInput(value)}
>{value}</button
>
{/if}