diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/tickets.js | 52 | ||||
| -rw-r--r-- | src/routes/launch/+page.svelte | 37 | ||||
| -rw-r--r-- | src/routes/launch/purchase/+page.server.js | 24 | ||||
| -rw-r--r-- | src/routes/launch/purchase/+page.svelte | 20 |
4 files changed, 110 insertions, 23 deletions
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 @@ }); </script> -<div class="flex mt-20 px-8"> - <img src="/images/ticket.webp" class="mb-8 md:max-w-xl mx-auto border border-gray-400" /> -</div> -<div class="mx-auto flex items-center justify-center px-8"> - <div class="flex flex-col w-full bg-white rounded shadow-lg sm:w-3/4 md:w-1/2 lg:w-3/5"> +<div class="mx-auto flex items-center justify-center px-8 mt-20"> + <div class="flex flex-col w-full bg-white rounded shadow-lg sm:w-3/4 lg:w-3/5"> <div class="flex flex-col w-full md:flex-row"> <div class="flex flex-row justify-around p-4 font-bold leading-none text-gray-800 uppercase bg-gray-400 rounded md:flex-col md:items-center md:justify-center md:w-1/4" > <div class="md:text-3xl">Oct</div> - <div class="md:text-6xl">5</div> + <div class="md:text-6xl">26</div> <div class="md:text-xl">6 pm</div> </div> - <div class="p-4 font-normal text-gray-800 md:w-3/4"> + <div class="p-4 font-normal text-gray-800 md:w-3/4 space-y-5"> <h1 class="mb-4 text-4xl font-bold leading-none tracking-tight text-gray-800"> Coinos Launch Party! </h1> <p class="leading-normal mb-2"> - 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 <a href="https://loftondenman.com/" class="underline">The Loft</a>! + Come join us at our launch party celebrating 10 years in business! + </p> + <div class="ml-8"> + <p><b>When</b></p> + <p>6pm on October 26</p> + </div> + <div class="ml-8"> + <p><b>Where</b></p> + <p>1184 Denman Street, #203</p> + <p>Vancouver, BC</p> + </div> + + <p> + We'll be introducing our newly designed payments interface and afterwards we'll network + and enjoy tasty food and drinks from <a href="https://loftondenman.com/" class="underline" + >The Loft</a + >! </p> + <p>We're charging a $6 entry fee to help us know how much space to reserve. There will be complimentary appies and prize giveaways!</p> + <div class="flex w-full my-8"> - <a href={link}> + <a href={link} class="mx-auto"> <button - class="bg-white text-black border rounded-full px-8 py-4 font-bold hover:opacity-80 mx-auto text-2xl" + class="bg-white text-black border rounded-full px-8 py-4 font-bold hover:opacity-80 text-2xl" > Purchase Ticket </button> 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 @@ </script> <div class="mx-auto h-screen flex items-center justify-center px-8"> - <div class="p-4 font-normal text-gray-800 mx-auto mb-8"> + <div class="p-4 font-normal text-gray-800 mx-auto mb-8 space-y-5"> {#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? + Confirm Purchase </h1> - <div class="text-center text-4xl mb-12">{amount} sats</div> + <img src={`/tickets/${(ticket + 1).toString().padStart(2, '0')}.png`} class="my-8" /> - <div class="w-full flex"> - <form method="POST" use:enhance> + <form method="POST" use:enhance> + <input type="hidden" name="ticket" value={ticket} /> + <div class="w-full flex"> <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> - </form> - </div> + </div> + </form> {:else} <h1 class="mb-4 text-4xl font-bold leading-none tracking-tight text-gray-800 text-center"> Ticket Price |
