summaryrefslogtreecommitdiff
path: root/src/components/jet/item/FooterLockupItem.svelte
blob: 848885d701218786dd76cf1246da227a2e7413f5 (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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<script lang="ts">
    import type { Lockup } from '@jet-app/app-store/api/models';

    import LineClamp from '@amp/web-app-components/src/components/LineClamp/LineClamp.svelte';
    import AppIcon from '~/components/AppIcon.svelte';
    import LinkWrapper from '~/components/LinkWrapper.svelte';
    import { getI18n } from '~/stores/i18n';

    export let item: Lockup;

    const i18n = getI18n();
</script>

<div class="footer-lockup-item">
    <LinkWrapper
        action={item.clickAction}
        label={`${$i18n.t('ASE.Web.AppStore.View')} ${
            item.title ? item.title : null
        }`}
    >
        {#if item.icon}
            <AppIcon icon={item.icon} profile="app-icon-small" />
        {/if}

        <div>
            {#if item.heading}
                <LineClamp clamp={1}>
                    <h4 dir="auto">{item.heading}</h4>
                </LineClamp>
            {/if}

            {#if item.title}
                <LineClamp clamp={1}>
                    <h3 dir="auto">{item.title}</h3>
                </LineClamp>
            {/if}

            {#if item.subtitle}
                <LineClamp clamp={1}>
                    <p dir="auto">{item.subtitle}</p>
                </LineClamp>
            {/if}
        </div>

        <span class="get-button blue" aria-hidden="true">
            {$i18n.t('ASE.Web.AppStore.View')}
        </span>
    </LinkWrapper>
</div>

<style>
    .footer-lockup-item > :global(a) {
        display: flex;
        align-items: center;
        flex-direction: column;
        width: 100%;
        padding: 32px;
        gap: 16px;
        text-align: center;
        border-radius: var(--global-border-radius-small);
        background-color: var(--systemQuinary);
        transition: background-color 210ms ease-out;
    }

    .footer-lockup-item > :global(a:hover) {
        --darken-amount: 2%;
        background-color: color-mix(
            in srgb,
            var(--systemQuinary) calc(100% - var(--darken-amount)),
            black
        );

        @media (prefers-color-scheme: dark) {
            --darken-amount: 10%;
        }
    }

    h3 {
        margin-bottom: 4px;
        font: var(--title-2-emphasized);
        color: var(--title-color);
    }

    h4 {
        text-transform: uppercase;
        font: var(--subhead-emphasized);
        color: var(--systemSecondary);
    }

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