@shift72/core-template 0.5.1 → 1.0.0-alpha.0
Sign up to get free protection for your applications and to get access to all the features.
- package/.github/pull_request_template.md +47 -0
- package/.github/workflows/node.js.yml +1 -1
- package/.nvmrc +1 -0
- package/CHANGELOG.md +65 -10
- package/kibble.json +4 -4
- package/package.json +1 -2
- package/scripts/translate.mjs +30 -22
- package/site/ar_LB.all.json +99 -23
- package/site/ca_ES.all.json +91 -23
- package/site/da_DK.all.json +90 -22
- package/site/de_DE.all.json +90 -22
- package/site/el_EL.all.json +90 -22
- package/site/en_AU.all.json +87 -19
- package/site/es_ES.all.json +92 -24
- package/site/es_MX.all.json +89 -21
- package/site/{ee_EE.all.json → et_ET.all.json} +90 -22
- package/site/fi_FI.all.json +93 -25
- package/site/fr_FR.all.json +91 -23
- package/site/hr_HR.all.json +93 -23
- package/site/hu_HU.all.json +91 -23
- package/site/it_IT.all.json +91 -23
- package/site/ja_JP.all.json +88 -22
- package/site/lt_LT.all.json +94 -22
- package/site/nl_BE.all.json +90 -22
- package/site/no_NO.all.json +91 -23
- package/site/pl_PL.all.json +95 -23
- package/site/plans.html.jet +17 -17
- package/site/pt_BR.all.json +91 -23
- package/site/pt_PT.all.json +91 -23
- package/site/ru_RU.all.json +103 -31
- package/site/sr_SR.all.json +95 -25
- package/site/static/fonts/fa-s72.woff +0 -0
- package/site/static/js/main.js +2 -1
- package/site/static/scripts/main.js.map +1 -1
- package/site/styles/_availability-tags.scss +63 -31
- package/site/styles/_awards.scss +4 -3
- package/site/styles/_buttons.scss +46 -29
- package/site/styles/_can-be-watched-button.scss +0 -20
- package/site/styles/_carousel.scss +126 -311
- package/site/styles/_collections.scss +6 -11
- package/site/styles/_cta-buttons.scss +262 -0
- package/site/styles/_forms.scss +6 -2
- package/site/styles/_icons.scss +182 -9
- package/site/styles/_legacy.scss +1 -50
- package/site/styles/_meta-detail.scss +80 -229
- package/site/styles/_meta-item-tagline.scss +33 -0
- package/site/styles/_meta-item.scss +0 -4
- package/site/styles/_meta-sub-item.scss +116 -0
- package/site/styles/_mixins.scss +45 -0
- package/site/styles/_nav.scss +6 -5
- package/site/styles/_pages.scss +4 -13
- package/site/styles/_plans.scss +24 -17
- package/site/styles/_poster.scss +3 -9
- package/site/styles/_share-modal.scss +86 -0
- package/site/styles/_shift72.scss +11 -0
- package/site/styles/_shopping.scss +0 -1
- package/site/styles/_skip-link.scss +1 -1
- package/site/styles/_tooltips.scss +7 -0
- package/site/styles/_variables.scss +11 -12
- package/site/styles/_wishlist.scss +2 -2
- package/site/styles/main.scss +5 -3
- package/site/subscriptions.html.jet +11 -0
- package/site/templates/application/application.jet +2 -2
- package/site/templates/application/google.jet +8 -13
- package/site/templates/application/nav/user_logged_in.jet +7 -2
- package/site/templates/bundle/item.jet +2 -4
- package/site/templates/collection/carousel/carousel.jet +27 -0
- package/site/templates/collection/carousel/item/image.jet +5 -0
- package/site/templates/collection/carousel/item/synopsis.jet +5 -0
- package/site/templates/collection/carousel/item/tagline.jet +7 -0
- package/site/templates/collection/carousel/item/title.jet +3 -0
- package/site/templates/collection/carousel/item.jet +41 -0
- package/site/templates/collection/carousel/pagination.jet +9 -0
- package/site/templates/collection/page_collection.jet +2 -2
- package/site/templates/common/cta_buttons.jet +70 -0
- package/site/templates/common/social-media-buttons.jet +2 -38
- package/site/templates/common/sponsor-image.jet +18 -0
- package/site/templates/film/item.jet +98 -102
- package/site/templates/items/sub_item.jet +22 -0
- package/site/templates/items/tagline.jet +2 -2
- package/site/templates/page/homepage.jet +2 -3
- package/site/templates/tv/detail.jet +39 -38
- package/site/tr_TR.all.json +90 -22
- package/site/uk_UA.all.json +95 -23
- package/site/zh_TW.all.json +88 -22
- package/site/static/fonts/FontAwesome.otf +0 -0
- package/site/static/fonts/fontawesome-webfont.eot +0 -0
- package/site/static/fonts/fontawesome-webfont.svg +0 -565
- package/site/static/fonts/fontawesome-webfont.ttf +0 -0
- package/site/static/fonts/fontawesome-webfont.woff +0 -0
- package/site/static/fonts/fontawesome-webfont.woff2 +0 -0
- package/site/styles/_homepage.scss +0 -3
- package/site/styles/_social-media-buttons.scss +0 -159
- package/site/templates/bundle/buttons.jet +0 -6
- package/site/templates/bundle/extras.jet +0 -13
- package/site/templates/collection/carousel.jet +0 -27
- package/site/templates/collection/carousel_item.jet +0 -66
- package/site/templates/items/bonus_item.jet +0 -23
- package/site/templates/items/featured_item.jet +0 -61
- package/site/templates/tv/episode.jet +0 -21
package/site/styles/_plans.scss
CHANGED
@@ -32,21 +32,13 @@ s72-plan-label {
|
|
32
32
|
}
|
33
33
|
}
|
34
34
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
@extend .mx-auto;
|
39
|
-
left: 5px !important;
|
40
|
-
top: 5px;
|
35
|
+
s72-plan-label {
|
36
|
+
@extend .position-absolute;
|
37
|
+
@extend .mx-auto;
|
41
38
|
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
@extend .availability-bg;
|
46
|
-
|
47
|
-
background-color: $button-background;
|
48
|
-
}
|
49
|
-
}
|
39
|
+
left: 0;
|
40
|
+
top: 0;
|
41
|
+
z-index: 99;
|
50
42
|
}
|
51
43
|
|
52
44
|
s72-pricing-buttons:not(.s72-show) {
|
@@ -55,10 +47,11 @@ s72-plan-label {
|
|
55
47
|
|
56
48
|
.plan-caption-details .s72-plan-owned {
|
57
49
|
@extend .d-inline-block;
|
58
|
-
@extend .availability-bg;
|
59
|
-
@extend .mb-p5;
|
60
50
|
|
61
|
-
background-color:
|
51
|
+
background-color: var(--primary);
|
52
|
+
border-radius: $border-radius 0 $border-radius 0;
|
53
|
+
line-height: 20px;
|
54
|
+
padding: 0 5px;
|
62
55
|
}
|
63
56
|
|
64
57
|
s72-user-anon a {
|
@@ -90,3 +83,17 @@ s72-plan-label {
|
|
90
83
|
display: inline !important;
|
91
84
|
}
|
92
85
|
}
|
86
|
+
|
87
|
+
.s72-subscribe-trial-label {
|
88
|
+
display: none;
|
89
|
+
flex-grow: 1;
|
90
|
+
font-size: 12px;
|
91
|
+
text-align: center;
|
92
|
+
white-space: nowrap;
|
93
|
+
width: 1px;
|
94
|
+
|
95
|
+
@include media-breakpoint-up(md) {
|
96
|
+
display: block;
|
97
|
+
margin: 4px 0 0 18px;
|
98
|
+
}
|
99
|
+
}
|
package/site/styles/_poster.scss
CHANGED
@@ -6,14 +6,9 @@
|
|
6
6
|
width: 100%;
|
7
7
|
z-index: 1;
|
8
8
|
|
9
|
-
s72-availability-status
|
10
|
-
|
11
|
-
|
12
|
-
}
|
13
|
-
|
14
|
-
s72-availability-label {
|
15
|
-
bottom: $meta-item-availability-tag-margin;
|
16
|
-
left: $meta-item-availability-tag-margin;
|
9
|
+
s72-availability-status,
|
10
|
+
s72-plan-label {
|
11
|
+
color: $button-text-color;
|
17
12
|
}
|
18
13
|
|
19
14
|
.poster-overlay-top {
|
@@ -21,7 +16,6 @@
|
|
21
16
|
@extend .justify-content-between;
|
22
17
|
@extend .position-absolute;
|
23
18
|
|
24
|
-
@extend .p-p5;
|
25
19
|
@extend .mw-100;
|
26
20
|
width: 100%;
|
27
21
|
|
@@ -0,0 +1,86 @@
|
|
1
|
+
s72-share-modal .fa-share-alt {
|
2
|
+
font-size: 20px;
|
3
|
+
}
|
4
|
+
|
5
|
+
.s72-share-modal {
|
6
|
+
.s72-modal-dialog {
|
7
|
+
@extend .p-0;
|
8
|
+
max-width: 320px;
|
9
|
+
top: 50%;
|
10
|
+
transform: translateY(-50%);
|
11
|
+
|
12
|
+
@include media-breakpoint-up(sm) {
|
13
|
+
top: 90px;
|
14
|
+
transform: none;
|
15
|
+
}
|
16
|
+
.s72-modal-content {
|
17
|
+
@extend .p-0;
|
18
|
+
}
|
19
|
+
}
|
20
|
+
|
21
|
+
.modal-header {
|
22
|
+
border-bottom: 1px solid rgba(var(--body-color-rgb), 0.2);
|
23
|
+
}
|
24
|
+
|
25
|
+
.modal-title {
|
26
|
+
color: var(--body-color);
|
27
|
+
word-break: break-word;
|
28
|
+
}
|
29
|
+
|
30
|
+
.s72-modal-content {
|
31
|
+
background: none;
|
32
|
+
}
|
33
|
+
|
34
|
+
.modal-content {
|
35
|
+
background-color: var(--body-bg);
|
36
|
+
border: 0;
|
37
|
+
}
|
38
|
+
|
39
|
+
ul {
|
40
|
+
@extend .mb-0;
|
41
|
+
}
|
42
|
+
|
43
|
+
li {
|
44
|
+
@extend .list-unstyled;
|
45
|
+
@extend .position-relative;
|
46
|
+
i {
|
47
|
+
@extend .position-absolute;
|
48
|
+
font-size: 20px;
|
49
|
+
left: -30px;
|
50
|
+
}
|
51
|
+
}
|
52
|
+
|
53
|
+
a {
|
54
|
+
@extend .d-flex;
|
55
|
+
@extend .align-items-center;
|
56
|
+
color: var(--body-color);
|
57
|
+
padding: 0.7rem 0;
|
58
|
+
text-decoration: inherit;
|
59
|
+
word-break: break-word;
|
60
|
+
|
61
|
+
&:hover {
|
62
|
+
color: var(--link-color-hover);
|
63
|
+
}
|
64
|
+
}
|
65
|
+
|
66
|
+
[type='button'] {
|
67
|
+
// for testers on their ipod touch
|
68
|
+
appearance: none;
|
69
|
+
}
|
70
|
+
|
71
|
+
.close {
|
72
|
+
align-self: center;
|
73
|
+
color: var(--body-color);
|
74
|
+
opacity: 1;
|
75
|
+
text-shadow: none;
|
76
|
+
|
77
|
+
&:hover {
|
78
|
+
opacity: 0.8;
|
79
|
+
}
|
80
|
+
}
|
81
|
+
}
|
82
|
+
|
83
|
+
// Close gap if wishlist button isn't present
|
84
|
+
s72-userwishlist-button:empty + .social-media-buttons {
|
85
|
+
margin-left: -10px;
|
86
|
+
}
|
@@ -9,10 +9,17 @@
|
|
9
9
|
.s72-icon {
|
10
10
|
margin-left: 0.3em;
|
11
11
|
}
|
12
|
+
|
13
|
+
&:focus:not(:focus-visible) {
|
14
|
+
box-shadow: none;
|
15
|
+
}
|
12
16
|
}
|
13
17
|
|
18
|
+
// exists once in <s72-searchresults/>
|
14
19
|
.s72-btn-search {
|
15
20
|
@extend .btn-primary-override;
|
21
|
+
font-size: 24px;
|
22
|
+
line-height: 0;
|
16
23
|
}
|
17
24
|
|
18
25
|
.s72-btn-purchase {
|
@@ -23,6 +30,10 @@
|
|
23
30
|
@extend .btn-primary-override;
|
24
31
|
}
|
25
32
|
|
33
|
+
.s72-btn-subscribe {
|
34
|
+
@extend .btn-primary-override;
|
35
|
+
}
|
36
|
+
|
26
37
|
.s72-btn-close {
|
27
38
|
@extend .close;
|
28
39
|
}
|
@@ -1,11 +1,11 @@
|
|
1
|
-
@use
|
1
|
+
@use 'sass:math';
|
2
2
|
|
3
3
|
// This file contains any variables used by the site.
|
4
4
|
// These variables should be reasonably generic so that overrides are placed in main.scss.
|
5
5
|
|
6
6
|
:root {
|
7
|
-
--primary-rgb:
|
8
|
-
--secondary-rgb:
|
7
|
+
--primary-rgb: 0, 163, 255;
|
8
|
+
--secondary-rgb: 102, 199, 255;
|
9
9
|
--body-color-rgb: 255, 255, 255;
|
10
10
|
--body-bg-rgb: 15, 15, 15;
|
11
11
|
--body-bg-accent-rgb: 25, 25, 25; // darken(body-bg, 10%) OR lighten(body-bg, 10%)
|
@@ -31,10 +31,8 @@
|
|
31
31
|
|
32
32
|
--carousel-height: 560px;
|
33
33
|
--carousel-height-sm: 560px;
|
34
|
-
--carousel-height-
|
35
|
-
--carousel-
|
36
|
-
--carousel-caption-top-xs: 150px;
|
37
|
-
--carousel-caption-top-md: 175px;
|
34
|
+
--carousel-height-lg: 620px;
|
35
|
+
--carousel-bottom-gradient-height: 220px; // Increase this to 800px for light theme.
|
38
36
|
|
39
37
|
--page-padding-top: 120px;
|
40
38
|
--page-padding-top-md: 120px;
|
@@ -98,6 +96,8 @@ $spacers: (
|
|
98
96
|
// 7.5px
|
99
97
|
'1': $spacer,
|
100
98
|
// 10px
|
99
|
+
'1p5': $spacer * 1.5,
|
100
|
+
// 15px
|
101
101
|
'2': $spacer * 2,
|
102
102
|
// 20px
|
103
103
|
'2p5': $spacer * 2.5,
|
@@ -108,7 +108,7 @@ $spacers: (
|
|
108
108
|
// 40px
|
109
109
|
'5': $spacer * 5,
|
110
110
|
// 50px
|
111
|
-
'1rem': 1rem
|
111
|
+
'1rem': 1rem,
|
112
112
|
);
|
113
113
|
|
114
114
|
// Cookie Consent
|
@@ -137,8 +137,8 @@ $subnav-nav-item-active-background-color: var(--primary) !default;
|
|
137
137
|
$subnav-dropdown-background: var(--body-bg-accent) !default;
|
138
138
|
|
139
139
|
// Buttons
|
140
|
-
$button-text-color: var(--body-
|
141
|
-
$button-text-color-hover: var(--body-
|
140
|
+
$button-text-color: var(--body-bg) !default;
|
141
|
+
$button-text-color-hover: var(--body-bg) !default;
|
142
142
|
$button-background: var(--primary) !default;
|
143
143
|
$button-background-hover: var(--secondary) !default;
|
144
144
|
$trailer-button-text-color: var(--body-color) !default;
|
@@ -190,11 +190,10 @@ $letterboxd-color: var(--body-color) !default;
|
|
190
190
|
|
191
191
|
// Meta Items
|
192
192
|
// ------------------------------------
|
193
|
-
$meta-item-border-radius:
|
193
|
+
$meta-item-border-radius: 4px !default;
|
194
194
|
$featured-meta-item-body-padding: 10px !default;
|
195
195
|
$meta-item-body-color: var(--body-color) !default;
|
196
196
|
$meta-item-tagline-classification-border-radius: $meta-item-border-radius !default;
|
197
|
-
$meta-item-availability-tag-margin: 5px !default;
|
198
197
|
|
199
198
|
// Posters
|
200
199
|
// ------------------------------------
|
package/site/styles/main.scss
CHANGED
@@ -4,10 +4,10 @@
|
|
4
4
|
@import '_mixins';
|
5
5
|
@import '_globals';
|
6
6
|
@import '_shift72';
|
7
|
-
@import 'font-awesome/scss/font-awesome';
|
8
7
|
|
9
8
|
@import '_icons';
|
10
9
|
@import '_buttons';
|
10
|
+
@import '_cta-buttons';
|
11
11
|
@import '_pages';
|
12
12
|
@import '_forms';
|
13
13
|
@import '_card';
|
@@ -18,6 +18,7 @@
|
|
18
18
|
@import '_swiper';
|
19
19
|
|
20
20
|
@import '_meta-item';
|
21
|
+
@import '_meta-sub-item';
|
21
22
|
@import '_meta-item-tagline';
|
22
23
|
@import '_availability-tags';
|
23
24
|
|
@@ -26,7 +27,6 @@
|
|
26
27
|
@import '_carousel';
|
27
28
|
@import '_poster';
|
28
29
|
|
29
|
-
@import '_homepage';
|
30
30
|
@import '_meta-detail';
|
31
31
|
@import '_footer';
|
32
32
|
|
@@ -37,7 +37,7 @@
|
|
37
37
|
@import '_devices';
|
38
38
|
@import '_gradients';
|
39
39
|
|
40
|
-
@import '
|
40
|
+
@import '_share-modal';
|
41
41
|
@import '_cookie-consent';
|
42
42
|
@import '_pin-codes';
|
43
43
|
@import '_language-selector';
|
@@ -47,6 +47,8 @@
|
|
47
47
|
|
48
48
|
@import '_awards';
|
49
49
|
|
50
|
+
@import '_tooltips';
|
51
|
+
|
50
52
|
@import '_legacy';
|
51
53
|
|
52
54
|
// @import local must be last in this file.
|
@@ -0,0 +1,11 @@
|
|
1
|
+
{{extends "templates/application/application.jet"}}
|
2
|
+
|
3
|
+
{{block head()}}
|
4
|
+
{{yield seo(title=i18n("usersubscriptions_page_header"), index=false)}}
|
5
|
+
{{end}}
|
6
|
+
|
7
|
+
{{block body()}}
|
8
|
+
<div class="page form-page usersubscriptions-page">
|
9
|
+
<s72-usersubscription></s72-usersubscription>
|
10
|
+
</div>
|
11
|
+
{{end}}
|
@@ -21,6 +21,8 @@
|
|
21
21
|
<link rel="manifest" href="/manifest.json">
|
22
22
|
<link rel="preload" href="/{{lang.DefinitionFilePath}}" as="fetch" crossorigin type="application/json">
|
23
23
|
<link rel="preload" href="/classifications.all.json" as="fetch" crossorigin type="application/json">
|
24
|
+
<link rel="preload" href="/urlmap.json" as="fetch" crossorigin type="application/json">
|
25
|
+
|
24
26
|
<!-- Kibble: {{version}} -->
|
25
27
|
{{if site.SiteConfig.CoreTemplateVersion != ""}}
|
26
28
|
<!-- Core-Template: {{site.SiteConfig.CoreTemplateVersion}} -->
|
@@ -65,8 +67,6 @@
|
|
65
67
|
</script>
|
66
68
|
|
67
69
|
<script type="text/javascript" src="/scripts/swiper.min.js"></script>
|
68
|
-
|
69
|
-
{{yield googleGa4Script()}}
|
70
70
|
</head>
|
71
71
|
<body>
|
72
72
|
|
@@ -1,24 +1,19 @@
|
|
1
|
-
{{block googleGa4Script(analyticsId=config("google_analytics_id"))}}
|
2
|
-
{{if hasPrefix(analyticsId,"G")}}
|
3
|
-
<!-- GA4 script if G tracking code is provided -->
|
4
|
-
<script async src="https://www.googletagmanager.com/gtag/js?id={{analyticsId}}"></script>
|
5
|
-
{{end}}
|
6
|
-
{{end}}
|
7
|
-
|
8
1
|
{{block googleScripts(tagManagerId=config("google_tag_manager_id"), analyticsId=config("google_analytics_id"))}}
|
9
2
|
<!-- Google integration scripts -->
|
10
3
|
<script>
|
11
4
|
function loadGoogleTagManager() {
|
12
|
-
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
|
13
|
-
|
14
|
-
j=
|
15
|
-
'
|
16
|
-
})(window,document,'script','dataLayer','{{ tagManagerId }}')
|
17
|
-
}
|
5
|
+
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});
|
6
|
+
var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';
|
7
|
+
j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
|
8
|
+
})(window,document,'script','dataLayer','{{ tagManagerId }}')}
|
18
9
|
|
19
10
|
<!-- GA4 code snippet if G tracking code is provided, else use legacy UA code snippet -->
|
20
11
|
{{if hasPrefix(analyticsId,"G")}}
|
21
12
|
function loadGoogleAnalytics() {
|
13
|
+
(function(d, googleId){var f = d.getElementsByTagName('script')[0];var s = d.createElement('script');
|
14
|
+
s.src = 'https://www.googletagmanager.com/gtag/js?id=' + googleId;s.async = true;f.parentNode.insertBefore(s,f);
|
15
|
+
}(document,'{{analyticsId}}'));
|
16
|
+
|
22
17
|
window.dataLayer = window.dataLayer || [];
|
23
18
|
function gtag(){dataLayer.push(arguments);}
|
24
19
|
gtag('js', new Date());
|
@@ -3,8 +3,8 @@
|
|
3
3
|
<s72-dropdown class="navbar-nav-user-nav">
|
4
4
|
<div>
|
5
5
|
<a href="#" class="s72-btn s72-dropdown-toggle">
|
6
|
-
<svg
|
7
|
-
<path d="
|
6
|
+
<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
7
|
+
<path d="M12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM12 5C13.66 5 15 6.34 15 8C15 9.66 13.66 11 12 11C10.34 11 9 9.66 9 8C9 6.34 10.34 5 12 5ZM12 19.2C9.5 19.2 7.29 17.92 6 15.98C6.03 13.99 10 12.9 12 12.9C13.99 12.9 17.97 13.99 18 15.98C16.71 17.92 14.5 19.2 12 19.2Z"/>
|
8
8
|
</svg>
|
9
9
|
<s72-username class="username-mobile"></s72-username>
|
10
10
|
</a>
|
@@ -26,6 +26,11 @@
|
|
26
26
|
<li>
|
27
27
|
<a class="s72-dropdown-item" href="{{ routeToPath("/devices.html") }}">{{i18n("nav_devices")}}</a>
|
28
28
|
</li>
|
29
|
+
{{if config("account_show_plans") == "true" }}
|
30
|
+
<li>
|
31
|
+
<a class="s72-dropdown-item" href="{{ routeToPath("/subscriptions.html") }}">{{i18n("nav_subscriptions")}}</a>
|
32
|
+
</li>
|
33
|
+
{{ end }}
|
29
34
|
<li>
|
30
35
|
<a class="s72-dropdown-item" href="{{ routeToPath("/account.html") }}">{{i18n("nav_account")}}</a>
|
31
36
|
</li>
|
@@ -4,9 +4,8 @@
|
|
4
4
|
{{import "./title.jet"}}
|
5
5
|
{{import "./tagline.jet"}}
|
6
6
|
{{import "./synopsis.jet"}}
|
7
|
-
{{import "./buttons.jet"}}
|
8
|
-
{{import "./extras.jet"}}
|
9
7
|
{{import "./list.jet"}}
|
8
|
+
{{import "../common/cta_buttons.jet"}}
|
10
9
|
|
11
10
|
{{block head()}}
|
12
11
|
{{yield seo() bundle}}
|
@@ -28,10 +27,9 @@
|
|
28
27
|
|
29
28
|
{{yield bundleTagline(class="meta-detail-tagline") bundle}}
|
30
29
|
|
31
|
-
{{yield
|
30
|
+
{{yield ctaButtons(itemType="bundle") bundle}}
|
32
31
|
|
33
32
|
{{yield bundleSynopsis(class="meta-detail-synopsis", synopsis=bundle.Description)}}
|
34
|
-
|
35
33
|
</div>
|
36
34
|
|
37
35
|
{{yield bundleList(items=bundle.Items)}}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
{{import "./item.jet"}}
|
2
|
+
{{import "./pagination.jet"}}
|
3
|
+
|
4
|
+
{{block carousel()}}
|
5
|
+
{{maxSlides := configInt("carousel_max_slides", 7)}}
|
6
|
+
{{if len(.Items) < maxSlides}}
|
7
|
+
{{maxSlides = len(.Items)}}
|
8
|
+
{{end}}
|
9
|
+
{{items := .Items[0:maxSlides]}}
|
10
|
+
|
11
|
+
{{if len(items) > 0}}
|
12
|
+
<s72-carousel>
|
13
|
+
<section class="page-collection page-collection-carousel" aria-label="{{i18n("wcag_aria_label_carousel")}}">
|
14
|
+
<h2 class="sr-only">{{i18n("wcag_carousel_h2")}}</h2>
|
15
|
+
|
16
|
+
<div class="s72-carousel-slides">
|
17
|
+
{{range index, item := items}}
|
18
|
+
{{yield carouselItem(item=item)}}
|
19
|
+
{{end}}
|
20
|
+
</div>
|
21
|
+
|
22
|
+
{{yield carouselPagination(items=items)}}
|
23
|
+
|
24
|
+
</section>
|
25
|
+
</s72-carousel>
|
26
|
+
{{end}}
|
27
|
+
{{end}}
|
@@ -0,0 +1,41 @@
|
|
1
|
+
{{import "../../common/awards/carousel.jet"}}
|
2
|
+
{{import "./item/title.jet"}}
|
3
|
+
{{import "./item/tagline.jet"}}
|
4
|
+
{{import "./item/image.jet"}}
|
5
|
+
{{import "./item/synopsis.jet"}}
|
6
|
+
{{import "../../common/sponsor-image.jet"}}
|
7
|
+
{{import "../../common/cta_buttons.jet"}}
|
8
|
+
|
9
|
+
{{block carouselItem(item)}}
|
10
|
+
{{showItemContent := !isset(item["PageType"]) || item.PageType != "external"}}
|
11
|
+
|
12
|
+
<div class="s72-carousel-item" data-slug="{{item.Slug}}">
|
13
|
+
<a href="{{routeToSlug(item.Slug)}}" class="carousel-item-link" aria-label="{{item.Title}}">
|
14
|
+
|
15
|
+
{{yield carouselItemImage() item}}
|
16
|
+
|
17
|
+
{{if showItemContent}}
|
18
|
+
<div class="carousel-item-caption">
|
19
|
+
{{if item.ItemType == "film"}}
|
20
|
+
{{yield sponsor(hideLink="true") item.InnerItem}}
|
21
|
+
{{end}}
|
22
|
+
<div class="meta-item-content">
|
23
|
+
{{yield carouselItemTitle(title=item.GetTitle(i18n))}}
|
24
|
+
|
25
|
+
{{yield carouselItemTagline() item.InnerItem}}
|
26
|
+
|
27
|
+
{{if isset(item.InnerItem["Tagline"])}}
|
28
|
+
{{yield carouselItemSynopsis(synopsis=item.InnerItem.Tagline)}}
|
29
|
+
{{end}}
|
30
|
+
|
31
|
+
{{yield ctaButtons(itemType=item.ItemType, trailerRedirect=true) item.InnerItem}}
|
32
|
+
|
33
|
+
<s72-availability-label data-slug="{{item.Slug}}"></s72-availability-label>
|
34
|
+
|
35
|
+
{{yield awardsCarousel() item.InnerItem}}
|
36
|
+
</div>
|
37
|
+
</div>
|
38
|
+
{{end}}
|
39
|
+
</a>
|
40
|
+
</div>
|
41
|
+
{{end}}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
{{block carouselPagination(items)}}
|
2
|
+
<div class="s72-carousel-pagination">
|
3
|
+
{{range index, item := items}}
|
4
|
+
<button class="s72-carousel-page" data-page-index="{{index}}" data-slug="{{item.Slug}}" aria-label="{{i18n("wcag_aria_label_carousel_pagination")}} {{item.Title}}">
|
5
|
+
<div class="s72-carousel-line"></div>
|
6
|
+
</button>
|
7
|
+
{{end}}
|
8
|
+
</div>
|
9
|
+
{{end}}
|
@@ -1,10 +1,10 @@
|
|
1
|
-
{{import "./carousel.jet"}}
|
1
|
+
{{import "./carousel/carousel.jet"}}
|
2
2
|
{{import "./slider.jet"}}
|
3
3
|
{{import "./list.jet"}}
|
4
4
|
|
5
5
|
{{block pageCollection(showTitle=true)}}
|
6
6
|
{{if .Layout == "carousel"}}
|
7
|
-
{{yield
|
7
|
+
{{yield carousel()}}
|
8
8
|
{{else if .Layout == "slider"}}
|
9
9
|
{{yield pageCollectionSlider()}}
|
10
10
|
{{else}}
|
@@ -0,0 +1,70 @@
|
|
1
|
+
{{import "./social-media-buttons.jet"}}
|
2
|
+
|
3
|
+
{{block ctaButtons(itemType, trailerRedirect=false)}}
|
4
|
+
{{isFilm := itemType == "film"}}
|
5
|
+
{{isSeason := itemType == "tvseason"}}
|
6
|
+
{{isEpisode := itemType == "tvepisode"}}
|
7
|
+
{{isBundle := itemType == "bundle"}}
|
8
|
+
|
9
|
+
{{slug := .Slug}}
|
10
|
+
{{trailerURL := isBundle ? .PromoURL : (isFilm || isSeason) && len(.Trailers) > 0 ? .Trailers[0].URL : ""}}
|
11
|
+
|
12
|
+
{{showPricingButtons := isFilm || isSeason || isBundle}}
|
13
|
+
{{showPlayButton := isFilm || isSeason || isEpisode}}
|
14
|
+
{{showCanBeWatchedButton := isFilm}}
|
15
|
+
{{showTrailerButton := trailerURL != ""}}
|
16
|
+
{{showWishlistButton := isFilm || isSeason || isEpisode}}
|
17
|
+
{{showShareButton := isFilm || isSeason || isEpisode || isBundle}}
|
18
|
+
|
19
|
+
{{showCtaButtons := showPricingButtons || showPlayButton || showCanBeWatchedButton || showTrailerButton || showWishlistButton || showShareButton}}
|
20
|
+
{{showExtraButtons := showTrailerButton || showWishlistButton || showShareButton}}
|
21
|
+
|
22
|
+
{{if showCtaButtons}}
|
23
|
+
<div class="cta-buttons">
|
24
|
+
|
25
|
+
{{if showPricingButtons}}
|
26
|
+
<s72-pricing-buttons data-slug="{{slug}}"></s72-pricing-buttons>
|
27
|
+
{{end}}
|
28
|
+
|
29
|
+
{{if showPlayButton}}
|
30
|
+
<s72-play-button data-slug="{{slug}}"></s72-play-button>
|
31
|
+
{{end}}
|
32
|
+
|
33
|
+
{{if showCanBeWatchedButton}}
|
34
|
+
{{dataURL := .CustomFields.GetString("can_be_watched_button_link", "")}}
|
35
|
+
{{dataLabel := .CustomFields.GetString("can_be_watched_button_text", "")}}
|
36
|
+
<can-be-watched-button data-slug="{{slug}}" data-url="{{dataURL}}" data-label="{{dataLabel}}"></can-be-watched-button>
|
37
|
+
{{end}}
|
38
|
+
|
39
|
+
{{if showExtraButtons}}
|
40
|
+
<div class="extra-buttons">
|
41
|
+
|
42
|
+
{{if showTrailerButton}}
|
43
|
+
{{if trailerRedirect}}
|
44
|
+
<div class="s72-btn-trailer" data-url="{{routeToSlug(slug)}}?autoplay">
|
45
|
+
<button class="s72-btn s72-btn-play">
|
46
|
+
<span class="s72-btn-play-icon"><s72-play-icon></s72-play-icon></span>
|
47
|
+
</button>
|
48
|
+
</div>
|
49
|
+
{{else}}
|
50
|
+
{{dataLabel := i18n("play_trailer")}}
|
51
|
+
<s72-modal-player src="{{trailerURL}}" class="s72-btn-trailer" data-slug="{{slug}}" data-label="{{dataLabel}}" autoplay="querystring"></s72-modal-player>
|
52
|
+
{{end}}
|
53
|
+
{{end}}
|
54
|
+
|
55
|
+
{{if showWishlistButton}}
|
56
|
+
<s72-userwishlist-button data-slug="{{slug}}" class="btn-wishlist"></s72-userwishlist-button>
|
57
|
+
{{end}}
|
58
|
+
|
59
|
+
{{if showShareButton}}
|
60
|
+
{{letterboxdID := isFilm ? .Refs.LetterboxdID : ""}}
|
61
|
+
{{shareURL := site.SiteConfig.SiteURL + routeToSlug(slug)}}
|
62
|
+
{{yield socialMediaButtons(url=shareURL, letterboxdID=letterboxdID)}}
|
63
|
+
{{end}}
|
64
|
+
|
65
|
+
</div>
|
66
|
+
{{end}}
|
67
|
+
|
68
|
+
</div>
|
69
|
+
{{end}}
|
70
|
+
{{end}}
|