update
This commit is contained in:
rodič
9dc4c021d1
revize
ea4ae6fa3e
|
@ -22,8 +22,10 @@
|
|||
Otevřená komunitní kryptoměnová konference
|
||||
</div>
|
||||
<div class="mt-4">
|
||||
<a href={$bundle.links.docs} class="hover:text-red-500" target="_blank"
|
||||
><i class="fas fa-book" /> Dokumentace</a
|
||||
<a
|
||||
href={$bundle.links.docs}
|
||||
class="hover:text-red-500"
|
||||
target="_blank"><i class="fas fa-book" /> Dokumentace</a
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
import { faker } from "@faker-js/faker";
|
||||
import {
|
||||
orderTicketForm,
|
||||
bundle,
|
||||
apiStatus,
|
||||
userData,
|
||||
userDataLocal,
|
||||
|
@ -436,333 +437,364 @@
|
|||
{/if}
|
||||
<div class="mt-10 mb-10">
|
||||
<h1 class="uppercase text-2xl font-bold">Nákup vstupenek</h1>
|
||||
<div class="mt-4 mb-8">
|
||||
<div class="flex w-full uppercase text-sm mb-2">
|
||||
<div class="flex-1">
|
||||
{$apiStatus.wave.name} ({$apiStatus.wave.price} Kč)
|
||||
</div>
|
||||
<div class="justify-end">
|
||||
Zbývá {$apiStatus.wave.live.left} / {$apiStatus.wave.count}
|
||||
</div>
|
||||
</div>
|
||||
<div class="w-full bg-gray-200 rounded-full h-2.5">
|
||||
<div
|
||||
class="bg-utxo-gradient h-2.5 rounded-full transition-all"
|
||||
style="width: {$apiStatus.wave.live.perc}%"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
{#if $apiStatus.wave.live.left <= 0}
|
||||
<div class="mt-2">
|
||||
Aktuální vlna je vyprodaná. {#if $apiStatus.wave.live.waiting > 0}Zarezervované
|
||||
a nezaplacené vstupenky ({$apiStatus.wave.live.waiting}) se
|
||||
postupně vrací do prodeje.{/if}
|
||||
</div>
|
||||
{:else if !showOrder && !forceShow}
|
||||
|
||||
{#if !$apiStatus.wave}
|
||||
<div class="mt-4">
|
||||
<button
|
||||
class="border rounded-full border-[#E16A61] hover:border-0 hover:p-px hover:bg-utxo-gradient hover:text-white"
|
||||
on:click={() => (forceShow = true)}
|
||||
><div class="px-6 py-2">Nakoupit další vstupenky</div></button
|
||||
Není aktivní žádná prodejní vlna. Sledujte naše sociální sítě - <a
|
||||
href={$bundle.links.twitter}
|
||||
target="_blank"
|
||||
class="underline hover:no-underline">Twitter</a
|
||||
>,
|
||||
<a
|
||||
href={$bundle.links.instagram}
|
||||
target="_blank"
|
||||
class="underline hover:no-underline">Instagram</a
|
||||
>
|
||||
nebo
|
||||
<a
|
||||
href={$bundle.links.fbevent}
|
||||
target="_blank"
|
||||
class="underline hover:no-underline">Facebook</a
|
||||
>.
|
||||
</div>
|
||||
{:else if !$apiStatus.wave}
|
||||
<div class="mt-4">V současné době nelze zakoupit vstupenky.</div>
|
||||
{:else}
|
||||
<div
|
||||
class="p-3 bg-blue-web-light rounded-md mt-6 text-blue-web shadow-md"
|
||||
>
|
||||
<div class="sm:m-2 border rounded-md p-4 shadow bg-white mb-6">
|
||||
<div class="mb-4">
|
||||
Název akce: <span class="font-bold">UTXO.22</span><br />
|
||||
Datum konání: <span class="font-bold">4. - 5. červen 2022</span>
|
||||
(sobota - neděle)<br />
|
||||
Místo: <span class="font-bold">Gabriel Loci</span>, Praha 5<br
|
||||
/><br />
|
||||
Aktuální cena vstupenky:
|
||||
<span class="font-bold">{$apiStatus.wave.price} Kč</span>
|
||||
/ osobu ({$apiStatus.wave.name})
|
||||
<div class="mt-4 mb-8">
|
||||
<div class="flex w-full uppercase text-sm mb-2">
|
||||
<div class="flex-1">
|
||||
{$apiStatus.wave.name} ({$apiStatus.wave.price} Kč)
|
||||
</div>
|
||||
<div class="md:flex gap-3">
|
||||
<div class="md:w-1/2 p-2">
|
||||
<div class="font-bold uppercase">
|
||||
✅ Vstupenka obsahuje:
|
||||
</div>
|
||||
<div class="mt-4">
|
||||
<div class="mb-2">
|
||||
• přístup na všechny přednášky, workshopy a další události
|
||||
v rámci konference
|
||||
</div>
|
||||
<div class="mb-2">
|
||||
• platnost oba dva konferenční dny (sobota + neděle)
|
||||
</div>
|
||||
<div class="mb-2">
|
||||
• přístup na <span class="font-bold">UTXO.Party</span> v sobotu
|
||||
večer
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="md:w-1/2 p-2 md:mt-0 mt-3">
|
||||
<div class="font-bold uppercase">
|
||||
❌ Vstupenka NEobsahuje:
|
||||
</div>
|
||||
<div class="mt-4">
|
||||
<div class="mb-2">
|
||||
• jídlo a pití - občerstvení bude možné zakoupit na místě
|
||||
(platba kartou nebo Lightning)
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="justify-end">
|
||||
Zbývá {$apiStatus.wave.live.left} / {$apiStatus.wave.count}
|
||||
</div>
|
||||
</div>
|
||||
<div class="p-2">
|
||||
<div>
|
||||
<div class="uppercase text-sm font-bold">Email</div>
|
||||
<div class="mt-2 text-sm">
|
||||
Kontaktní email, na který budou zaslány vstupenky.
|
||||
<div class="w-full bg-gray-200 rounded-full h-2.5">
|
||||
<div
|
||||
class="bg-utxo-gradient h-2.5 rounded-full transition-all"
|
||||
style="width: {$apiStatus.wave.live.perc}%"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
{#if $apiStatus.wave.live.left <= 0}
|
||||
<div class="mt-2">
|
||||
Aktuální vlna je vyprodaná. {#if $apiStatus.wave.live.waiting > 0}Zarezervované
|
||||
a nezaplacené vstupenky ({$apiStatus.wave.live.waiting}) se
|
||||
postupně vrací do prodeje.{/if}
|
||||
</div>
|
||||
{:else if !showOrder && !forceShow}
|
||||
<div class="mt-4">
|
||||
<button
|
||||
class="border rounded-full border-[#E16A61] hover:border-0 hover:p-px hover:bg-utxo-gradient hover:text-white"
|
||||
on:click={() => (forceShow = true)}
|
||||
><div class="px-6 py-2">Nakoupit další vstupenky</div></button
|
||||
>
|
||||
</div>
|
||||
{:else if !$apiStatus.wave}
|
||||
<div class="mt-4">V současné době nelze zakoupit vstupenky.</div>
|
||||
{:else}
|
||||
<div
|
||||
class="p-3 bg-blue-web-light rounded-md mt-6 text-blue-web shadow-md"
|
||||
>
|
||||
<div class="sm:m-2 border rounded-md p-4 shadow bg-white mb-6">
|
||||
<div class="mb-4">
|
||||
Název akce: <span class="font-bold">UTXO.22</span><br />
|
||||
Datum konání:
|
||||
<span class="font-bold">4. - 5. červen 2022</span>
|
||||
(sobota - neděle)<br />
|
||||
Místo: <span class="font-bold">Gabriel Loci</span>, Praha 5<br
|
||||
/><br />
|
||||
Aktuální cena vstupenky:
|
||||
<span class="font-bold">{$apiStatus.wave.price} Kč</span>
|
||||
/ osobu ({$apiStatus.wave.name})
|
||||
</div>
|
||||
<div class="mt-2">
|
||||
<input
|
||||
type="text"
|
||||
class="border border-blue-web rounded-md p-2 w-full lg:w-1/2 text-blue-web"
|
||||
bind:value={$orderTicketForm.email}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-6">
|
||||
<div class="uppercase text-sm font-bold">Počet vstupenek</div>
|
||||
<div class="mt-2 flex gap-3">
|
||||
<select
|
||||
name="count"
|
||||
class="border border-blue-web rounded-md p-2 text-blue-web bg-white"
|
||||
bind:value={$orderTicketForm.count}
|
||||
>
|
||||
{#each count as i}
|
||||
<option value={i}>{i}</option>
|
||||
{/each}
|
||||
</select>
|
||||
<div class="my-auto">
|
||||
× <span class="font-bold">{$apiStatus.wave.price} Kč</span> (cena
|
||||
vstupenky)
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-6">
|
||||
<div class="uppercase text-sm font-bold">
|
||||
Vstupenky a příplatky
|
||||
</div>
|
||||
<div class="mt-2 text-sm">
|
||||
Informace, které budou vytištěné na Vaší konferenční jmenovku.
|
||||
Tyto údaje jsou nepovinné a je možné je změnit později.
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-2">
|
||||
{#each ticketFormCountArray($orderTicketForm.count) as i}
|
||||
<div
|
||||
class="p-4 bg-utxo-gradient text-white rounded-md mb-6 shadow-md"
|
||||
>
|
||||
<div class="">
|
||||
<div class="uppercase font-bold">Vstupenka #{i + 1}</div>
|
||||
<div class="md:flex gap-2">
|
||||
<div class="mt-2 flex-1">
|
||||
<div class="uppercase text-sm">Jméno (Přezdívka)</div>
|
||||
<div class="mt-2">
|
||||
<input
|
||||
type="text"
|
||||
maxlength="25"
|
||||
class="border border-blue-web rounded-md p-2 w-full text-blue-web"
|
||||
bind:value={$orderTicketForm.tickets[i].name}
|
||||
placeholder={faker.name.findName()}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-2 flex-1">
|
||||
<div class="uppercase text-sm">
|
||||
Organizace (Firma)
|
||||
</div>
|
||||
<div class="mt-2">
|
||||
<input
|
||||
type="text"
|
||||
maxlength="25"
|
||||
class="border border-blue-web rounded-md p-2 w-full text-blue-web"
|
||||
bind:value={$orderTicketForm.tickets[i].org}
|
||||
placeholder={faker.company.companyName()}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-2">
|
||||
<div class="uppercase text-sm">Twitter účet</div>
|
||||
<div class="mt-2">
|
||||
<input
|
||||
type="text"
|
||||
maxlength="25"
|
||||
class="border border-blue-web rounded-md p-2 w-full text-blue-web"
|
||||
bind:value={$orderTicketForm.tickets[i].twitter}
|
||||
placeholder="@{faker.internet.userName()}"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="md:flex gap-3">
|
||||
<div class="md:w-1/2 p-2">
|
||||
<div class="font-bold uppercase">
|
||||
✅ Vstupenka obsahuje:
|
||||
</div>
|
||||
<div class="mt-4">
|
||||
<div class="mb-2">
|
||||
• přístup na všechny přednášky, workshopy a další
|
||||
události v rámci konference
|
||||
</div>
|
||||
<div class="uppercase text-sm font-bold mt-3">
|
||||
Volitelné příplatky
|
||||
<div class="mb-2">
|
||||
• platnost oba dva konferenční dny (sobota + neděle)
|
||||
</div>
|
||||
<div class="mt-1">
|
||||
{#each $apiStatus.config.extras as ex}
|
||||
<div>
|
||||
<label class="cursor-pointer"
|
||||
><input
|
||||
type="checkbox"
|
||||
class="mr-0.5 cursor-pointer"
|
||||
bind:checked={$orderTicketForm.tickets[i]
|
||||
.extras[ex.id]}
|
||||
/>
|
||||
<span class="font-semibold"
|
||||
>{ex.name} ({ex.price} Kč)</span
|
||||
></label
|
||||
>
|
||||
- <span class="text-sm">{ex.desc}</span>
|
||||
</div>
|
||||
{/each}
|
||||
<div class="mb-2">
|
||||
• přístup na <span class="font-bold">UTXO.Party</span> v
|
||||
sobotu večer
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="md:w-1/2 p-2 md:mt-0 mt-3">
|
||||
<div class="font-bold uppercase">
|
||||
❌ Vstupenka NEobsahuje:
|
||||
</div>
|
||||
<div class="mt-4">
|
||||
<div class="mb-2">
|
||||
• jídlo a pití - občerstvení bude možné zakoupit na
|
||||
místě (platba kartou nebo Lightning)
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/each}
|
||||
</div>
|
||||
<div class="mt-6">
|
||||
<div class="uppercase text-sm font-bold">
|
||||
Dýško pro organizátory
|
||||
</div>
|
||||
<div class="mt-2 flex flex-wrap gap-2">
|
||||
{#each $apiStatus.config.tipPercentages as tp}
|
||||
<button
|
||||
class="block py-1.5 px-4 min-w-16 {$orderTicketForm.tipPercent ===
|
||||
tp[0] && $orderTicketForm.tipCustom < 1
|
||||
? (tp[0] === 0 ? 'bg-gray-400' : 'bg-blue-web') +
|
||||
' rounded-full text-white shadow-lg'
|
||||
: 'border border-solid border-blue-web rounded-full'}"
|
||||
on:click={changeTip(tp[0])}>{tp[1] || tp[0] + "%"}</button
|
||||
</div>
|
||||
<div class="p-2">
|
||||
<div>
|
||||
<div class="uppercase text-sm font-bold">Email</div>
|
||||
<div class="mt-2 text-sm">
|
||||
Kontaktní email, na který budou zaslány vstupenky.
|
||||
</div>
|
||||
<div class="mt-2">
|
||||
<input
|
||||
type="text"
|
||||
class="border border-blue-web rounded-md p-2 w-full lg:w-1/2 text-blue-web"
|
||||
bind:value={$orderTicketForm.email}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-6">
|
||||
<div class="uppercase text-sm font-bold">Počet vstupenek</div>
|
||||
<div class="mt-2 flex gap-3">
|
||||
<select
|
||||
name="count"
|
||||
class="border border-blue-web rounded-md p-2 text-blue-web bg-white"
|
||||
bind:value={$orderTicketForm.count}
|
||||
>
|
||||
{/each}
|
||||
<div
|
||||
class="px-2 py-1 {$orderTicketForm.tipCustom > 0
|
||||
? 'px-5 border border-blue-web rounded-full bg-blue-web text-white'
|
||||
: ''}"
|
||||
>
|
||||
Jiná částka: <input
|
||||
class="border border border-blue-web rounded-md px-2 py-1 text-blue-web w-16"
|
||||
bind:value={$orderTicketForm.tipCustom}
|
||||
/> Kč
|
||||
{#each count as i}
|
||||
<option value={i}>{i}</option>
|
||||
{/each}
|
||||
</select>
|
||||
<div class="my-auto">
|
||||
× <span class="font-bold">{$apiStatus.wave.price} Kč</span
|
||||
> (cena vstupenky)
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-6">
|
||||
<div class="uppercase text-sm font-bold">
|
||||
Vstupenky a příplatky
|
||||
</div>
|
||||
<div class="mt-2 text-sm">
|
||||
Informace, které budou vytištěné na Vaší konferenční
|
||||
jmenovku. Tyto údaje jsou nepovinné a je možné je změnit
|
||||
později.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-8">
|
||||
<div class="uppercase text-sm font-bold">Platební metoda</div>
|
||||
<div class="mt-2">
|
||||
{#each $apiStatus.config.paymentMethods as pm}
|
||||
<div class="mb-2">
|
||||
<label class="cursor-pointer"
|
||||
><input
|
||||
checked={$orderTicketForm.paymentMethod === pm.id}
|
||||
name="paymentMethod"
|
||||
value={pm.id}
|
||||
type="radio"
|
||||
on:change={selectPaymentMethod}
|
||||
class="cursor-pointer"
|
||||
/>
|
||||
{pm.name}</label
|
||||
>
|
||||
{#each ticketFormCountArray($orderTicketForm.count) as i}
|
||||
<div
|
||||
class="p-4 bg-utxo-gradient text-white rounded-md mb-6 shadow-md"
|
||||
>
|
||||
<div class="">
|
||||
<div class="uppercase font-bold">
|
||||
Vstupenka #{i + 1}
|
||||
</div>
|
||||
<div class="md:flex gap-2">
|
||||
<div class="mt-2 flex-1">
|
||||
<div class="uppercase text-sm">
|
||||
Jméno (Přezdívka)
|
||||
</div>
|
||||
<div class="mt-2">
|
||||
<input
|
||||
type="text"
|
||||
maxlength="25"
|
||||
class="border border-blue-web rounded-md p-2 w-full text-blue-web"
|
||||
bind:value={$orderTicketForm.tickets[i].name}
|
||||
placeholder={faker.name.findName()}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-2 flex-1">
|
||||
<div class="uppercase text-sm">
|
||||
Organizace (Firma)
|
||||
</div>
|
||||
<div class="mt-2">
|
||||
<input
|
||||
type="text"
|
||||
maxlength="25"
|
||||
class="border border-blue-web rounded-md p-2 w-full text-blue-web"
|
||||
bind:value={$orderTicketForm.tickets[i].org}
|
||||
placeholder={faker.company.companyName()}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-2">
|
||||
<div class="uppercase text-sm">Twitter účet</div>
|
||||
<div class="mt-2">
|
||||
<input
|
||||
type="text"
|
||||
maxlength="25"
|
||||
class="border border-blue-web rounded-md p-2 w-full text-blue-web"
|
||||
bind:value={$orderTicketForm.tickets[i].twitter}
|
||||
placeholder="@{faker.internet.userName()}"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="uppercase text-sm font-bold mt-3">
|
||||
Volitelné příplatky
|
||||
</div>
|
||||
<div class="mt-1">
|
||||
{#each $apiStatus.config.extras as ex}
|
||||
<div>
|
||||
<label class="cursor-pointer"
|
||||
><input
|
||||
type="checkbox"
|
||||
class="mr-0.5 cursor-pointer"
|
||||
bind:checked={$orderTicketForm.tickets[i]
|
||||
.extras[ex.id]}
|
||||
/>
|
||||
<span class="font-semibold"
|
||||
>{ex.name} ({ex.price} Kč)</span
|
||||
></label
|
||||
>
|
||||
- <span class="text-sm">{ex.desc}</span>
|
||||
</div>
|
||||
{/each}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/each}
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-6 py-3 px-4 bg-white rounded-md shadow-md text-sm">
|
||||
<div class="uppercase text-sm font-bold">
|
||||
Shrnutí objednávky
|
||||
</div>
|
||||
<div class="mt-1.5">
|
||||
<table cellpadding="5" class="table-auto">
|
||||
<tr>
|
||||
<td
|
||||
>{$orderTicketForm.count}× UTXO.22 vstupenka ({$apiStatus
|
||||
.wave.price} Kč)</td
|
||||
<div class="mt-6">
|
||||
<div class="uppercase text-sm font-bold">
|
||||
Dýško pro organizátory
|
||||
</div>
|
||||
<div class="mt-2 flex flex-wrap gap-2">
|
||||
{#each $apiStatus.config.tipPercentages as tp}
|
||||
<button
|
||||
class="block py-1.5 px-4 min-w-16 {$orderTicketForm.tipPercent ===
|
||||
tp[0] && $orderTicketForm.tipCustom < 1
|
||||
? (tp[0] === 0 ? 'bg-gray-400' : 'bg-blue-web') +
|
||||
' rounded-full text-white shadow-lg'
|
||||
: 'border border-solid border-blue-web rounded-full'}"
|
||||
on:click={changeTip(tp[0])}
|
||||
>{tp[1] || tp[0] + "%"}</button
|
||||
>
|
||||
<td>{ticketPrice} Kč</td>
|
||||
</tr>
|
||||
{#if extrasStats.sum > 0}
|
||||
{#each extrasStats.arr as es}
|
||||
<tr>
|
||||
<td
|
||||
>{es.count}× {$apiStatus.config.extras.find(
|
||||
(e) => e.id === es.id
|
||||
).shortname} ({es.price} Kč)</td
|
||||
>
|
||||
<td>{es.sum} Kč</td>
|
||||
</tr>
|
||||
{/each}
|
||||
{/if}
|
||||
{#if tip > 0}
|
||||
{/each}
|
||||
<div
|
||||
class="px-2 py-1 {$orderTicketForm.tipCustom > 0
|
||||
? 'px-5 border border-blue-web rounded-full bg-blue-web text-white'
|
||||
: ''}"
|
||||
>
|
||||
Jiná částka: <input
|
||||
class="border border border-blue-web rounded-md px-2 py-1 text-blue-web w-16"
|
||||
bind:value={$orderTicketForm.tipCustom}
|
||||
/> Kč
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-8">
|
||||
<div class="uppercase text-sm font-bold">Platební metoda</div>
|
||||
<div class="mt-2">
|
||||
{#each $apiStatus.config.paymentMethods as pm}
|
||||
<div class="mb-2">
|
||||
<label class="cursor-pointer"
|
||||
><input
|
||||
checked={$orderTicketForm.paymentMethod === pm.id}
|
||||
name="paymentMethod"
|
||||
value={pm.id}
|
||||
type="radio"
|
||||
on:change={selectPaymentMethod}
|
||||
class="cursor-pointer"
|
||||
/>
|
||||
{pm.name}</label
|
||||
>
|
||||
</div>
|
||||
{/each}
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="mt-6 py-3 px-4 bg-white rounded-md shadow-md text-sm"
|
||||
>
|
||||
<div class="uppercase text-sm font-bold">
|
||||
Shrnutí objednávky
|
||||
</div>
|
||||
<div class="mt-1.5">
|
||||
<table cellpadding="5" class="table-auto">
|
||||
<tr>
|
||||
<td
|
||||
>dýško pro organizátory ({$orderTicketForm.tipPercent >
|
||||
0
|
||||
? $orderTicketForm.tipPercent + "%"
|
||||
: $orderTicketForm.tipCustom + " Kč"})</td
|
||||
>{$orderTicketForm.count}× UTXO.22 vstupenka ({$apiStatus
|
||||
.wave.price} Kč)</td
|
||||
>
|
||||
<td>{tip} Kč</td>
|
||||
<td>{ticketPrice} Kč</td>
|
||||
</tr>
|
||||
{/if}
|
||||
<tr>
|
||||
<th align="right">Celkem:</th>
|
||||
<th class="font-bold">{totalPrice} Kč</th><th /></tr
|
||||
>
|
||||
</table>
|
||||
</div>
|
||||
<div class="mt-1.5">
|
||||
Platební metoda: <span class="font-bold"
|
||||
>{#if $orderTicketForm.paymentMethod === "btcpay"}Bitcoin{:else}Platební
|
||||
karta{/if}</span
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-6">
|
||||
<div class="flex gap-3">
|
||||
{#if !formProcessing}
|
||||
<div>
|
||||
<button
|
||||
class="{formProcessing
|
||||
? 'bg-gray-800'
|
||||
: 'hover:bg-utxo-gradient bg-[#E16A61]'} text-white font-semibold rounded-full shadow-md"
|
||||
disabled={formProcessing}
|
||||
on:click={submitOrderHandler}
|
||||
><div class="py-2 px-4">
|
||||
Odeslat objednávku - zaplatit {totalPrice} Kč {#if $orderTicketForm.paymentMethod === "btcpay"}bitcoinem{:else}platební
|
||||
kartou{/if}
|
||||
</div></button
|
||||
{#if extrasStats.sum > 0}
|
||||
{#each extrasStats.arr as es}
|
||||
<tr>
|
||||
<td
|
||||
>{es.count}× {$apiStatus.config.extras.find(
|
||||
(e) => e.id === es.id
|
||||
).shortname} ({es.price} Kč)</td
|
||||
>
|
||||
<td>{es.sum} Kč</td>
|
||||
</tr>
|
||||
{/each}
|
||||
{/if}
|
||||
{#if tip > 0}
|
||||
<tr>
|
||||
<td
|
||||
>dýško pro organizátory ({$orderTicketForm.tipPercent >
|
||||
0
|
||||
? $orderTicketForm.tipPercent + "%"
|
||||
: $orderTicketForm.tipCustom + " Kč"})</td
|
||||
>
|
||||
<td>{tip} Kč</td>
|
||||
</tr>
|
||||
{/if}
|
||||
<tr>
|
||||
<th align="right">Celkem:</th>
|
||||
<th class="font-bold">{totalPrice} Kč</th><th /></tr
|
||||
>
|
||||
</div>
|
||||
{/if}
|
||||
</table>
|
||||
</div>
|
||||
<div class="mt-1.5">
|
||||
Platební metoda: <span class="font-bold"
|
||||
>{#if $orderTicketForm.paymentMethod === "btcpay"}Bitcoin{:else}Platební
|
||||
karta{/if}</span
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-6">
|
||||
<div class="flex gap-3">
|
||||
{#if !formProcessing}
|
||||
<div>
|
||||
<button
|
||||
class="{formProcessing
|
||||
? 'bg-gray-800'
|
||||
: 'hover:bg-utxo-gradient bg-[#E16A61]'} text-white font-semibold rounded-full shadow-md"
|
||||
disabled={formProcessing}
|
||||
on:click={submitOrderHandler}
|
||||
><div class="py-2 px-4">
|
||||
Odeslat objednávku - zaplatit {totalPrice} Kč {#if $orderTicketForm.paymentMethod === "btcpay"}bitcoinem{:else}platební
|
||||
kartou{/if}
|
||||
</div></button
|
||||
>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{#if formProcessing}
|
||||
<div class="flex gap-3">
|
||||
<div class="">
|
||||
<img src="/img/Spin-1s-200px.gif" class="w-10" />
|
||||
</div>
|
||||
<div class="my-auto text-red-600 font-bold">
|
||||
Odesílám objednávku ..
|
||||
{#if formProcessing}
|
||||
<div class="flex gap-3">
|
||||
<div class="">
|
||||
<img src="/img/Spin-1s-200px.gif" class="w-10" />
|
||||
</div>
|
||||
<div class="my-auto text-red-600 font-bold">
|
||||
Odesílám objednávku ..
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
{#if orderError}
|
||||
<div
|
||||
class="py-2 px-3 mt-4 text-red-600 bg-red-200 rounded-xl shadow-md"
|
||||
>
|
||||
Chyba: {orderError.title}
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
{#if orderError}
|
||||
<div
|
||||
class="py-2 px-3 mt-4 text-red-600 bg-red-200 rounded-xl shadow-md"
|
||||
>
|
||||
Chyba: {orderError.title}
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
{/if}
|
||||
</div>
|
||||
<!--pre>{JSON.stringify($orderTicketForm, null, 2)}</pre>
|
||||
|
|
Načítá se…
Odkázat v novém úkolu