diff options
| author | Adam Soltys <[email protected]> | 2023-05-02 14:09:51 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2023-05-02 14:09:51 -0700 |
| commit | 505386adbad6a07285cfcd7e64a1b3e609c1c5e8 (patch) | |
| tree | 687beb156c8654b1b4fc3a63955ece6c65a1844e /src | |
| parent | b563ab987b0625cdd6d5d9152039d5eef70d69f1 (diff) | |
| download | coinos-ui-505386adbad6a07285cfcd7e64a1b3e609c1c5e8.tar.gz coinos-ui-505386adbad6a07285cfcd7e64a1b3e609c1c5e8.zip | |
nfc wip
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/utils.js | 6 | ||||
| -rw-r--r-- | src/routes/(app)/+layout.server.js | 1 | ||||
| -rw-r--r-- | src/routes/(app)/+layout.svelte | 18 | ||||
| -rw-r--r-- | src/routes/(app)/[username]/card/[serial]/+page.server.js | 3 | ||||
| -rw-r--r-- | src/routes/(app)/[username]/card/[serial]/+page.svelte | 9 | ||||
| -rw-r--r-- | src/routes/(app)/locations/+server.js | 12 | ||||
| -rw-r--r-- | src/routes/+layout.server.js (renamed from src/routes/+layout.js) | 4 | ||||
| -rw-r--r-- | src/routes/+layout.svelte | 4 | ||||
| -rw-r--r-- | src/routes/+page.svelte | 22 | ||||
| -rw-r--r-- | src/service-worker.js | 7 |
10 files changed, 44 insertions, 42 deletions
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' }; diff --git a/src/routes/(app)/+layout.server.js b/src/routes/(app)/+layout.server.js index e80e1e64..5200f572 100644 --- a/src/routes/(app)/+layout.server.js +++ b/src/routes/(app)/+layout.server.js @@ -34,6 +34,7 @@ export async function load({ cookies, request, url, params }) { throw redirect(307, `/${user.username}/generate`); try { + console.log("FETCH RATE"); rate = await get('/rate'); rates = await get('/rates'); } catch (e) { diff --git a/src/routes/(app)/+layout.svelte b/src/routes/(app)/+layout.svelte index 891de9ac..a0c981c1 100644 --- a/src/routes/(app)/+layout.svelte +++ b/src/routes/(app)/+layout.svelte @@ -21,7 +21,7 @@ ({ rate, user, subject, token, rates } = data); }; - onMount(() => { + onMount(async () => { let localStorageLocale = localStorage.getItem(localeLocalStorageKey); if (localStorageLocale) locale.set(localStorageLocale); @@ -30,8 +30,24 @@ }); if (browser) { + let log = console.log; checkSocket(); expirePin(); + + try { + const ndef = new NDEFReader(); + await ndef.scan(); + + ndef.addEventListener('readingerror', (e) => { + console.log('nfc error', e); + }); + + ndef.addEventListener('reading', ({ message, serialNumber }) => { + goto(`/${user.username}/card/${serialNumber.replace(/:/g, '-')}`); + }); + } catch (error) { + log('Argh! ' + error); + } } }); diff --git a/src/routes/(app)/[username]/card/[serial]/+page.server.js b/src/routes/(app)/[username]/card/[serial]/+page.server.js new file mode 100644 index 00000000..49d7504c --- /dev/null +++ b/src/routes/(app)/[username]/card/[serial]/+page.server.js @@ -0,0 +1,3 @@ +export let load = async ({ params }) => { + return params; +} diff --git a/src/routes/(app)/[username]/card/[serial]/+page.svelte b/src/routes/(app)/[username]/card/[serial]/+page.svelte new file mode 100644 index 00000000..e40554f2 --- /dev/null +++ b/src/routes/(app)/[username]/card/[serial]/+page.svelte @@ -0,0 +1,9 @@ +<script> + export let data; + let { serial } = data; + let balance = 0; +</script> + +Card {serial} + +Balance {balance} diff --git a/src/routes/(app)/locations/+server.js b/src/routes/(app)/locations/+server.js index dd9e984b..ba5affa3 100644 --- a/src/routes/(app)/locations/+server.js +++ b/src/routes/(app)/locations/+server.js @@ -4,12 +4,12 @@ import { json } from '@sveltejs/kit'; export async function GET({ fetch, setHeaders }) { let locations = []; - try { - ({ locations } = await get('/locations')); - setHeaders({ 'cache-control': 'public, max-age=600' }); - } catch (e) { - console.log('failed to fetch locations'); - } + // try { + // ({ locations } = await get('/locations')); + // setHeaders({ 'cache-control': 'public, max-age=600' }); + // } catch (e) { + // console.log('failed to fetch locations'); + // } return json({ locations }); } diff --git a/src/routes/+layout.js b/src/routes/+layout.server.js index add74f87..53be7741 100644 --- a/src/routes/+layout.js +++ b/src/routes/+layout.server.js @@ -1,8 +1,8 @@ import { loadTranslations, locale } from '$lib/translations'; export const load = async ({ url }) => { - const { pathname } = url; + const { host, pathname } = url; const defaultLocale = 'en'; // get from cookie, user session, ... const initLocale = locale.get() || defaultLocale; // set default if no locale already set await loadTranslations(initLocale, pathname); // keep this just before the `return` - return {}; + return { host, pathname }; }; diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index e1c3ff1e..6dc84349 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -1,8 +1,8 @@ <script> import '../app.css'; - import { page } from '$app/stores'; - let { host, pathname } = $page.url; + export let data; + let { host, pathname } = data; </script> <svelte:head> diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 510607eb..3331b69b 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -33,27 +33,6 @@ const faqIDs = ['cost', 'compatibility', 'safety']; - let scan = async () => { - log('User clicked scan button'); - - try { - const ndef = new NDEFReader(); - await ndef.scan(); - log('> Scan started'); - - ndef.addEventListener('readingerror', () => { - log('Argh! Cannot read data from the NFC tag. Try another one?'); - }); - - ndef.addEventListener('reading', ({ message, serialNumber }) => { - log(`> Serial Number: ${serialNumber}`); - log(`> Records: (${message.records.length})`); - }); - } catch (error) { - log('Argh! ' + error); - } - }; - onMount(async () => { close(); @@ -72,7 +51,6 @@ <LandingHeader {howItWorks} {faq} {about} {user} /> <main class="space-y-40 py-20 md:py-32 lg:py-36 xl:py-40 px-5 md:px-0"> -<button on:click={scan} class="bg-black text-white mt-40 mx-auto p-8">Scan</button> <LandingHero {user} /> <LandingInfoCard image="lightning-qr" diff --git a/src/service-worker.js b/src/service-worker.js deleted file mode 100644 index 4fb470e9..00000000 --- a/src/service-worker.js +++ /dev/null @@ -1,7 +0,0 @@ -self.addEventListener('fetch', function (event) { - event.respondWith( - caches.match(event.request).then(function (response) { - return response || fetch(event.request); - }) - ); -}); |
