diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/components/AppHeader.svelte | 10 | ||||
| -rw-r--r-- | src/locales/en.json | 1 | ||||
| -rw-r--r-- | src/routes/(app)/+layout.server.js | 12 | ||||
| -rw-r--r-- | src/routes/(app)/[username]/+layout.server.js | 11 | ||||
| -rw-r--r-- | src/routes/(app)/scan/+page.svelte | 2 |
5 files changed, 28 insertions, 8 deletions
diff --git a/src/components/AppHeader.svelte b/src/components/AppHeader.svelte index 81660ea4..1784f13b 100644 --- a/src/components/AppHeader.svelte +++ b/src/components/AppHeader.svelte @@ -17,6 +17,7 @@ menuButtons = [ { key: 'nav.profile', icon: 'profile', href: `/${user.username}` }, { key: 'nav.settings', icon: 'settings', href: `/${user.username}/settings` }, + { key: 'nav.scan', icon: 'camera', href: `/${user.username}/scan` }, { key: 'nav.support', icon: 'support', href: `/support` }, { key: 'nav.signOut', icon: 'logout', href: `/logout` } ]; @@ -57,6 +58,15 @@ ><Icon icon="numpad" style="mx-auto" /> </button> </a> + <a href={`/scan`}> + <button + class="bg-white p-2 rounded-full w-12 h-12 drop-shadow-xl border border-black/10 {$page + .url.pathname === `/scan` + ? 'opacity-100' + : 'opacity-70 hover:opacity-80'}" + ><Icon icon="camera" style="mx-auto w-6" /> + </button> + </a> <a href={`/${user.username}/transactions`}> <button class="bg-white p-2 rounded-full w-12 h-12 drop-shadow-xl border border-black/10 {$page diff --git a/src/locales/en.json b/src/locales/en.json index 89ccb8a5..81ae2cd3 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -144,6 +144,7 @@ "failed": "Login failed" }, "nav": { + "scan": "Scan", "profile": "Profile", "startInSeconds": "Start in Seconds", "account": "Account", diff --git a/src/routes/(app)/+layout.server.js b/src/routes/(app)/+layout.server.js index ee4c257e..64ebc3e2 100644 --- a/src/routes/(app)/+layout.server.js +++ b/src/routes/(app)/+layout.server.js @@ -7,8 +7,9 @@ export const { PUBLIC_BTC: btc } = env; export async function load({ cookies, locals, request, url, params }) { url.pathname; let token = cookies.get('token'); - let rates; - let subject; + let rate, + rates = { USD: 1 }, + subject; let { user } = locals; if (user) { @@ -21,8 +22,11 @@ export async function load({ cookies, locals, request, url, params }) { } } - let rate = await get('/rate'); - rates = await get('/rates'); + try { + rate = await get('/rate'); + rates = await get('/rates'); + } catch (e) { + } return { subject, user, token, rate, rates }; } diff --git a/src/routes/(app)/[username]/+layout.server.js b/src/routes/(app)/[username]/+layout.server.js index e875b5e6..a352fe45 100644 --- a/src/routes/(app)/[username]/+layout.server.js +++ b/src/routes/(app)/[username]/+layout.server.js @@ -1,5 +1,10 @@ import { get } from '$lib/utils'; +import { error } from '@sveltejs/kit'; -export let load = async ({ params: { username } }) => ({ - subject: await get(`/users/${username}`) -}); +export let load = async ({ params: { username } }) => { + try { + return { subject: await get(`/users/${username}`) }; + } catch (e) { + throw error(500, 'Unable to retrieve user account data'); + } +}; diff --git a/src/routes/(app)/scan/+page.svelte b/src/routes/(app)/scan/+page.svelte index 4e06e1b5..9c96f1ae 100644 --- a/src/routes/(app)/scan/+page.svelte +++ b/src/routes/(app)/scan/+page.svelte @@ -25,7 +25,7 @@ <div class="bg-black mx-auto rounded-3xl"> <video bind:this={vid} - class="border-4 rounded-3xl border-black md:max-w-[600px] !max-h-[300px]" + class="border-4 rounded-3xl border-black md:max-w-[600px] !max-h-[80vh] !min-w-[300px]" /> </div> </div> |
