aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/components/AppHeader.svelte10
-rw-r--r--src/locales/en.json1
-rw-r--r--src/routes/(app)/+layout.server.js12
-rw-r--r--src/routes/(app)/[username]/+layout.server.js11
-rw-r--r--src/routes/(app)/scan/+page.svelte2
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>