@shift72/core-template 0.4.4 → 0.6.0-alpha.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. package/.nvmrc +1 -0
  2. package/CHANGELOG.md +68 -16
  3. package/kibble.json +108 -29
  4. package/package.json +21 -9
  5. package/scripts/core-template-version.js +30 -0
  6. package/scripts/language-file-to-csv/language-file-to-csv.js +2 -2
  7. package/scripts/language-file-validator.js +1 -1
  8. package/scripts/translate.mjs +51 -0
  9. package/site/ar_LB.all.json +1316 -595
  10. package/site/ca_ES.all.json +491 -417
  11. package/site/da_DK.all.json +360 -220
  12. package/site/de_DE.all.json +1173 -459
  13. package/site/el_EL.all.json +1166 -459
  14. package/site/en_AU.all.json +1213 -467
  15. package/site/es_ES.all.json +1159 -452
  16. package/site/es_MX.all.json +1213 -478
  17. package/site/et_ET.all.json +1317 -0
  18. package/site/fi_FI.all.json +1167 -460
  19. package/site/fr_FR.all.json +1159 -454
  20. package/site/hr_HR.all.json +1223 -464
  21. package/site/hu_HU.all.json +1315 -599
  22. package/site/it_IT.all.json +1166 -458
  23. package/site/ja_JP.all.json +1168 -460
  24. package/site/lt_LT.all.json +1166 -454
  25. package/site/nl_BE.all.json +1166 -456
  26. package/site/no_NO.all.json +1306 -596
  27. package/site/pl_PL.all.json +1144 -447
  28. package/site/plans.html.jet +17 -17
  29. package/site/pt_BR.all.json +487 -430
  30. package/site/pt_PT.all.json +1306 -602
  31. package/site/ru_RU.all.json +1142 -449
  32. package/site/sr_SR.all.json +1308 -0
  33. package/site/static/fonts/fa-s72.woff +0 -0
  34. package/site/static/js/main.js +1 -0
  35. package/site/static/scripts/main.js.map +1 -1
  36. package/site/styles/_availability-tags.scss +63 -31
  37. package/site/styles/_awards.scss +8 -2
  38. package/site/styles/_buttons.scss +36 -1
  39. package/site/styles/_carousel.scss +29 -24
  40. package/site/styles/_forms.scss +85 -13
  41. package/site/styles/_icons.scss +180 -9
  42. package/site/styles/_legacy.scss +0 -7
  43. package/site/styles/_meta-detail.scss +67 -42
  44. package/site/styles/_meta-item-tagline.scss +1 -1
  45. package/site/styles/_nav.scss +11 -10
  46. package/site/styles/_pages.scss +0 -2
  47. package/site/styles/_plans.scss +15 -17
  48. package/site/styles/_poster.scss +3 -9
  49. package/site/styles/_search.scss +1 -1
  50. package/site/styles/_share-modal.scss +86 -0
  51. package/site/styles/_shift72.scss +10 -3
  52. package/site/styles/_shopping.scss +1 -2
  53. package/site/styles/_skip-link.scss +19 -0
  54. package/site/styles/_tooltips.scss +7 -0
  55. package/site/styles/_variables.scss +18 -13
  56. package/site/styles/_wishlist.scss +21 -13
  57. package/site/styles/main.scss +4 -2
  58. package/site/subscriptions.html.jet +11 -0
  59. package/site/templates/application/application.jet +11 -14
  60. package/site/templates/application/google.jet +27 -16
  61. package/site/templates/application/nav/user_logged_in.jet +7 -2
  62. package/site/templates/collection/carousel_item.jet +5 -3
  63. package/site/templates/common/awards/carousel.jet +7 -1
  64. package/site/templates/common/awards/item.jet +2 -2
  65. package/site/templates/common/social-media-buttons.jet +1 -37
  66. package/site/templates/common/sponsor-image.jet +18 -0
  67. package/site/templates/film/item.jet +98 -85
  68. package/site/templates/page/curated.jet +1 -1
  69. package/site/templates/page/page-content.jet +1 -23
  70. package/site/templates/page/page-header.jet +25 -6
  71. package/site/templates/tv/detail.jet +30 -21
  72. package/site/tr_TR.all.json +1306 -602
  73. package/site/uk_UA.all.json +582 -451
  74. package/site/zh_TW.all.json +492 -419
  75. package/site/ee_EE.all.json +0 -602
  76. package/site/se_SE.all.json +0 -601
  77. package/site/static/fonts/FontAwesome.otf +0 -0
  78. package/site/static/fonts/fontawesome-webfont.eot +0 -0
  79. package/site/static/fonts/fontawesome-webfont.svg +0 -565
  80. package/site/static/fonts/fontawesome-webfont.ttf +0 -0
  81. package/site/static/fonts/fontawesome-webfont.woff +0 -0
  82. package/site/static/fonts/fontawesome-webfont.woff2 +0 -0
  83. package/site/styles/_social-media-buttons.scss +0 -159
