@companieshouse/ch-node-utils 1.3.4 → 1.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@companieshouse/ch-node-utils",
3
- "version": "1.3.4",
3
+ "version": "1.3.5",
4
4
  "author": "companieshouse",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -3,29 +3,51 @@ template to be reused in all the services to display the locales menu/banner.
3
3
  It receives:
4
4
  - languageEnabled: to keep all hidden if feature-flag is off
5
5
  - languages: array of pairs {.Name (i.e. 'English') .IsoCode (i.e. 'en') }
6
- - currentUrl: self-url. It's used to resend to the backend the same request wih the proper
6
+ - currentUrl: self-url. It's used to resend to the backend the same request with the proper
7
7
  query parameter ("lang=..") set
8
8
  (i.e. https://.....<self>....../?lang=cy)
9
9
  #}
10
10
 
11
- <div class="govuk-width-container ">
11
+ <div class="govuk-width-container">
12
12
  <div class="govuk-grid-column-full no-padd">
13
13
  <nav class="govuk-language-select" aria-label="Language switcher">
14
14
  <ul class="govuk-language-select__list">
15
- {% if languageEnabled %}
16
- {% for l in languages %}
17
- <li class="govuk-language-select__list-item">
18
- {% if lang and lang == l.IsoCode %}
19
- <span class="govuk-body-s govuk-!-margin-2">{{l.Name}}</span>
20
- {% else %}
21
- <a href="{{lang2url.addLangToUrl(currentUrl, l.IsoCode, true)}}" lang={{l.IsoCode}} rel="alternate" class="govuk-link govuk-!-margin-2" >
22
- <span>{{l.Name}}</span>
23
- </a>
24
- {% endif %}
25
- </li>
26
- {% endfor %}
27
- {% endif %}
15
+ {% if languageEnabled %}
16
+ {% for l in languages %}
17
+ <li class="govuk-language-select__list-item">
18
+ {% if lang and lang == l.IsoCode %}
19
+ <span class="govuk-body-s govuk-!-margin-2">{{ l.Name }}</span>
20
+ {% else %}
21
+ <a href="{{ lang2url.addLangToUrl(currentUrl, l.IsoCode, true) }}" lang="{{ l.IsoCode }}" rel="alternate" class="govuk-link govuk-!-margin-2 language-link">
22
+ <span>{{ l.Name }}</span>
23
+ </a>
24
+ {% endif %}
25
+ </li>
26
+ {% endfor %}
27
+ {% endif %}
28
28
  </ul>
29
29
  </nav>
30
30
  </div>
31
31
  </div>
32
+
33
+ <script>
34
+ document.addEventListener('DOMContentLoaded', function() {
35
+ const languageLinks = document.querySelectorAll('.language-link');
36
+
37
+ languageLinks.forEach(link => {
38
+ link.addEventListener('click', function(event) {
39
+ const language = this.getAttribute('lang');
40
+ trackLanguageChange(language);
41
+ });
42
+ });
43
+ });
44
+
45
+ function trackLanguageChange(language) {
46
+ const pageTitle = document.title;
47
+ if (typeof _paq !== 'undefined') {
48
+ _paq.push(['trackEvent', pageTitle, 'Language Change', language]);
49
+ } else {
50
+ console.log('Matomo not enabled, language change: ' + language);
51
+ }
52
+ }
53
+ </script>