aboutsummaryrefslogtreecommitdiffstats
path: root/src
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
parent7b91d415aa70a8e1ca04422ea70421f704cbdfc8 (diff)
downloadcoinos-ui-41f023139132e427f6b67f12742691845918c101.tar.gz
coinos-ui-41f023139132e427f6b67f12742691845918c101.zip
prerender homepage
Diffstat (limited to 'src')
-rw-r--r--src/app.html6
-rw-r--r--src/components/Icon.svelte2
-rw-r--r--src/components/LandingInfoCard.svelte4
-rw-r--r--src/lib/invoice.js2
-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
12 files changed, 40 insertions, 30 deletions
diff --git a/src/app.html b/src/app.html
index 57d6d21c..42e791f7 100644
--- a/src/app.html
+++ b/src/app.html
@@ -7,12 +7,6 @@
<meta name="description" content="An easy bitcoin web wallet" />
<meta name="keywords" content="open source bitcoin lightning web wallet" />
%sveltekit.head%
- <script src="https://stamen-maps.a.ssl.fastly.net/js/tile.stamen.js"></script>
- <style>
- img.huechange {
- filter: hue-rotate(170deg);
- }
- </style>
</head>
<body>
<div>%sveltekit.body%</div>
diff --git a/src/components/Icon.svelte b/src/components/Icon.svelte
index 58a61033..4b86cc43 100644
--- a/src/components/Icon.svelte
+++ b/src/components/Icon.svelte
@@ -1,6 +1,6 @@
<script>
export let icon;
- export let style;
+ export let style = undefined;
</script>
<img src="/icons/{icon}.svg" alt={icon} class={style} />
diff --git a/src/components/LandingInfoCard.svelte b/src/components/LandingInfoCard.svelte
index c67d3fcc..3d719e0b 100644
--- a/src/components/LandingInfoCard.svelte
+++ b/src/components/LandingInfoCard.svelte
@@ -3,8 +3,8 @@
export let image;
export let title;
- export let description;
- export let order;
+ export let description = undefined;
+ export let order = undefined;
</script>
<div class="block lg:flex justify-center lg:space-x-20 items-center">
diff --git a/src/lib/invoice.js b/src/lib/invoice.js
index b1330f89..e8a5f615 100644
--- a/src/lib/invoice.js
+++ b/src/lib/invoice.js
@@ -16,7 +16,7 @@ export default async ({ cookies, request }) => {
let user = { username: form.get('username') };
- let { uuid }= await post('/invoice', { invoice, user }, auth(cookies));
+ let { uuid } = await post('/invoice', { invoice, user }, auth(cookies));
if (invoice.prompt) {
throw redirect(307, `/invoice/${uuid}/tip`);
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>