From 5e3d4133760962db28c4f3a595f0566bd59391ff Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Mon, 17 Oct 2022 15:31:08 -0700 Subject: thanks page --- src/components/AppHeader.svelte | 2 +- src/components/Avatar.svelte | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'src/components') diff --git a/src/components/AppHeader.svelte b/src/components/AppHeader.svelte index f9413efb..4e631971 100644 --- a/src/components/AppHeader.svelte +++ b/src/components/AppHeader.svelte @@ -35,7 +35,7 @@ $tempProfileFiles && $tempProfileFiles.banner ? `url(${$tempProfileFiles.banner})` : subject?.banner - ? `url(/api/public/${subject.username}-banner.png)` + ? `url(/api/public/${subject.username}-banner.webp)` : undefined; diff --git a/src/components/Avatar.svelte b/src/components/Avatar.svelte index ed1a499a..d0a4e0f2 100644 --- a/src/components/Avatar.svelte +++ b/src/components/Avatar.svelte @@ -14,7 +14,7 @@ {user.username} -- cgit v1.2.3 From 02af363d2f0d552a72dc1c90bf8d785e04465d3a Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Mon, 17 Oct 2022 23:29:32 -0700 Subject: invoice redirect --- .env | 3 -- .env.sample | 3 ++ .gitignore | 1 + src/components/RegisterOrLogin.svelte | 6 ++-- src/hooks.server.js | 4 +-- src/lib/socket.js | 4 +-- src/lib/store.js | 3 +- src/lib/upload.js | 2 +- src/lib/utils.js | 11 +++++++ src/routes/+layout.server.js | 9 ++---- src/routes/+layout.svelte | 3 +- src/routes/[username]/dashboard/+page.server.js | 1 + src/routes/invoice/[id]/+page.svelte | 6 ++-- src/routes/launch/+page.server.js | 6 ++++ src/routes/launch/+page.svelte | 22 +++++++++----- src/routes/launch/purchase/+page.server.js | 37 +++++++++++++++++------- src/routes/launch/purchase/+page.svelte | 16 +++++----- src/routes/launch/purchase/card/+page.server.js | 7 ++--- src/routes/launch/purchase/card/+page.svelte | 18 ++++++------ src/routes/launch/thanks/[asset]/+page.server.js | 1 + src/routes/launch/thanks/[asset]/+page.svelte | 4 ++- src/routes/launch/ticket/+page.svelte | 9 +++--- src/routes/login/+page.server.js | 4 +-- src/routes/register/+page.server.js | 4 +-- src/routes/register/+page.svelte | 2 -- 25 files changed, 115 insertions(+), 71 deletions(-) delete mode 100644 .env create mode 100644 .env.sample create mode 100644 src/routes/[username]/dashboard/+page.server.js create mode 100644 src/routes/launch/+page.server.js create mode 100644 src/routes/launch/thanks/[asset]/+page.server.js (limited to 'src/components') diff --git a/.env b/.env deleted file mode 100644 index 468bbf9c..00000000 --- a/.env +++ /dev/null @@ -1,3 +0,0 @@ -PUBLIC_COINOS_URL=http://localhost:3119 -PUBLIC_BTC=5ac9f65c0efcc4775e0baec4ec03abdde22473cd3cf33c0419ca290e0751b225 -PUBLIC_SOCKET=ws://localhost:3119/ws diff --git a/.env.sample b/.env.sample new file mode 100644 index 00000000..468bbf9c --- /dev/null +++ b/.env.sample @@ -0,0 +1,3 @@ +PUBLIC_COINOS_URL=http://localhost:3119 +PUBLIC_BTC=5ac9f65c0efcc4775e0baec4ec03abdde22473cd3cf33c0419ca290e0751b225 +PUBLIC_SOCKET=ws://localhost:3119/ws diff --git a/.gitignore b/.gitignore index dad6f805..75631d29 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ node_modules /build /.svelte-kit /package +.env diff --git a/src/components/RegisterOrLogin.svelte b/src/components/RegisterOrLogin.svelte index 0b954387..7f254400 100644 --- a/src/components/RegisterOrLogin.svelte +++ b/src/components/RegisterOrLogin.svelte @@ -3,7 +3,7 @@ import { enhance } from '$app/forms'; import { Icon } from '$comp'; import { focus } from '$lib/utils'; - import { redirect } from '$lib/store'; + import { loginRedirect } from '$lib/store'; import { t } from '$lib/translations'; export let form; @@ -40,8 +40,8 @@ {/if}
- {#if $redirect} - + {#if $loginRedirect} + {/if}
diff --git a/src/hooks.server.js b/src/hooks.server.js index 58882771..a5b1eef3 100644 --- a/src/hooks.server.js +++ b/src/hooks.server.js @@ -2,9 +2,8 @@ import { auth, get } from '$lib/utils'; export async function handle({ event, resolve }) { let token = event.cookies.get('token'); - if (token) { - event.request.headers.set('authorization', `Bearer ${token}`); + if (token) { try { event.locals.user = await get('/me', auth(event.cookies)); } catch (e) { @@ -13,7 +12,6 @@ export async function handle({ event, resolve }) { } const response = await resolve(event); - response.headers.set('x-custom-header', 'potato'); return response; } diff --git a/src/lib/socket.js b/src/lib/socket.js index 7cce0071..fb77333f 100644 --- a/src/lib/socket.js +++ b/src/lib/socket.js @@ -1,5 +1,5 @@ import { get } from 'svelte/store'; -import { invoices, newPayment, rate } from '$lib/store'; +import { invoices, newPayment, rate, user } from '$lib/store'; import { success } from '$lib/utils'; import { env } from '$env/dynamic/public'; @@ -21,7 +21,7 @@ export const messages = (data) => ({ payment() { let { amount, invoice } = data; - if (get(user).account_id !== data.account_id ) return; + if (get(user).account_id !== data.account_id) return; if (invoice) { invoices.set({ ...get(invoices), [invoice.uuid]: invoice }); diff --git a/src/lib/store.js b/src/lib/store.js index 765e14cf..ffafa70b 100644 --- a/src/lib/store.js +++ b/src/lib/store.js @@ -27,7 +27,8 @@ const persistLocal = (key, defaultValue) => { return s; }; -export const redirect = writable(); +export const invoiceRedirect = writable(); +export const loginRedirect = writable(); export const rate = writable(); export const user = writable(); export const selectedRate = writable(); diff --git a/src/lib/upload.js b/src/lib/upload.js index 6354b7f4..0e8a2908 100644 --- a/src/lib/upload.js +++ b/src/lib/upload.js @@ -1,5 +1,5 @@ export const upload = async (file, type, progress, token) => { - console.log("FILE", file) + console.log('FILE', file); let url = `/api/upload/${type}`; let formData = new FormData(); formData.append('file', file); diff --git a/src/lib/utils.js b/src/lib/utils.js index 54e965d9..76ce5077 100644 --- a/src/lib/utils.js +++ b/src/lib/utils.js @@ -9,6 +9,17 @@ export function scroll(section) { const base = browser ? '' : env.PUBLIC_COINOS_URL; +export const g = (url, fetch, headers) => + fetch(base + url, { headers }) + .then((r) => r.text()) + .then((body) => { + try { + return JSON.parse(body); + } catch (e) { + throw new Error(body); + } + }); + export const get = (url, headers = {}) => fetch(base + url, { headers }) .then((r) => r.text()) diff --git a/src/routes/+layout.server.js b/src/routes/+layout.server.js index 7f6e8801..6af13a06 100644 --- a/src/routes/+layout.server.js +++ b/src/routes/+layout.server.js @@ -5,7 +5,8 @@ import { env } from '$env/dynamic/public'; export const { PUBLIC_BTC: btc } = env; -export async function load({ cookies, request, url, params }) { +export async function load({ cookies, locals, request, url, params }) { + url.pathname; let token = cookies.get('token'); let user; let rates; @@ -16,11 +17,7 @@ export async function load({ cookies, request, url, params }) { } if (token && token !== 'undefined') { - try { - user = await get('/me', auth(cookies)); - } catch (e) { - throw redirect(307, '/logout'); - } + user = locals.user; if (protectedRoutes.find((p) => url.pathname.match(p))) { if (user.username !== params.username) throw error(404, 'user not found'); diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 0064cce0..5cc75b30 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -14,7 +14,8 @@ const localeLocalStorageKey = 'sveltekit-i18n-locale'; export let data; - let r, u, token, rates; + + let r, u, token, rates; $: update(data); let update = () => { diff --git a/src/routes/[username]/dashboard/+page.server.js b/src/routes/[username]/dashboard/+page.server.js new file mode 100644 index 00000000..b6206324 --- /dev/null +++ b/src/routes/[username]/dashboard/+page.server.js @@ -0,0 +1 @@ +export const load = ({ parent }) => parent(); diff --git a/src/routes/invoice/[id]/+page.svelte b/src/routes/invoice/[id]/+page.svelte index 04a31813..8e9e6ff4 100644 --- a/src/routes/invoice/[id]/+page.svelte +++ b/src/routes/invoice/[id]/+page.svelte @@ -1,7 +1,7 @@ @@ -29,7 +32,12 @@

- Come join us at our launch party celebrating our new design and 10 years since our first commit! + Come join us at our launch party celebrating our new design and 10 years since our first commit!

When

@@ -58,7 +66,7 @@
diff --git a/src/routes/launch/purchase/+page.server.js b/src/routes/launch/purchase/+page.server.js index b9b20f28..ff5efc84 100644 --- a/src/routes/launch/purchase/+page.server.js +++ b/src/routes/launch/purchase/+page.server.js @@ -1,16 +1,18 @@ import { auth, get, post } from '$lib/utils'; import tickets from '$lib/tickets'; -import { redirect } from "@sveltejs/kit"; +import { redirect } from '@sveltejs/kit'; +import { env } from '$env/dynamic/private'; +import { invalidateAll } from '$app/navigation'; +import { browser } from '$app/environment'; export const load = async ({ parent }) => { - let p = await parent(); - let t = await get('/ticket'); - return { ...p, ...t }; + let tickets = await get('/tickets'); + return { ...(await parent()), tickets }; }; export const actions = { - internal: async ({ cookies, request, parent }) => { - let { ticket } = Object.fromEntries(await request.formData()); + internal: async ({ cookies, request }) => { + let { ticket } = await get('/ticket'); let { asset } = await post( '/assets', @@ -26,7 +28,9 @@ export const actions = { auth(cookies) ); - throw redirect(307, `/launch/thanks/${asset}`); + await post('/ticket', { asset }, { authorization: `Bearer ${env.LAUNCH}` }); + + throw redirect(307, `/launch/thanks/${asset}`); }, lightning: async ({ cookies, request }) => { @@ -35,10 +39,9 @@ export const actions = { let rates = await get('/rates'); let invoice = { - amount: parseInt(form.get('amount')), - tip: parseInt(form.get('tip')), + amount: 25000, network: 'lightning', - prompt: form.get('prompt') === 'true', + prompt: false, rate: rates[form.get('currency')] }; @@ -50,3 +53,17 @@ export const actions = { }, bitcoin: () => console.log('YYEAH') }; + +export async function POST({ request }) { + let { address, amount, confirmed } = await request.json(); + if (!confirmed) return; + + if (request.headers.get('x-webhook') !== env.WEBHOOK) { + throw new Error('access denied'); + } + + let username = invoices[address]; + amount = Math.round(amount / 2100); + + await post('/send', { username, asset, amount }, { authorization: `Bearer ${token}` }); +} diff --git a/src/routes/launch/purchase/+page.svelte b/src/routes/launch/purchase/+page.svelte index a7a2b51c..d31d20f0 100644 --- a/src/routes/launch/purchase/+page.svelte +++ b/src/routes/launch/purchase/+page.svelte @@ -1,21 +1,21 @@ @@ -18,7 +20,7 @@ We've minted your ticket as an NFT on the Liquid Blockchain as a proof of purchase and commemorative token. It may confer some special benefits in the future. + > as a proof of purchase and commemorative token.

diff --git a/src/routes/launch/ticket/+page.svelte b/src/routes/launch/ticket/+page.svelte index acf3b7a5..229c18f0 100644 --- a/src/routes/launch/ticket/+page.svelte +++ b/src/routes/launch/ticket/+page.svelte @@ -1,5 +1,4 @@ - - + diff --git a/src/routes/login/+page.server.js b/src/routes/login/+page.server.js index 94981ff7..aa8797f9 100644 --- a/src/routes/login/+page.server.js +++ b/src/routes/login/+page.server.js @@ -4,7 +4,7 @@ import { login } from '$lib/utils'; export const actions = { default: async ({ cookies, request }) => { let form = Object.fromEntries(await request.formData()); - let { username, password, redirect: r } = form; + let { username, password, loginRedirect } = form; let user = { username, password }; try { @@ -13,6 +13,6 @@ export const actions = { return invalid(400, { error: 'Login failed' }); } - throw redirect(303, r || `/${user.username}/dashboard`); + throw redirect(303, loginRedirect || `/${user.username}/dashboard`); } }; diff --git a/src/routes/register/+page.server.js b/src/routes/register/+page.server.js index bfe1a9b7..c5751d4c 100644 --- a/src/routes/register/+page.server.js +++ b/src/routes/register/+page.server.js @@ -4,7 +4,7 @@ import { post, login } from '$lib/utils'; export const actions = { default: async ({ cookies, request }) => { let form = Object.fromEntries(await request.formData()); - let { username, password, redirect: r } = form; + let { username, password, loginRedirect } = form; let user = { username, password }; let error; @@ -23,6 +23,6 @@ export const actions = { } if (error) return invalid(400, { error }); - throw redirect(307, r || `/${user.username}/dashboard`); + throw redirect(307, loginRedirect || `/${user.username}/dashboard`); } }; diff --git a/src/routes/register/+page.svelte b/src/routes/register/+page.svelte index aa0e66e0..fd9e4417 100644 --- a/src/routes/register/+page.svelte +++ b/src/routes/register/+page.svelte @@ -5,9 +5,7 @@ afterNavigate(async () => { try { - console.log('whoa'); await invalidateAll(); - console.log('no'); } catch (e) { console.log(e); } -- cgit v1.2.3 From b7571e82c8c2e52ecf8565cfb2ab99a7620673ad Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Tue, 18 Oct 2022 21:58:17 -0700 Subject: handle card payment --- src/components/Calendar.svelte | 15 +++ src/components/Card.svelte | 14 ++ src/components/Lock.svelte | 14 ++ src/components/index.js | 3 + src/lib/ticket.js | 31 +++++ src/routes/invoice/[id]/+page.svelte | 1 - src/routes/launch/purchase/+page.server.js | 49 +------ src/routes/launch/purchase/+page.svelte | 44 +++--- src/routes/launch/purchase/card/+page.server.js | 16 ++- src/routes/launch/purchase/card/+page.svelte | 169 ++++++++++-------------- src/routes/launch/ticket/+page.server.js | 1 - 11 files changed, 181 insertions(+), 176 deletions(-) create mode 100644 src/components/Calendar.svelte create mode 100644 src/components/Card.svelte create mode 100644 src/components/Lock.svelte create mode 100644 src/lib/ticket.js (limited to 'src/components') diff --git a/src/components/Calendar.svelte b/src/components/Calendar.svelte new file mode 100644 index 00000000..ce1841f3 --- /dev/null +++ b/src/components/Calendar.svelte @@ -0,0 +1,15 @@ + + + + diff --git a/src/components/Card.svelte b/src/components/Card.svelte new file mode 100644 index 00000000..44ab635f --- /dev/null +++ b/src/components/Card.svelte @@ -0,0 +1,14 @@ + + + diff --git a/src/components/Lock.svelte b/src/components/Lock.svelte new file mode 100644 index 00000000..11475acf --- /dev/null +++ b/src/components/Lock.svelte @@ -0,0 +1,14 @@ + + + diff --git a/src/components/index.js b/src/components/index.js index 08ec217a..d0af4c38 100644 --- a/src/components/index.js +++ b/src/components/index.js @@ -1,3 +1,6 @@ +export { default as Card } from './Card.svelte'; +export { default as Lock } from './Lock.svelte'; +export { default as Calendar } from './Calendar.svelte'; export { default as Avatar } from './Avatar.svelte'; export { default as Left } from './Left.svelte'; export { default as Numpad } from './Numpad.svelte'; diff --git a/src/lib/ticket.js b/src/lib/ticket.js new file mode 100644 index 00000000..4d342d28 --- /dev/null +++ b/src/lib/ticket.js @@ -0,0 +1,31 @@ +import { auth, get, post } from '$lib/utils'; +import { env } from '$env/dynamic/private'; +import tickets from '$lib/tickets'; + +export const createTicket = async (cookies, username) => { + let { ticket } = await get('/ticket'); + + let { address } = await post( + '/invoice', + { invoice: { network: 'liquid' }, user: { username } }, + auth(cookies) + ); + + let { asset } = await post( + '/assets', + { + address, + name: `Launch Party Ticket ${ticket}`, + ticker: 'LPT', + precision: 0, + asset_amount: '1', + token_amount: 0, + domain: 'coinos.io', + filename: tickets[ticket] + }, + { authorization: `Bearer ${env.LAUNCH}` } + ); + + await post('/ticket', { asset }, { authorization: `Bearer ${env.LAUNCH}` }); + return asset; +}; diff --git a/src/routes/invoice/[id]/+page.svelte b/src/routes/invoice/[id]/+page.svelte index cfff251e..84b03593 100644 --- a/src/routes/invoice/[id]/+page.svelte +++ b/src/routes/invoice/[id]/+page.svelte @@ -55,7 +55,6 @@ $: invoiceAmountFiatFormatted = f(amountFiat, currency); -{$invoices[id]?.memo}
- - -
- -
+
+
+ + + +
- - - + + + +
{/if}
diff --git a/src/routes/launch/purchase/card/+page.server.js b/src/routes/launch/purchase/card/+page.server.js index eaa8d5f3..34a2a8e1 100644 --- a/src/routes/launch/purchase/card/+page.server.js +++ b/src/routes/launch/purchase/card/+page.server.js @@ -1,16 +1,19 @@ import { env } from '$env/dynamic/private'; +import { error, redirect } from '@sveltejs/kit'; +import { post, auth } from '$lib/utils'; +import { createTicket } from "$lib/ticket"; let stripe = 'https://api.stripe.com/v1'; export const actions = { - default: async ({ request }) => { + default: async ({ cookies, request }) => { let form = await request.formData(); let headers = new Headers(); headers.set('Authorization', 'Basic ' + new Buffer(env.STRIPE + ':').toString('base64')); let body = new URLSearchParams({ - 'card[number]': form.get('number'), + 'card[number]': form.get('number').replace(/\s+/g, ''), 'card[exp_month]': form.get('expiry').slice(0, 2), 'card[exp_year]': form.get('expiry').slice(-2), 'card[cvc]': form.get('cvc') @@ -29,8 +32,13 @@ export const actions = { description: 'launch ticket' }); - let r = await fetch(`${stripe}/charges`, { body, headers, method }).then((r) => r.json()); + let { status } = await fetch(`${stripe}/charges`, { body, headers, method }).then((r) => + r.json() + ); + + if (status !== 'succeeded') throw error(500, { message: 'Card payment failed' }); + let asset = await createTicket(cookies, form.get('username')); - console.log(r); + throw redirect(307, `/launch/thanks/${asset}`); } }; diff --git a/src/routes/launch/purchase/card/+page.svelte b/src/routes/launch/purchase/card/+page.svelte index 79240078..2ab5fb86 100644 --- a/src/routes/launch/purchase/card/+page.svelte +++ b/src/routes/launch/purchase/card/+page.svelte @@ -1,109 +1,80 @@ -
- + + - + + - + + -
- -
- +
+ +
+ + diff --git a/src/routes/launch/ticket/+page.server.js b/src/routes/launch/ticket/+page.server.js index 59ea966e..054a88be 100644 --- a/src/routes/launch/ticket/+page.server.js +++ b/src/routes/launch/ticket/+page.server.js @@ -4,6 +4,5 @@ export const load = async ({ cookies, parent }) => { let { user } = await parent(); let tickets = await get('/tickets'); let ticket = tickets.findIndex((t) => user.accounts.find((a) => a.asset === t)); - console.log("TICK", ticket) return { ticket }; }; -- cgit v1.2.3 From 15b3f9fd5586ee6f7e511ca21e391ded731a35b2 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Tue, 18 Oct 2022 22:09:30 -0700 Subject: compiler warnings --- src/components/AppHeader.svelte | 1 - src/components/Avatar.svelte | 1 - src/components/Tip.svelte | 4 ---- src/routes/send/[...text]/+page.svelte | 4 ---- 4 files changed, 10 deletions(-) (limited to 'src/components') diff --git a/src/components/AppHeader.svelte b/src/components/AppHeader.svelte index 4e631971..302a9c7a 100644 --- a/src/components/AppHeader.svelte +++ b/src/components/AppHeader.svelte @@ -7,7 +7,6 @@ import { page } from '$app/stores'; export let data; - export let avatarPosition = 'left-[calc(50vw-64px)] md:left-[calc(15vw-48px)] bottom-[-64px]'; let { subject, user } = data; $: update(data); diff --git a/src/components/Avatar.svelte b/src/components/Avatar.svelte index d0a4e0f2..c7339bf5 100644 --- a/src/components/Avatar.svelte +++ b/src/components/Avatar.svelte @@ -2,7 +2,6 @@ import { colorTheme, tempProfileFiles } from '$lib/store'; import { Icon } from '$comp'; - export let avatarPosition; export let user; diff --git a/src/components/Tip.svelte b/src/components/Tip.svelte index 25dbe3b9..6af1e00a 100644 --- a/src/components/Tip.svelte +++ b/src/components/Tip.svelte @@ -188,8 +188,4 @@ background: black; cursor: pointer; } - - #slider.slider-track::-moz-range-progress { - background: black; - } diff --git a/src/routes/send/[...text]/+page.svelte b/src/routes/send/[...text]/+page.svelte index 5d6d123e..fe949617 100644 --- a/src/routes/send/[...text]/+page.svelte +++ b/src/routes/send/[...text]/+page.svelte @@ -92,8 +92,4 @@ line-height: 20px; @apply block border rounded-2xl p-3 py-4 w-full; } - - .expandable-expandable::-webkit-resizer { - background: transparent; - } -- cgit v1.2.3 From f3db48617478c58a7813bc3b0587c5ed53df4da5 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Tue, 18 Oct 2022 23:04:39 -0700 Subject: prettier --- src/components/Calendar.svelte | 29 ++++++++++++------------- src/lib/ticket.js | 4 ++-- src/routes/launch/+page.svelte | 7 +++--- src/routes/launch/purchase/+page.server.js | 2 +- src/routes/launch/purchase/card/+page.server.js | 4 ++-- src/routes/launch/ticket/+page.server.js | 4 ++-- 6 files changed, 24 insertions(+), 26 deletions(-) (limited to 'src/components') diff --git a/src/components/Calendar.svelte b/src/components/Calendar.svelte index ce1841f3..7504f48e 100644 --- a/src/components/Calendar.svelte +++ b/src/components/Calendar.svelte @@ -1,15 +1,14 @@ - - - - + + + diff --git a/src/lib/ticket.js b/src/lib/ticket.js index 4d342d28..708c10f4 100644 --- a/src/lib/ticket.js +++ b/src/lib/ticket.js @@ -3,7 +3,7 @@ import { env } from '$env/dynamic/private'; import tickets from '$lib/tickets'; export const createTicket = async (cookies, username) => { - let { ticket } = await get('/ticket'); + let { ticket } = await get('/ticket'); let { address } = await post( '/invoice', @@ -27,5 +27,5 @@ export const createTicket = async (cookies, username) => { ); await post('/ticket', { asset }, { authorization: `Bearer ${env.LAUNCH}` }); - return asset; + return asset; }; diff --git a/src/routes/launch/+page.svelte b/src/routes/launch/+page.svelte index ec649b92..1110e86e 100644 --- a/src/routes/launch/+page.svelte +++ b/src/routes/launch/+page.svelte @@ -58,10 +58,9 @@

- We'll introduce our new interface for merchants to take bitcoin payments, discuss how we - can get all of Metro Vancouver on a bitcoin economy, and enjoy tasty food and drinks from The LoftThe Loft!

diff --git a/src/routes/launch/purchase/+page.server.js b/src/routes/launch/purchase/+page.server.js index 828e50b3..2ecce695 100644 --- a/src/routes/launch/purchase/+page.server.js +++ b/src/routes/launch/purchase/+page.server.js @@ -41,5 +41,5 @@ export const actions = { let { uuid } = await post('/invoice', { invoice, user }, auth(cookies)); throw redirect(307, `/invoice/${uuid}`); - }, + } }; diff --git a/src/routes/launch/purchase/card/+page.server.js b/src/routes/launch/purchase/card/+page.server.js index 34a2a8e1..1f564f78 100644 --- a/src/routes/launch/purchase/card/+page.server.js +++ b/src/routes/launch/purchase/card/+page.server.js @@ -1,7 +1,7 @@ import { env } from '$env/dynamic/private'; import { error, redirect } from '@sveltejs/kit'; import { post, auth } from '$lib/utils'; -import { createTicket } from "$lib/ticket"; +import { createTicket } from '$lib/ticket'; let stripe = 'https://api.stripe.com/v1'; @@ -37,7 +37,7 @@ export const actions = { ); if (status !== 'succeeded') throw error(500, { message: 'Card payment failed' }); - let asset = await createTicket(cookies, form.get('username')); + let asset = await createTicket(cookies, form.get('username')); throw redirect(307, `/launch/thanks/${asset}`); } diff --git a/src/routes/launch/ticket/+page.server.js b/src/routes/launch/ticket/+page.server.js index d2b51cfc..0362eb7d 100644 --- a/src/routes/launch/ticket/+page.server.js +++ b/src/routes/launch/ticket/+page.server.js @@ -3,7 +3,7 @@ import { get } from '$lib/utils'; export const load = async ({ cookies, parent }) => { let { user } = await parent(); let tickets = await get('/tickets'); - let ticket = tickets.findIndex((t) => user.accounts.find((a) => a.asset === t)); - let asset = tickets[ticket]; + let ticket = tickets.findIndex((t) => user.accounts.find((a) => a.asset === t)); + let asset = tickets[ticket]; return { asset, ticket }; }; -- cgit v1.2.3 From a005ef51ee46618a1875dee4559ccddfec41dfcd Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Fri, 21 Oct 2022 13:29:04 -0700 Subject: move 2fa to separate step --- src/components/RegisterOrLogin.svelte | 199 ++++++++++++++++++++-------------- src/lib/utils.js | 13 ++- src/routes/login/+page.server.js | 8 +- src/routes/login/+page.svelte | 1 + 4 files changed, 132 insertions(+), 89 deletions(-) (limited to 'src/components') diff --git a/src/components/RegisterOrLogin.svelte b/src/components/RegisterOrLogin.svelte index 7f254400..bf2d2084 100644 --- a/src/components/RegisterOrLogin.svelte +++ b/src/components/RegisterOrLogin.svelte @@ -1,4 +1,6 @@ -- cgit v1.2.3 From a67f9cbc9f609aa56e445fe8f422ba3be14e9345 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Fri, 21 Oct 2022 21:18:10 -0700 Subject: pin code input --- src/components/Qr.svelte | 4 +- src/lib/upload.js | 1 - src/lib/utils.js | 1 - src/routes/[username]/settings/+page.server.js | 4 +- src/routes/[username]/settings/+page.svelte | 28 +++++-- src/routes/[username]/settings/_account.svelte | 18 +++- src/routes/[username]/settings/_security.svelte | 104 +++++++++++++++++++----- 7 files changed, 125 insertions(+), 35 deletions(-) (limited to 'src/components') diff --git a/src/components/Qr.svelte b/src/components/Qr.svelte index 0ae028b9..3870abe0 100644 --- a/src/components/Qr.svelte +++ b/src/components/Qr.svelte @@ -57,8 +57,8 @@ {#if mask}
{/if} -
-
+
+