summaryrefslogtreecommitdiff
path: root/src/components/jet/item/InAppPurchaseLockup.svelte
blob: 29b7196363935613559a967740f90709eea108ff (plain)
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
73
74
<script lang="ts">
    import type { InAppPurchaseLockup } from '@jet-app/app-store/api/models';

    import LineClamp from '@amp/web-app-components/src/components/LineClamp/LineClamp.svelte';
    import Artwork from '~/components/Artwork.svelte';
    import PlusIcon from '~/sf-symbols/plus.heavy.svg';

    export let item: InAppPurchaseLockup;
</script>

<article>
    <div class="artwork-container">
        <PlusIcon class="plus-icon" aria-hidden="true" />
        <Artwork artwork={item.icon} profile="in-app-purchase" />
    </div>

    <div class="metadata-container">
        {#if item.title}
            <LineClamp clamp={1}>
                <h3>{item.title}</h3>
            </LineClamp>
        {/if}

        {#if item.productDescription}
            <LineClamp clamp={1}>
                <p>{item.productDescription}</p>
            </LineClamp>
        {/if}

        {#if item.offerDisplayProperties.titles}
            <p>
                {item.offerDisplayProperties.titles.discountUnownedParent ||
                    item.offerDisplayProperties.titles.standard}
            </p>
        {/if}
    </div>
</article>

<style>
    .artwork-container {
        position: relative;
        flex-shrink: 0;
        width: 100%;
        margin-bottom: 8px;
        padding: 8%;
        border-radius: var(--global-border-radius-small);
        background: var(--systemQuinary);
    }

    .artwork-container :global(.plus-icon) {
        position: absolute;
        top: 6%;
        width: 9%;
        inset-inline-end: 5%;
    }

    .artwork-container :global(.artwork-component) {
        border-radius: var(--global-border-radius-small) 43%
            var(--global-border-radius-small) var(--global-border-radius-small);
    }

    .metadata-container {
        margin-inline-end: 16px;
    }

    h3 {
        font: var(--body-tall);
    }

    p {
        font: var(--callout-tall);
        color: var(--systemSecondary);
    }
</style>