@shift72/core-template 1.9.1 → 1.9.2
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +18 -0
- package/kibble.json +1 -1
- package/package.json +1 -1
- package/site/pl_PL.all.json +5 -5
- package/site/signin.html.jet +14 -1
- package/site/styles/_buttons.scss +19 -0
- package/site/styles/_footer.scss +24 -6
- package/site/styles/_forms.scss +1 -1
- package/site/styles/_nav.scss +1 -1
- package/site/styles/_variables.scss +22 -7
- package/site/templates/application/footer/footer.jet +0 -2
- package/site/templates/application/footer/nav.jet +13 -12
- package/site/templates/application/footer/social-media-buttons.jet +89 -18
- package/site/templates/application/google.jet +54 -31
- package/site/templates/application/nav/user_logged_in.jet +15 -3
package/CHANGELOG.md
CHANGED
@@ -2,6 +2,24 @@
|
|
2
2
|
|
3
3
|
## [Unreleased](https://github.com/shift72/core-template/compare/1.9.1...HEAD)
|
4
4
|
|
5
|
+
|
6
|
+
## [1.9.2](https://github.com/shift72/core-template/compare/1.9.1...1.9.2)
|
7
|
+
|
8
|
+
### Added
|
9
|
+
- Configuration to change or remove the forgot password link
|
10
|
+
- Configuration to change or remove the my account link
|
11
|
+
- Styling for SSO buttons
|
12
|
+
- CSS variables for change default button colors
|
13
|
+
- linkedin social link
|
14
|
+
|
15
|
+
### Changed
|
16
|
+
- Nav mobile top padding to meet design spec
|
17
|
+
- Social link redesign
|
18
|
+
|
19
|
+
### Fixed
|
20
|
+
- GA4 tracking of ecommerce data
|
21
|
+
- Form control styling bug in 1.9.1
|
22
|
+
|
5
23
|
## [1.9.1](https://github.com/shift72/core-template/compare/1.9.0...1.9.1)
|
6
24
|
|
7
25
|
### Changed
|
package/kibble.json
CHANGED
package/package.json
CHANGED
package/site/pl_PL.all.json
CHANGED
@@ -449,10 +449,10 @@
|
|
449
449
|
"other": "{{.Count}} dni"
|
450
450
|
},
|
451
451
|
"shopping_info_rental_period_duration": {
|
452
|
-
"one": "
|
453
|
-
"few": "
|
454
|
-
"many": "
|
455
|
-
"other": "
|
452
|
+
"one": "Wypożyczenie na {{.ValueUnit}} ",
|
453
|
+
"few": "Wypożyczenie na {{.ValueUnit}} ",
|
454
|
+
"many": "Wypożyczenie na {{.ValueUnit}} ",
|
455
|
+
"other": "Wypożyczenie na {{.ValueUnit}} "
|
456
456
|
},
|
457
457
|
"shopping_info_watch_window_duration": {
|
458
458
|
"one": "{{.Count}} godzinne okno odtwarzania. ",
|
@@ -795,7 +795,7 @@
|
|
795
795
|
"other": "Klasyfikacja: "
|
796
796
|
},
|
797
797
|
"cookie_banner_message": {
|
798
|
-
"other": "Korzystanie z naszej witryny oznacza zgodę na wykorzystywanie plików cookie.
|
798
|
+
"other": "Korzystanie z naszej witryny oznacza zgodę na wykorzystywanie plików cookie. <a href=\"{{.CookiePolicyURL}}\">Czytaj więcej</a>."
|
799
799
|
},
|
800
800
|
"cookie_banner_accept": {
|
801
801
|
"other": "Zaakceptować"
|
package/site/signin.html.jet
CHANGED
@@ -8,7 +8,20 @@
|
|
8
8
|
<main id="main" class="page form-page">
|
9
9
|
<div class="page-header">
|
10
10
|
<h1>{{ i18n("signin_page_header") }}</h1>
|
11
|
-
|
11
|
+
{{forgot_password_link := config("forgot_password_link")}}
|
12
|
+
{{if forgot_password_link != "hide"}}
|
13
|
+
{{forgot_password_href := forgot_password_link == "" ? routeToPath("/forgotpassword.html") : forgot_password_link}}
|
14
|
+
<p>
|
15
|
+
<a
|
16
|
+
href="{{forgot_password_href}}"
|
17
|
+
{{if forgot_password_link != ""}}
|
18
|
+
target="_blank"
|
19
|
+
{{end}}
|
20
|
+
>
|
21
|
+
{{ i18n("signin_page_forgotpassword")}}
|
22
|
+
</a>
|
23
|
+
</p>
|
24
|
+
{{end}}
|
12
25
|
</div>
|
13
26
|
<div class="page-form">
|
14
27
|
<div class="form-container">
|
@@ -41,6 +41,25 @@
|
|
41
41
|
font-size: 16px;
|
42
42
|
}
|
43
43
|
}
|
44
|
+
// OAuth
|
45
|
+
.s72-oauth-buttons {
|
46
|
+
align-items: center;
|
47
|
+
display: flex;
|
48
|
+
flex-direction: column;
|
49
|
+
gap: 20px;
|
50
|
+
justify-content: center;
|
51
|
+
margin-top: 10px;
|
52
|
+
|
53
|
+
.btn-sso {
|
54
|
+
background-color: var(--signin-sso-btn-background-color);
|
55
|
+
color: var(--signin-sso-btn-text-color);
|
56
|
+
&:hover,
|
57
|
+
&:focus {
|
58
|
+
background-color: var(--signin-sso-btn-background-hover-color);
|
59
|
+
color: var(--signin-sso-btn-text-hover-color);
|
60
|
+
}
|
61
|
+
}
|
62
|
+
}
|
44
63
|
|
45
64
|
.s72-btn.s72-btn-block {
|
46
65
|
@extend .btn-block;
|
package/site/styles/_footer.scss
CHANGED
@@ -23,7 +23,9 @@ footer {
|
|
23
23
|
margin-bottom: 30px;
|
24
24
|
|
25
25
|
@include media-breakpoint-up(xl) {
|
26
|
-
|
26
|
+
align-items: center;
|
27
|
+
display: flex;
|
28
|
+
margin: 0 50px;
|
27
29
|
}
|
28
30
|
|
29
31
|
.nav {
|
@@ -37,8 +39,9 @@ footer {
|
|
37
39
|
}
|
38
40
|
|
39
41
|
.nav-link {
|
42
|
+
padding-bottom: 16px;
|
43
|
+
padding-top: 0;
|
40
44
|
text-align: center;
|
41
|
-
|
42
45
|
@include media-breakpoint-up(xl) {
|
43
46
|
margin-right: 20px;
|
44
47
|
padding: 0;
|
@@ -52,16 +55,15 @@ footer {
|
|
52
55
|
|
53
56
|
.footer-social-media-icons {
|
54
57
|
display: grid;
|
55
|
-
gap:
|
56
|
-
grid-auto-columns:
|
58
|
+
gap: 16px;
|
59
|
+
grid-auto-columns: 32px;
|
57
60
|
grid-auto-flow: column;
|
58
61
|
grid-template-rows: 1fr;
|
59
62
|
justify-content: center;
|
60
|
-
margin-
|
63
|
+
margin-left: auto;
|
61
64
|
|
62
65
|
@include media-breakpoint-up(xl) {
|
63
66
|
justify-content: start;
|
64
|
-
margin: 0 50px 20px;
|
65
67
|
}
|
66
68
|
|
67
69
|
.s72-btn {
|
@@ -80,6 +82,22 @@ footer {
|
|
80
82
|
}
|
81
83
|
}
|
82
84
|
|
85
|
+
.social-link-button {
|
86
|
+
align-items: center;
|
87
|
+
background-color: var(--footer-social-bg);
|
88
|
+
border-radius: 50%;
|
89
|
+
color: var(--footer-social-icon);
|
90
|
+
display: flex;
|
91
|
+
height: 32px;
|
92
|
+
justify-content: center;
|
93
|
+
width: 32px;
|
94
|
+
|
95
|
+
&:hover {
|
96
|
+
background-color: var(--footer-social-bg-hover);
|
97
|
+
color: var(--footer-social-icon-hover);
|
98
|
+
}
|
99
|
+
}
|
100
|
+
|
83
101
|
.footer-info {
|
84
102
|
background-color: $footer-bar-background-color;
|
85
103
|
margin-top: 30px;
|
package/site/styles/_forms.scss
CHANGED
@@ -101,7 +101,7 @@ s72-activatedevice-form,
|
|
101
101
|
|
102
102
|
/* stylelint-disable-next-line */
|
103
103
|
&:not(.StripeElement) {
|
104
|
-
background-color:
|
104
|
+
background-color: $body-bg-accent;
|
105
105
|
border-color: rgba(var(--body-color-rgb), 0.6);
|
106
106
|
color: var(--body-color);
|
107
107
|
&:focus {
|
package/site/styles/_nav.scss
CHANGED
@@ -76,6 +76,10 @@
|
|
76
76
|
--navbar-brand-height: 50px;
|
77
77
|
|
78
78
|
--footer-brand-height: 50px;
|
79
|
+
--footer-social-bg: var(--body-bg-accent);
|
80
|
+
--footer-social-bg-hover: var(--primary);
|
81
|
+
--footer-social-icon: var(--body-color);
|
82
|
+
--footer-social-icon-hover: var(--body-bg);
|
79
83
|
|
80
84
|
--signin-text-color: var(--body-color);
|
81
85
|
--signin-text-color-hover: var(--body-color-hover);
|
@@ -85,12 +89,23 @@
|
|
85
89
|
--signin-background-hover: var(--hover-background);
|
86
90
|
--signin-background-lg: transparent;
|
87
91
|
--signin-background-hover-lg: transparent;
|
88
|
-
|
89
92
|
--signout-background: rgba(var(--body-color-rgb), 0.1);
|
90
93
|
--signout-background-hover: rgba(var(--body-color-rgb), 0.2);
|
91
94
|
--signout-text-color: var(--body-color);
|
92
95
|
--signout-text-color-hover: var(--body-color);
|
93
96
|
|
97
|
+
// Buttons
|
98
|
+
--button-text-color: var(--body-bg);
|
99
|
+
--button-text-color-hover: var(--body-bg);
|
100
|
+
--button-background: var(--primary);
|
101
|
+
--button-background-hover: var(--secondary);
|
102
|
+
--trailer-button-text-color: var(--body-color);
|
103
|
+
--mobile-nav-link-color: var(--body-color);
|
104
|
+
--signin-sso-btn-text-color: var(--button-text-color);
|
105
|
+
--signin-sso-btn-text-hover-color: var(--button-text-color-hover);
|
106
|
+
--signin-sso-btn-background-color: var(--button-background);
|
107
|
+
--signin-sso-btn-background-hover-color: var(--button-background-hover);
|
108
|
+
|
94
109
|
--carousel-height: 75vh;
|
95
110
|
--carousel-height-sm: 75vh;
|
96
111
|
--carousel-height-lg: 75vh;
|
@@ -251,12 +266,12 @@ $navbar-dark-color: var(--body-color) !default;
|
|
251
266
|
$navbar-dark-hover-color: #fd4766 !default;
|
252
267
|
|
253
268
|
// Buttons
|
254
|
-
$button-text-color: var(--
|
255
|
-
$button-text-color-hover: var(--
|
256
|
-
$button-background: var(--
|
257
|
-
$button-background-hover: var(--
|
258
|
-
$trailer-button-text-color: var(--
|
259
|
-
$mobile-nav-link-color: var(--
|
269
|
+
$button-text-color: var(--button-text-color) !default;
|
270
|
+
$button-text-color-hover: var(--button-text-color-hover) !default;
|
271
|
+
$button-background: var(--button-background) !default;
|
272
|
+
$button-background-hover: var(--button-background-hover) !default;
|
273
|
+
$trailer-button-text-color: var(--trailer-button-text-color) !default;
|
274
|
+
$mobile-nav-link-color: var(--mobile-nav-link-color) !default;
|
260
275
|
|
261
276
|
$signup-text-color: $button-text-color !default;
|
262
277
|
$signup-text-color-hover: $button-text-color-hover !default;
|
@@ -1,13 +1,14 @@
|
|
1
1
|
{{ block footerNav(navLinks) }}
|
2
|
-
{{
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
2
|
+
<nav class="footer-nav" aria-label="{{ i18n("wcag_aria_label_footer") }}">
|
3
|
+
{{ if len(navLinks) > 0 }}
|
4
|
+
<ul class="nav">
|
5
|
+
{{ range navLinks }}
|
6
|
+
<li class="nav-item {{ len(.Link.ExternalURL) == 0 && routeToSlug(.Link.Slug) == currentUrlPath ? "active" : "" }}">
|
7
|
+
<a class="nav-link" href="{{ len(.Link.ExternalURL) > 0 ? .Link.ExternalURL : routeToSlug(.Link.Slug) }}">{{ .Label }}</a>
|
8
|
+
</li>
|
9
|
+
{{ end }}
|
10
|
+
</ul>
|
11
|
+
{{ end }}
|
12
|
+
{{ yield footerSocialMediaButtons() }}
|
13
|
+
</nav>
|
14
|
+
{{ end }}
|
@@ -1,25 +1,96 @@
|
|
1
1
|
{{block footerSocialMediaButtons()}}
|
2
|
-
{{social_link_instagram := config("social_link_instagram")}}
|
3
|
-
{{social_link_youtube := config("social_link_youtube")}}
|
4
|
-
{{social_link_facebook := config("social_link_facebook")}}
|
5
|
-
{{social_link_twitter := config("social_link_twitter")}}
|
6
|
-
{{social_link_letterboxd := config("social_link_letterboxd")}}
|
2
|
+
{{ social_link_instagram := config("social_link_instagram") }}
|
3
|
+
{{ social_link_youtube := config("social_link_youtube") }}
|
4
|
+
{{ social_link_facebook := config("social_link_facebook") }}
|
5
|
+
{{ social_link_twitter := config("social_link_twitter") }}
|
6
|
+
{{ social_link_letterboxd := config("social_link_letterboxd") }}
|
7
|
+
{{ social_link_linkedin := config("social_link_linkedin") }}
|
7
8
|
|
8
|
-
{{if social_link_instagram != "" || social_link_youtube != "" || social_link_facebook != "" || social_link_twitter != "" || social_link_letterboxd != ""}}
|
9
|
+
{{ if social_link_instagram != "" || social_link_youtube != "" || social_link_facebook != "" || social_link_twitter != "" || social_link_letterboxd != "" || social_link_linkedin != "" }}
|
9
10
|
<div class="footer-social-media-icons">
|
10
|
-
{{yield footerSocialMediaIcon(link=social_link_instagram, iconClass="instagram", titleKey="wcag_aria_label_social_instagram")}}
|
11
|
-
{{yield footerSocialMediaIcon(link=social_link_youtube, iconClass="youtube", titleKey="wcag_aria_label_social_youtube")}}
|
12
|
-
{{yield footerSocialMediaIcon(link=social_link_facebook, iconClass="facebook", titleKey="wcag_aria_label_social_facebook")}}
|
13
|
-
{{yield footerSocialMediaIcon(link=social_link_twitter, iconClass="twitter", titleKey="wcag_aria_label_social_twitter")}}
|
14
|
-
{{yield footerSocialMediaIcon(link=social_link_letterboxd, iconClass="letterboxd", titleKey="wcag_aria_label_social_letterboxd")}}
|
11
|
+
{{ yield footerSocialMediaIcon(link=social_link_instagram, iconClass="instagram", titleKey="wcag_aria_label_social_instagram") }}
|
12
|
+
{{ yield footerSocialMediaIcon(link=social_link_youtube, iconClass="youtube", titleKey="wcag_aria_label_social_youtube") }}
|
13
|
+
{{ yield footerSocialMediaIcon(link=social_link_facebook, iconClass="facebook", titleKey="wcag_aria_label_social_facebook") }}
|
14
|
+
{{ yield footerSocialMediaIcon(link=social_link_twitter, iconClass="twitter", titleKey="wcag_aria_label_social_twitter") }}
|
15
|
+
{{ yield footerSocialMediaIcon(link=social_link_letterboxd, iconClass="letterboxd", titleKey="wcag_aria_label_social_letterboxd") }}
|
16
|
+
{{ yield footerSocialMediaIcon(link=social_link_linkedin, iconClass="linkedin", titleKey="wcag_aria_label_social_linkedin") }}
|
15
17
|
</div>
|
16
|
-
{{end}}
|
17
|
-
{{end}}
|
18
|
+
{{ end }}
|
19
|
+
{{ end }}
|
18
20
|
|
19
|
-
{{block footerSocialMediaIcon(link, iconClass, titleKey)}}
|
20
|
-
{{if link != ""}}
|
21
|
+
{{ block footerSocialMediaIcon(link, iconClass, titleKey) }}
|
22
|
+
{{ if link != "" }}
|
21
23
|
<a class="s72-btn" target="_blank" title="{{i18n(titleKey)}}" href="{{link}}">
|
22
|
-
<
|
24
|
+
<div class="social-link-button">
|
25
|
+
|
26
|
+
{{ if iconClass == "instagram" }}
|
27
|
+
{{ yield instagramIcon() }}
|
28
|
+
{{ end }}
|
29
|
+
|
30
|
+
{{ if iconClass == "youtube" }}
|
31
|
+
{{ yield youtubeIcon() }}
|
32
|
+
{{ end }}
|
33
|
+
|
34
|
+
{{ if iconClass == "facebook" }}
|
35
|
+
{{ yield facebookIcon() }}
|
36
|
+
{{ end }}
|
37
|
+
|
38
|
+
{{ if iconClass == "twitter" }}
|
39
|
+
{{ yield twitterIcon() }}
|
40
|
+
{{ end }}
|
41
|
+
|
42
|
+
{{ if iconClass == "letterboxd" }}
|
43
|
+
{{ yield letterboxdIcon() }}
|
44
|
+
{{ end }}
|
45
|
+
|
46
|
+
{{ if iconClass == "linkedin" }}
|
47
|
+
{{ yield linkedinIcon() }}
|
48
|
+
{{ end }}
|
49
|
+
|
50
|
+
</div>
|
23
51
|
</a>
|
24
|
-
{{end}}
|
25
|
-
{{end}}
|
52
|
+
{{ end }}
|
53
|
+
{{ end }}
|
54
|
+
|
55
|
+
{{ block instagramIcon() }}
|
56
|
+
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
57
|
+
<path d="M8.8 4.38h6.4a4.422 4.422 0 0 1 4.42 4.42v6.4a4.419 4.419 0 0 1-4.42 4.419H8.8A4.422 4.422 0 0 1 4.381 15.2V8.8a4.419 4.419 0 0 1 4.42-4.42zm-.152 1.525a2.743 2.743 0 0 0-2.743 2.743v6.704a2.741 2.741 0 0 0 2.743 2.743h6.704a2.743 2.743 0 0 0 2.743-2.743V8.648a2.741 2.741 0 0 0-2.742-2.743H8.647zM16 7.048a.952.952 0 1 1 0 1.905.952.952 0 0 1 0-1.905zM12 8.19a3.81 3.81 0 1 1 0 7.62 3.81 3.81 0 0 1 0-7.62zm0 1.524a2.286 2.286 0 1 0 0 4.572 2.286 2.286 0 0 0 0-4.572z" fill="currentColor"/>
|
58
|
+
</svg>
|
59
|
+
{{ end }}
|
60
|
+
|
61
|
+
{{ block youtubeIcon() }}
|
62
|
+
<svg width="18" height="14" viewBox="0 0 17 13" fill="none" xmlns="http://www.w3.org/2000/svg">
|
63
|
+
<g clip-path="url(#clip0_611_6906)">
|
64
|
+
<path d="M16.6459 1.89714C16.549 1.52948 16.3592 1.19426 16.0954 0.92506C15.8316 0.655861 15.5031 0.462145 15.1428 0.363323C13.8167 0 8.50096 0 8.50096 0C8.50096 0 3.18329 0 1.85916 0.363323C1.49887 0.462145 1.17035 0.655861 0.906544 0.92506C0.642734 1.19426 0.452894 1.52948 0.356051 1.89714C0 3.24831 0 6.07241 0 6.07241C0 6.07241 0 8.89455 0.356051 10.2477C0.4526 10.6157 0.642308 10.9513 0.906138 11.2209C1.16997 11.4905 1.49864 11.6845 1.85916 11.7835C3.18521 12.1468 8.50096 12.1468 8.50096 12.1468C8.50096 12.1468 13.8167 12.1468 15.1428 11.7835C15.5031 11.6846 15.8316 11.4909 16.0954 11.2217C16.3592 10.9525 16.549 10.6173 16.6459 10.2496C17.0019 8.89651 17.0019 6.07437 17.0019 6.07437C17.0019 6.07437 17 3.24831 16.6459 1.89714ZM6.79961 8.67459V3.47023L11.2166 6.07241L6.79961 8.67459Z" fill="currentColor"/>
|
65
|
+
</g>
|
66
|
+
<defs>
|
67
|
+
<clipPath id="clip0_611_6906">
|
68
|
+
<rect width="17" height="12.1429" fill="currentColor"/>
|
69
|
+
</clipPath>
|
70
|
+
</defs>
|
71
|
+
</svg>
|
72
|
+
{{ end }}
|
73
|
+
|
74
|
+
{{ block facebookIcon() }}
|
75
|
+
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
76
|
+
<path d="M13.328 19.619v-6.95h2.326l.357-2.711h-2.683v-1.73c0-.78.21-1.32 1.337-1.32h1.438V4.491c-.248-.037-1.1-.11-2.088-.11-2.07 0-3.49 1.264-3.49 3.58v1.997H8.192v2.71h2.335v6.951h2.802z" fill="currentColor"/>
|
77
|
+
</svg>
|
78
|
+
{{ end }}
|
79
|
+
|
80
|
+
{{ block twitterIcon() }}
|
81
|
+
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
82
|
+
<path d="M8.7 18.939c6.315 0 9.77-5.23 9.77-9.769 0-.148 0-.297-.011-.446a7.382 7.382 0 0 0 1.721-1.775 6.883 6.883 0 0 1-1.977.531 3.424 3.424 0 0 0 1.51-1.892 6.758 6.758 0 0 1-2.18.83 3.425 3.425 0 0 0-2.508-1.085 3.432 3.432 0 0 0-3.433 3.434c0 .265.032.531.085.786a9.759 9.759 0 0 1-7.08-3.593 3.408 3.408 0 0 0-.467 1.733 3.43 3.43 0 0 0 1.53 2.86 3.459 3.459 0 0 1-1.551-.437v.043c0 1.669 1.18 3.05 2.753 3.37a3.63 3.63 0 0 1-.904.116c-.223 0-.435-.02-.648-.053a3.44 3.44 0 0 0 3.21 2.381 6.875 6.875 0 0 1-4.262 1.467c-.287 0-.553-.01-.83-.043a9.702 9.702 0 0 0 5.273 1.542z" fill="currentColor"/>
|
83
|
+
</svg>
|
84
|
+
{{ end }}
|
85
|
+
|
86
|
+
{{ block letterboxdIcon() }}
|
87
|
+
<svg width="30" height="30" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
|
88
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M12.8459 15C12.8459 15.5913 12.6869 16.1442 12.4108 16.6157C12.1346 16.1442 11.9757 15.5913 11.9757 15C11.9757 14.4087 12.1346 13.8558 12.4108 13.3843C12.6869 13.8558 12.8459 14.4087 12.8459 15ZM17.5893 13.3838C17.0594 12.4794 16.0981 11.875 15.0002 11.875C13.9021 11.875 12.9407 12.4797 12.4108 13.3843C11.8809 12.4797 10.9195 11.875 9.82137 11.875C8.15099 11.875 6.79688 13.2741 6.79688 15C6.79688 16.7259 8.15099 18.125 9.82137 18.125C10.9195 18.125 11.8809 17.5203 12.4108 16.6157C12.9407 17.5203 13.9021 18.125 15.0002 18.125C16.0981 18.125 17.0594 17.5206 17.5893 16.6162C18.1193 17.5206 19.0805 18.125 20.1784 18.125C21.8488 18.125 23.2029 16.7259 23.2029 15C23.2029 13.2741 21.8488 11.875 20.1784 11.875C19.0805 11.875 18.1193 12.4794 17.5893 13.3838ZM17.5893 13.3838C17.8656 13.8554 18.0247 14.4085 18.0247 15C18.0247 15.5915 17.8656 16.1446 17.5893 16.6162C17.313 16.1446 17.1539 15.5915 17.1539 15C17.1539 14.4085 17.313 13.8554 17.5893 13.3838Z" fill="currentColor"/>
|
89
|
+
</svg>
|
90
|
+
{{ end }}
|
91
|
+
|
92
|
+
{{ block linkedinIcon() }}
|
93
|
+
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
94
|
+
<path d="M5.385 8.016c1.222 0 1.987-.808 1.977-1.817C7.35 5.167 6.607 4.38 5.406 4.38c-1.19 0-1.977.786-1.977 1.818 0 1.01.754 1.817 1.934 1.817h.021zm7.185 11.969v-5.878c0-.32.032-.627.117-.861.255-.627.829-1.276 1.796-1.276 1.265 0 1.775.967 1.775 2.381v5.634h3.497v-6.038c0-3.231-1.722-4.74-4.028-4.74-1.813 0-2.65.966-3.12 1.683l-.037.058V9.45H9.073V9.477l.001.023c.004.134.012.598.016 1.96V11.898l.001.494v1.861c-.002 1.443-.007 3.313-.018 5.733h3.497zm-5.432 0V9.45H3.631v10.534h3.507z" fill="currentColor"/>
|
95
|
+
</svg>
|
96
|
+
{{ end }}
|
@@ -1,58 +1,81 @@
|
|
1
1
|
{{block googleScripts(tagManagerId=config("google_tag_manager_id"), analyticsId=config("google_analytics_id"))}}
|
2
2
|
<!-- Google integration scripts -->
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
3
|
+
|
4
|
+
{{if len(tagManagerId) > 0}}
|
5
|
+
{* Load GTM code snippet if Tag Manager ID is provided *}
|
6
|
+
<script>
|
7
|
+
function loadGoogleTagManager() {
|
8
|
+
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});
|
9
|
+
var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';
|
10
|
+
j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
|
11
|
+
})(window,document,'script','dataLayer','{{ tagManagerId }}')};
|
12
|
+
</script>
|
13
|
+
{{end}}
|
9
14
|
|
10
|
-
<!-- GA4 code snippet if G tracking code is provided, else use legacy UA code snippet -->
|
11
15
|
{{if hasPrefix(analyticsId,"G")}}
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
gtag('js', new Date());
|
16
|
+
{* Load GA4 code snippet and gtag function if G tracking code is provided, else use legacy UA code snippet *}
|
17
|
+
<script>
|
18
|
+
function loadGA4() {
|
19
|
+
window.dataLayer = window.dataLayer || [];
|
20
|
+
window.gtag = function(){dataLayer.push(arguments);}
|
21
|
+
window.gtag('js', new Date());
|
22
|
+
window.gtag('config', '{{analyticsId}}');
|
20
23
|
|
21
|
-
|
22
|
-
|
24
|
+
(function(d, googleId){var f = d.getElementsByTagName('script')[0];var s = d.createElement('script');
|
25
|
+
s.src = 'https://www.googletagmanager.com/gtag/js?id=' + googleId;s.async = true;f.parentNode.insertBefore(s,f);
|
26
|
+
}(document,'{{analyticsId}}'));
|
27
|
+
};
|
28
|
+
</script>
|
29
|
+
|
23
30
|
{{else}}
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
31
|
+
<script>
|
32
|
+
function loadGUA() {
|
33
|
+
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
34
|
+
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
35
|
+
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
36
|
+
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
|
29
37
|
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
38
|
+
ga('create', '{{analyticsId}}', 'auto');
|
39
|
+
ga('require', 'ecommerce');
|
40
|
+
ga('send', 'pageview');
|
41
|
+
}
|
42
|
+
</script>
|
34
43
|
{{end}}
|
35
44
|
|
45
|
+
<script>
|
36
46
|
// Only load Google Tag Manager if a/ the frontend cookie consent isn't required or b/ they've agreed to the cookie consent
|
37
47
|
var googleTagManagerEnabled = {{ (len(tagManagerId) > 0) ? "true" : "false" }};
|
38
48
|
var googleAnalyticsEnabled = {{ (len(analyticsId) > 0) ? "true" : "false" }};
|
49
|
+
var googleAnalyticsTrackingCode = '{{analyticsId}}';
|
39
50
|
|
40
51
|
var cookieConsentRequired = {{ isEnabled("frontend_cookie_consent") }};
|
41
52
|
|
53
|
+
function loadGoogleScripts() {
|
54
|
+
if(googleTagManagerEnabled) {
|
55
|
+
loadGoogleTagManager();
|
56
|
+
}
|
57
|
+
if(googleAnalyticsEnabled) {
|
58
|
+
if(googleAnalyticsTrackingCode.startsWith("G")) {
|
59
|
+
loadGA4();
|
60
|
+
}
|
61
|
+
else {
|
62
|
+
loadGUA();
|
63
|
+
}
|
64
|
+
}
|
65
|
+
}
|
66
|
+
|
42
67
|
document.addEventListener('s72loaded', function(event) {
|
43
68
|
if(!cookieConsentRequired || event.detail.app.hasCookieConsent()) {
|
44
|
-
|
45
|
-
if(googleAnalyticsEnabled) { loadGoogleAnalytics(); }
|
69
|
+
loadGoogleScripts();
|
46
70
|
}
|
47
71
|
else {
|
48
72
|
// Listen for an 'accept' of the cookie consent, in which case load google tag manager
|
49
73
|
event.detail.app.messagebus.subscribe('cookie-consent-set', function(event) {
|
50
|
-
|
51
|
-
if(googleAnalyticsEnabled) { loadGoogleAnalytics(); }
|
74
|
+
loadGoogleScripts();
|
52
75
|
});
|
53
76
|
}
|
54
77
|
});
|
55
|
-
|
78
|
+
</script>
|
56
79
|
<!-- End Google integration scripts -->
|
57
80
|
{{end}}
|
58
81
|
|
@@ -31,9 +31,21 @@
|
|
31
31
|
<a class="s72-dropdown-item" href="{{ routeToPath("/subscriptions.html") }}">{{i18n("nav_subscriptions")}}</a>
|
32
32
|
</li>
|
33
33
|
{{ end }}
|
34
|
-
|
35
|
-
|
36
|
-
|
34
|
+
{{my_account_link := config("my_account_link")}}
|
35
|
+
{{if my_account_link != "hide"}}
|
36
|
+
{{href := my_account_link == "" ? routeToPath("/account.html") : my_account_link}}
|
37
|
+
<li>
|
38
|
+
<a
|
39
|
+
class="s72-dropdown-item"
|
40
|
+
href="{{href}}"
|
41
|
+
{{if my_account_link != ""}}
|
42
|
+
target="_blank"
|
43
|
+
{{end}}
|
44
|
+
>
|
45
|
+
{{i18n("nav_account")}}
|
46
|
+
</a>
|
47
|
+
</li>
|
48
|
+
{{end}}
|
37
49
|
<li>
|
38
50
|
<s72-sign-out class="s72-dropdown-item sign-out-desktop" >
|
39
51
|
<a href="#" class="btn-sign-out btn-sign-out-desktop">{{i18n("nav_signout")}}</a>
|