summaryrefslogtreecommitdiff
path: root/src/components/ProductPageArcadeBanner.svelte
blob: 154c115cb0a4c1205f08c8ee01f912053230cecc (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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
<script lang="ts">
    import AppleArcadeLogo from '~/components/icons/AppleArcadeLogo.svg';
    import { getI18n } from '~/stores/i18n';

    const i18n = getI18n();
</script>

<aside>
    <div class="arcade-banner">
        <div class="metadata-container">
            <div class="logo-container">
                <AppleArcadeLogo />
            </div>

            <h2>
                {$i18n.t('ASE.Web.AppStore.Arcade.UpsellFooter.LineOne')}
                <br />
                {$i18n.t('ASE.Web.AppStore.Arcade.UpsellFooter.LineTwo')}
                {$i18n.t('ASE.Web.AppStore.Arcade.UpsellFooter.LineThree')}
            </h2>

            <a href="https://www.apple.com/apple-arcade/" target="_blank">
                <span>
                    {$i18n.t(
                        'ASE.Web.AppStore.Arcade.UpsellFooter.CallToActionText',
                    )}
                </span>
                {$i18n.t(
                    'ASE.Web.AppStore.Arcade.UpsellFooter.CallToActionDisclaimerMark',
                )}
            </a>
        </div>
    </div>
</aside>

<style lang="scss">
    @use '@amp/web-shared-styles/app/core/globalvars' as *;
    @use '@amp/web-shared-styles/sasskit-stylekit/ac-sasskit-config';
    @use 'ac-sasskit/core/locale' as *;
    @use 'ac-sasskit/modules/viewportcontent/core' as *;
    @use 'amp/stylekit/core/viewports' as *;

    .logo-container {
        width: 62px;
        margin-bottom: 10px;
        line-height: 0;

        @media (--range-xsmall-only) {
            width: 48px;
            margin-bottom: 8px;
        }
    }

    .logo-container :global(path) {
        color: var(--systemPrimary-onDark);
    }

    .metadata-container {
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 60%;
        height: 100%;
        padding: 0 20px;

        @media (--range-xsmall-only) {
            align-items: flex-start;
            justify-content: center;
        }
    }

    h2 {
        margin-bottom: 10px;
        font: var(--title-1-emphasized);

        @media (--range-xsmall-only) {
            margin-bottom: 8px;
            font: var(--title-3-emphasized);
        }
    }

    a {
        display: flex;
        font: var(--title-3-emphasized);

        @media (--range-xsmall-only) {
            font: var(--body-emphasized);
        }
    }

    a::after {
        content: '↗';
        font-weight: normal;
        margin-inline-start: 4px;
    }

    a:hover {
        text-decoration: none;
    }

    a:hover span {
        text-decoration: underline;
    }

    aside {
        width: 100%;
        max-width: calc(viewport-content-for(xlarge));
        height: 152px;
        margin: 0 auto 32px;
        padding: 0 var(--bodyGutter);

        @media (--range-xsmall-only) {
            max-width: 100%;
            padding: 0;
        }
    }

    .arcade-banner {
        width: 100%;
        height: 100%;
        color: var(--systemPrimary-onDark);
        border-radius: var(--global-border-radius-medium);
        background: #000;
        background-repeat: no-repeat;
        background-position: right;
        background-size: contain;

        @media (prefers-color-scheme: dark) {
            border: 1px solid var(--systemQuaternary-onDark);
        }

        @media (--range-xsmall-only) {
            border-radius: 0;
            background-image: url('/assets/images/arcade/upsell/banner-692@1x_LTR.png');
            background-size: cover;

            @include rtl {
                background-image: url('/assets/images/arcade/upsell/banner-692@1x_RTL.png');
                background-position: left;
            }

            @media (resolution >= 192dpi) {
                background-image: url('/assets/images/arcade/upsell/banner-692@2x_LTR.png');

                @include rtl {
                    background-image: url('/assets/images/arcade/upsell/banner-692@2x_RTL.png');
                    background-position: left;
                }
            }
        }

        @media (--range-small-only) {
            background-image: url('/assets/images/arcade/upsell/banner-692@1x_LTR.png');

            @include rtl {
                background-image: url('/assets/images/arcade/upsell/banner-692@1x_RTL.png');
                background-position: left;
            }

            @media (resolution >= 192dpi) {
                background-image: url('/assets/images/arcade/upsell/banner-692@2x_LTR.png');

                @include rtl {
                    background-image: url('/assets/images/arcade/upsell/banner-692@2x_RTL.png');
                    background-position: left;
                }
            }
        }

        @media (--range-medium-up) {
            background-image: url('/assets/images/arcade/upsell/banner-980@1x_LTR.png');

            @include rtl {
                background-image: url('/assets/images/arcade/upsell/banner-980@1x_RTL.png');
                background-position: left;
            }

            @media (resolution >= 192dpi) {
                background-image: url('/assets/images/arcade/upsell/banner-980@2x_LTR.png');

                @include rtl {
                    background-image: url('/assets/images/arcade/upsell/banner-980@2x_RTL.png');
                    background-position: left;
                }
            }
        }
    }
</style>