@@ -6,14 +6,9 @@
6
6
  width: 100%;
7
7
  z-index: 1;
8
8
 
9
- s72-availability-status {
10
- left: $meta-item-availability-tag-margin;
11
- top: $meta-item-availability-tag-margin;
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
 
@@ -62,5 +62,5 @@
62
62
 
63
63
  .s72-form-search {
64
64
  margin: 0 auto 1rem;
65
- max-width: map-get($container-max-widths, md);
65
+ max-width: 460px;
66
66
  }
@@ -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 {
@@ -224,7 +231,7 @@
224
231
  @extend .form-control-plaintext;
225
232
 
226
233
  .form-page & {
227
- color: var(--body-color);
234
+ color: rgba(var(--body-color-rgb), 0.5);
228
235
  }
229
236
  }
230
237
 
@@ -232,7 +239,7 @@
232
239
  .s72-readonly-text .s72-form-control-readonly {
233
240
  @extend .py-0;
234
241
  border: 1px solid transparent;
235
- border-radius: $border-radius !important;
242
+ border-radius: $border-radius;
236
243
 
237
244
  font-size: unset;
238
245
  }
@@ -240,7 +247,7 @@
240
247
  s72-useraccount-form {
241
248
  .s72-form-control-readonly {
242
249
  @extend .s72-form-control-static;
243
- border-radius: 6px !important;
250
+ border-radius: $border-radius;
244
251
  }
245
252
 
246
253
  .s72-account-password-form-group,
@@ -17,7 +17,6 @@
17
17
  display: block;
18
18
  height: 30px;
19
19
  line-height: 30px;
20
- opacity: 1;
21
20
  position: absolute;
22
21
  right: 0;
23
22
  text-shadow: none;
@@ -87,7 +86,7 @@
87
86
  }
88
87
 
89
88
  .s72-btn-combined-auth-change {
90
- border-radius: 0 6px 6px 0;
89
+ border-radius: 0 4px 4px 0;
91
90
  text-transform: capitalize;
92
91
  }
93
92
  }
@@ -0,0 +1,19 @@
1
+ .skip-link {
2
+ align-items: center;
3
+ background-color: var(--body-bg-accent);
4
+ border: 2px dashed var(--body-color);
5
+ color: var(--body-color);
6
+ display: flex;
7
+ height: 80px;
8
+ justify-content: center;
9
+ left: -9999px;
10
+ outline: none;
11
+ position: absolute;
12
+ text-decoration: underline;
13
+ width: 100%;
14
+ z-index: 12;
15
+ &:focus {
16
+ left: 0;
17
+ position: fixed;
18
+ }
19
+ }
@@ -0,0 +1,7 @@
1
+ .s72-tooltip {
2
+ display: none;
3
+
4
+ @include media-breakpoint-up(lg) {
5
+ display: block;
6
+ }
7
+ }
@@ -1,11 +1,11 @@
1
- @use "sass:math";
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: 53, 160, 168;
8
- --secondary-rgb: 76, 211, 221;
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%)
@@ -21,16 +21,19 @@
21
21
  --link-color-hover: rgb(var(--link-color-hover-rgb));
22
22
  --input-focus-border-color: rgb(var(--input-focus-border-color-rgb));
23
23
 
24
+ --input-height: 40px;
25
+
24
26
  --navbar-brand-padding-y: 25px;
25
27
  --navbar-brand-min-width: 126px;
26
28
  --navbar-brand-min-width-md: 126px;
27
29
  --navbar-brand-min-width-lg: 126px;
28
30
  --navbar-brand-min-width-xl: 126px;
29
31
 
30
- --carousel-height: 470px;
31
- --carousel-height-sm: 470px;
32
+ --carousel-height: 560px;
33
+ --carousel-height-sm: 560px;
32
34
  --carousel-height-md: 620px;
33
- --carousel-caption-top: 150px;
35
+ --carousel-caption-top: 125px;
36
+ --carousel-caption-top-xs: 150px;
34
37
  --carousel-caption-top-md: 175px;
