From 505386adbad6a07285cfcd7e64a1b3e609c1c5e8 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Tue, 2 May 2023 14:09:51 -0700 Subject: nfc wip --- src/lib/utils.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/lib') diff --git a/src/lib/utils.js b/src/lib/utils.js index 5eef79fc..be26ee45 100644 --- a/src/lib/utils.js +++ b/src/lib/utils.js @@ -25,8 +25,9 @@ export let g = (url, fetch, headers) => } }); -export let get = (url, headers = {}) => - fetch(base + url, { headers }) +export let get = (url, headers = {}) => { + console.log("GETTING", browser, base, url); + return fetch(base + url, { headers }) .then(async (r) => { if (r.ok) return r.text(); throw new Error(await r.text()); @@ -38,6 +39,7 @@ export let get = (url, headers = {}) => return body; } }); +} export let post = (url, body, headers) => { headers = { ...headers, 'content-type': 'application/json', accept: 'application/json' }; -- cgit v1.2.3 From c167348afa3e754655ba46f91646ecc91309174b Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Wed, 3 May 2023 13:06:52 -0700 Subject: nfc wip --- src/lib/utils.js | 1 - .../(app)/[username]/card/[serial]/+page.server.js | 21 ++++++-- .../(app)/[username]/card/[serial]/+page.svelte | 38 ++++++++++++--- src/routes/(app)/pot/[name]/+page.svelte | 54 +++++++++++++++------ static/icons/nfc.svg | 1 + static/images/moneypot.jpg | Bin 0 -> 34030 bytes 6 files changed, 91 insertions(+), 24 deletions(-) create mode 100644 static/icons/nfc.svg create mode 100644 static/images/moneypot.jpg (limited to 'src/lib') diff --git a/src/lib/utils.js b/src/lib/utils.js index be26ee45..a91ef639 100644 --- a/src/lib/utils.js +++ b/src/lib/utils.js @@ -26,7 +26,6 @@ export let g = (url, fetch, headers) => }); export let get = (url, headers = {}) => { - console.log("GETTING", browser, base, url); return fetch(base + url, { headers }) .then(async (r) => { if (r.ok) return r.text(); diff --git a/src/routes/(app)/[username]/card/[serial]/+page.server.js b/src/routes/(app)/[username]/card/[serial]/+page.server.js index 49d7504c..72ce96d5 100644 --- a/src/routes/(app)/[username]/card/[serial]/+page.server.js +++ b/src/routes/(app)/[username]/card/[serial]/+page.server.js @@ -1,3 +1,18 @@ -export let load = async ({ params }) => { - return params; -} +import { auth, get } from '$lib/utils'; +import { redirect } from "@sveltejs/kit" + +export let load = async ({ cookies, params }) => { + let { serial } = params; + let pot; + try { + pot = await get(`/pot/${serial}`, auth(cookies)); + } catch (e) { + console.log(e); + } + + console.log('POT', pot); + + if (pot) throw redirect(307, `/pot/${serial}`); + + return params; +}; diff --git a/src/routes/(app)/[username]/card/[serial]/+page.svelte b/src/routes/(app)/[username]/card/[serial]/+page.svelte index e40554f2..aee3be28 100644 --- a/src/routes/(app)/[username]/card/[serial]/+page.svelte +++ b/src/routes/(app)/[username]/card/[serial]/+page.svelte @@ -1,9 +1,35 @@ -Card {serial} - -Balance {balance} +
+
+

Card {serial}

+
+ +
diff --git a/src/routes/(app)/pot/[name]/+page.svelte b/src/routes/(app)/pot/[name]/+page.svelte index 7b3d890b..653166c7 100644 --- a/src/routes/(app)/pot/[name]/+page.svelte +++ b/src/routes/(app)/pot/[name]/+page.svelte @@ -20,6 +20,9 @@ $: amountFiat = parseFloat(((amount * rate) / sats).toFixed(2)); $loginRedirect = $page.url.pathname; + + let show; + let toggle = () => (show = !show);
@@ -31,12 +34,15 @@
-
+
-

Public Pot

+ +

Money Pot

Anyone who knows the URL to this pot can add or take out funds

