From f1b3efe88204ba203667a8dd67ac8ab598af1959 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Wed, 25 Jan 2023 23:01:55 -0800 Subject: sveltekit 1.0 --- src/components/Footer.svelte | 2 +- src/components/Numpad.svelte | 149 +++++++++++++++++++---------------------- src/components/Password.svelte | 6 +- src/components/Pin.svelte | 3 +- src/components/Qr.svelte | 2 +- 5 files changed, 77 insertions(+), 85 deletions(-) (limited to 'src/components') diff --git a/src/components/Footer.svelte b/src/components/Footer.svelte index 82282465..a33716d4 100644 --- a/src/components/Footer.svelte +++ b/src/components/Footer.svelte @@ -9,7 +9,7 @@ ]; const companyLinks = [ - { url: '/news', titleID: 'news' }, + { url: '/docs', titleID: 'documentation' }, { url: '/support', titleID: 'support' }, { url: '/jobs', titleID: 'jobs' } ]; diff --git a/src/components/Numpad.svelte b/src/components/Numpad.svelte index 74844b71..d74255e0 100644 --- a/src/components/Numpad.svelte +++ b/src/components/Numpad.svelte @@ -6,7 +6,8 @@ export let amount, currency, - fiat = !amount; + fiat = !amount, + submit = undefined; export let amountFiat = amount ? amount * ($selectedRate / sats) : 0; @@ -88,44 +89,12 @@ } }; - function getCaretPosition(editableDiv) { - var caretPos = 0, - sel, - range; - if (window.getSelection) { - sel = window.getSelection(); - if (sel.rangeCount) { - range = sel.getRangeAt(0); - if (range.commonAncestorContainer.parentNode == editableDiv) { - caretPos = range.endOffset; - } - } - } else if (document.selection && document.selection.createRange) { - range = document.selection.createRange(); - if (range.parentElement() == editableDiv) { - var tempEl = document.createElement('span'); - editableDiv.insertBefore(tempEl, editableDiv.firstChild); - var tempRange = range.duplicate(); - tempRange.moveToElementText(tempEl); - tempRange.setEndPoint('EndToEnd', range); - caretPos = tempRange.text.length; - } - } - return caretPos; - } - - $: html = fiat ? f(amountFiat, currency) : s(amountSats); + $: html = fiat ? amountFiat : s(amountSats); let prev = ''; let input = (e) => { - if (amount > sats) { - if (fiat) amountFiat = (Math.round(sats * ($selectedRate / sats))).toString(); - else amountSats = sats; - return warning($t('user.receive.lessThan1BTCWarning')); - } - - if (prev === '0' && html.length === 2) { + if (prev === '0') { prev = ''; html = html.replace('0', ''); } @@ -133,25 +102,53 @@ let sel = getSelection(); let i = sel.focusOffset; - if (!fiat) amountSats = parseInt(html.replace(/,/g, '')); + let clean = html.substr(0,15) + .replace(/[^0-9.,]+/g, '') + .replace('.', 'F') + .replace(/\./g, '') + .replace('F', '.'); + + if (fiat) clean = clean.replace(',', ''); + if (clean !== html) { + html = clean; + i = html.length; + } + + if (amount > sats && html.length > prev.length) { + html = prev; + warning($t('user.receive.lessThan1BTCWarning')); + i--; + } + + if (fiat) { + amountFiat = html; + } else { + amountSats = parseInt(html.replace(/,/g, '')); + } + if (!amountSats) amountSats = null; setTimeout(() => { - let p = prev.split(',')[0].length; - if (html.length > prev.length && p === 3) i++; - if (html.length < prev.length && p === 1 && i > 1) i--; + if (!fiat) { + let p = prev.split(',')[0].length; + if (html.length > prev.length && p === 3) i++; + if (html.length < prev.length && p === 1 && i > 1) i--; + } let node = e.target.childNodes[0]; let range = document.createRange(); - range.setStart(node, i); - range.setEnd(node, i); + console.log('NODE', node, i); + if (node) { + range.setStart(node, i); + range.setEnd(node, i); - let sel = getSelection(); - sel.removeAllRanges(); - sel.addRange(range); + let sel = getSelection(); + sel.removeAllRanges(); + sel.addRange(range); + } - prev = html; + prev = html.toString(); }, 0); }; @@ -162,47 +159,41 @@ sel.removeAllRanges(); sel.addRange(range); }; + + let keydown = (e) => e.key === 'Enter' && (e.preventDefault() || submit.click());
- {#if fiat} -
{symbol}
-
- {:else} -
⚡️
-
- {/if} +
{fiat ? symbol : '⚡️'}
+
+
+
+ {fiat ? amountSatsConverted : amountFiatConverted} +
- {fiat ? amountSatsConverted : amountFiatConverted} -
diff --git a/src/components/Password.svelte b/src/components/Password.svelte index e21bdad1..95a52cac 100644 --- a/src/components/Password.svelte +++ b/src/components/Password.svelte @@ -1,6 +1,6 @@