35
38
 
36
39
  --page-padding-top: 120px;
@@ -95,6 +98,8 @@ $spacers: (
95
98
  // 7.5px
96
99
  '1': $spacer,
97
100
  // 10px
101
+ '1p5': $spacer * 1.5,
102
+ // 15px
98
103
  '2': $spacer * 2,
99
104
  // 20px
100
105
  '2p5': $spacer * 2.5,
@@ -105,12 +110,13 @@ $spacers: (
105
110
  // 40px
106
111
  '5': $spacer * 5,
107
112
  // 50px
113
+ '1rem': 1rem,
108
114
  );
109
115
 
110
116
  // Cookie Consent
111
- $cookie-consent-color: #000;
112
- $cookie-consent-link-color: var(--primary);
113
- $cookie-consent-hover-link-color: var(--secondary);
117
+ $cookie-consent-color: #000 !default;
118
+ $cookie-consent-link-color: var(--primary) !default;
119
+ $cookie-consent-hover-link-color: var(--secondary) !default;
114
120
 
115
121
  // Nav
116
122
  // ------------------------------------
@@ -133,8 +139,8 @@ $subnav-nav-item-active-background-color: var(--primary) !default;
133
139
  $subnav-dropdown-background: var(--body-bg-accent) !default;
134
140
 
135
141
  // Buttons
136
- $button-text-color: var(--body-color) !default;
137
- $button-text-color-hover: var(--body-color) !default;
142
+ $button-text-color: var(--body-bg) !default;
143
+ $button-text-color-hover: var(--body-bg) !default;
138
144
  $button-background: var(--primary) !default;
139
145
  $button-background-hover: var(--secondary) !default;
140
146
  $trailer-button-text-color: var(--body-color) !default;
@@ -186,11 +192,10 @@ $letterboxd-color: var(--body-color) !default;
186
192
 
187
193
  // Meta Items
188
194
  // ------------------------------------
189
- $meta-item-border-radius: 3px !default;
195
+ $meta-item-border-radius: 4px !default;
190
196
  $featured-meta-item-body-padding: 10px !default;
191
197
  $meta-item-body-color: var(--body-color) !default;
192
198
  $meta-item-tagline-classification-border-radius: $meta-item-border-radius !default;
193
- $meta-item-availability-tag-margin: 5px !default;
194
199
 
195
200
  // Posters
196
201
  // ------------------------------------
@@ -26,27 +26,35 @@
26
26
  .s72-userwishlist-buttons {
27
27
  .s72-btn-wishlist {
28
28
  @extend .btn;
29
- font-size: 12px;
30
- font-weight: $font-weight-bold;
31
- margin-right: 0.5rem;
32
- padding-bottom: 3px;
33
29
  padding-left: 0;
34
- padding-top: 3px;
35
-
36
- span {
37
- @extend .d-flex;
38
- align-items: center;
39
- flex-direction: row;
40
- justify-content: center;
41
- }
42
30
 
43
31
  .s72-icon {
44
- font-size: 32px !important;
32
+ font-size: 28px !important;
45
33
  opacity: 0.8;
34
+ padding: 2px 0;
46
35
  }
47
36
  }
48
37
  }
49
38
 
39
+ .s72-userwishlist-buttons .s72-btn-wishlist,
40
+ .meta-award-nomination {
41
+ font-size: 12px;
42
+ font-weight: $font-weight-bold;
43
+
44
+ span {
45
+ @extend .d-flex;
46
+ align-items: center;
47
+ flex-direction: row;
48
+ justify-content: center;
49
+ }
50
+ }
51
+
52
+ .s72-userwishlist-buttons .s72-btn-wishlist {
53
+ margin-right: 0.5rem;
54
+ padding-bottom: 3px;
55
+ padding-top: 3px;
56
+ }
57
+
50
58
  .poster .s72-userwishlist-buttons .s72-btn-wishlist {
51
59
  margin: 0;
52
60
  padding: 0;
@@ -4,7 +4,6 @@
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';
@@ -12,6 +11,7 @@
12
11
  @import '_forms';
13
12
  @import '_card';
14
13
 
14
+ @import '_skip-link';
15
15
  @import '_nav';
16
16
 
17
17
  @import '_swiper';
@@ -36,7 +36,7 @@
36
36
  @import '_devices';
37
37
  @import '_gradients';
38
38
 
39
- @import '_social-media-buttons';
39
+ @import '_share-modal';
40
40
  @import '_cookie-consent';
41
41
  @import '_pin-codes';
42
42
  @import '_language-selector';
@@ -46,6 +46,8 @@
46
46
 
47
47
  @import '_awards';
48
48
 
49
+ @import '_tooltips';
50
+
49
51
  @import '_legacy';
50
52
 
51
53
  // @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,8 +21,13 @@
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
- <!-- Kibble:{{ version }} -->
25
- <!-- Template:{{site.SiteConfig.Version}} -->
24
+ <link rel="preload" href="/urlmap.json" as="fetch" crossorigin type="application/json">
25
+
26
+ <!-- Kibble: {{version}} -->
27
+ {{if site.SiteConfig.CoreTemplateVersion != ""}}
28
+ <!-- Core-Template: {{site.SiteConfig.CoreTemplateVersion}} -->
29
+ {{end}}
30
+ <!-- Template: {{site.SiteConfig.Version}} -->
26
31
  <link rel="stylesheet" href="{{CDN}}/s72.ui.css">
27
32
  <link rel="stylesheet" href="{{CDN}}/s72.transactional.css">
28
33
  <link rel="stylesheet" href="/styles/swiper.css">
@@ -64,19 +69,11 @@
64
69
  <script type="text/javascript" src="/scripts/swiper.min.js"></script>
65
70
  </head>
66
71
  <body>
67
- <s72-cookie-consent></s72-cookie-consent>
68
72
 
69
- <section class="sr-only">
70
- <h2>{{i18n("wcag_skip_links_header")}}</h2>
71
- <ul>
72
- <li>
73
- <a href="#main">{{i18n("wcag_skip_links_content")}}</a>
74
- </li>
75
- <li>
76
- <a href="#footer">{{i18n("wcag_skip_links_footer")}}</a>
77
- </li>
78
- </ul>
79
- </section>
73
+ <h2 class="sr-only">{{i18n("wcag_skip_links_header")}}</h2>
74
+ <a class="skip-link" href="#main">{{i18n("wcag_skip_links_content")}}</a>
75
+
76
+ <s72-cookie-consent></s72-cookie-consent>
80
77
 
81
78
  {{yield googleTagManagerNoScript()}}
82
79
 
@@ -2,24 +2,36 @@
2
2
  <!-- Google integration scripts -->
3
3
  <script>
4
4
  function loadGoogleTagManager() {
5
- (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
6
- new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
7
- j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
8
- 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
9
- })(window,document,'script','dataLayer','{{ tagManagerId }}')
10
- }
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 }}')}
11
9
 
