aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2023-05-02 14:09:51 -0700
committerAdam Soltys <[email protected]>2023-05-02 14:09:51 -0700
commit505386adbad6a07285cfcd7e64a1b3e609c1c5e8 (patch)
tree687beb156c8654b1b4fc3a63955ece6c65a1844e /src
parentb563ab987b0625cdd6d5d9152039d5eef70d69f1 (diff)
downloadcoinos-ui-505386adbad6a07285cfcd7e64a1b3e609c1c5e8.tar.gz
coinos-ui-505386adbad6a07285cfcd7e64a1b3e609c1c5e8.zip
nfc wip
Diffstat (limited to 'src')
-rw-r--r--src/lib/utils.js6
-rw-r--r--src/routes/(app)/+layout.server.js1
-rw-r--r--src/routes/(app)/+layout.svelte18
-rw-r--r--src/routes/(app)/[username]/card/[serial]/+page.server.js3
-rw-r--r--src/routes/(app)/[username]/card/[serial]/+page.svelte9
-rw-r--r--src/routes/(app)/locations/+server.js12
-rw-r--r--src/routes/+layout.server.js (renamed from src/routes/+layout.js)4
-rw-r--r--src/routes/+layout.svelte4
-rw-r--r--src/routes/+page.svelte22
-rw-r--r--src/service-worker.js7
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);
- })
- );
-});