@shift72/core-template 0.5.1 → 1.0.0-alpha.0
Sign up to get free protection for your applications and to get access to all the features.
- package/.github/pull_request_template.md +47 -0
- package/.github/workflows/node.js.yml +1 -1
- package/.nvmrc +1 -0
- package/CHANGELOG.md +65 -10
- package/kibble.json +4 -4
- package/package.json +1 -2
- package/scripts/translate.mjs +30 -22
- package/site/ar_LB.all.json +99 -23
- package/site/ca_ES.all.json +91 -23
- package/site/da_DK.all.json +90 -22
- package/site/de_DE.all.json +90 -22
- package/site/el_EL.all.json +90 -22
- package/site/en_AU.all.json +87 -19
- package/site/es_ES.all.json +92 -24
- package/site/es_MX.all.json +89 -21
- package/site/{ee_EE.all.json → et_ET.all.json} +90 -22
- package/site/fi_FI.all.json +93 -25
- package/site/fr_FR.all.json +91 -23
- package/site/hr_HR.all.json +93 -23
- package/site/hu_HU.all.json +91 -23
- package/site/it_IT.all.json +91 -23
- package/site/ja_JP.all.json +88 -22
- package/site/lt_LT.all.json +94 -22
- package/site/nl_BE.all.json +90 -22
- package/site/no_NO.all.json +91 -23
- package/site/pl_PL.all.json +95 -23
- package/site/plans.html.jet +17 -17
- package/site/pt_BR.all.json +91 -23
- package/site/pt_PT.all.json +91 -23
- package/site/ru_RU.all.json +103 -31
- package/site/sr_SR.all.json +95 -25
- package/site/static/fonts/fa-s72.woff +0 -0
- package/site/static/js/main.js +2 -1
- package/site/static/scripts/main.js.map +1 -1
- package/site/styles/_availability-tags.scss +63 -31
- package/site/styles/_awards.scss +4 -3
- package/site/styles/_buttons.scss +46 -29
- package/site/styles/_can-be-watched-button.scss +0 -20
- package/site/styles/_carousel.scss +126 -311
- package/site/styles/_collections.scss +6 -11
- package/site/styles/_cta-buttons.scss +262 -0
- package/site/styles/_forms.scss +6 -2
- package/site/styles/_icons.scss +182 -9
- package/site/styles/_legacy.scss +1 -50
- package/site/styles/_meta-detail.scss +80 -229
- package/site/styles/_meta-item-tagline.scss +33 -0
- package/site/styles/_meta-item.scss +0 -4
- package/site/styles/_meta-sub-item.scss +116 -0
- package/site/styles/_mixins.scss +45 -0
- package/site/styles/_nav.scss +6 -5
- package/site/styles/_pages.scss +4 -13
- package/site/styles/_plans.scss +24 -17
- package/site/styles/_poster.scss +3 -9
- package/site/styles/_share-modal.scss +86 -0
- package/site/styles/_shift72.scss +11 -0
- package/site/styles/_shopping.scss +0 -1
- package/site/styles/_skip-link.scss +1 -1
- package/site/styles/_tooltips.scss +7 -0
- package/site/styles/_variables.scss +11 -12
- package/site/styles/_wishlist.scss +2 -2
- package/site/styles/main.scss +5 -3
- package/site/subscriptions.html.jet +11 -0
- package/site/templates/application/application.jet +2 -2
- package/site/templates/application/google.jet +8 -13
- package/site/templates/application/nav/user_logged_in.jet +7 -2
- package/site/templates/bundle/item.jet +2 -4
- package/site/templates/collection/carousel/carousel.jet +27 -0
- package/site/templates/collection/carousel/item/image.jet +5 -0
- package/site/templates/collection/carousel/item/synopsis.jet +5 -0
- package/site/templates/collection/carousel/item/tagline.jet +7 -0
- package/site/templates/collection/carousel/item/title.jet +3 -0
- package/site/templates/collection/carousel/item.jet +41 -0
- package/site/templates/collection/carousel/pagination.jet +9 -0
- package/site/templates/collection/page_collection.jet +2 -2
- package/site/templates/common/cta_buttons.jet +70 -0
- package/site/templates/common/social-media-buttons.jet +2 -38
- package/site/templates/common/sponsor-image.jet +18 -0
- package/site/templates/film/item.jet +98 -102
- package/site/templates/items/sub_item.jet +22 -0
- package/site/templates/items/tagline.jet +2 -2
- package/site/templates/page/homepage.jet +2 -3
- package/site/templates/tv/detail.jet +39 -38
- package/site/tr_TR.all.json +90 -22
- package/site/uk_UA.all.json +95 -23
- package/site/zh_TW.all.json +88 -22
- package/site/static/fonts/FontAwesome.otf +0 -0
- package/site/static/fonts/fontawesome-webfont.eot +0 -0
- package/site/static/fonts/fontawesome-webfont.svg +0 -565
- package/site/static/fonts/fontawesome-webfont.ttf +0 -0
- package/site/static/fonts/fontawesome-webfont.woff +0 -0
- package/site/static/fonts/fontawesome-webfont.woff2 +0 -0
- package/site/styles/_homepage.scss +0 -3
- package/site/styles/_social-media-buttons.scss +0 -159
- package/site/templates/bundle/buttons.jet +0 -6
- package/site/templates/bundle/extras.jet +0 -13
- package/site/templates/collection/carousel.jet +0 -27
- package/site/templates/collection/carousel_item.jet +0 -66
- package/site/templates/items/bonus_item.jet +0 -23
- package/site/templates/items/featured_item.jet +0 -61
- package/site/templates/tv/episode.jet +0 -21
@@ -1,47 +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
|
-
<
|
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 : ""}} url="{{url}}"></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}}
|
@@ -1,12 +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"}}
|
9
|
+
{{import "../common/sponsor-image.jet"}}
|
10
|
+
{{import "../common/cta_buttons.jet"}}
|
10
11
|
|
11
12
|
{{block head()}}
|
12
13
|
{{yield seo() film}}
|
@@ -18,6 +19,7 @@
|
|
18
19
|
{{end}}
|
19
20
|
|
20
21
|
{{block body()}}
|
22
|
+
|
21
23
|
<main id="main" class="page page-film meta-detail meta-detail-film">
|
22
24
|
<div class="meta-detail-bg">
|
23
25
|
<div class="right-gradient"></div>
|
@@ -25,14 +27,16 @@
|
|
25
27
|
</div>
|
26
28
|
<div class="container">
|
27
29
|
<div class="meta-detail-main">
|
28
|
-
|
30
|
+
<div class="poster-wrapper">
|
31
|
+
{{if config("default_image_type") == "portrait"}}
|
32
|
+
{{yield sponsor() film}}
|
29
33
|
<div class="poster poster-portrait">
|
30
34
|
<s72-availability-status data-slug="{{film.Slug}}"></s72-availability-status>
|
31
35
|
<s72-image src="{{film.ImageMap["Classification"]}}" alt="" class="classification-image">
|
32
36
|
<s72-image src="{{film.ImageMap["Portrait"]}}" alt="{{film.Title}}" class="poster poster-image poster-image-portrait"></s72-image>
|
33
|
-
|
34
37
|
</div>
|
35
|
-
|
38
|
+
{{end}}
|
39
|
+
</div>
|
36
40
|
<div class="meta-detail-content">
|
37
41
|
<h1>{{ film.Title }}</h1>
|
38
42
|
<div class="meta-detail-tagline-and-classification">
|
@@ -42,125 +46,117 @@
|
|
42
46
|
</div>
|
43
47
|
|
44
48
|
<!-- {{film.CustomFields|json}} -->
|
49
|
+
<s72-availability-label data-slug="{{film.Slug}}"></s72-availability-label>
|
50
|
+
|
51
|
+
{{yield ctaButtons(itemType="film") film}}
|
45
52
|
|
46
|
-
<div class="meta-detail-buttons">
|
47
|
-
<s72-play-button data-slug="{{film.Slug}}" data-title="{{film.Title}}"></s72-play-button>
|
48
|
-
<s72-pricing-buttons data-slug="{{film.Slug}}" data-title="{{film.Title}}"></s72-pricing-buttons>
|
49
|
-
<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>
|
50
|
-
<div class="meta-detail-extras">
|
51
|
-
{{if len(film.Trailers) > 0 }}
|
52
|
-
<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>
|
53
|
-
{{end}}
|
54
|
-
<s72-userwishlist-button data-slug="{{film.Slug}}" class="btn-wishlist"></s72-userwishlist-button>
|
55
|
-
{{yield socialMediaButtons(path=currentUrlPath, letterboxdID=film.Refs.LetterboxdID)}}
|
56
|
-
</div>
|
57
|
-
</div>
|
58
53
|
{{if config("default_image_type") != "portrait"}}
|
59
54
|
<s72-availability-status data-slug="{{film.Slug}}"></s72-availability-status>
|
60
55
|
<br>
|
61
56
|
{{end}}
|
62
|
-
<s72-availability-label data-slug="{{film.Slug}}"></s72-availability-label>
|
63
57
|
|
64
58
|
{{yield awardNominations() film}}
|
65
|
-
<
|
66
|
-
|
67
|
-
|
68
|
-
<
|
69
|
-
|
70
|
-
{{end}}
|
71
|
-
<div class="{{ isEnabled("element_switcher_enabled") ? "s72-hide" : "" }}"> {* hide class prevents FOUC *}
|
72
|
-
<div class="meta-detail-synopsis">{{film.Overview | raw}}</div>
|
73
|
-
<div class="meta-detail-cast">
|
74
|
-
{{if len(film.Cast) > 0 }}
|
75
|
-
<h2>{{i18n("meta_detail_cast_title")}}</h2>
|
76
|
-
{{end}}
|
77
|
-
<p>
|
78
|
-
{{range index, member := film.Cast}}
|
79
|
-
{{ path := "/search.html?q=" + member.Name }}
|
80
|
-
<a href="{{ routeToPath(path) }}">{{member.Name}}</a>{{if index < len(film.Cast) - 1}}, {{end}}
|
81
|
-
{{end}}
|
82
|
-
</p>
|
83
|
-
</div>
|
84
|
-
<div class="meta-detail-crew d-flex">
|
85
|
-
{{range index, member := film.Crew}}
|
86
|
-
<div class="crew-member">
|
87
|
-
<h2>{{member.Job}}</h2>
|
88
|
-
{{ path := "/search.html?q=" + member.Name }}
|
89
|
-
<a href="{{ routeToPath(path) }}">{{member.Name}}</a>
|
90
|
-
</div>
|
91
|
-
{{end}}
|
92
|
-
</div>
|
93
|
-
{{if len(film.Languages) > 0 }}
|
94
|
-
<div class="meta-detail-language">
|
95
|
-
<h2>{{i18n("meta_detail_languages", len(film.Languages))}}</h2>
|
96
|
-
<p>{{ film.Languages }}</p>
|
59
|
+
<div class="element-switcher-wrapper">
|
60
|
+
<s72-element-switcher>
|
61
|
+
{{if isEnabled("element_switcher_enabled")}}
|
62
|
+
<div class="meta-detail-switcher-tagline">
|
63
|
+
<p>{{film.Tagline}}</p>
|
97
64
|
</div>
|
98
65
|
{{end}}
|
99
|
-
{{
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
66
|
+
<div class="{{ isEnabled("element_switcher_enabled") ? "s72-hide" : "" }}"> {* hide class prevents FOUC *}
|
67
|
+
<div class="meta-detail-synopsis">{{film.Overview | raw}}</div>
|
68
|
+
<div class="meta-detail-info">
|
69
|
+
{{if len(film.Cast) > 0 }}
|
70
|
+
<div class="meta-detail-cast">
|
71
|
+
<h2>{{i18n("meta_detail_cast_title")}}</h2>
|
72
|
+
<p>
|
73
|
+
{{range index, member := film.Cast}}
|
74
|
+
{{ path := "/search.html?q=" + member.Name }}
|
75
|
+
<a href="{{ routeToPath(path) }}">{{member.Name}}</a>{{if index < len(film.Cast) - 1}}, {{end}}
|
76
|
+
{{end}}
|
77
|
+
</p>
|
78
|
+
</div>
|
79
|
+
{{end}}
|
80
|
+
{{range index, member := film.Crew}}
|
81
|
+
<div class="meta-detail-crew">
|
82
|
+
<h2>{{member.Job}}</h2>
|
83
|
+
{{ path := "/search.html?q=" + member.Name }}
|
84
|
+
<a href="{{ routeToPath(path) }}">{{member.Name}}</a>
|
85
|
+
</div>
|
86
|
+
{{end}}
|
87
|
+
{{if len(film.Languages) > 0 }}
|
88
|
+
<div class="meta-detail-language">
|
89
|
+
<h2>{{i18n("meta_detail_languages", len(film.Languages))}}</h2>
|
90
|
+
<p>{{ film.Languages }}</p>
|
91
|
+
</div>
|
92
|
+
{{end}}
|
93
|
+
{{allSubtitles := film.GetSubtitles()}}
|
94
|
+
{{if len(allSubtitles) > 0 }}
|
95
|
+
{{subtitles := ""}}
|
96
|
+
{{captions := ""}}
|
97
|
+
{{if len(film.SubtitleTracks) == 0}}
|
98
|
+
{{subtitles = allSubtitles}}
|
99
|
+
{{else}}
|
100
|
+
{{range subTrack := film.SubtitleTracks}}
|
101
|
+
{{if len(subTrack) >= 3}}
|
102
|
+
{{if subTrack[2] == "caption"}}
|
103
|
+
{{captions = captions ? captions + ", " + subTrack[1] : subTrack[1]}}
|
104
|
+
{{else}}
|
105
|
+
{{subtitles = subtitles ? subtitles + ", " + subTrack[1] : subTrack[1]}}
|
106
|
+
{{end}}
|
107
|
+
{{end}}
|
112
108
|
{{end}}
|
113
109
|
{{end}}
|
110
|
+
{{if subtitles}}
|
111
|
+
<div class="meta-detail-subtitle">
|
112
|
+
<h2>{{i18n("meta_detail_subtitles")}}</h2>
|
113
|
+
<p>{{subtitles}}</p>
|
114
|
+
</div>
|
115
|
+
{{end}}
|
116
|
+
{{if captions}}
|
117
|
+
<div class="meta-detail-subtitle">
|
118
|
+
<h2>{{i18n("meta_detail_captions")}}</h2>
|
119
|
+
<p>{{captions}}</p>
|
120
|
+
</div>
|
121
|
+
{{end}}
|
122
|
+
{{end}}
|
123
|
+
{{if len(film.Countries) > 0 }}
|
124
|
+
<div class="meta-detail-country">
|
125
|
+
<h2>{{i18n("meta_detail_countries", len(film.Countries))}}</h2>
|
126
|
+
<p>{{ film.Countries }}</p>
|
127
|
+
</div>
|
128
|
+
{{end}}
|
129
|
+
{{if len(film.Studio) > 0 }}
|
130
|
+
<div class="meta-detail-studio">
|
131
|
+
<h2>{{i18n("meta_detail_studios", len(film.Studio))}}</h2>
|
132
|
+
{*{ FORMAT STUDIOS }*}
|
133
|
+
{{ studios := "" }}
|
134
|
+
{{ range studio := film.Studio }}
|
135
|
+
{{ studios = studios + studio + ", "}}
|
136
|
+
{{ end }}
|
137
|
+
{{ if len(studios) > 0 }}
|
138
|
+
{{ studios = studios[0:len(studios) - 2] }}
|
139
|
+
{{ end }}
|
140
|
+
<p>{{ studios }}</p>
|
141
|
+
</div>
|
114
142
|
{{end}}
|
115
|
-
{{end}}
|
116
|
-
{{if subtitles}}
|
117
|
-
<div class="meta-detail-subtitle">
|
118
|
-
<h2>{{i18n("meta_detail_subtitles")}}</h2>
|
119
|
-
<p>{{subtitles}}</p>
|
120
|
-
</div>
|
121
|
-
{{end}}
|
122
|
-
{{if captions}}
|
123
|
-
<div class="meta-detail-subtitle">
|
124
|
-
<h2>{{i18n("meta_detail_captions")}}</h2>
|
125
|
-
<p>{{captions}}</p>
|
126
|
-
</div>
|
127
|
-
{{end}}
|
128
|
-
{{end}}
|
129
|
-
{{if len(film.Countries) > 0 }}
|
130
|
-
<div class="meta-detail-country">
|
131
|
-
<h2>{{i18n("meta_detail_countries", len(film.Countries))}}</h2>
|
132
|
-
<p>{{ film.Countries }}</p>
|
133
|
-
</div>
|
134
|
-
{{end}}
|
135
|
-
{{if len(film.Studio) > 0 }}
|
136
|
-
<div class="meta-detail-studio">
|
137
|
-
<h2>{{i18n("meta_detail_studios", len(film.Studio))}}</h2>
|
138
|
-
{*{ FORMAT STUDIOS }*}
|
139
|
-
{{ studios := "" }}
|
140
|
-
{{ range studio := film.Studio }}
|
141
|
-
{{ studios = studios + studio + ", "}}
|
142
|
-
{{ end }}
|
143
|
-
{{ if len(studios) > 0 }}
|
144
|
-
{{ studios = studios[0:len(studios) - 2] }}
|
145
|
-
{{ end }}
|
146
|
-
<p>{{ studios }}</p>
|
147
143
|
</div>
|
148
|
-
|
149
|
-
</
|
150
|
-
|
144
|
+
</div>
|
145
|
+
</s72-element-switcher>
|
146
|
+
{{yield sponsor() film}}
|
147
|
+
</div>
|
151
148
|
{{if len(film.Bonuses) > 0 && !film.CustomFields.GetBool("hide_bonus_content", false)}}
|
152
149
|
<section class="meta-detail-bonus-content" aria-label="{{i18n("meta_detail_bonus_title")}}">
|
153
150
|
<h2>{{i18n("meta_detail_bonus_title")}}</h2>
|
154
151
|
{{yield list(itemsPerRow=4, itemLayout="landscape") content}}
|
155
152
|
{{range bonus := film.Bonuses}}
|
156
|
-
<div class="
|
157
|
-
{{yield
|
153
|
+
<div class="sub-item">
|
154
|
+
{{yield subItem(item=bonus)}}
|
158
155
|
</div>
|
159
156
|
{{end}}
|
160
157
|
{{end}}
|
161
158
|
</section>
|
162
|
-
|
163
|
-
{{end}}
|
159
|
+
{{end}}
|
164
160
|
</div>
|
165
161
|
</div>
|
166
162
|
</div>
|
@@ -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>
|
@@ -1,11 +1,11 @@
|
|
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
|
-
{{import "./episode.jet"}}
|
7
6
|
{{import "../common/list.jet"}}
|
8
|
-
{{import "../common/
|
7
|
+
{{import "../common/cta_buttons.jet"}}
|
8
|
+
|
9
9
|
{{block head()}}
|
10
10
|
{{yield seo() tvseason}}
|
11
11
|
{{end}}
|
@@ -34,38 +34,41 @@
|
|
34
34
|
<div class="meta-detail-tagline">
|
35
35
|
{{yield metaItemTagline() tvseason}}
|
36
36
|
</div>
|
37
|
-
<div class="meta-detail-buttons">
|
38
|
-
<s72-play-button data-slug="{{tvseason.Slug}}" data-title="{{tvseason.Title}}"></s72-play-button>
|
39
|
-
<s72-pricing-buttons data-slug="{{tvseason.Slug}}" data-title="{{tvseason.Title}}"></s72-pricing-buttons>
|
40
|
-
<div class="meta-detail-extras">
|
41
|
-
{{if len(tvseason.Trailers) > 0 }}
|
42
|
-
<s72-modal-player src="{{tvseason.Trailers[0].URL}}" class="s72-btn-trailer" data-slug="{{tvseason.Slug}}" data-label="{{i18n("play_trailer")}}" autoplay="querystring"></s72-modal-player>
|
43
|
-
{{end}}
|
44
|
-
<s72-userwishlist-button data-slug="{{tvseason.Slug}}" class="btn-wishlist"></s72-userwishlist-button>
|
45
|
-
{{yield socialMediaButtons(path=currentUrlPath)}}
|
46
|
-
</div>
|
47
|
-
</div>
|
48
37
|
<s72-availability-label data-slug="{{tvseason.Slug}}"></s72-availability-label>
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
38
|
+
|
39
|
+
{{yield ctaButtons(itemType="tvseason") tvseason}}
|
40
|
+
|
41
|
+
<div class="element-switcher-wrapper">
|
42
|
+
<s72-element-switcher>
|
43
|
+
{{if isEnabled("element_switcher_enabled")}}
|
44
|
+
<div class="meta-detail-switcher-tagline">
|
45
|
+
<p>{{tvseason.Tagline}}</p>
|
46
|
+
</div>
|
58
47
|
{{end}}
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
48
|
+
<div class="{{ isEnabled("element_switcher_enabled") ? "s72-hide" : "" }}"> {* hide class prevents FOUC *}
|
49
|
+
<div class="meta-detail-synopsis">{{tvseason.Overview | raw}}</div>
|
50
|
+
<div class="meta-detail-info">
|
51
|
+
{{if len(tvseason.Cast) > 0 }}
|
52
|
+
<div class="meta-detail-cast">
|
53
|
+
<h2>{{i18n("meta_detail_cast_title")}}</h2>
|
54
|
+
<p>
|
55
|
+
{{range index, member := tvseason.Cast}}
|
56
|
+
{{ path := "/search.html?q=" + member.Name }}
|
57
|
+
<a href="{{ routeToPath(path) }}">{{member.Name}}</a>{{if index < len(tvseason.Cast) - 1}}, {{end}}
|
58
|
+
{{end}}
|
59
|
+
</p>
|
60
|
+
</div>
|
61
|
+
{{end}}
|
62
|
+
{{range index, member := tvseason.Crew}}
|
63
|
+
<div class="meta-detail-crew">
|
64
|
+
<h2>{{member.Job}}</h2>
|
65
|
+
{{ path := "/search.html?q=" + member.Name }}
|
66
|
+
<a href="{{ routeToPath(path) }}"">{{member.Name}}</a>
|
67
|
+
</div>
|
68
|
+
{{end}}
|
69
|
+
</div>
|
67
70
|
</div>
|
68
|
-
|
71
|
+
</s72-element-switcher>
|
69
72
|
</div>
|
70
73
|
|
71
74
|
{{if len(tvseason.Episodes) > 0}}
|
@@ -73,8 +76,8 @@
|
|
73
76
|
<h2>{{i18n("meta_detail_episodes_title")}}</h2>
|
74
77
|
{{yield list(itemsPerRow=4, itemLayout="portrait") content}}
|
75
78
|
{{range episode := tvseason.Episodes}}
|
76
|
-
<div class="
|
77
|
-
{{yield
|
79
|
+
<div class="sub-item">
|
80
|
+
{{yield subItem(item=episode)}}
|
78
81
|
</div>
|
79
82
|
{{end}}
|
80
83
|
{{end}}
|
@@ -86,8 +89,8 @@
|
|
86
89
|
<h2>{{i18n("meta_detail_bonus_title")}}</h2>
|
87
90
|
{{yield list(itemsPerRow=4, itemLayout="landscape") content}}
|
88
91
|
{{range bonus := tvseason.Bonuses}}
|
89
|
-
<div class="
|
90
|
-
{{yield
|
92
|
+
<div class="sub-item">
|
93
|
+
{{yield subItem(item=bonus)}}
|
91
94
|
</div>
|
92
95
|
{{end}}
|
93
96
|
{{end}}
|
@@ -95,8 +98,6 @@
|
|
95
98
|
{{end}}
|
96
99
|
</div>
|
97
100
|
</div>
|
98
|
-
</div>
|
99
|
-
</div>
|
100
101
|
</div>
|
101
102
|
{{if len(tvseason.Recommendations) > 0 }}
|
102
103
|
<section class="page-collection recommendations-collection" aria-label="{{i18n("meta_detail_recommendations_title")}}">
|