aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/InvoiceData.svelte
blob: 7723eb568cad58e162bf3c31c51e3dd7c762dcb5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<script>
  import { btc, f, sat, s, sats } from "$lib/utils";
  export let showQr,
    src,
    link,
    qr,
    txt,
    invoice,
    amount,
    amountFiat,
    currency,
    tip,
    rate;
</script>

{#if showQr}
  <div>
    <a href={link}>
      <img
        {src}
        class="mx-auto z-10 max-w-[360px] border-4 border-white"
        bind:this={qr}
        alt={txt}
      />
    </a>
  </div>
{/if}

{#if !showQr || !txt.startsWith("ln")}
  <div class="break-all text-center text-secondary text-xl">
    {txt}
  </div>
{/if}

{#each invoice.items as i}
  <div class="grid grid-cols-12 text-xl">
    <div class="col-span-1 my-auto">{i.quantity}</div>
    <div class="mr-auto grow col-span-7 my-auto">
      {i.name}
    </div>
    <div class="col-span-2 font-semibold text-right my-auto">
      {f(i.price * i.quantity, currency)}
    </div>
    <div class="col-span-2 text-secondary text-right text-lg my-auto">
      {sat(btc(i.price * i.quantity, rate))}
    </div>
  </div>
{/each}

{#if amount > 0}
  <div class="text-center font-bold text-2xl">
    <div>
      {f(amountFiat, currency)}

      {#if tip}
        <span class="text-sm">
          +{f(tip * (rate / sats), currency)}
        </span>
      {/if}
    </div>
    <div>
      <span class="text-secondary font-normal text-xl">⚡️{`${s(amount)}`}</span
      >

      {#if tip}
        <span class="text-sm text-secondary font-normal">
          +⚡️{s(tip)}
        </span>
      {/if}
    </div>
  </div>
{/if}