@shift72/core-template 1.5.1 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/.github/workflows/pages.yml +47 -0
  2. package/CHANGELOG.md +37 -2
  3. package/kibble.json +1 -1
  4. package/package.json +1 -1
  5. package/site/ar_LB.all.json +90 -0
  6. package/site/ca_ES.all.json +79 -1
  7. package/site/da_DK.all.json +79 -1
  8. package/site/de_DE.all.json +80 -2
  9. package/site/el_EL.all.json +78 -0
  10. package/site/en_AU.all.json +79 -1
  11. package/site/es_ES.all.json +78 -0
  12. package/site/es_MX.all.json +78 -0
  13. package/site/et_ET.all.json +79 -1
  14. package/site/fi_FI.all.json +78 -0
  15. package/site/fr_FR.all.json +80 -2
  16. package/site/hr_HR.all.json +82 -1
  17. package/site/hu_HU.all.json +79 -1
  18. package/site/it_IT.all.json +79 -1
  19. package/site/ja_JP.all.json +77 -2
  20. package/site/lt_LT.all.json +85 -1
  21. package/site/nl_BE.all.json +78 -0
  22. package/site/no_NO.all.json +78 -0
  23. package/site/pl_PL.all.json +84 -0
  24. package/site/pt_BR.all.json +78 -0
  25. package/site/pt_PT.all.json +79 -1
  26. package/site/ru_RU.all.json +84 -0
  27. package/site/sr_SR.all.json +81 -0
  28. package/site/static/favicon.ico +0 -0
  29. package/site/styles/_availability-tags.scss +40 -0
  30. package/site/styles/_awards.scss +4 -8
  31. package/site/styles/_carousel.scss +18 -7
  32. package/site/styles/_collections.scss +3 -5
  33. package/site/styles/_cta-buttons.scss +17 -17
  34. package/site/styles/_icons.scss +16 -0
  35. package/site/styles/_meta-detail.scss +75 -29
  36. package/site/styles/_meta-item-tagline.scss +1 -2
  37. package/site/styles/_meta-sub-item.scss +29 -4
  38. package/site/styles/_swiper.scss +4 -4
  39. package/site/styles/_typography.scss +1 -1
  40. package/site/styles/_variables.scss +12 -3
  41. package/site/templates/bundle/item.jet +1 -2
  42. package/site/templates/bundle/list.jet +13 -9
  43. package/site/templates/collection/carousel/item.jet +5 -2
  44. package/site/templates/collection/list.jet +14 -12
  45. package/site/templates/collection/slider.jet +2 -2
  46. package/site/templates/collection/wishlist.jet +3 -3
  47. package/site/templates/common/cta_buttons.jet +5 -2
  48. package/site/templates/common/slider.jet +2 -2
  49. package/site/templates/film/item.jet +17 -12
  50. package/site/templates/items/sub_item.jet +23 -19
  51. package/site/templates/tv/detail.jet +14 -15
  52. package/site/tr_TR.all.json +78 -0
  53. package/site/uk_UA.all.json +85 -1
  54. package/site/zh_TW.all.json +75 -0
@@ -102,8 +102,7 @@
102
102
  }
103
103
 
