@shift72/core-template 0.6.0-alpha.0 → 1.0.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/CHANGELOG.md +35 -1
- package/kibble.json +2 -2
- package/package.json +1 -1
- package/site/ar_LB.all.json +41 -19
- package/site/ca_ES.all.json +33 -19
- package/site/da_DK.all.json +33 -19
- package/site/de_DE.all.json +33 -19
- package/site/el_EL.all.json +33 -19
- package/site/en_AU.all.json +17 -3
- package/site/es_ES.all.json +33 -19
- package/site/es_MX.all.json +30 -16
- package/site/et_ET.all.json +33 -19
- package/site/fi_FI.all.json +33 -19
- package/site/fr_FR.all.json +33 -19
- package/site/hr_HR.all.json +35 -19
- package/site/hu_HU.all.json +33 -19
- package/site/it_IT.all.json +33 -19
- package/site/ja_JP.all.json +31 -19
- package/site/lt_LT.all.json +37 -19
- package/site/nl_BE.all.json +32 -18
- package/site/no_NO.all.json +33 -19
- package/site/pl_PL.all.json +37 -19
- package/site/pt_BR.all.json +33 -19
- package/site/pt_PT.all.json +33 -19
- package/site/ru_RU.all.json +43 -25
- package/site/sr_SR.all.json +35 -19
- package/site/static/js/main.js +1 -1
- package/site/static/scripts/main.js.map +1 -1
- package/site/styles/_buttons.scss +32 -27
- package/site/styles/_can-be-watched-button.scss +0 -20
- package/site/styles/_carousel.scss +125 -307
- package/site/styles/_collections.scss +6 -11
- package/site/styles/_cta-buttons.scss +262 -0
- package/site/styles/_forms.scss +1 -2
- package/site/styles/_icons.scss +3 -1
- package/site/styles/_legacy.scss +1 -43
- package/site/styles/_meta-detail.scss +20 -194
- 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 +1 -1
- package/site/styles/_pages.scss +4 -13
- package/site/styles/_plans.scss +14 -0
- package/site/styles/_shift72.scss +4 -0
- package/site/styles/_variables.scss +2 -4
- package/site/styles/main.scss +2 -1
- 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 -2
- package/site/templates/film/item.jet +6 -16
- 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 +10 -18
- package/site/tr_TR.all.json +33 -19
- package/site/uk_UA.all.json +37 -19
- package/site/zh_TW.all.json +31 -19
- package/site/styles/_homepage.scss +0 -3
- 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 -68
- 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
@@ -0,0 +1,116 @@
|
|
1
|
+
.sub-item {
|
2
|
+
display: grid;
|
3
|
+
grid-gap: 15px;
|
4
|
+
grid-template-columns: 112px minmax(100px, 1fr);
|
5
|
+
grid-template-rows: auto minmax(0, 1fr);
|
6
|
+
margin-bottom: 15px;
|
7
|
+
padding-bottom: 15px;
|
8
|
+
|
9
|
+
@include media-breakpoint-up(sm) {
|
10
|
+
grid-template-columns: 175px minmax(100px, 1fr);
|
11
|
+
grid-template-rows: auto auto minmax(0, 1fr);
|
12
|
+
}
|
13
|
+
|
14
|
+
h3 {
|
15
|
+
color: var(--body-color);
|
16
|
+
font-size: 16px;
|
17
|
+
font-weight: $font-weight-normal;
|
18
|
+
letter-spacing: 0.4px;
|
19
|
+
margin-bottom: 15px;
|
20
|
+
|
21
|
+
@include media-breakpoint-up(sm) {
|
22
|
+
margin-bottom: 0;
|
23
|
+
}
|
24
|
+
}
|
25
|
+
|
26
|
+
&:not(:last-of-type) {
|
27
|
+
border-bottom: 1px solid $list-group-border-color;
|
28
|
+
}
|
29
|
+
|
30
|
+
s72-image {
|
31
|
+
display: initial; //override relish
|
32
|
+
}
|
33
|
+
|
34
|
+
.poster-container {
|
35
|
+
grid-row: 1 / 3;
|
36
|
+
|
37
|
+
@include media-breakpoint-up(sm) {
|
38
|
+
grid-row: 1 / 4;
|
39
|
+
}
|
40
|
+
}
|
41
|
+
|
42
|
+
.synopsis {
|
43
|
+
font-size: 16px;
|
44
|
+
font-weight: $font-weight-light;
|
45
|
+
grid-column: 1 / 3;
|
46
|
+
letter-spacing: 0.6px;
|
47
|
+
line-height: 1.25;
|
48
|
+
margin-top: 5px;
|
49
|
+
|
50
|
+
@include media-breakpoint-up(sm) {
|
51
|
+
grid-column: auto;
|
52
|
+
grid-row: 2;
|
53
|
+
margin-bottom: 10px;
|
54
|
+
}
|
55
|
+
|
56
|
+
p {
|
57
|
+
margin-bottom: 0;
|
58
|
+
}
|
59
|
+
}
|
60
|
+
|
61
|
+
.runtime {
|
62
|
+
font-size: 14px;
|
63
|
+
line-height: 14px;
|
64
|
+
}
|
65
|
+
|
66
|
+
.poster {
|
67
|
+
border-radius: $poster-border-radius;
|
68
|
+
|
69
|
+
img {
|
70
|
+
width: 100%;
|
71
|
+
}
|
72
|
+
|
73
|
+
.s72-btn-play {
|
74
|
+
background-color: unset;
|
75
|
+
border: 0;
|
76
|
+
border-radius: 999px;
|
77
|
+
box-shadow: none;
|
78
|
+
left: 50%;
|
79
|
+
padding-left: 3px;
|
80
|
+
padding-right: 3px;
|
81
|
+
position: absolute;
|
82
|
+
top: 50%;
|
83
|
+
transform: translateX(-50%) translateY(-50%);
|
84
|
+
z-index: 2;
|
85
|
+
|
86
|
+
/* stylelint-disable selector-max-compound-selectors */
|
87
|
+
circle {
|
88
|
+
fill: rgba(0, 0, 0, 0.8) !important;
|
89
|
+
stroke: unset;
|
90
|
+
}
|
91
|
+
|
92
|
+
path {
|
93
|
+
fill: #fff !important;
|
94
|
+
stroke: #fff !important;
|
95
|
+
}
|
96
|
+
|
97
|
+
.verb {
|
98
|
+
display: none;
|
99
|
+
}
|
100
|
+
/* stylelint-enable selector-max-compound-selectors */
|
101
|
+
}
|
102
|
+
}
|
103
|
+
}
|
104
|
+
|
105
|
+
.s72-playback-progress,
|
106
|
+
.s72-playback-progress-bar {
|
107
|
+
height: 6px;
|
108
|
+
}
|
109
|
+
|
110
|
+
.s72-playback-progress {
|
111
|
+
background-color: rgba(var(--body-bg-rgb), 0.5);
|
112
|
+
}
|
113
|
+
|
114
|
+
.s72-playback-progress-bar {
|
115
|
+
background-color: var(--secondary);
|
116
|
+
}
|
package/site/styles/_mixins.scss
CHANGED
@@ -24,6 +24,51 @@
|
|
24
24
|
z-index: 8;
|
25
25
|
}
|
26
26
|
|
27
|
+
// Easing gradients created using this tool: https://larsenwork.com/easing-gradients/#editor
|
28
|
+
.carousel-bottom-gradient {
|
29
|
+
background: linear-gradient(
|
30
|
+
to bottom,
|
31
|
+
rgba(var(--body-bg-rgb), 0) 0%,
|
32
|
+
rgba(var(--body-bg-rgb), 0.013) 8.1%,
|
33
|
+
rgba(var(--body-bg-rgb), 0.049) 15.5%,
|
34
|
+
rgba(var(--body-bg-rgb), 0.104) 22.5%,
|
35
|
+
rgba(var(--body-bg-rgb), 0.175) 29%,
|
36
|
+
rgba(var(--body-bg-rgb), 0.259) 35.3%,
|
37
|
+
rgba(var(--body-bg-rgb), 0.352) 41.2%,
|
38
|
+
rgba(var(--body-bg-rgb), 0.45) 47.1%,
|
39
|
+
rgba(var(--body-bg-rgb), 0.55) 52.9%,
|
40
|
+
rgba(var(--body-bg-rgb), 0.648) 58.8%,
|
41
|
+
rgba(var(--body-bg-rgb), 0.741) 64.7%,
|
42
|
+
rgba(var(--body-bg-rgb), 0.825) 71%,
|
43
|
+
rgba(var(--body-bg-rgb), 0.896) 77.5%,
|
44
|
+
rgba(var(--body-bg-rgb), 0.951) 84.5%,
|
45
|
+
rgba(var(--body-bg-rgb), 0.987) 91.9%,
|
46
|
+
rgba(var(--body-bg-rgb)) 100%
|
47
|
+
);
|
48
|
+
}
|
49
|
+
|
50
|
+
.navigation-gradient {
|
51
|
+
background: linear-gradient(
|
52
|
+
to bottom,
|
53
|
+
rgba(var(--body-bg-rgb)) 0%,
|
54
|
+
rgba(var(--body-bg-rgb), 0.987) 1.1%,
|
55
|
+
rgba(var(--body-bg-rgb), 0.951) 4.2%,
|
56
|
+
rgba(var(--body-bg-rgb), 0.896) 9%,
|
57
|
+
rgba(var(--body-bg-rgb), 0.825) 15.2%,
|
58
|
+
rgba(var(--body-bg-rgb), 0.741) 22.6%,
|
59
|
+
rgba(var(--body-bg-rgb), 0.648) 30.9%,
|
60
|
+
rgba(var(--body-bg-rgb), 0.55) 39.8%,
|
61
|
+
rgba(var(--body-bg-rgb), 0.45) 49%,
|
62
|
+
rgba(var(--body-bg-rgb), 0.352) 58.3%,
|
63
|
+
rgba(var(--body-bg-rgb), 0.259) 67.4%,
|
64
|
+
rgba(var(--body-bg-rgb), 0.175) 76%,
|
65
|
+
rgba(var(--body-bg-rgb), 0.104) 83.8%,
|
66
|
+
rgba(var(--body-bg-rgb), 0.049) 90.6%,
|
67
|
+
rgba(var(--body-bg-rgb), 0.013) 96.1%,
|
68
|
+
rgba(var(--body-bg-rgb), 0) 100%
|
69
|
+
);
|
70
|
+
}
|
71
|
+
|
27
72
|
@mixin a {
|
28
73
|
background-color: transparent;
|
29
74
|
color: var(--link-color);
|
package/site/styles/_nav.scss
CHANGED
package/site/styles/_pages.scss
CHANGED
@@ -8,7 +8,6 @@
|
|
8
8
|
.form-page {
|
9
9
|
@include media-breakpoint-up(md) {
|
10
10
|
padding-bottom: $grid-gutter-width * 4;
|
11
|
-
padding-top: $grid-gutter-width * 4;
|
12
11
|
}
|
13
12
|
}
|
14
13
|
|
@@ -83,7 +82,6 @@
|
|
83
82
|
@include media-breakpoint-up(xl) {
|
84
83
|
padding: var(--page-padding-top-lg) 0 0 0;
|
85
84
|
}
|
86
|
-
|
87
85
|
.page-header {
|
88
86
|
h1,
|
89
87
|
p {
|
@@ -144,17 +142,6 @@
|
|
144
142
|
}
|
145
143
|
}
|
146
144
|
|
147
|
-
.curated-page,
|
148
|
-
.collection-page {
|
149
|
-
padding: var(--page-padding-top) 0 0 0;
|
150
|
-
@include media-breakpoint-up(md) {
|
151
|
-
padding: var(--page-padding-top-md) 0 0 0;
|
152
|
-
}
|
153
|
-
@include media-breakpoint-up(lg) {
|
154
|
-
padding: var(--page-padding-top-lg) 0 0 0;
|
155
|
-
}
|
156
|
-
}
|
157
|
-
|
158
145
|
.collection-page {
|
159
146
|
.page-collections {
|
160
147
|
@extend .d-flex;
|
@@ -189,6 +176,10 @@
|
|
189
176
|
padding: 0 5px 10px;
|
190
177
|
}
|
191
178
|
}
|
179
|
+
|
180
|
+
.s72-subscribe-trial-label {
|
181
|
+
display: none;
|
182
|
+
}
|
192
183
|
}
|
193
184
|
|
194
185
|
.wishlist-page,
|
package/site/styles/_plans.scss
CHANGED
@@ -83,3 +83,17 @@ s72-plan-label {
|
|
83
83
|
display: inline !important;
|
84
84
|
}
|
85
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
|
+
}
|
@@ -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;
|
package/site/styles/main.scss
CHANGED
@@ -7,6 +7,7 @@
|
|
7
7
|
|
8
8
|
@import '_icons';
|
9
9
|
@import '_buttons';
|
10
|
+
@import '_cta-buttons';
|
10
11
|
@import '_pages';
|
11
12
|
@import '_forms';
|
12
13
|
@import '_card';
|
@@ -17,6 +18,7 @@
|
|
17
18
|
@import '_swiper';
|
18
19
|
|
19
20
|
@import '_meta-item';
|
21
|
+
@import '_meta-sub-item';
|
20
22
|
@import '_meta-item-tagline';
|
21
23
|
@import '_availability-tags';
|
22
24
|
|
@@ -25,7 +27,6 @@
|
|
25
27
|
@import '_carousel';
|
26
28
|
@import '_poster';
|
27
29
|
|
28
|
-
@import '_homepage';
|
29
30
|
@import '_meta-detail';
|
30
31
|
@import '_footer';
|
31
32
|
|
@@ -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}}
|
@@ -1,11 +1,11 @@
|
|
1
|
-
{{block socialMediaButtons(
|
1
|
+
{{block socialMediaButtons(url="", title="", letterboxdID="")}}
|
2
2
|
{{show_facebook_share := config("show_facebook_share", "true") == "true"}}
|
3
3
|
{{show_twitter_share := config("show_twitter_share", "true") == "true"}}
|
4
4
|
{{show_linkedin_share := config("show_linkedin_share", "true") == "true"}}
|
5
5
|
|
6
6
|
{{if show_facebook_share || show_twitter_share || show_linkedin_share || letterboxdID}}
|
7
7
|
<div class="social-media-buttons">
|
8
|
-
<s72-share-modal {{letterboxdID ? "letterboxd=" + letterboxdID : ""}}></s72-share-modal>
|
8
|
+
<s72-share-modal {{letterboxdID ? "letterboxd=" + letterboxdID : ""}} url="{{url}}"></s72-share-modal>
|
9
9
|
</div>
|
10
10
|
{{end}}
|
11
11
|
{{end}}
|
@@ -1,13 +1,13 @@
|
|
1
1
|
{{extends "../application/application.jet"}}
|
2
2
|
{{import "../common/slider.jet"}}
|
3
3
|
{{import "../items/tagline.jet"}}
|
4
|
-
{{import "../items/
|
4
|
+
{{import "../items/sub_item.jet"}}
|
5
5
|
{{import "../collection/page_collection_item.jet"}}
|
6
6
|
{{import "../collection/slider.jet"}}
|
7
7
|
{{import "../common/list.jet"}}
|
8
|
-
{{import "../common/social-media-buttons.jet"}}
|
9
8
|
{{import "../common/awards/item.jet"}}
|
10
9
|
{{import "../common/sponsor-image.jet"}}
|
10
|
+
{{import "../common/cta_buttons.jet"}}
|
11
11
|
|
12
12
|
{{block head()}}
|
13
13
|
{{yield seo() film}}
|
@@ -48,18 +48,8 @@
|
|
48
48
|
<!-- {{film.CustomFields|json}} -->
|
49
49
|
<s72-availability-label data-slug="{{film.Slug}}"></s72-availability-label>
|
50
50
|
|
51
|
-
|
52
|
-
|
53
|
-
<s72-pricing-buttons data-slug="{{film.Slug}}" data-title="{{film.Title}}"></s72-pricing-buttons>
|
54
|
-
<can-be-watched-button data-slug="{{film.Slug}}" data-url="{{ film.CustomFields.GetString("can_be_watched_button_link", "") }}" data-label="{{ film.CustomFields.GetString("can_be_watched_button_text", "can_be_watched_button_text") }}"></can-be-watched-button>
|
55
|
-
<div class="meta-detail-extras">
|
56
|
-
{{if len(film.Trailers) > 0 }}
|
57
|
-
<s72-modal-player src="{{film.Trailers[0].URL}}" class="s72-btn-trailer" data-slug="{{film.Slug}}" data-label="{{i18n("play_trailer")}}" autoplay="querystring"></s72-modal-player>
|
58
|
-
{{end}}
|
59
|
-
<s72-userwishlist-button data-slug="{{film.Slug}}" class="btn-wishlist"></s72-userwishlist-button>
|
60
|
-
{{yield socialMediaButtons(path=currentUrlPath, letterboxdID=film.Refs.LetterboxdID)}}
|
61
|
-
</div>
|
62
|
-
</div>
|
51
|
+
{{yield ctaButtons(itemType="film") film}}
|
52
|
+
|
63
53
|
{{if config("default_image_type") != "portrait"}}
|
64
54
|
<s72-availability-status data-slug="{{film.Slug}}"></s72-availability-status>
|
65
55
|
<br>
|
@@ -160,8 +150,8 @@
|
|
160
150
|
<h2>{{i18n("meta_detail_bonus_title")}}</h2>
|
161
151
|
{{yield list(itemsPerRow=4, itemLayout="landscape") content}}
|
162
152
|
{{range bonus := film.Bonuses}}
|
163
|
-
<div class="
|
164
|
-
{{yield
|
153
|
+
<div class="sub-item">
|
154
|
+
{{yield subItem(item=bonus)}}
|
165
155
|
</div>
|
166
156
|
{{end}}
|
167
157
|
{{end}}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
{{ block subItem(item) }}
|
2
|
+
<div class="poster-container">
|
3
|
+
<div class="poster">
|
4
|
+
<s72-availability-status slug="{{item.Slug}}"></s72-availability-status>
|
5
|
+
<s72-image src="{{item.Images.Landscape}}" alt="{{item.Title}}" class="poster-image poster-image-landscape"></s72-image>
|
6
|
+
<s72-play-button data-slug="{{item.Slug}}" title="{{item.Title}}"></s72-play-button>
|
7
|
+
<s72-playback-progress slug="{{item.Slug}}"></s72-playback-progress>
|
8
|
+
</div>
|
9
|
+
</div>
|
10
|
+
<h3>{{item.Title}}</h3>
|
11
|
+
{{if item.Runtime > 0 }}
|
12
|
+
<span class="runtime">
|
13
|
+
{{if item.Runtime.Hours() > 0}}
|
14
|
+
{{item.Runtime.Hours()}}{{i18n("runtime_hours")}}
|
15
|
+
{{end}}
|
16
|
+
{{item.Runtime.Minutes()}}{{i18n("runtime_minutes")}}
|
17
|
+
</span>
|
18
|
+
{{end}}
|
19
|
+
{{if item.Overview}}
|
20
|
+
<div class="synopsis">{{item.Overview | raw}}</div>
|
21
|
+
{{end}}
|
22
|
+
{{ end }}
|
@@ -28,7 +28,7 @@
|
|
28
28
|
{{end}}
|
29
29
|
{*{ There should be one less dividers than tagline items. }*}
|
30
30
|
{{dividers = dividers - 1}}
|
31
|
-
|
31
|
+
|
32
32
|
{{if classification}}
|
33
33
|
<s72-classification-label data-slug="{{.Slug}}" data-layout="tooltip"></s72-classification-label>
|
34
34
|
{{end}}
|
@@ -47,7 +47,7 @@
|
|
47
47
|
|
48
48
|
{{if isset(.Items)}}
|
49
49
|
{{yield taglineItem() content}}
|
50
|
-
{{i18n("
|
50
|
+
{{i18n("bundle_items_generic", len(.Items))}}
|
51
51
|
{{end}}
|
52
52
|
{{yield taglineDivider(dividers=dividers)}}
|
53
53
|
{{dividers = dividers - 1}}
|
@@ -1,7 +1,6 @@
|
|
1
1
|
{{extends "templates/application/application.jet"}}
|
2
2
|
{{import "templates/collection/page_collection.jet"}}
|
3
|
-
{{import "
|
4
|
-
{{import "../collection/carousel.jet"}}
|
3
|
+
{{import "../collection/carousel/carousel.jet"}}
|
5
4
|
{{import "templates/collection/wishlist.jet"}}
|
6
5
|
|
7
6
|
{{block head()}}
|
@@ -19,7 +18,7 @@
|
|
19
18
|
<h1 class="sr-only">{{i18n("wcag_homepage_h1")}}</h1>
|
20
19
|
|
21
20
|
<main id="main" class="page page-{{page.PageType|lower}} carousel-len-{{len(page.PageCollections[0].Items)}}">
|
22
|
-
{{yield
|
21
|
+
{{yield carousel() page.PageCollections[0]}}
|
23
22
|
|
24
23
|
<div class="other-sliders">
|
25
24
|
<h2 class="sr-only">{{i18n("wcag_collections_h2")}}</h2>
|