10
+ <!-- GA4 code snippet if G tracking code is provided, else use legacy UA code snippet -->
11
+ {{if hasPrefix(analyticsId,"G")}}
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}}'));
12
16
 
13
- function loadGoogleAnalytics() {
14
- (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
15
- (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
16
- m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
17
- })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
17
+ window.dataLayer = window.dataLayer || [];
18
+ function gtag(){dataLayer.push(arguments);}
19
+ gtag('js', new Date());
18
20
 
19
- ga('create', '{{analyticsId}}', 'auto');
20
- ga('require', 'ecommerce');
21
- ga('send', 'pageview');
22
- }
21
+ gtag('config', '{{analyticsId}}');
22
+ }
23
+ {{else}}
24
+ function loadGoogleAnalytics() {
25
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
26
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
27
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
28
+ })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
29
+
30
+ ga('create', '{{analyticsId}}', 'auto');
31
+ ga('require', 'ecommerce');
32
+ ga('send', 'pageview');
33
+ }
34
+ {{end}}
23
35
 
24
36
  // Only load Google Tag Manager if a/ the frontend cookie consent isn't required or b/ they've agreed to the cookie consent
25
37
  var googleTagManagerEnabled = {{ (len(tagManagerId) > 0) ? "true" : "false" }};
@@ -51,4 +63,3 @@
51
63
  <!-- End Google Tag Manager (noscript) -->
52
64
  {{end}}
53
65
  {{end}}
54
-
@@ -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 version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="user-icon" width="24" height="24" x="0px" y="0px" viewBox="-241 245 24 24" xml:space="preserve">
7
- <path d="M-231,247c-5.5,0-10,4.5-10,10c0,5.5,4.5,10,10,10s10-4.5,10-10C-221,251.5-225.5,247-231,247 M-224.6,261.8c-1.4-1.7-4.9-2.3-6.4-2.3s-4.9,0.6-6.4,2.3c-1-1.3-1.6-3-1.6-4.8c0-4.4,3.6-8,8-8s8,3.6,8,8C-223,258.8-223.6,260.5-224.6,261.8M-231,251c-1.9,0-3.5,1.6-3.5,3.5s1.6,3.5,3.5,3.5s3.5-1.6,3.5-3.5S-229.1,251-231,251"/>
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>
@@ -1,5 +1,6 @@
1
1
  {{import "../items/tagline.jet"}}
