aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2022-12-20 12:25:20 -0800
committerAdam Soltys <[email protected]>2022-12-20 12:25:23 -0800
commit9c7ed38d45ec2740d8beb0d5630ecb525243a66b (patch)
treec021950414623453cb56439dcb707ddfbfd65960
parent64853b801688edf7a8858b7c1135502e5882823c (diff)
downloadcoinos-ui-9c7ed38d45ec2740d8beb0d5630ecb525243a66b.tar.gz
coinos-ui-9c7ed38d45ec2740d8beb0d5630ecb525243a66b.zip
nostr feed
-rw-r--r--package.json1
-rw-r--r--pnpm-lock.yaml57
-rw-r--r--src/components/Avatar.svelte6
-rw-r--r--src/lib/runners.js79
-rw-r--r--src/lib/socket.js23
-rw-r--r--src/lib/store.js1
-rw-r--r--src/routes/(app)/feed/+page.svelte49
-rw-r--r--src/routes/(static)/+layout.svelte2
-rw-r--r--src/routes/(static)/docs/+page.svelte6
-rw-r--r--src/routes/+page.svelte1
10 files changed, 201 insertions, 24 deletions
diff --git a/package.json b/package.json
index 341c6c88..d6e0dc4c 100644
--- a/package.json
+++ b/package.json
@@ -31,6 +31,7 @@
"svelte-outclick": "^3.2.0",
"svelte-pincode": "^2.2.0",
"svelte-preprocess": "^4.10.7",
+ "svelte-virtual-scroll-list": "^1.1.0",
"sveltekit-i18n": "^2.2.2",
"tailwindcss": "^3.2.4",
"vite": "~3.2.4"
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index dbb78d15..d5f15019 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -22,12 +22,13 @@ specifiers:
svelte-outclick: ^3.2.0
svelte-pincode: ^2.2.0
svelte-preprocess: ^4.10.7
+ svelte-virtual-scroll-list: ^1.1.0
sveltekit-i18n: ^2.2.2
tailwindcss: ^3.2.4
vite: ~3.2.4
devDependencies:
- '@sveltejs/adapter-node': 1.0.0-next.101
+ '@sveltejs/adapter-node': 1.0.0-next.106_zm7dem4zfy4fmufbczhdmz6r6y
'@zerodevx/svelte-toast': 0.7.2
autoprefixer: [email protected]
@@ -48,6 +49,7 @@ devDependencies:
svelte-outclick: 3.2.0
svelte-pincode: 2.2.0
svelte-preprocess: 4.10.7_mocwzvuqzrhb37u7s4hjvvzl3i
+ svelte-virtual-scroll-list: [email protected]
sveltekit-i18n: [email protected]
tailwindcss: [email protected]
vite: 3.2.4
@@ -97,7 +99,7 @@ packages:
resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==}
dev: true
- /@rollup/plugin-commonjs/[email protected]:
+ /@rollup/plugin-commonjs/[email protected]:
resolution: {integrity: sha512-e9ThuiRf93YlVxc4qNIurvv+Hp9dnD+4PjOqQs5vAYfcZ3+AXSrcdzXnVjWxcGQOa6KGJFcRZyUI3ktWLavFjg==}
engines: {node: '>=14.0.0'}
peerDependencies:
@@ -106,16 +108,16 @@ packages:
rollup:
optional: true
dependencies:
- '@rollup/pluginutils': [email protected]
+ '@rollup/pluginutils': [email protected]
commondir: 1.0.1
estree-walker: 2.0.2
glob: 8.0.3
is-reference: 1.2.1
magic-string: 0.26.7
- rollup: 2.79.1
+ rollup: 3.7.5
dev: true
- /@rollup/plugin-json/[email protected]:
+ /@rollup/plugin-json/[email protected]:
resolution: {integrity: sha512-QCwhZZLvM8nRcTHyR1vOgyTMiAnjiNj1ebD/BMRvbO1oc/z14lZH6PfxXeegee2B6mky/u9fia4fxRM4TqrUaw==}
engines: {node: '>=14.0.0'}
peerDependencies:
@@ -124,11 +126,11 @@ packages:
rollup:
optional: true
dependencies:
- '@rollup/pluginutils': [email protected]
- rollup: 2.79.1
+ '@rollup/pluginutils': [email protected]
+ rollup: 3.7.5
dev: true
- /@rollup/plugin-node-resolve/[email protected]:
+ /@rollup/plugin-node-resolve/[email protected]:
resolution: {integrity: sha512-ReY88T7JhJjeRVbfCyNj+NXAG3IIsVMsX9b5/9jC98dRP8/yxlZdz7mHZbHk5zHr24wZZICS5AcXsFZAXYUQEg==}
engines: {node: '>=14.0.0'}
peerDependencies:
@@ -137,16 +139,16 @@ packages:
rollup:
optional: true
dependencies:
- '@rollup/pluginutils': [email protected]
+ '@rollup/pluginutils': [email protected]
'@types/resolve': 1.20.2
deepmerge: 4.2.2
is-builtin-module: 3.2.0
is-module: 1.0.0
resolve: 1.22.1
- rollup: 2.79.1
+ rollup: 3.7.5
dev: true
- /@rollup/pluginutils/[email protected]:
+ /@rollup/pluginutils/[email protected]:
resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==}
engines: {node: '>=14.0.0'}
peerDependencies:
@@ -158,16 +160,19 @@ packages:
'@types/estree': 1.0.0
estree-walker: 2.0.2
picomatch: 2.3.1
- rollup: 2.79.1
+ rollup: 3.7.5
dev: true
- /@sveltejs/adapter-node/1.0.0-next.101:
- resolution: {integrity: sha512-gtg/b0dbDvd5TvTRsmthFSd/q9Gd+hVuq6uP0XqYgRKKXJw0tr9kNlnDNJ8HQMueo5ccHHUmOQYGV1vGR2zG0A==}
+ /@sveltejs/adapter-node/1.0.0-next.106_zm7dem4zfy4fmufbczhdmz6r6y:
+ resolution: {integrity: sha512-HByOyp9Y9PUWpdk9Yj5OtUGASFiDT5Fly+YrEtFOsm/TQBbcHKS/L0oNPRB6H1Qw9il2QMfbLs7iuaOjTsxg1A==}
+ peerDependencies:
+ '@sveltejs/kit': ^1.0.0-next.587
dependencies:
- '@rollup/plugin-commonjs': [email protected]
- '@rollup/plugin-json': [email protected]
- '@rollup/plugin-node-resolve': [email protected]
- rollup: 2.79.1
+ '@rollup/plugin-commonjs': [email protected]
+ '@rollup/plugin-json': [email protected]
+ '@rollup/plugin-node-resolve': [email protected]
+ rollup: 3.7.5
dev: true
@@ -1386,6 +1391,14 @@ packages:
fsevents: 2.3.2
dev: true
+ /rollup/3.7.5:
+ resolution: {integrity: sha512-z0ZbqHBtS/et2EEUKMrAl2CoSdwN7ZPzL17UMiKN9RjjqHShTlv7F9J6ZJZJNREYjBh3TvBrdfjkFDIXFNeuiQ==}
+ engines: {node: '>=14.18.0', npm: '>=8.0.0'}
+ hasBin: true
+ optionalDependencies:
+ fsevents: 2.3.2
+ dev: true
+
/run-parallel/1.2.0:
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
dependencies:
@@ -1570,6 +1583,14 @@ packages:
svelte: 3.53.1
dev: true
+ /svelte-virtual-scroll-list/[email protected]:
+ resolution: {integrity: sha512-GFaBhD9izv77xgJTyFMD1MP+ElGMUGMC9CDCM+uX9hkZIYipNS6u8oDMYDGwCXUw7QGEihU4yLmBvBSeBp78uw==}
+ peerDependencies:
+ svelte: ^3.0.0
+ dependencies:
+ svelte: 3.53.1
+ dev: true
+
/svelte/3.53.1:
resolution: {integrity: sha512-Q4/hHkktZogGhN5iqxqSi9sjEVoe/NbIxX4hXEHoasTxj+TxEQVAq66LnDMdAZxjmsodkoI5F3slqsS68U7FNw==}
engines: {node: '>= 8'}
diff --git a/src/components/Avatar.svelte b/src/components/Avatar.svelte
index d636416d..cfbec54f 100644
--- a/src/components/Avatar.svelte
+++ b/src/components/Avatar.svelte
@@ -5,10 +5,12 @@
export let user;
export let size = 32;
export let disabled = false;
+ export let src;
+
$: s = size.toString();
</script>
-<a href={`/${user.username}`} class:pointer-events-none={disabled}>
+<a href={`/${user ? user.username : ''}`} class:pointer-events-none={disabled}>
<div
class="w-{s} h-{s} rounded-full border-4 border-white overflow-hidden bg-gradient-to-r {$colorTheme} flex justify-center items-center"
>
@@ -18,6 +20,8 @@
class="w-full h-full object-cover object-center overflow-hidden"
alt={user.username}
/>
+ {:else if src}
+ <img {src} class="w-full h-full object-cover object-center overflow-hidden" alt="Avatar" />
{:else}
<Icon icon="logo-symbol-white" style="w-4/5" />
{/if}
diff --git a/src/lib/runners.js b/src/lib/runners.js
new file mode 100644
index 00000000..363594d2
--- /dev/null
+++ b/src/lib/runners.js
@@ -0,0 +1,79 @@
+export default [
+ 'Qma97iPUioF6VcpjYhFiSFHqsGkAVgTMqbQ1GVehM2pp4C.webp',
+ 'QmagBTQuuUk1M1NLynLNyQkYC7DsUiiFSAU1evW37SRSwx.webp',
+ 'QmbeKTXKLVj93h3YWj982fk1enGKQnhK8AtBYmPn4wY7dZ.webp',
+ 'QmbK8cqgzG5hrWaiUpUbzdgVyE794FBwtom2b7iAgiXQSH.webp',
+ 'QmbWXGrxDE9y651Vv9MgrogKto7u3Ybyh4WMULronJwNnr.webp',
+ 'QmbxFA62kwH5oXUbjvF2Gd2F5GGB3QPBzgW6RBUSw8pZzh.webp',
+ 'Qmc7PyW1wQFnj21A87xcuicwipCvaH8A77o9jaY9zgmana.webp',
+ 'QmcicA4dudWA373vnchnSVGe38UiyB6dqxqoEsyX3KrJzQ.webp',
+ 'QmcSy2SDhKYkNLonwEKVab3bR24AHAbMwDwQ16e4trmjpX.webp',
+ 'Qmd8afMsK5FZsDmuARphzCP3mpDa57f8FzMF9bHPSywwXB.webp',
+ 'QmdjPgJyjj3Pm1LTixswHUMFfgmG3uFxvjNC36qWVENmZ5.webp',
+ 'Qme1VjBDnswkW8kk88aoFxaRTNRLRdbkz7YqWKWZby1jE3.webp',
+ 'Qme9dxEfyn8pzt1g6PZZphUoFWnYjg2LMfF5drb2K2iLNF.webp',
+ 'QmeddNU7LGkfmzXzvepChaVxRJvZGAG8vvthLChDC2tEYj.webp',
+ 'QmedXmb6nLU7pYbyRknyZ1SvdZwKPjjpm2zVRtYpy7otXx.webp',
+ 'QmefpdjwVZUJvLzGKxKoygtmXN6GHr8nr4o4jNpzdwCXEu.webp',
+ 'QmehU24Epg96y4ZUabrW6qj4eLQH9QBV6k4c9aRM8xy2AT.webp',
+ 'QmeioKyTRUYkQqJUuxrwffmv16WwpA1cVDVFmsZzY3NNaW.webp',
+ 'QmeMawqD5VBcpxodUbhFFSNRxPEGoFKS7jhTbFCayNvNBn.webp',
+ 'QmeMvib26HHuZeib7Wp4juU5WioyDRTuSu4WDCmjkTXQx1.webp',
+ 'QmeW63YBirM8snAhRoDhWHQEv6QKNRFg66wZpphb9bPXrH.webp',
+ 'QmfBT4ZfpyjZGKfQfpEeHXCio8AemckucF8maKWvgNmeJt.webp',
+ 'QmfFk5p2m67Nnw4dy5bt3DK3XEYxscACJDAEAFi1CdvSmk.webp',
+ 'QmfMsRyPxGrWiQhyS3UQqUVbMZWn5VASkwtRYypqMLX9te.webp',
+ 'QmfNKusvYqWVyG5Zz3N51ujU9qhYH1F6sbDxz55pYfj3Xr.webp',
+ 'QmfXzwHuSG1VscFDArZumVALCAisdHqHuetxwY51Pda1NU.webp',
+ 'QmNatn6kdBZtNbSXcP6v4B9dgjqiubTbWRKYBSM1zQGgyS.webp',
+ 'QmNWrLehxdsRozLCgcmuGMFPn5Ns1VqQmJuGnGUujaQtmd.webp',
+ 'QmNxyEoaFMoAWtWbFMF3MyWtUDWMAYxGRGYzyy5LtyP9K3.webp',
+ 'QmPfgfagqM9R9tWWYBSEhaZr1NP1XZYtBXkUYorCMBZwjK.webp',
+ 'QmPkLz8DG83AN9jtSq5ECxpkZnhsugW2wmDMBDUbj3Y739.webp',
+ 'QmPNZ6aVvENjB9g3ujaqxTMjQ9NhYZpZk9A6VgC5YLJDHA.webp',
+ 'QmQ37PgXP5rNU1udKjiy4VmzjwjgBgfNzwSVENdCZvvjuF.webp',
+ 'QmQfEcHQXxpEw5NVvsxC69MHPqQ77cNgW9Gk4KyYbD6qAB.webp',
+ 'QmQGSZV3nJudGuEZTGAtoj2xaQ9shButYNG9YJRN9hydCT.webp',
+ 'QmQGwJXCtNjc84uMLtyNjoGjqu1mtbiMcydVuSMWCrJYg3.webp',
+ 'QmQNBhQuvor1RigscMF5nUk9LHz4pGJwXpFE3WAGQFi31H.webp',
+ 'QmQutjFQni2fwVBLJWJZJxdjiy6HRGaJY878ZZYBVP2gwD.webp',
+ 'QmQwCerH77D2xmvKKRtAQkxwJ4rGFqKXPd5q8QqY6DyxWw.webp',
+ 'QmRdcJmvem9gdYpNcsXhsZpZ5CShrce22QCDVV7bP3mAWa.webp',
+ 'QmRgz9FE5awn4B59tgNfPeWPNMBchAChxNQxxGSXphjzUr.webp',
+ 'QmRLFwrM89hW9UYbwsFMAohcAruMZQhzTHrgNQr6GGFdwa.webp',
+ 'QmRsNUKTzAkamrs336zoWGRyR1vK9tA237MLPMV7uN8yPK.webp',
+ 'QmRXxrfQ4PjDCpR5ABpMVpv9HrkoaCAqTewMbz14tCQhSD.webp',
+ 'QmSg5eyj1hYRTf9Y5XP9iErHeN55RkvgNF9NdKkiv1qSaw.webp',
+ 'QmSkRtY1FoQCgHhc5o6QNwufBHCv5sS9ZTHcQ2U3qbj5RX.webp',
+ 'QmSroPbEoFMGWrfqe55jpgHoiuDaiGj4FLqrxi7cjZz2nZ.webp',
+ 'QmSYJj61VGBSaNGGen7nmwdmxtAEHj3nAev5hzy7sKQvxR.webp',
+ 'QmTByAPptSDbHZsJRd52RgCcxhpXFdq4ppFTnSZ7U6ytpi.webp',
+ 'QmUCNzXjPpR4ZCTJTvMpphYktEsvQ8GLQQiTKd1s7QGiGY.webp',
+ 'QmUmbAD837VXSaswskCcgdqQ4UuMPC35bQHJCr7GovPmaZ.webp',
+ 'QmUnTpgH1WmzHYhtMtsLggPrNKkvwDfWaGzQzfpghveVCY.webp',
+ 'QmUNZkQPLUwz8cvmUtdC5PTmas7bxhGctB6HucPeC9MjSU.webp',
+ 'QmUqgre9anYKfmdSwH5N7S6ueoci8Q58TcfPaLGpumLKs1.webp',
+ 'QmV3w7aXh6NGiB8YH3Jbo5cNy8o6t8u2KRgaSUVds2jhu1.webp',
+ 'QmVMf9MY7t29gmuVpusuHX5WGQSm4xyZ7sb3Cc1nJq3WTr.webp',
+ 'QmVpVAijTi6NaVfn2rmYoQ6idu82UB8sXGADpyfHrNvSZu.webp',
+ 'QmW1UPkwVgU8QCWiEPyoJoBqzTm1jRPuC8LyW158x4pnAA.webp',
+ 'QmW8z18VErUt8LvT6r28piJzKvZTbiAHD9GG5nTLd4KYCE.webp',
+ 'QmWaJhEtvFh114pBxfEkX9giS7usg49tK4dsWgHvwPeVzu.webp',
+ 'QmWiJAyFRrTSwVAMB3hhD1cKZGz8HTt844u3ibcRqQPTje.webp',
+ 'QmWMFkLBYREzfcbuznpYXtgR6LEyxFDgNsnHRn4bELszem.webp',
+ 'QmWU9QJU8p6hUzanPakPF5QaZtSf5CF5vCHHkwNyYJNGAN.webp',
+ 'QmWYgYnUYw6pYzaQ9j8DYsTydYtJNZ3L6FRZQzW4bWnP7E.webp',
+ 'QmXBm6r15Lj1g8eABA8CqytV829kxANtYj3mqvWPmx5jSi.webp',
+ 'QmXCAUh3MpDFZ3u3MnWcosBzKv8vfaxMsKvqm7AGbdwdei.webp',
+ 'QmXip2hTHZcuxAyg82gQsiSddZmHXY7d557RC1UURMtrer.webp',
+ 'QmXVrUBK4YDGfqpK9fED2Tk6ghzjbjsDo7Ss77QrntoDFq.webp',
+ 'QmYp51YmcALY2v31pa55sviwawkopQ3VC1kbA57LKsjE8w.webp',
+ 'QmYzPXHdRqALFic8hBEc8NcdB6UJM5Xw3qMuCvWFAMJdb1.webp',
+ 'QmZgPvTiuiVAymjNpfVNVFkbc7z6r2Nk2sdEtFQJ79wH3o.webp',
+ 'QmZgQideTeAq8tm58Yg5dSy1HMDg9r5ULv82GzyNYWackh.webp',
+ 'QmZHgKSucFxJjhsVVYh6iqAKdFw66KPFiTHsSsbXWL4cJW.webp',
+ 'QmZPe1aMGyJK76T5hqknVv9N8JyGkjsgDBbTKjdKrNTKrS.webp',
+ 'QmZrUF8DcagN8AGawoz8vGKcBxKdfaeaFgsd7A52zRzuH5.webp',
+ 'QmZuwrCX6xqibVY5WDRAjcx3tDHsRX1KdWZuncHjrH4hkS.webp',
+ 'QmZXNZpEXTMwkpgx5kJ8VQhFeV3ksn6JsiZhX3sACVD3rX.webp'
+];
diff --git a/src/lib/socket.js b/src/lib/socket.js
index 95b4a512..43f6c386 100644
--- a/src/lib/socket.js
+++ b/src/lib/socket.js
@@ -1,10 +1,23 @@
import { get } from 'svelte/store';
-import { invoices, invoice, request, newPayment, last, rate, txns, user } from '$lib/store';
+import {
+ events as $events,
+ invoices,
+ invoice,
+ request,
+ newPayment,
+ last,
+ rate,
+ txns,
+ user
+} from '$lib/store';
import { success, sat } from '$lib/utils';
import { PUBLIC_SOCKET } from '$env/static/public';
import { invalidate } from '$app/navigation';
let socket, token;
+let events = get($events);
+delete events.q;
+events.q = Object.keys(events);
export const auth = () => token && send('login', token) && send('heartbeat');
@@ -22,6 +35,14 @@ export const messages = (data) => ({
invoice.set(data);
},
+ event() {
+ data.seen = Math.round(Date.now() / 1000);
+ events[data.id] = data;
+ events.q.push(data.id);
+ $events.set(events);
+ if (events.q.length > 1000) events.delete[events.q.shift()];
+ },
+
rate() {
rate.set(data);
},
diff --git a/src/lib/store.js b/src/lib/store.js
index 342bdc40..df1525d3 100644
--- a/src/lib/store.js
+++ b/src/lib/store.js
@@ -47,3 +47,4 @@ export const last = writable();
export const request = writable();
export const invoice = writable();
export const txns = persistLocal('transactions', []);
+export const events = persistLocal('events', {});
diff --git a/src/routes/(app)/feed/+page.svelte b/src/routes/(app)/feed/+page.svelte
new file mode 100644
index 00000000..196763f6
--- /dev/null
+++ b/src/routes/(app)/feed/+page.svelte
@@ -0,0 +1,49 @@
+<script>
+ import { fade } from 'svelte/transition';
+ import { Avatar, Icon } from '$comp';
+ import { format, parseISO } from 'date-fns';
+ import { t } from '$lib/translations';
+ import { events } from '$lib/store';
+ import VirtualScroll from 'svelte-virtual-scroll-list';
+ import { browser } from '$app/environment';
+ import runners from '$lib/runners';
+
+ export let data;
+ let { user } = data;
+ let runner = () => runners[Math.floor(Math.random() * runners.length)];
+
+ $: length = $events?.q?.length;
+ $: sorted = Object.values($events)
+ .filter((ev) => ev?.pubkey)
+ .sort((a, b) => b.seen - a.seen);
+</script>
+
+<div class="mt-24 mb-20">
+ <h1 class="px-3 md:px-0 text-center text-3xl md:text-4xl font-semibold mb-10">Nostr</h1>
+
+ <div class="container w-full mx-auto text-lg px-4 max-w-2xl space-y-5">
+ <div class="vs">
+ {#if browser}
+ <VirtualScroll data={sorted} key="id" let:data pageMode={true}>
+ <div class="grid grid-cols-3 border-b pb-5" :key={data.id} use:fade>
+ <div class="my-auto text-secondary">
+ <div class="flex">
+ <div class="my-auto">
+ <Avatar size={20} src={`/api/public/runners/${runner()}`} />
+ </div>
+ <div class="my-auto ml-1">
+ {data.pubkey.substr(0, 6)}<br />
+ <span class="text-sm">{format(new Date(data.seen * 1000), 'h:mm aaa')}</span>
+ </div>
+ </div>
+ </div>
+
+ <div class="my-auto col-span-2">
+ <div class="text-secondary break-words">{data.content}</div>
+ </div>
+ </div>
+ </VirtualScroll>
+ {/if}
+ </div>
+ </div>
+</div>
diff --git a/src/routes/(static)/+layout.svelte b/src/routes/(static)/+layout.svelte
index 2eb47149..a7a1ab22 100644
--- a/src/routes/(static)/+layout.svelte
+++ b/src/routes/(static)/+layout.svelte
@@ -1,3 +1,3 @@
<main class="container flex px-10 md:px-40 mx-auto">
-<slot />
+ <slot />
</main>
diff --git a/src/routes/(static)/docs/+page.svelte b/src/routes/(static)/docs/+page.svelte
index 5361c87e..0e11decb 100644
--- a/src/routes/(static)/docs/+page.svelte
+++ b/src/routes/(static)/docs/+page.svelte
@@ -1,5 +1,6 @@
<h1>API Examples</h1>
-<pre><code class="whitespace-pre-wrap">{`
+<pre><code class="whitespace-pre-wrap"
+ >{`
api="https://coinos.io/api"
json="Content-Type: application/json"
@@ -71,4 +72,5 @@ fee=$(echo $tx | jq -r .tx.fee)
curl -s "$api/bitcoin/send" -H "$json" -H "$auth" -d '{"address": "bc1qqc9azhdjjpdxenrndt8cw4tw9del5pyrjn0wln", "tx": { "hex": "'$hex'", "fee": "'$fee'" }}' | jq -r '{ amount, fee, balance: (.account.balance)}'
echo ""
-`}</code></pre>
+`}</code
+ ></pre>
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
index bf191b7f..2db2854a 100644
--- a/src/routes/+page.svelte
+++ b/src/routes/+page.svelte
@@ -17,7 +17,6 @@
export let data;
let { user } = data;
let { locations } = data;
- console.log('LOCATIONS', locations);
let howItWorks;
let faq;