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 +- src/lib/invoice.js | 7 +- src/lib/utils.js | 9 +- src/locales/en.json | 2 +- src/routes/(app)/+error.svelte | 42 ------ src/routes/(app)/+layout.server.js | 4 + .../[username]/(profile)/messages/+page.svelte | 1 - .../[username]/payments/[...page]/+page.svelte | 10 +- .../[username]/receive/[...param]/+page.svelte | 4 +- .../[username]/settings/[...tab]/+page.server.js | 4 +- src/routes/(app)/invoice/[hash]/+page.svelte | 4 - src/routes/(app)/invoice/[hash]/tip/+page.svelte | 4 +- src/routes/(app)/ln/[lnurl]/+page.server.js | 4 +- src/routes/(app)/login/+page.server.js | 4 +- src/routes/(app)/payment/[id]/+page.svelte | 2 +- .../(app)/pot/[name]/withdraw/+page.server.js | 4 +- src/routes/(app)/register/+page.server.js | 4 +- src/routes/(app)/send/[...text]/+page.server.js | 4 +- src/routes/(app)/send/[uuid=uuid]/+page.server.js | 6 +- .../bitcoin/[address]/[...amount]/+page.server.js | 12 +- .../bitcoin/[address]/[...amount]/+page.svelte | 12 +- .../(app)/send/lightning/[payreq]/+page.server.js | 6 +- .../send/pot/[name]/[...amount]/+page.server.js | 4 +- .../user/[username]/[...amount]/+page.server.js | 6 +- src/routes/(app)/support/+page.server.js | 4 +- src/routes/(static)/docs/+page.svelte | 153 +++++++++++---------- src/routes/(static)/news/+page.svelte | 115 ---------------- 31 files changed, 215 insertions(+), 378 deletions(-) delete mode 100644 src/routes/(app)/+error.svelte delete mode 100644 src/routes/(static)/news/+page.svelte (limited to 'src') 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 @@ - -{#if $page.error.message.includes('not found') || $page.status === 404} - -{:else} -
-
- - - -
- -
-
-

- {$t('error.header')} -

- -

- {message}. If the problem persists, please - let us know. -

- - -
-
-
-{/if} diff --git a/src/routes/(app)/+layout.server.js b/src/routes/(app)/+layout.server.js index 0b76c973..1415bdca 100644 --- a/src/routes/(app)/+layout.server.js +++ b/src/routes/(app)/+layout.server.js @@ -15,6 +15,10 @@ export async function load({ cookies, request, url, params }) { } catch (e) {} } + if (user?.needsMigration) { + throw redirect(307, `/migrate`); + } + if (user && ['/', '/login', '/register'].includes(pathname) && request.method === 'GET') { console.log('dashboarding', pathname); throw redirect(307, `/${user.username}/dashboard`); diff --git a/src/routes/(app)/[username]/(profile)/messages/+page.svelte b/src/routes/(app)/[username]/(profile)/messages/+page.svelte index 47228015..00960534 100644 --- a/src/routes/(app)/[username]/(profile)/messages/+page.svelte +++ b/src/routes/(app)/[username]/(profile)/messages/+page.svelte @@ -12,7 +12,6 @@ import { calculateId } from 'nostr'; export let data; - export let form; let { newMessages, subject, user } = data; let input, pane; diff --git a/src/routes/(app)/[username]/payments/[...page]/+page.svelte b/src/routes/(app)/[username]/payments/[...page]/+page.svelte index 620aec84..551238cb 100644 --- a/src/routes/(app)/[username]/payments/[...page]/+page.svelte +++ b/src/routes/(app)/[username]/payments/[...page]/+page.svelte @@ -141,7 +141,7 @@
- + Pot
Pot
@@ -162,7 +162,7 @@
⚡️
{:else}
- + Bitcoin
{/if} @@ -201,10 +201,4 @@ .active * { @apply bg-black text-white border-black; } - - select { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - } diff --git a/src/routes/(app)/[username]/receive/[...param]/+page.svelte b/src/routes/(app)/[username]/receive/[...param]/+page.svelte index 47c507fa..13c65939 100644 --- a/src/routes/(app)/[username]/receive/[...param]/+page.svelte +++ b/src/routes/(app)/[username]/receive/[...param]/+page.svelte @@ -19,6 +19,7 @@ let { currency, username } = data.subject; let { user } = data; + let submit;
@@ -34,8 +35,9 @@
- +
- + - + +