From ffa0710e3f6895c6f7bea0e58e18c89047c7c4f7 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Thu, 13 Oct 2022 18:04:14 -0700 Subject: tickets --- src/lib/tickets.js | 52 ++++++++++++++++++++++++++++++ src/routes/launch/+page.svelte | 37 ++++++++++++++------- src/routes/launch/purchase/+page.server.js | 24 ++++++++++++-- src/routes/launch/purchase/+page.svelte | 20 +++++++----- 4 files changed, 110 insertions(+), 23 deletions(-) create mode 100644 src/lib/tickets.js (limited to 'src') diff --git a/src/lib/tickets.js b/src/lib/tickets.js new file mode 100644 index 00000000..b0ca0ac0 --- /dev/null +++ b/src/lib/tickets.js @@ -0,0 +1,52 @@ +export default [ + 'QmPbFkiXNuaQyfwD4W9GcXP7qWaNd6wFd9KCnJir5mes1J', + 'QmPVjvbaMxSJRpDxMLYTdUWQbknej1vYLckBQ2pAgxZgJN', + 'QmVasycSFzCYhyXrcvTE7mN3d6W78RFnrhzg5cRF6Dp6Zq', + 'QmTmnhjpTBjZdeHwXgT9Dftc3uWMW73qsZpZ5ECrTyiKKZ', + 'QmWDBiyVPyFkzUrEdvy7DSJe1rBQpene1m6quKAtyjBP6a', + 'QmcxxzQZwgG7SE9QbHNvoTiCi6Dhs9rrz9roqvxm2JQA88', + 'Qmd9ThEpXLLHimEzRUWEFrAGLSw5PAHzn2SmwfCnjNLwWt', + 'Qmc7pWw1yxc2ARBWitDMYiyPkWK61NsXXU8oYAQwNAvcx1', + 'QmX9Hgw1rMFUgBBuq8QfZZDzLjN5xCED19fwFdDeDDqwmr', + 'QmconCAyNyaagqKvvfKCbG7Eu8c6vCtkv2ivvxMoFN9YwA', + 'QmWbFmvViy5gx4JdD5sw5YJETet4ZQcXtYgijYnrsnSZ3a', + 'QmP6QiiJwoqkduZMqdd5e5htHZ4aYHCsvEu7WEEUknKYa5', + 'QmefHk8hvBUHsuKugntok5u75Q8i886cnPwsj4LZZB6uWg', + 'QmdrSDK5ByYHxc88hfDu8hQgK5XYFpXSfPorUXdyTbE437', + 'QmZ6ZycjRzYpsjnLm1Lfgk1fXXDdhcYRkyfmqYJZVGwADy', + 'QmSkBxS5yLPjB2VPs89oQRZANsoyodK6s8s52E8GKXr2zt', + 'QmSn8TCPwq3UZ1Z4eyko76CvQo2H2Hyef1NGboDQN22m5i', + 'QmP6CTH5zrKMzZwtjy7VaK9NXiq4Gw53kmuRjUbJjeovoe', + 'QmdwT4yvz9Xf8g3t6irKRoh3Wa7MwRQrcUJckQxyQe1Bc5', + 'QmcwuHH3bD5JExqjDvKqRQ3V5xEVGqs94qPNVDzaCqJa5a', + 'QmRfVduHwn8sXwSoyfgZpxSi8L7EjP4LMp6fmijo9VApDp', + 'Qmc4TGj1Ahbg9HJ9WDXDm2bXsNkT4zRDp8Wdw9wqqdEwuH', + 'QmY8uQiHMWA8ztf2wAurNFW7eiTHQEUiLTQ2vGceMwVqz3', + 'QmXiXbaD12F4mkbUSQcKhWshkPU4oi29cUawZGnPk86VVU', + 'QmZaiAGjvBZBw4suz33s9JQNzY2Kshean2mQQPCa6gKMQe', + 'Qme8bDSdzX7tanPYf672xXW8vPdkLkeSLqLzHJqidRXsYJ', + 'QmRJirjuUKgh2AMyBF4jNquaXHFPBtDJf3gKFC614hX7qu', + 'QmdRoSKSgabcrpekNBPB6T47RBtJnCETYE8ry2a3P37MUe', + 'QmXoqArruHSghrUGW35vVQHPknBG5Cj939iWWHHXU3B616', + 'QmYCxtDuoHLMAFhNpifUsLU9ptAeFKwyxSiSEJhDQLMZtN', + 'QmQZQBw8wgzUsrmVDEejdePK23AEJbk9aUracvxLPyHz2x', + 'QmSsbu7U3i62AQKuYqfisRo5E6nqdMZfHRKWYJgouaXDxD', + 'QmaP4adVQuWyqtN4QCXeYXj4nr19Je4EqsaTG1zM9ywqFS', + 'QmPPsvgfXsiN3wNqdAwHAhQVpw6SZWNpry9Na6R2Xb7zXY', + 'QmR7z6wQmcfZUvRsVK83GRRboyvwZEDQujLwumMY33nAit', + 'QmQXgkgorDLPUyQpFbW8aLUW6jioQjUKamtXw5UuNCttDg', + 'QmcwYBeXt1BPfdSrtSrXFpWctRZ7RDHvmKTttC5hPPTSzG', + 'QmTUexZnw3xPy3YVdUsqJALwTvy2qFax5b3QpJVMvTCJQb', + 'QmNLkYXFUvctpfeeDTZxruZE2f834EUnYMM6JJUeTcUB4J', + 'QmT7544UaTPgKFYMCpPE4unXphNGX71BLZBPKLkxAijSmj', + 'QmTpVR4dqX1QV4fae5pZ1ACtRcANHwEWCLwpMXFmwE95Sm', + 'Qmdfyps5fW8d8wstXMfpvpei2DTmaADBWgmxLT7e7uan4P', + 'QmUSK8byipYoG3H97QpmPrHw9vYrvHygyhkiM81XmaKyxS', + 'QmQUGRvp96LTw5i8Ly9f5LoMvUpeQHCLGNqC88KV74wEHK', + 'Qma693TFLh9Z1MeBFzhPHi6Yk4tmTcZY2jogwJ8cPkU2B4', + 'QmNu8FyMpmkFdbCXGRVG8mKJtMvvCoLP8LNzFsxBQwxQeS', + 'QmWZHE87PKujL1MGLuFgP3D12o5GQxYbvbeTRgr12f1XMu', + 'QmcZJn8gPGd3poS9yuiNJh6iP4cn9uy5fnypky71r4sSSw', + 'QmTwrAF4E9ucpdnrUZFj6EfrQamGv7Qyn7ceSx1DUQYceC', + 'QmexssxU5iTXypgNqrmrQwMDJnTNxyZUxor5wDLnwb5TZp' +]; diff --git a/src/routes/launch/+page.svelte b/src/routes/launch/+page.svelte index 04f53086..a2e14738 100644 --- a/src/routes/launch/+page.svelte +++ b/src/routes/launch/+page.svelte @@ -14,33 +14,46 @@ }); -
- -
-
-
+
+
Oct
-
5
+
26
6 pm
-
+