104
104
  .meta-detail-main {
105
- @extend .d-flex;
106
- flex-direction: column;
105
+ display: grid;
107
106
  padding: var(--page-detail-padding-top) 20px 0 20px;
108
107
 
109
108
  @include media-breakpoint-up(xs) {
@@ -111,27 +110,58 @@
111
110
  }
112
111
 
113
112
  @include media-breakpoint-up(lg) {
114
- flex-direction: row;
113
+ grid-template-columns: auto 1fr;
115
114
  padding: var(--page-detail-padding-top-lg) 50px 0 50px;
116
115
  padding-bottom: 0;
117
116
  }
118
117
 
119
- .poster-wrapper {
120
- margin-bottom: 20px;
121
- position: relative;
122
- .sponsor {
123
- bottom: 100%;
118
+ s72-live-label {
119
+ @include media-breakpoint-up(lg) {
120
+ grid-column: 2;
121
+ }
122
+
123
+ .live-label {
124
+ margin-bottom: 12px;
124
125
  position: absolute;
126
+ // 42px magic number is 30px height of the label + 12px of "margin".
127
+ top: calc(var(--page-detail-padding-top) - 42px);
128
+
125
129
  @include media-breakpoint-up(xs) {
126
- position: relative;
130
+ // 42px magic number is 30px height of the label + 12px of "margin".
131
+ top: calc(var(--page-detail-padding-top-md) - 42px);
132
+ }
133
+
134
+ @include media-breakpoint-up(lg) {
135
+ margin-bottom: 8px;
136
+ // 42px magic number is 30px height of the label + 12px of "margin".
137
+ top: calc(var(--page-detail-padding-top-lg) - 42px);
138
+ }
139
+ }
140
+ }
141
+
142
+ .poster-wrapper {
143
+ @include media-breakpoint-up(lg) {
144
+ grid-row: 2;
145
+ }
146
+
147
+ .sponsor {
148
+ margin-bottom: 12px;
149
+
150
+ @include media-breakpoint-up(lg) {
151
+ margin-bottom: 20px;
127
152
  }
128
153
  }
154
+
155
+ > .poster {
156
+ margin-bottom: 5px;
157
+ }
129
158
  }
130
159
 
131
160
  .poster {
132
161
  animation: fadein 2s;
133
162
  display: block;
134
163
  flex-shrink: 0;
164
+ margin-bottom: 20px;
135
165
  margin-right: 20px;
136
166
  width: 110px;
137
167
 
@@ -142,6 +172,14 @@
142
172
  @include media-breakpoint-up(xl) {
143
173
  width: 208px;
144
174
  }
175
+
176
+ .live {
177
+ display: none;
178
+ }
179
+
180
+ .s72-image {
181
+ display: initial;
182
+ }
145
183
  }
146
184
 
147
185
  .poster-wrapper .sponsor {
@@ -149,11 +187,19 @@
149
187
  display: none;
150
188
  }
151
189
  }
190
+
191
+ .meta-detail-content {
192
+ @include media-breakpoint-up(lg) {
193
+ grid-column: 2;
194
+ grid-row: 2;
195
+ }
196
+ }
152
197
  }
153
198
 
154
199
  s72-element-switcher,
155
200
  .meta-detail-bonus-content,
156
- .meta-detail-episodes-content {
201
+ .meta-detail-episodes-content,
202
+ .meta-awards-all {
157
203
  flex: 1 1 100%;
158
204
  max-width: 728px;
159
205
 
@@ -184,7 +230,12 @@ s72-element-switcher,
184
230
  }
185
231
 
186
232
  .meta-detail-synopsis {
233
+ margin-bottom: -4px;
187
234
  max-width: 728px;
235
+
236
+ @include media-breakpoint-up(xs) {
237
+ margin-bottom: 0;
238
+ }
188
239
  @include media-breakpoint-up(xl) {
189
240
  max-width: 1100px;
190
241
  }
@@ -192,7 +243,7 @@ s72-element-switcher,
192
243
 
193
244
  .meta-detail-synopsis,
194
245
  .meta-detail-switcher-tagline {
195
- padding-top: 22px;
246
+ padding-top: 12px;
196
247
 
197
248
  p {
198
249
  animation: fadein 2s;
@@ -231,19 +282,6 @@ s72-element-switcher,
231
282
  }
232
283
  }
233
284
 
234
- .recommendations-collection {
235
- padding-top: 20px;
236
- @include media-breakpoint-up(md) {
237
- padding-top: 0;
238
- }
239
- @include media-breakpoint-up(lg) {
240
- padding-top: 20px;
241
- }
242
- @include media-breakpoint-up(xl) {
243
- padding-top: 80px;
244
- }
245
- }
246
-
247
285
  .meta-detail-bundle {
248
286
  .meta-detail-bg {
249
287
  opacity: 0.4;
@@ -337,7 +375,9 @@ s72-element-switcher,
337
375
  }
338
376
 
339
377
  .page-collection-list {
340
- padding: 0;
378
+ @include media-breakpoint-up(md) {
379
+ padding: 0;
380
+ }
341
381
 
342
382
  .page-collection-list-title {
343
383
  margin-bottom: 10px;
@@ -360,7 +400,10 @@ s72-element-switcher,
360
400
 
361
401
  .meta-detail-episodes-content,
362
402
  .meta-detail-bonus-content {
363
- margin-bottom: 40px;
403
+ margin-bottom: 18px;
404
+ @include media-breakpoint-up(lg) {
405
+ margin-bottom: 32px;
406
+ }
364
407
 
365
408
  h2 {
366
409
  @include heading-3-style;
@@ -377,10 +420,13 @@ s72-element-switcher,
377
420
 
378
421
  .element-switcher-wrapper {
379
422
  display: grid;
380
- gap: 50px;
381
- grid-template-columns: auto auto;
382
423
  width: 100%;
383
424
 
425
+ @include media-breakpoint-up(lg) {
426
+ gap: 50px;
427
+ grid-template-columns: auto auto;
428
+ }
429
+
384
430
  .sponsor {
385
431
  display: none;
386
432
  padding-top: 10px;
@@ -411,6 +457,7 @@ s72-element-switcher {
411
457
  margin-bottom: 62px;
412
458
 
413
459
  .s72-toggle {
460
+ bottom: -36px;
414
461
  &:hover {
415
462
  color: var(--body-color-hover);
416
463
  }
@@ -421,7 +468,6 @@ s72-element-switcher {
421
468
  display: grid;
422
469
  gap: 20px;
423
470
  grid-template-columns: repeat(1, 1fr);
424
- padding-bottom: 20px;
425
471
 
426
472
  @include media-breakpoint-up(lg) {
427
473
  grid-template-columns: repeat(2, 1fr);
@@ -52,6 +52,5 @@
52
52
  .meta-detail-content .meta-detail-tagline-and-classification {
53
53
  align-items: center;
54
54
  display: flex !important;
55
- padding-bottom: 12px;
56
- padding-top: 5px;
55
+ padding: 5px 0 16px;
57
56
  }
@@ -1,14 +1,23 @@
1
1
  .sub-item {
2
2
  display: grid;
3
- grid-gap: 15px;
3
+ gap: 1px 15px;
4
4
  grid-template-columns: 112px minmax(100px, 1fr);
5
5
  grid-template-rows: auto minmax(0, 1fr);
6
- margin-bottom: 15px;
7
- padding-bottom: 15px;
6
+ margin-bottom: 16px;
7
+ padding-bottom: 16px;
8
8
 
9
9
  @include media-breakpoint-up(sm) {
10
10
  grid-template-columns: 175px minmax(100px, 1fr);
11
11
  grid-template-rows: auto auto minmax(0, 1fr);
12
+
13
+ &:last-of-type {
14
+ margin-bottom: 0;
15
+ padding-bottom: 0;
16
+ }
17
+ }
18
+
19
+ @include media-breakpoint-up(lg) {
20
+ gap: 5px 15px;
12
21
  }
13
22
 
14
23
  h3 {
@@ -37,17 +46,20 @@
37
46
  }
38
47
 
39
48
  .synopsis {
49
+ animation: fadein 2s;
40
50
  font-size: 16px;
41
51
  font-weight: $font-weight-light;
42
52
  grid-column: 1 / 3;
43
53
  letter-spacing: 0.6px;
44
54
  line-height: 1.25;
45
55
  margin-top: 5px;
56
+ overflow: hidden;
46
57
 
47
58
  @include media-breakpoint-up(sm) {
59
+ display: block !important;
48
60
  grid-column: auto;
49
61
  grid-row: 2;
50
- margin-bottom: 10px;
62
+ margin-bottom: 7px;
51
63
  }
52
64
 
53
65
  p {
@@ -110,3 +122,16 @@
110
122
  .s72-playback-progress-bar {
111
123
  background-color: var(--secondary);
112
124
  }
125
+
126
+ s72-show-hide-switcher {
127
+ display: block;
128
+ margin-bottom: 15px;
129
+ padding-bottom: 15px;
130
+ transition: height 0.5s ease;
131
+
132
+ .s72-toggle {
133
+ @include media-breakpoint-up(sm) {
134
+ display: none;
135
+ }
136
+ }
137
+ }
@@ -1,16 +1,16 @@
1
- .swiper-wrapper-container {
1
+ .collection-wrapper-container {
2
2
  margin: 0 auto;
3
3
  padding: 0;
4
4
  position: relative;
5
5
  }
6
6
 
7
- .swiper-container {
7
+ .collection-container {
8
8
  padding: 0 0 40px;
9
9
  @include media-breakpoint-up(md) {
10
- padding: 15px 20px 20px;
10
+ padding: 10px 20px 20px;
11
11
  }
12
12
  @include media-breakpoint-up(lg) {
13
- padding: 15px 50px 20px;
13
+ padding: 10px 50px 20px;
14
14
  }
15
15
  }
16
16
 
@@ -48,7 +48,7 @@
48
48
  $font-size: var(--heading-3-style-font-size),
49
49
  $letter-spacing: var(--heading-3-style-letter-spacing),
50
50
  $font-weight: $font-weight-normal,
51
- $margin-bottom: 6px,
51
+ $margin-bottom: 12px,
52
52
  $line-height: 24px
53
53
  );
54
54
  @include media-breakpoint-up(sm) {
@@ -43,6 +43,9 @@
43
43
  // TODO(jackh): figure out a non-Sass way of calculating this.
44
44
  --hover-background-rgb: 58, 58, 58;
45
45
 
46
+ // It's in the designs :/
47
+ --live-red-rgb: 224, 49, 49;
48
+
46
49
  --primary: rgb(var(--primary-rgb));
47
50
  --secondary: rgb(var(--secondary-rgb));
48
51
  --body-color: rgb(var(--body-color-rgb));
@@ -51,8 +54,12 @@
51
54
  --body-bg-accent: rgb(var(--body-bg-accent-rgb));
52
55
  --input-focus-border-color: rgb(var(--input-focus-border-color-rgb));
53
56
  --hover-background: rgb(var(--hover-background-rgb));
57
+ --live-red: rgb(var(--live-red-rgb));
54
58
  /*#endregion BASE COLOURS */
55
59
 
60
+ --live-label-background-color: var(--hover-background);
61
+ --live-label-live-background-color: var(--live-red);
62
+
56
63
  --tooltip-color: var(--body-bg, #000);
57
64
  --tooltip-bg: var(--primary, #00a3ff);
58
65
  --tooltip-arrow-color: var(--tooltip-bg);
@@ -94,12 +101,14 @@
94
101
  --carousel-image-object-position-sm: center;
95
102
  --carousel-image-object-position-lg: center;
96
103
 
104
+ --collection-padding-bottom: 40px;
105
+
97
106
  --page-padding-top: 120px;
98
107
  --page-padding-top-md: 120px;
99
108
  --page-padding-top-lg: 180px;
100
- --page-detail-padding-top: 245px;
101
- --page-detail-padding-top-md: 290px;
102
- --page-detail-padding-top-lg: 440px;
109
+ --page-detail-padding-top: 160px;
110
+ --page-detail-padding-top-md: 248px;
111
+ --page-detail-padding-top-lg: 400px;
103
112
 
104
113
  --heading-1-style-letter-spacing: normal;
105
114
  --heading-2-style-letter-spacing: normal;
@@ -31,9 +31,8 @@
31
31
 
32
32
  {{yield bundleSynopsis(class="meta-detail-synopsis", synopsis=bundle.Description)}}
33
33
  </div>
34
-
35
- {{yield bundleList(items=bundle.Items)}}
36
34
  </div>
37
35
  </div>
36
+ {{yield bundleList(items=bundle.Items)}}
38
37
  </main>
39
38
  {{end}}
@@ -5,17 +5,21 @@
5
5
  {{itemLayout := config("default_image_type") == "portrait" ? "portrait" : "landscape"}}
6
6
  {{itemsPerRow := itemLayout == "portrait" ? "4" : "3"}}
7
7
 
8
- <section class="page-collection page-collection-list page-collection-list-{{itemsPerRow}} page-collection-list-{{itemLayout}} list-{{itemsPerRow}} list-{{itemLayout}} page-collection-{{itemsPerRow}}-list" aria-label="{{i18n("wcag_aria_label_bundle_items")}}">
9
- <div class="page-collection-list-title">
10
- <h2>{{i18n("meta_detail_bundle_items_title")}}</h2>
11
- </div>
8
+ <section class="page-collection page-collection-list page-collection-list-{{itemsPerRow}} page-collection-list-{{itemLayout}} list-{{itemsPerRow}} list-{{itemLayout}} page-collection-{{itemsPerRow}}-list" aria-label="{{i18n("wcag_aria_label_bundle_items")}}">
9
+ <div class="collection-wrapper-container">
10
+ <div class="collection-container">
11
+ <div class="page-collection-list-title">
12
+ <h2>{{i18n("meta_detail_bundle_items_title")}}</h2>
13
+ </div>
12
14
 
13
- <div class="page-collection-items collection-items">
14
- {{range index, item := items}}
15
- <div class="page-collection-item page-collection-list-item page-collection-list-item-{{itemLayout}} page-collection-item-{{itemLayout}} page-collection-list-item-{{itemsPerRow}} page-collection-item-{{itemsPerRow}}">
16
- {{yield pageCollectionItem(item=item, layout=itemLayout)}}
15
+ <div class="page-collection-items collection-items">
16
+ {{range index, item := items}}
17
+ <div class="page-collection-item page-collection-list-item page-collection-list-item-{{itemLayout}} page-collection-item-{{itemLayout}} page-collection-list-item-{{itemsPerRow}} page-collection-item-{{itemsPerRow}}">
18
+ {{yield pageCollectionItem(item=item, layout=itemLayout)}}
19
+ </div>
20
+ {{end}}
17
21
  </div>
18
- {{end}}
22
+ </div>
19
23
  </div>
20
24
  </section>
21
25
  {{end}}
@@ -16,6 +16,8 @@
16
16
 
17
17
  {{if showItemContent}}
18
18
  <div class="carousel-item-caption">
19
+ <s72-live-label data-slug="{{item.Slug}}"></s72-live-label>
20
+
19
21
  {{if item.ItemType == "film"}}
20
22
  {{if len(item.InnerItem.AwardCategories) > 0 || item.InnerItem.ImageMap["Sponsor"]}}
21
23
  <div class="sponsor-awards-wrapper">
@@ -24,6 +26,7 @@
24
26
  </div>
25
27
  {{end}}
26
28
  {{end}}
29
+
27
30
  <div class="meta-item-content">
28
31
  {{yield carouselItemTitle(title=item.GetTitle(i18n))}}
29
32
 
@@ -34,8 +37,8 @@
34
37
  {{end}}
35
38
 
36
39
  <s72-availability-label data-slug="{{item.Slug}}"></s72-availability-label>
37
-
38
- {{yield ctaButtons(itemType=item.ItemType) item.InnerItem}}
40
+
41
+ {{yield ctaButtons(itemType=item.ItemType, context="carousel") item.InnerItem}}
39
42
 
40
43
 
41
44
  </div>
@@ -3,21 +3,23 @@
3
3
  {{block pageCollectionList(showTitle=true)}}
4
4
  {{if len(.Items) > 0}}
5
5
  <section class="page-collection page-collection-list page-collection-list-{{.ItemsPerRow}} page-collection-list-{{.ItemLayout}} list-{{.ItemsPerRow}} list-{{.ItemLayout}} page-collection-{{.ItemsPerRow}}-list" aria-label="{{i18n("wcag_aria_label_collection_list")}}">
6
+ <div class="collection-wrapper-container">
7
+ <div class="collection-container">
8
+ {{ if showTitle }}
9
+ <div class="page-collection-list-title">
10
+ <h3>{{.DisplayName}}</h3>
11
+ </div>
12
+ {{ end }}
6
13
 
7
- {{ if showTitle }}
8
- <div class="page-collection-list-title">
9
- <h3>{{.DisplayName}}</h3>
10
- </div>
11
- {{ end }}
12
-
13
- <div class="page-collection-items collection-items">
14
- {{range item := .Items}}
15
- <div class="page-collection-item page-collection-list-item page-collection-list-item-{{.ItemLayout}} page-collection-item-{{.ItemLayout}} page-collection-list-item-{{.ItemsPerRow}} page-collection-item-{{.ItemsPerRow}}">
16
- {{yield pageCollectionItem(item=item, layout=.ItemLayout)}}
14
+ <div class="page-collection-items collection-items">
15
+ {{range item := .Items}}
16
+ <div class="page-collection-item page-collection-list-item page-collection-list-item-{{.ItemLayout}} page-collection-item-{{.ItemLayout}} page-collection-list-item-{{.ItemsPerRow}} page-collection-item-{{.ItemsPerRow}}">
17
+ {{yield pageCollectionItem(item=item, layout=.ItemLayout)}}
18
+ </div>
19
+ {{end}}
17
20
  </div>
18
- {{end}}
21
+ </div>
19
22
  </div>
20
-
21
23
  </section>
22
24
  {{end}}
23
25
  {{end}}
@@ -3,8 +3,8 @@
3
3
  {{block pageCollectionSlider()}}
4
4
  {{if len(.Items) > 0}}
5
5
  <section class="page-collection page-collection-slider page-collection-slider-{{.ItemsPerRow}} page-collection-slider-{{.ItemLayout}} slider-{{.ItemsPerRow}} slider-{{.ItemLayout}} page-collection-{{.ItemsPerRow}}-slider" aria-label="{{i18n("wcag_aria_label_collection_slider")}}">
6
- <div class="swiper-wrapper-container">
7
- <div class="swiper-container" data-items-per-row="{{.ItemsPerRow}}" data-layout="{{.ItemLayout}}">
6
+ <div class="collection-wrapper-container swiper-wrapper-container">
7
+ <div class="collection-container swiper-container" data-items-per-row="{{.ItemsPerRow}}" data-layout="{{.ItemLayout}}">
8
8
  {{if .DisplayName != ""}}
9
9
  <div class="swiper-title">
10
10
  <h3>{{.DisplayName}}</h3>
@@ -24,11 +24,11 @@
24
24
 
25
25
  {{end}}
26
26
  <section class="page-collection" aria-label="{{i18n("wcag_aria_label_wishlist")}}">
27
- <div class="swiper-wrapper-container">
27
+ <div class="collection-wrapper-container swiper-wrapper-container">
28
28
  {{if config("default_image_type") == "portrait"}}
29
- <div class="swiper-container" is-wishlist="true" data-items-per-row="6" data-layout="portrait">
29
+ <div class="collection-container swiper-container" is-wishlist="true" data-items-per-row="6" data-layout="portrait">
30
30
  {{else}}
31
- <div class="swiper-container" is-wishlist="true" data-items-per-row="4" data-layout="landscape">
31
+ <div class="collection-container swiper-container" is-wishlist="true" data-items-per-row="4" data-layout="landscape">
32
32
  {{end}}
33
33
  {{if i18n("userwishlist_slider_header") != ""}}
34
34
  <div class="swiper-title">
@@ -1,10 +1,11 @@
1
1
  {{import "./social-media-buttons.jet"}}
2
2
 
3
- {{block ctaButtons(itemType)}}
3
+ {{block ctaButtons(itemType, context="item")}}
4
4
  {{isFilm := itemType == "film"}}
5
5
  {{isSeason := itemType == "tvseason"}}
6
6
  {{isEpisode := itemType == "tvepisode"}}
7
7
  {{isBundle := itemType == "bundle"}}
8
+ {{isCarousel := context == "carousel"}}
8
9
 
9
10
  {{slug := .Slug}}
10
11
  {{trailerURL := isBundle ? .PromoURL : (isFilm || isSeason) && len(.Trailers) > 0 ? .Trailers[0].URL : ""}}
@@ -15,10 +16,12 @@
15
16
  {{showTrailerButton := trailerURL != ""}}
16
17
  {{showWishlistButton := isFilm || isSeason || isEpisode}}
17
18
  {{showShareButton := isFilm || isSeason || isEpisode || isBundle}}
19
+ {{autoplay := !isCarousel}}
18
20
 
19
21
  {{showCtaButtons := showPricingButtons || showPlayButton || showCanBeWatchedButton || showTrailerButton || showWishlistButton || showShareButton}}
20
22
  {{showExtraButtons := showTrailerButton || showWishlistButton || showShareButton}}
21
23
 
24
+
22
25
  {{if showCtaButtons}}
23
26
  <div class="cta-buttons">
24
27
 
@@ -41,7 +44,7 @@
41
44
 
42
45
  {{if showTrailerButton}}
43
46
  {{dataLabel := i18n("play_trailer")}}
44
- <s72-modal-player src="{{trailerURL}}" class="s72-btn-trailer" data-slug="{{slug}}" data-label="{{dataLabel}}" autoplay="querystring" layout="tooltip"></s72-modal-player>
47
+ <s72-modal-player src="{{trailerURL}}" class="s72-btn-trailer" data-slug="{{slug}}" data-label="{{dataLabel}}" {{if autoplay}}autoplay="querystring"{{end}} layout="tooltip"></s72-modal-player>
45
48
  {{end}}
46
49
 
47
50
  {{if showWishlistButton}}
@@ -1,6 +1,6 @@
1
1
  {{block slider(itemsPerRow, itemLayout, title="", fluid=false)}}
2
- <div class="swiper-wrapper-container">
3
- <div class="swiper-container">
2
+ <div class="collection-wrapper-container swiper-wrapper-container">
3
+ <div class="collection-container swiper-container">
4
4
  {{if title != ""}}
5
5
  <div class="swiper-title">
6
6
  <h3>{{title}}</h3>
@@ -27,16 +27,22 @@
27
27
  </div>
28
28
  <div class="container">
29
29
  <div class="meta-detail-main">
30
+ <s72-live-label data-slug="{{film.Slug}}"></s72-live-label>
31
+
30
32
  <div class="poster-wrapper">
31
33
  {{if config("default_image_type") == "portrait"}}
32
34
  {{yield sponsor() film}}
33
- <div class="poster poster-portrait">
34
- <s72-availability-status data-slug="{{film.Slug}}"></s72-availability-status>
35
- <s72-image src="{{film.ImageMap["Classification"]}}" alt="" class="classification-image">
36
- <s72-image src="{{film.ImageMap["Portrait"]}}" alt="{{film.Title}}" class="poster poster-image poster-image-portrait"></s72-image>
37
- </div>
35
+
36
+ <div class="poster poster-portrait">
37
+ {{if film.ImageMap["Portrait"] != ""}}
38
+ <s72-availability-status data-slug="{{film.Slug}}"></s72-availability-status>
39
+ <s72-image src="{{film.ImageMap["Classification"]}}" alt="" class="classification-image">
40
+ <s72-image src="{{film.ImageMap["Portrait"]}}" alt="{{film.Title}}" class="poster poster-image poster-image-portrait"></s72-image>
41
+ {{end}}
42
+ </div>
38
43
  {{end}}
39
44
  </div>
45
+
40
46
  <div class="meta-detail-content">
41
47
  <h1>{{ film.Title }}</h1>
42
48
  <div class="meta-detail-tagline-and-classification">
@@ -55,6 +61,8 @@
55
61
  <br>
56
62
  {{end}}
57
63
 
64
+ {{yield awardNominations() film}}
65
+
58
66
  <div class="element-switcher-wrapper">
59
67
  <s72-element-switcher>
60
68
  {{if isEnabled("element_switcher_enabled")}}
@@ -144,15 +152,12 @@
144
152
  </s72-element-switcher>
145
153
  {{yield sponsor() film}}
146
154
  </div>
147
- {{yield awardNominations() film}}
148
155
  {{if len(film.Bonuses) > 0 && !film.CustomFields.GetBool("hide_bonus_content", false)}}
149
156
  <section class="meta-detail-bonus-content" aria-label="{{i18n("meta_detail_bonus_title")}}">
150
157
  <h2>{{i18n("meta_detail_bonus_title")}}</h2>
151
158
  {{yield list(itemsPerRow=4, itemLayout="landscape") content}}
152
159
  {{range bonus := film.Bonuses}}
153
- <div class="sub-item">
154
- {{yield subItem(item=bonus)}}
155
- </div>
160
+ {{yield subItem(item=bonus)}}
156
161
  {{end}}
157
162
  {{end}}
158
163
  </section>
@@ -163,11 +168,11 @@
163
168
 
164
169
  {{if len(film.Recommendations) > 0 }}
165
170
  <section class="page-collection recommendations-collection" aria-label="{{i18n("meta_detail_recommendations_title")}}">
166
- <div class="swiper-wrapper-container">
171
+ <div class="collection-wrapper-container swiper-wrapper-container">
167
172
  {{if config("default_image_type") == "portrait"}}
168
- <div class="swiper-container" data-items-per-row="6" data-layout="portrait">
173
+ <div class="collection-container swiper-container" data-items-per-row="6" data-layout="portrait">
169
174
  {{else}}
170
- <div class="swiper-container" data-items-per-row="4" data-layout="landscape">
175
+ <div class="collection-container swiper-container" data-items-per-row="4" data-layout="landscape">
171
176
  {{end}}
172
177
  <div class="swiper-title">
173
178
  <h2>{{i18n("meta_detail_recommendations_title")}}</h2>
@@ -1,22 +1,26 @@
1
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")}}
2
+ <s72-show-hide-switcher target-elem=".synopsis">
3
+ <div class="sub-item">
4
+ <div class="poster-container">
5
+ <div class="poster">
6
+ <s72-availability-status slug="{{item.Slug}}"></s72-availability-status>
7
+ <s72-image src="{{item.Images.Landscape}}" alt="{{item.Title}}" class="poster-image poster-image-landscape"></s72-image>
8
+ <s72-play-button data-slug="{{item.Slug}}" title="{{item.Title}}"></s72-play-button>
9
+ <s72-playback-progress slug="{{item.Slug}}"></s72-playback-progress>
10
+ </div>
11
+ </div>
12
+ <h3>{{item.Title}}</h3>
13
+ {{if item.Runtime > 0 }}
14
+ <span class="runtime">
15
+ {{if item.Runtime.Hours() > 0}}
16
+ {{item.Runtime.Hours()}}{{i18n("runtime_hours")}}
17
+ {{end}}
18
+ {{item.Runtime.Minutes()}}{{i18n("runtime_minutes")}}
19
+ </span>
20
+ {{end}}
21
+ {{if item.Overview}}
22
+ <div class="synopsis s72-hide">{{item.Overview | raw}}</div> {* hide class prevents FOUC *}
15
23
  {{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}}
24
+ </div>
25
+ </s72-show-hide-switcher>
22
26
  {{ end }}