2
2
  {{import "../common/awards/carousel.jet"}}
3
+ {{import "../common/sponsor-image.jet"}}
3
4
 
4
5
  {{block carouselItem(item)}}
5
6
  {{ trailer := "" }}
@@ -19,6 +20,9 @@
19
20
 
20
21
  {{if !isset(item["PageType"]) || item.PageType != "external"}}
21
22
  <div class="carousel-item-caption">
23
+ {{if item.ItemType == "film"}}
24
+ {{yield sponsor(hideLink="true") item.InnerItem}}
25
+ {{end}}
22
26
  <div class="meta-item-content">
23
27
  <h3>{{item.GetTitle(i18n)}}
24
28
  {{if isset(item.InnerItem["ReleaseDate"]) && item.InnerItem.ReleaseDate.Year() > 1}}
@@ -28,7 +32,7 @@
28
32
  <div class="meta-item-tagline-and-classification">
29
33
  {{yield metaItemTagline() item.InnerItem}}
30
34
  </div>
31
-
35
+ <s72-availability-label data-slug="{{item.Slug}}"></s72-availability-label>
32
36
  <div class="meta-item-buttons">
33
37
  <s72-play-button data-slug="{{item.Slug}}"></s72-play-button>
34
38
  <s72-pricing-buttons data-slug="{{item.Slug}}"></s72-pricing-buttons>
@@ -49,8 +53,6 @@
49
53
  </div>
50
54
  </div>
51
55
 
52
- <s72-availability-label data-slug="{{item.Slug}}"></s72-availability-label>
53
-
54
56
  <div class="meta-item-synopsis">
55
57
  <p>{{item.InnerItem.Tagline | stripHTML}}</p>
56
58
  </div>
@@ -1,9 +1,15 @@
1
1
  {{block awardsCarousel()}}
2
2
  {{ if isset(.AwardCategories) && (len(.AwardCategories) > 0) }}
3
+
4
+ {{award_winner := false}}
5
+ {{ range .AwardCategories }}
6
+ {{ if .IsWinner}}{{award_winner = true}}{{end}}
7
+ {{ end }}
8
+
3
9
  <div class="meta-awards">
4
10
  <div class="meta-award-nomination">
5
11
  <span><i class="meta-award-nomination-icon"></i></span>
6
- <span class="font-weight-bold">{{ i18n("awards_in_competition") }}</span>
12
+ <span>{{ i18n("awards_in_competition") }}{{award_winner ? " - " + i18n("awards_winner") : ""}}</span>
7
13
  </div>
8
14
  </div>
9
15
  {{ end }}
@@ -2,9 +2,9 @@
2
2
  {{ if isset(.AwardCategories) && (len(.AwardCategories) > 0) }}
3
3
  <div class="meta-awards row mt-2p5 meta-awards-all">
4
4
  {{ range .AwardCategories }}
5
- <div class="meta-award-nomination mb-2p5 col-12 col-sm-8 col-lg-6 col-xl-4">
5
+ <div class="meta-award-nomination mb-3 col-12 col-sm-8 col-lg-6 col-xl-4">
6
6
  <span><i class="meta-award-nomination-icon"></i></span>
7
- <span class="font-weight-bold">{{ .IsWinner ? i18n("awards_winner_of") : i18n("awards_nominated_for") }} {{ .DisplayLabel }}</span>
7
+ <span>{{ .DisplayLabel }}</span>
8
8
  </div>
9
9
  {{ end }}
10
10
  </div>
@@ -5,43 +5,7 @@
5
5
 
6
6
  {{if show_facebook_share || show_twitter_share || show_linkedin_share || letterboxdID}}
7
7
  <div class="social-media-buttons">