Coinos Launch Party!

- Come join us at our launch party celebrating 10 years in business! We'll be introducing - our newly designed payments interface and afterwards we'll network and enjoy tasty food - and drinks from The Loft! + Come join us at our launch party celebrating 10 years in business! +

+
+

When

+

6pm on October 26

+
+
+

Where

+

1184 Denman Street, #203

+

Vancouver, BC

+
+ +

+ We'll be introducing our newly designed payments interface and afterwards we'll network + and enjoy tasty food and drinks from The Loft!

+

We're charging a $6 entry fee to help us know how much space to reserve. There will be complimentary appies and prize giveaways!

+
- + diff --git a/src/routes/launch/purchase/+page.server.js b/src/routes/launch/purchase/+page.server.js index f6314f7f..48c5c7d3 100644 --- a/src/routes/launch/purchase/+page.server.js +++ b/src/routes/launch/purchase/+page.server.js @@ -1,8 +1,26 @@ -export const load = ({ parent }) => parent(); +import { auth, get, post } from '$lib/utils'; +import tickets from "$lib/tickets"; + +export const load = () => get('/ticket'); export const actions = { default: async ({ cookies, request }) => { - let form = Object.fromEntries(await request.formData()); - console.log(form); + let { ticket } = Object.fromEntries(await request.formData()); + + let r = await post( + '/assets', + { + name: 'Launch Party Ticket', + ticker: 'LPT', + precision: 0, + asset_amount: '1', + token_amount: 0, + domain: 'coinos.io', + filename: tickets[ticket], + }, + auth(cookies) + ); + + console.log(r); } }; diff --git a/src/routes/launch/purchase/+page.svelte b/src/routes/launch/purchase/+page.svelte index df3048f3..b00b6baf 100644 --- a/src/routes/launch/purchase/+page.svelte +++ b/src/routes/launch/purchase/+page.svelte @@ -6,12 +6,15 @@ export let data; - let amount = 35000; + let amount = 25000; let { + address, account: { balance }, username } = data.user; + let { ticket } = data; + let invoice; let get = async (network) => { let { uuid } = await post('/invoice', { @@ -31,23 +34,24 @@
-
+
{#if balance > amount}

- Buy Your Launch Party Ticket? + Confirm Purchase

-
{amount} sats
+ -
-
+ + +
- -
+
+ {:else}

Ticket Price -- cgit v1.2.3 From 775cfb5859d676af0c0cae8e144b6dfb06ba1caf Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Thu, 13 Oct 2022 22:03:43 -0700 Subject: ticket page --- src/routes/launch/+page.svelte | 11 +++++++---- src/routes/launch/purchase/+page.server.js | 6 +++--- src/routes/launch/purchase/+page.svelte | 11 +++++++---- 3 files changed, 17 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/routes/launch/+page.svelte b/src/routes/launch/+page.svelte index a2e14738..6bd7067e 100644 --- a/src/routes/launch/+page.svelte +++ b/src/routes/launch/+page.svelte @@ -42,13 +42,16 @@

- We'll be introducing our newly designed payments interface and afterwards we'll network - and enjoy tasty food and drinks from The LoftThe Loft!

-

We're charging a $6 entry fee to help us know how much space to reserve. There will be complimentary appies and prize giveaways!

+

+ We're charging a nominal $6 entry fee so we can get an idea of how much space to reserve. +

diff --git a/src/routes/launch/purchase/+page.server.js b/src/routes/launch/purchase/+page.server.js index 48c5c7d3..1525034c 100644 --- a/src/routes/launch/purchase/+page.server.js +++ b/src/routes/launch/purchase/+page.server.js @@ -1,5 +1,5 @@ import { auth, get, post } from '$lib/utils'; -import tickets from "$lib/tickets"; +import tickets from '$lib/tickets'; export const load = () => get('/ticket'); @@ -10,13 +10,13 @@ export const actions = { let r = await post( '/assets', { - name: 'Launch Party Ticket', + name: `Launch Party Ticket ${ticket}`, ticker: 'LPT', precision: 0, asset_amount: '1', token_amount: 0, domain: 'coinos.io', - filename: tickets[ticket], + filename: tickets[ticket] }, auth(cookies) ); diff --git a/src/routes/launch/purchase/+page.svelte b/src/routes/launch/purchase/+page.svelte index b00b6baf..ecec51df 100644 --- a/src/routes/launch/purchase/+page.svelte +++ b/src/routes/launch/purchase/+page.svelte @@ -33,17 +33,20 @@ // if (balance < amount) throw redirect(307, `/${username}/fund/${amount - balance}`); -
-
+
+
{#if balance > amount}

Confirm Purchase

- +
- +
+ diff --git a/src/routes/user/+server.js b/src/routes/user/+server.js index c9490984..b9c37e6e 100644 --- a/src/routes/user/+server.js +++ b/src/routes/user/+server.js @@ -1,5 +1,4 @@ import { auth, post } from '$lib/utils'; -import cookie from 'cookie'; export async function PUT({ cookies, request }) { let user = await request.json(); -- cgit v1.2.3 From 44bee42517e70dce187534dac676f52c7b1f327f Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Mon, 17 Oct 2022 11:11:52 -0700 Subject: tickets wip --- src/routes/launch/+page.svelte | 5 +- src/routes/launch/purchase/+page.server.js | 31 ++++++- src/routes/launch/purchase/+page.svelte | 67 ++++++++------- src/routes/launch/purchase/card/+page.server.js | 37 ++++++++ src/routes/launch/purchase/card/+page.svelte | 109 ++++++++++++++++++++++++ src/routes/launch/ticket/+page.svelte | 5 ++ src/routes/pay/+page.server.js | 37 -------- src/routes/pay/+page.svelte | 102 ---------------------- 8 files changed, 216 insertions(+), 177 deletions(-) create mode 100644 src/routes/launch/purchase/card/+page.server.js create mode 100644 src/routes/launch/purchase/card/+page.svelte create mode 100644 src/routes/launch/ticket/+page.svelte delete mode 100644 src/routes/pay/+page.server.js delete mode 100644 src/routes/pay/+page.svelte (limited to 'src') diff --git a/src/routes/launch/+page.svelte b/src/routes/launch/+page.svelte index 5e519eff..da1c779c 100644 --- a/src/routes/launch/+page.svelte +++ b/src/routes/launch/+page.svelte @@ -9,8 +9,7 @@ $redirect = '/launch/purchase'; beforeNavigate(({ to }) => { - console.log(link); - if (link === '/register') info('Please sign in so we can get you a ticket'); + if (to.routeId === 'register') info('Please sign in so we can get you a ticket'); }); @@ -30,7 +29,7 @@

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

When

diff --git a/src/routes/launch/purchase/+page.server.js b/src/routes/launch/purchase/+page.server.js index 1525034c..03da1e35 100644 --- a/src/routes/launch/purchase/+page.server.js +++ b/src/routes/launch/purchase/+page.server.js @@ -1,10 +1,14 @@ import { auth, get, post } from '$lib/utils'; import tickets from '$lib/tickets'; -export const load = () => get('/ticket'); +export const load = async ({ parent }) => { + let p = await parent(); + let t = await get('/ticket'); + return { ...p, ...t }; +}; export const actions = { - default: async ({ cookies, request }) => { + internal: async ({ cookies, request, parent }) => { let { ticket } = Object.fromEntries(await request.formData()); let r = await post( @@ -22,5 +26,26 @@ export const actions = { ); console.log(r); - } + }, + + lightning: async ({ cookies, request }) => { + let form = await request.formData(); + + let rates = await get('/rates'); + + let invoice = { + amount: parseInt(form.get('amount')), + tip: parseInt(form.get('tip')), + network: 'lightning', + prompt: form.get('prompt') === 'true', + rate: rates[form.get('currency')] + }; + + let user = { username: form.get('username') }; + + let { uuid } = await post('/invoice', { invoice, user }, auth(cookies)); + + throw redirect(307, `/invoice/${uuid}`); + }, + bitcoin: () => console.log('YYEAH') }; diff --git a/src/routes/launch/purchase/+page.svelte b/src/routes/launch/purchase/+page.svelte index ecec51df..68c19076 100644 --- a/src/routes/launch/purchase/+page.svelte +++ b/src/routes/launch/purchase/+page.svelte @@ -9,6 +9,7 @@ let amount = 25000; let { address, + currency, account: { balance }, username } = data.user; @@ -35,17 +36,17 @@
- {#if balance > amount} -

- Confirm Purchase -

+

+ Confirm Purchase +

- + -
+ {#if balance > amount} +
+ - +
+ +
- + + + {/if}
diff --git a/src/routes/launch/purchase/card/+page.server.js b/src/routes/launch/purchase/card/+page.server.js new file mode 100644 index 00000000..1393eecc --- /dev/null +++ b/src/routes/launch/purchase/card/+page.server.js @@ -0,0 +1,37 @@ +let stripe = 'https://api.stripe.com/v1'; + +export const actions = { + default: async ({ request }) => { + let form = await request.formData(); + + let headers = new Headers(); + headers.set( + 'Authorization', + 'Basic ' + new Buffer('sk_test_mBv5bAeAhiYSDYFZJNsDwjht:').toString('base64') + ); + + let body = new URLSearchParams({ + 'card[number]': form.get('number'), + 'card[exp_month]': form.get('expiry').slice(0, 2), + 'card[exp_year]': form.get('expiry').slice(-2), + 'card[cvc]': form.get('cvc') + }); + + let method = 'POST'; + + let { id: source } = await fetch(`${stripe}/tokens`, { body, headers, method }).then((r) => + r.json() + ); + + body = new URLSearchParams({ + amount: 600, + currency: 'cad', + source, + description: 'launch ticket' + }); + + let r = await fetch(`${stripe}/charges`, { body, headers, method }).then((r) => r.json()); + + console.log(r); + } +}; diff --git a/src/routes/launch/purchase/card/+page.svelte b/src/routes/launch/purchase/card/+page.svelte new file mode 100644 index 00000000..73f2d880 --- /dev/null +++ b/src/routes/launch/purchase/card/+page.svelte @@ -0,0 +1,109 @@ + + +
+ + + + + + +
+ +
+
diff --git a/src/routes/launch/ticket/+page.svelte b/src/routes/launch/ticket/+page.svelte new file mode 100644 index 00000000..acf3b7a5 --- /dev/null +++ b/src/routes/launch/ticket/+page.svelte @@ -0,0 +1,5 @@ + + diff --git a/src/routes/pay/+page.server.js b/src/routes/pay/+page.server.js deleted file mode 100644 index 1393eecc..00000000 --- a/src/routes/pay/+page.server.js +++ /dev/null @@ -1,37 +0,0 @@ -let stripe = 'https://api.stripe.com/v1'; - -export const actions = { - default: async ({ request }) => { - let form = await request.formData(); - - let headers = new Headers(); - headers.set( - 'Authorization', - 'Basic ' + new Buffer('sk_test_mBv5bAeAhiYSDYFZJNsDwjht:').toString('base64') - ); - - let body = new URLSearchParams({ - 'card[number]': form.get('number'), - 'card[exp_month]': form.get('expiry').slice(0, 2), - 'card[exp_year]': form.get('expiry').slice(-2), - 'card[cvc]': form.get('cvc') - }); - - let method = 'POST'; - - let { id: source } = await fetch(`${stripe}/tokens`, { body, headers, method }).then((r) => - r.json() - ); - - body = new URLSearchParams({ - amount: 600, - currency: 'cad', - source, - description: 'launch ticket' - }); - - let r = await fetch(`${stripe}/charges`, { body, headers, method }).then((r) => r.json()); - - console.log(r); - } -}; diff --git a/src/routes/pay/+page.svelte b/src/routes/pay/+page.svelte deleted file mode 100644 index 3b428511..00000000 --- a/src/routes/pay/+page.svelte +++ /dev/null @@ -1,102 +0,0 @@ - - -
- - - - - - - -
-- cgit v1.2.3 From b45baf7b603c19af7c9f0c98a0df291ca2c305a8 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Mon, 17 Oct 2022 13:31:15 -0700 Subject: max file size --- src/routes/[username]/settings/_account.svelte | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/routes/[username]/settings/_account.svelte b/src/routes/[username]/settings/_account.svelte index bb229b93..10756c7a 100644 --- a/src/routes/[username]/settings/_account.svelte +++ b/src/routes/[username]/settings/_account.svelte @@ -36,9 +36,14 @@ percent = Math.round((event.loaded / event.total) * 100); }; + let tooLarge = {}; + let files = { profile: {}, banner: {} }; let handleFile = async ({ target }, type) => { + tooLarge[type] = false; let file = target.files[0]; + console.log('TYPE', file.size); + if (file.size > 5000000) return (tooLarge[type] = true); var reader = new FileReader(); reader.onload = async (e) => { files[type].src = e.target.result; @@ -118,6 +123,7 @@
{$t('user.settings.profileImage')} +
{#if profile}
select('profile')} > {user.username} @@ -167,6 +173,10 @@ {/if}
+ + {#if tooLarge['profile']} +
Max file size 5MB
+ {/if}
@@ -184,7 +194,7 @@ /> {:else if user.banner} select('banner')} alt="Banner" @@ -212,6 +222,10 @@ {#if files.banner.filename}
{files.banner.filename}
{/if} + + {#if tooLarge['banner']} +
Max file size 5MB
+ {/if}
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/images/loft.jpg b/static/images/loft.jpg new file mode 100644 index 00000000..39ca49ab Binary files /dev/null and b/static/images/loft.jpg differ -- 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') 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') 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 ba16411df48742971bfa031822b44297150548d3 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Tue, 18 Oct 2022 22:14:10 -0700 Subject: define asset --- src/routes/launch/purchase/+page.server.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/routes/launch/purchase/+page.server.js b/src/routes/launch/purchase/+page.server.js index 8568c0e7..828e50b3 100644 --- a/src/routes/launch/purchase/+page.server.js +++ b/src/routes/launch/purchase/+page.server.js @@ -17,7 +17,7 @@ export const load = async ({ parent }) => { export const actions = { internal: async ({ cookies, request }) => { let form = await request.formData(); - await createTicket(cookies, form.get('username')); + let asset = await createTicket(cookies, form.get('username')); await post('/send', { amount: 22000, username: 'launch' }, auth(cookies)); throw redirect(307, `/launch/thanks/${asset}`); -- cgit v1.2.3 From b0f7c19f0f762b9c6e33aa208b44d3b90dd98b1c Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Tue, 18 Oct 2022 22:25:32 -0700 Subject: rm card defaults --- src/routes/launch/purchase/card/+page.svelte | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'src') diff --git a/src/routes/launch/purchase/card/+page.svelte b/src/routes/launch/purchase/card/+page.svelte index 2ab5fb86..05d09025 100644 --- a/src/routes/launch/purchase/card/+page.svelte +++ b/src/routes/launch/purchase/card/+page.svelte @@ -24,8 +24,7 @@ class="rounded-md peer pl-12 pr-2 py-2 border-2 border-gray-200 placeholder-gray-300" type="text" name="number" - placeholder="0000 0000 0000" - value="4242424242424242" + placeholder="0000 0000 0000 0000" /> @@ -37,7 +36,6 @@ type="text" name="expiry" placeholder="MM/YY" - value="0123" /> @@ -58,7 +56,6 @@ type="text" name="cvc" placeholder="•••" - value="123" /> -- cgit v1.2.3 From 1f19cf55a1f75a68586b7f50d6cf43b37f8ef347 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Tue, 18 Oct 2022 22:33:42 -0700 Subject: update meta tags --- src/app.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/app.html b/src/app.html index d8545747..57ffbcce 100644 --- a/src/app.html +++ b/src/app.html @@ -4,7 +4,8 @@ - + + coinos %sveltekit.head% -- cgit v1.2.3 From 909796da3e90f87fd800eae1c1c17edfd7a3a9c1 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Tue, 18 Oct 2022 22:54:37 -0700 Subject: link to launch party in announcement bar --- src/locales/en.json | 2 +- src/routes/launch/thanks/[asset]/+page.svelte | 9 +-------- src/routes/launch/ticket/+page.server.js | 3 ++- src/routes/launch/ticket/+page.svelte | 9 ++++++++- 4 files changed, 12 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/locales/en.json b/src/locales/en.json index a6c94b58..ad87ed7f 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -152,7 +152,7 @@ "settings": "Settings", "support": "Support" }, - "newSiteHeader": "Welcome to the new and improved coinos, focused on merchant adoption! Looking for the old coinos? Visit classic.coinos.io.", + "newSiteHeader": "Join us at our launch party in Vancouver on October 6! Looking for the old coinos? Visit classic.coinos.io", "news": { "header": "News", "subheader": "Latest Updates", diff --git a/src/routes/launch/thanks/[asset]/+page.svelte b/src/routes/launch/thanks/[asset]/+page.svelte index 4f0ec3bb..43f10057 100644 --- a/src/routes/launch/thanks/[asset]/+page.svelte +++ b/src/routes/launch/thanks/[asset]/+page.svelte @@ -15,17 +15,10 @@

We look forward to seeing you!

- -

- We've minted your ticket as an NFT on the Liquid Blockchain as a proof of purchase and commemorative token. -

- +