- {name} + {#if show} + {name} + {/if}

@@ -47,17 +53,37 @@

-
- - - - - - + +
+ +
{#each payments as p} diff --git a/static/icons/nfc.svg b/static/icons/nfc.svg new file mode 100644 index 00000000..3fa2de48 --- /dev/null +++ b/static/icons/nfc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/moneypot.jpg b/static/images/moneypot.jpg new file mode 100644 index 00000000..2084a99a Binary files /dev/null and b/static/images/moneypot.jpg differ -- cgit v1.2.3 From 43208081323a56f4603c6d94a0764be764516ec0 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Fri, 5 May 2023 08:12:23 -0700 Subject: nfc wip --- src/lib/store.js | 1 + src/routes/(app)/+layout.svelte | 10 +-- .../(app)/[username]/(profile)/+layout.svelte | 12 +-- src/routes/(app)/[username]/(profile)/+page.svelte | 65 +++++++-------- .../(app)/[username]/card/[serial]/+page.server.js | 2 - .../(app)/[username]/invoice/[hash]/+page.svelte | 39 ++++++++- .../[username]/invoice/[hash]/paid/+page.svelte | 2 +- .../[username]/payments/[...page]/+page.svelte | 6 +- src/routes/(app)/pot/[name]/+page.svelte | 91 +++++++++++++-------- .../(app)/pot/[name]/withdraw/+page.server.js | 2 +- src/routes/(app)/pot/[name]/withdraw/+page.svelte | 5 +- src/routes/(app)/pot/[name]/withdraw/+server.js | 6 ++ src/routes/(app)/send/invoice/[id]/+page.svelte | 19 +++++ src/routes/(app)/withdraw/+server.js | 1 + static/icons/nfc.svg | 14 +++- static/images/moneypot.png | Bin 0 -> 278763 bytes 16 files changed, 188 insertions(+), 87 deletions(-) create mode 100644 src/routes/(app)/pot/[name]/withdraw/+server.js create mode 100644 static/images/moneypot.png (limited to 'src/lib') diff --git a/src/lib/store.js b/src/lib/store.js index 4e88c90c..923bda52 100644 --- a/src/lib/store.js +++ b/src/lib/store.js @@ -52,3 +52,4 @@ export const request = writable(); export const requestRedirect = writable(); export const token = persistSession('token'); export const user = writable(); +export const ndef = writable(); diff --git a/src/routes/(app)/+layout.svelte b/src/routes/(app)/+layout.svelte index a0c981c1..cd8919e4 100644 --- a/src/routes/(app)/+layout.svelte +++ b/src/routes/(app)/+layout.svelte @@ -2,7 +2,7 @@ import { SvelteToast } from '@zerodevx/svelte-toast'; import { onDestroy, onMount } from 'svelte'; import { close, connect, send } from '$lib/socket'; - import { last, invoice, request, passwordPrompt, pin } from '$lib/store'; + import { last, invoice, request, ndef, passwordPrompt, pin } from '$lib/store'; import { page } from '$app/stores'; import { browser } from '$app/environment'; import { goto } from '$app/navigation'; @@ -35,14 +35,14 @@ expirePin(); try { - const ndef = new NDEFReader(); - await ndef.scan(); + $ndef = new NDEFReader(); + await $ndef.scan(); - ndef.addEventListener('readingerror', (e) => { + $ndef.addEventListener('readingerror', (e) => { console.log('nfc error', e); }); - ndef.addEventListener('reading', ({ message, serialNumber }) => { + $ndef.addEventListener('reading', ({ message, serialNumber }) => { goto(`/${user.username}/card/${serialNumber.replace(/:/g, '-')}`); }); } catch (error) { diff --git a/src/routes/(app)/[username]/(profile)/+layout.svelte b/src/routes/(app)/[username]/(profile)/+layout.svelte index df9b9ad8..fe12a124 100644 --- a/src/routes/(app)/[username]/(profile)/+layout.svelte +++ b/src/routes/(app)/[username]/(profile)/+layout.svelte @@ -46,18 +46,20 @@ let toggleBio = () => (hideBio = false); -
+