aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2022-10-13 10:25:46 -0700
committerAdam Soltys <[email protected]>2022-10-13 10:25:46 -0700
commit1d6c3f68c6f9d992122e427a7cb24be13aa1e988 (patch)
treedfe00e76e5e700b159c65d06a92ecf6432c224ea
parentbb8f162c8b1956351d8c5f502bd7f914f07433a4 (diff)
downloadcoinos-ui-1d6c3f68c6f9d992122e427a7cb24be13aa1e988.tar.gz
coinos-ui-1d6c3f68c6f9d992122e427a7cb24be13aa1e988.zip
launch party progress
-rw-r--r--src/components/LandingHeader.svelte1
-rw-r--r--src/lib/utils.js2
-rw-r--r--src/routes/[username]/dashboard/+page.svelte3
-rw-r--r--src/routes/[username]/settings/+page.server.js1
-rw-r--r--src/routes/launch/+page.svelte7
-rw-r--r--src/routes/launch/purchase/+page.server.js8
-rw-r--r--src/routes/launch/purchase/+page.svelte71
-rw-r--r--src/routes/launch/register/+page.svelte1
-rw-r--r--src/routes/login/+page.server.js7
-rw-r--r--src/routes/register/+page.server.js2
-rw-r--r--src/routes/register/+page.svelte11
11 files changed, 74 insertions, 40 deletions
diff --git a/src/components/LandingHeader.svelte b/src/components/LandingHeader.svelte
index 35b9de06..dd8d6a68 100644
--- a/src/components/LandingHeader.svelte
+++ b/src/components/LandingHeader.svelte
@@ -27,6 +27,7 @@
<!-- desktop nav -->
<div class="hidden space-x-10 md:flex flex-wrap justify-center items-center font-bold">
+ <a href="/launch">Launch</a>
<button class="hover:opacity-80" on:click={() => scroll(howItWorks)}
>{$t('howItWorks.header')}</button
>
diff --git a/src/lib/utils.js b/src/lib/utils.js
index 777d2621..54e965d9 100644
--- a/src/lib/utils.js
+++ b/src/lib/utils.js
@@ -90,7 +90,7 @@ export const info = (m) => {
toast.pop();
toast.push(m, {
theme: {
- '--toastBarBackground': '#1C69FF'
+ '--toastBarBackground': 'white'
}
});
};
diff --git a/src/routes/[username]/dashboard/+page.svelte b/src/routes/[username]/dashboard/+page.svelte
index 42048210..160887e3 100644
--- a/src/routes/[username]/dashboard/+page.svelte
+++ b/src/routes/[username]/dashboard/+page.svelte
@@ -30,7 +30,8 @@
$: user = data.user;
$: accountBalanceFiat =
- accountBalanceFiat || (user && $selectedRate && ((user.account.balance * $selectedRate) / sats).toFixed(2));
+ accountBalanceFiat ||
+ (user && $selectedRate && ((user.account.balance * $selectedRate) / sats).toFixed(2));
let payreq = '',
payreqField,
diff --git a/src/routes/[username]/settings/+page.server.js b/src/routes/[username]/settings/+page.server.js
index 49019e9e..7053a939 100644
--- a/src/routes/[username]/settings/+page.server.js
+++ b/src/routes/[username]/settings/+page.server.js
@@ -7,6 +7,7 @@ export const actions = {
...(await get('/me', auth(cookies))),
...Object.fromEntries(await request.formData())
};
+
try {
await post(`/user`, user, auth(cookies));
} catch (e) {
diff --git a/src/routes/launch/+page.svelte b/src/routes/launch/+page.svelte
index 58a50088..04f53086 100644
--- a/src/routes/launch/+page.svelte
+++ b/src/routes/launch/+page.svelte
@@ -1,10 +1,17 @@
<script>
import { redirect } from '$lib/store';
+ import { beforeNavigate } from '$app/navigation';
+ import { info } from '$lib/utils';
export let data;
let { user } = data;
$: link = user ? '/launch/purchase' : '/register';
$redirect = '/launch/purchase';
+
+ beforeNavigate(({ to }) => {
+ console.log(link);
+ if (link === '/register') info('Please sign in so we can get you a ticket');
+ });
</script>
<div class="flex mt-20 px-8">
diff --git a/src/routes/launch/purchase/+page.server.js b/src/routes/launch/purchase/+page.server.js
new file mode 100644
index 00000000..f6314f7f
--- /dev/null
+++ b/src/routes/launch/purchase/+page.server.js
@@ -0,0 +1,8 @@
+export const load = ({ parent }) => parent();
+
+export const actions = {
+ default: async ({ cookies, request }) => {
+ let form = Object.fromEntries(await request.formData());
+ console.log(form);
+ }
+};
diff --git a/src/routes/launch/purchase/+page.svelte b/src/routes/launch/purchase/+page.svelte
index 84f960e3..df3048f3 100644
--- a/src/routes/launch/purchase/+page.svelte
+++ b/src/routes/launch/purchase/+page.svelte
@@ -1,4 +1,5 @@
<script>
+ import { enhance } from '$app/forms';
import { selectedRate } from '$lib/store';
import { post } from '$lib/utils';
import { goto } from '$app/navigation';
@@ -30,52 +31,52 @@
</script>
<div class="mx-auto h-screen flex items-center justify-center px-8">
- <div class="flex w-full bg-white rounded shadow-lg">
- <div class="p-4 font-normal text-gray-800 mx-auto mb-8">
- {#if balance > amount}
- <h1 class="mb-4 text-4xl font-bold leading-none tracking-tight text-gray-800 text-center">
- Buy Your Launch Party Ticket?
- </h1>
+ <div class="p-4 font-normal text-gray-800 mx-auto mb-8">
+ {#if balance > amount}
+ <h1 class="mb-4 text-4xl font-bold leading-none tracking-tight text-gray-800 text-center">
+ Buy Your Launch Party Ticket?
+ </h1>
- <div class="text-center text-4xl mb-12">{amount} sats</div>
+ <div class="text-center text-4xl mb-12">{amount} sats</div>
- <div class="w-full flex">
+ <div class="w-full flex">
+ <form method="POST" use:enhance>
<button
class="bg-black text-white border rounded-full px-8 py-4 font-bold hover:opacity-80 mx-auto text-2xl"
>
Count me in
</button>
- </div>
- {:else}
- <h1 class="mb-4 text-4xl font-bold leading-none tracking-tight text-gray-800 text-center">
- Ticket Price
- </h1>
- <div class="text-center text-4xl mb-12">{amount} sats</div>
+ </form>
+ </div>
+ {:else}
+ <h1 class="mb-4 text-4xl font-bold leading-none tracking-tight text-gray-800 text-center">
+ Ticket Price
+ </h1>
+ <div class="text-center text-4xl mb-12">{amount} sats</div>
- <h1 class="mb-4 text-4xl font-bold leading-none tracking-tight text-gray-800 text-center">
- Your Balance
- </h1>
+ <h1 class="mb-4 text-4xl font-bold leading-none tracking-tight text-gray-800 text-center">
+ Your Balance
+ </h1>
- <div class="text-center text-4xl mb-12">{balance} sats</div>
+ <div class="text-center text-4xl mb-12">{balance} sats</div>
- <h1 class="mb-4 text-4xl font-bold leading-none tracking-tight text-gray-800 text-center">
- Funding Options
- </h1>
+ <h1 class="mb-4 text-4xl font-bold leading-none tracking-tight text-gray-800 text-center">
+ Funding Options
+ </h1>
- <button
- class="bg-black text-white border rounded-full px-8 py-4 font-bold hover:opacity-80 mx-auto text-2xl"
- on:click={lightning}
- >
- Lightning
- </button>
+ <button
+ class="bg-black text-white border rounded-full px-8 py-4 font-bold hover:opacity-80 mx-auto text-2xl"
+ on:click={lightning}
+ >
+ Lightning
+ </button>
- <button
- class="bg-black text-white border rounded-full px-8 py-4 font-bold hover:opacity-80 mx-auto text-2xl"
- on:click={bitcoin}
- >
- Bitcoin
- </button>
- {/if}
- </div>
+ <button
+ class="bg-black text-white border rounded-full px-8 py-4 font-bold hover:opacity-80 mx-auto text-2xl"
+ on:click={bitcoin}
+ >
+ Bitcoin
+ </button>
+ {/if}
</div>
</div>
diff --git a/src/routes/launch/register/+page.svelte b/src/routes/launch/register/+page.svelte
new file mode 100644
index 00000000..437a48f1
--- /dev/null
+++ b/src/routes/launch/register/+page.svelte
@@ -0,0 +1 @@
+We need to get you registered
diff --git a/src/routes/login/+page.server.js b/src/routes/login/+page.server.js
index 69077fc6..94981ff7 100644
--- a/src/routes/login/+page.server.js
+++ b/src/routes/login/+page.server.js
@@ -3,13 +3,16 @@ import { login } from '$lib/utils';
export const actions = {
default: async ({ cookies, request }) => {
- let user = Object.fromEntries(await request.formData());
+ let form = Object.fromEntries(await request.formData());
+ let { username, password, redirect: r } = form;
+ let user = { username, password };
+
try {
await login(user, cookies);
} catch (e) {
return invalid(400, { error: 'Login failed' });
}
- throw redirect(303, `/${user.username}/dashboard`);
+ throw redirect(303, r || `/${user.username}/dashboard`);
}
};
diff --git a/src/routes/register/+page.server.js b/src/routes/register/+page.server.js
index acb96575..bfe1a9b7 100644
--- a/src/routes/register/+page.server.js
+++ b/src/routes/register/+page.server.js
@@ -23,6 +23,6 @@ export const actions = {
}
if (error) return invalid(400, { error });
- throw redirect(303, r || `/${user.username}/dashboard`);
+ throw redirect(307, r || `/${user.username}/dashboard`);
}
};
diff --git a/src/routes/register/+page.svelte b/src/routes/register/+page.svelte
index 70807905..aa0e66e0 100644
--- a/src/routes/register/+page.svelte
+++ b/src/routes/register/+page.svelte
@@ -1,6 +1,17 @@
<script>
+ import { afterNavigate, invalidateAll } from '$app/navigation';
import { RegisterOrLogin } from '$comp';
export let form;
+
+ afterNavigate(async () => {
+ try {
+ console.log('whoa');
+ await invalidateAll();
+ console.log('no');
+ } catch (e) {
+ console.log(e);
+ }
+ });
</script>
<RegisterOrLogin pageID="register" bind:form />