diff options
| author | Adam Soltys <[email protected]> | 2022-11-09 23:57:21 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2022-11-09 23:57:21 -0800 |
| commit | 13ded49a1934f9afa171de440c82629c5818eac3 (patch) | |
| tree | 4caeb1dfbb950068b2d761199243e90ab4d4655c | |
| parent | c01e1c12c3e1c231bd818c824ee9f246f707e304 (diff) | |
| download | coinos-ui-13ded49a1934f9afa171de440c82629c5818eac3.tar.gz coinos-ui-13ded49a1934f9afa171de440c82629c5818eac3.zip | |
camera button in menu
| -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 | ||||
| -rw-r--r-- | static/icons/camera.svg | 49 |
6 files changed, 77 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> diff --git a/static/icons/camera.svg b/static/icons/camera.svg new file mode 100644 index 00000000..b615c7b5 --- /dev/null +++ b/static/icons/camera.svg @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 490 490" style="enable-background:new 0 0 490 490;" xml:space="preserve"> +<g> + <g> + <g> + <path d="M295,160c-74.439,0-135,60.561-135,135s60.561,135,135,135s135-60.561,135-135S369.439,160,295,160z M295,400 + c-57.897,0-105-47.103-105-105c0-57.897,47.103-105,105-105c57.897,0,105,47.103,105,105C400,352.897,352.897,400,295,400z"/> + <path d="M295,235c-33.084,0-60,26.916-60,60s26.916,60,60,60s60-26.916,60-60S328.084,235,295,235z M295,325 + c-16.542,0-30-13.458-30-30s13.458-30,30-30s30,13.458,30,30S311.542,325,295,325z"/> + <path d="M425,100h-0.076l-42.5-100H207.577l-42.5,100H65c-35.841,0-65,29.159-65,65v260c0,35.841,29.159,65,65,65h360 + c35.841,0,65-29.159,65-65V165C490,129.159,460.841,100,425,100z M227.423,30h135.153l29.75,70H197.674L227.423,30z M100,460H65 + c-19.299,0-35-15.701-35-35V190h70V460z M100,160H30.363c2.434-16.938,17.036-30,34.637-30h35V160z M460,425 + c0,19.299-15.701,35-35,35H130V130h295c19.299,0,35,15.701,35,35V425z"/> + </g> + </g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +</svg> |
