aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2022-11-01 13:33:14 -0700
committerAdam Soltys <[email protected]>2022-11-01 13:33:14 -0700
commit41f023139132e427f6b67f12742691845918c101 (patch)
tree84cfa89c4ddee5d2a1721cd93676dcbf20206c8e /src/routes
parent7b91d415aa70a8e1ca04422ea70421f704cbdfc8 (diff)
downloadcoinos-ui-41f023139132e427f6b67f12742691845918c101.tar.gz
coinos-ui-41f023139132e427f6b67f12742691845918c101.zip
prerender homepage
Diffstat (limited to 'src/routes')
-rw-r--r--src/routes/+layout.server.js3
-rw-r--r--src/routes/+layout.svelte14
-rw-r--r--src/routes/+page.server.js1
-rw-r--r--src/routes/+page.svelte20
-rw-r--r--src/routes/[username]/transactions/[...page]/+page.server.js2
-rw-r--r--src/routes/logout/+page.server.js2
-rw-r--r--src/routes/logout/done/+page.svelte9
-rw-r--r--src/routes/scan/+page.svelte5
8 files changed, 36 insertions, 20 deletions
diff --git a/src/routes/+layout.server.js b/src/routes/+layout.server.js
index 6af13a06..6d1fc3e0 100644
--- a/src/routes/+layout.server.js
+++ b/src/routes/+layout.server.js
@@ -23,6 +23,9 @@ export async function load({ cookies, locals, request, url, params }) {
if (user.username !== params.username) throw error(404, 'user not found');
}
+ if (['/login', '/register'].includes(url.pathname))
+ throw redirect(307, `/${user.username}/dashboard`);
+
let account = user.accounts.find((a) => a.asset === btc && !a.pubkey);
if (account) {
let { id } = account;
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte
index 6b62ff4a..f1a81723 100644
--- a/src/routes/+layout.svelte
+++ b/src/routes/+layout.svelte
@@ -2,7 +2,7 @@
import { SvelteToast } from '@zerodevx/svelte-toast';
import '../app.css';
import { onDestroy, onMount } from 'svelte';
- import { connect, send } from '$lib/socket';
+ import { close, connect, send } from '$lib/socket';
import { last, selectedRate, rate, user } from '$lib/store';
import { page } from '$app/stores';
import { browser } from '$app/environment';
@@ -25,6 +25,8 @@
$user = u;
};
+ $: $page.url.searchParams.get('logout') && close();
+
$: $selectedRate = u && r * (rates[u.currency] / rates.USD);
onMount(() => {
@@ -59,11 +61,11 @@
<title>coinos</title>
{/if}
- {#if subject?.profile}
- <meta name="og:image" content={`/api/public/${subject.username}-profile.webp`} />
- {:else}
- <meta property="og:image" content="/icons/logo.svg" />
- {/if}
+ {#if subject?.profile}
+ <meta name="og:image" content={`/api/public/${subject.username}-profile.webp`} />
+ {:else}
+ <meta property="og:image" content="/icons/logo.svg" />
+ {/if}
</svelte:head>
<SvelteToast options={{ reversed: true, intro: { y: 192 } }} />
diff --git a/src/routes/+page.server.js b/src/routes/+page.server.js
index dd68c502..2c5d27db 100644
--- a/src/routes/+page.server.js
+++ b/src/routes/+page.server.js
@@ -1 +1,2 @@
+export const prerender = true;
export let load = async ({ fetch }) => (await fetch('/locations')).json();
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
index 097278fb..e318ad3a 100644
--- a/src/routes/+page.svelte
+++ b/src/routes/+page.svelte
@@ -11,6 +11,8 @@
} from '$comp';
import { t } from '$lib/translations';
+ import { close } from '$lib/socket';
+ import { onMount } from 'svelte';
export let data;
let { user } = data;
@@ -27,8 +29,22 @@
];
const faqIDs = ['cost', 'compatibility', 'safety'];
+
+ onMount(async () => {
+ close();
+
+ try {
+ ({ locations } = await fetch('/locations').then((r) => r.json()));
+ } catch (e) {
+ console.log(e);
+ }
+ });
</script>
+<svelte:head>
+ <script src="https://stamen-maps.a.ssl.fastly.net/js/tile.stamen.js"></script>
+</svelte:head>
+
<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">
@@ -76,9 +92,9 @@
<div bind:this={about} />
</div>
- <div>
+ {#if locations?.length}
<About {locations} />
- </div>
+ {/if}
</main>
<Footer />
diff --git a/src/routes/[username]/transactions/[...page]/+page.server.js b/src/routes/[username]/transactions/[...page]/+page.server.js
index 0dd9ab6b..6883dfa9 100644
--- a/src/routes/[username]/transactions/[...page]/+page.server.js
+++ b/src/routes/[username]/transactions/[...page]/+page.server.js
@@ -12,7 +12,7 @@ export async function load({ cookies, params, request }) {
if (!parseInt(page)) page = 1;
let offset = (page - 1) * limit;
- if (!start) start = (Date.now() / 1000) - 24 * 60 * 60;
+ if (!start) start = Date.now() / 1000 - 24 * 60 * 60;
let url = `/payments?v2=true&start=${start * 1000}&limit=${limit}&offset=${offset}`;
if (end) url += `&end=${end * 1000}`;
diff --git a/src/routes/logout/+page.server.js b/src/routes/logout/+page.server.js
index caacbbfd..1b4a1dc1 100644
--- a/src/routes/logout/+page.server.js
+++ b/src/routes/logout/+page.server.js
@@ -8,5 +8,5 @@ const opts = {
export async function load({ cookies }) {
cookies.set('token', '', opts);
cookies.set('refresh_token', '', opts);
- throw redirect(303, '/logout/done');
+ throw redirect(307, '/');
}
diff --git a/src/routes/logout/done/+page.svelte b/src/routes/logout/done/+page.svelte
deleted file mode 100644
index 2553843d..00000000
--- a/src/routes/logout/done/+page.svelte
+++ /dev/null
@@ -1,9 +0,0 @@
-<script>
- import { onMount } from 'svelte';
- import { goto } from '$app/navigation';
- import { close } from '$lib/socket';
- onMount(() => {
- close();
- goto('/');
- });
-</script>
diff --git a/src/routes/scan/+page.svelte b/src/routes/scan/+page.svelte
index 4160d860..10c288dd 100644
--- a/src/routes/scan/+page.svelte
+++ b/src/routes/scan/+page.svelte
@@ -23,7 +23,10 @@
<div class="flex w-full mb-4 px-4">
<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]" />
+ <video
+ bind:this={vid}
+ class="border-4 rounded-3xl border-black md:max-w-[600px] !max-h-[300px]"
+ />
</div>
</div>