@shift72/core-template 1.5.1 → 1.7.0

Sign up to get free protection for your applications and to get access to all the features.
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 }}