8
- <div class="social-media-buttons-title">
9
- <h2>{{i18n("social_media_buttons_title")}}</h2>
10
- </div>
11
- <div class="social-media-buttons-container">
12
- {{if show_facebook_share}}
13
- <a class="btn btn-social btn-social-facebook" aria-label="{{i18n("wcag_aria_label_facebook")}}" href="https://www.facebook.com/sharer/sharer.php?u={{site.SiteConfig.SiteURL + path | url}}" target="_blank">
14
- <i class="fa fa-facebook" title="Share on Facebook" aria-hidden="true"></i>
15
- </a>
16
- {{end}}
17
-
18
- {{if show_twitter_share}}
19
- <a class="btn btn-social btn-social-twitter" aria-label="{{i18n("wcag_aria_label_twitter")}}" href="https://twitter.com/intent/tweet?text={{title + " " + site.SiteConfig.SiteURL + path | url}}" target="_blank">
20
- <i class="fa fa-twitter" title="Share on Twitter" aria-hidden="true"></i>
21
- </a>
22
- {{end}}
23
-
24
- {{if show_linkedin_share}}
25
- <a class="btn btn-social btn-social-linkedin" aria-label="{{i18n("wcag_aria_label_linkedin")}}" href="https://www.linkedin.com/shareArticle?mini=true&url={{site.SiteConfig.SiteURL + path | url}}&title={{title|url}}" target="_blank">
26
- <i class="fa fa-linkedin" title="Share on LinkedIn" aria-hidden="true"></i>
27
- </a>
28
- {{end}}
29
-
30
- {{if letterboxdID}}
31
- <a class="btn btn-social btn-social-letterboxd" aria-label="{{i18n("wcag_aria_label_letterboxd")}}" href="https://boxd.it/{{letterboxdID}}" target="_blank">
32
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="28px" height="28px" viewBox="0 0 334.79999 128" version="1.1">
33
- <title>{{i18n("wcag_aria_label_letterboxd")}}</title>
34
- <g transform="matrix(1.3333333,0,0,-1.3333333,0,128)">
35
- <g transform="scale(0.1)">
36
- <path d="M 857.793,735.43 C 775.559,870.309 630.23,960 464.551,960 207.984,960 0,745.098 0,480 0,214.902 207.984,0 464.551,0 630.23,0 775.559,89.6914 857.793,224.574 812.684,298.559 786.488,386.098 786.488,480 c 0,93.906 26.196,181.441 71.305,255.43"/>
37
- <path d="M 1648.76,728.125 C 1567.38,867.098 1419.72,960 1251.04,960 1085.36,960 940.031,870.309 857.793,735.43 902.902,661.441 929.102,573.906 929.102,480 c 0,-93.902 -26.2,-181.441 -71.309,-255.426 C 940.031,89.6914 1085.36,0 1251.04,0 c 168.68,0 316.34,92.9023 397.72,231.875 -42.4,72.41 -66.82,157.316 -66.82,248.125 0,90.809 24.42,175.719 66.82,248.125"/>
38
- <path d="m 2046.49,960 c -168.68,0 -316.34,-92.902 -397.73,-231.875 42.41,-72.406 66.83,-157.316 66.83,-248.125 0,-90.809 -24.42,-175.715 -66.83,-248.125 C 1730.15,92.9023 1877.81,0 2046.49,0 c 256.56,0 464.55,214.902 464.55,480 0,265.098 -207.99,480 -464.55,480"/>
39
- </g>
40
- </g>
41
- </svg>
42
- </a>
43
- {{end}}
44
- </div>
8
+ <s72-share-modal {{letterboxdID ? "letterboxd=" + letterboxdID : ""}}></s72-share-modal>
45
9
  </div>
46
10
  {{end}}
47
11
  {{end}}
@@ -0,0 +1,18 @@
1
+ {{block sponsor(hideLink)}}
2
+ {{sponsorImage := .ImageMap["Sponsor"]}}
3
+
4
+ {{if isset(sponsorImage)}}
5
+ {{sponsorText := .CustomFields.GetString("sponsor_image_text_film", "")}}
6
+ {{sponsorLink := .CustomFields.GetString("sponsor_image_link_film", "")}}
7
+ {{sponsorLinkIsExternal := .CustomFields.GetBool("sponsor_image_link_external_film", false)}}
8
+
9
+ <div class="sponsor">
10
+ {{if sponsorText}}
11
+ <div>{{sponsorText}}</div>
12
+ {{end}}
13
+ {{if sponsorLink && !hideLink}}<a href="{{sponsorLink}}" {{if sponsorLinkIsExternal}} target="_blank" {{end}}>{{end}}
14
+ <s72-image src="{{sponsorImage}}" alt="{{ i18n("sponsor_image_alt") }}" ></s72-image>
15
+ {{if sponsorLink && !hideLink}}</a>{{end}}
16
+ </div>
17
+ {{end}}
18
+ {{end}}