Browse Source

CLDC-1618 Add cookie banner

pull/973/head
Sam Collard 4 years ago
parent
commit
27ab04df70
  1. 48
      app/views/cookies/_banner.html.erb
  2. 8
      app/views/layouts/application.html.erb

48
app/views/cookies/_banner.html.erb

@ -0,0 +1,48 @@
<div class="govuk-cookie-banner js-cookie-banner" role="region" aria-label="Cookies on CORE">
<div class="govuk-cookie-banner__message govuk-width-container js-cookie-banner__form">
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<h2 class="govuk-cookie-banner__heading govuk-heading-m">Cookies on CORE</h2>
<div class="govuk-cookie-banner__content">
<p class="govuk-body">We use some essential cookies to make this service work.</p>
<p class="govuk-body">We’d like to use analytics cookies so we can understand how you use the service and make improvements.</p>
</div>
</div>
</div>
<%= form_with url: cookies_path, class: "js-cookie-form", method: :put do |f| %>
<div class="govuk-button-group">
<button type="submit" class="govuk-button" name="cookies_form[analytics_consent]" value="on">
Accept analytics cookies
</button>
<button type="submit" class="govuk-button" name="cookies_form[analytics_consent]" value="off">
Reject analytics cookies
</button>
<%= govuk_link_to "View cookies", cookies_path %>
</div>
<% end %>
</div>
<div class="govuk-cookie-banner__message govuk-width-container js-cookie-banner__success" role="alert" hidden>
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<div class="govuk-cookie-banner__content">
<p class="govuk-body">
<span class="js-cookie-message">
You’ve set your cookie preferences.
</span>
You can <%= govuk_link_to "change your cookie settings", cookies_path %> at any time.
</p>
</div>
</div>
</div>
<div class="govuk-button-group">
<button class="govuk-button js-hide-cookie-banner">
Hide this message
</button>
</div>
</div>
</div>

8
app/views/layouts/application.html.erb

@ -25,6 +25,7 @@
<% gtm_container = get_gtm_container %>
<% gtm_id = get_gtm_id %>
<% if cookies[:accept_analytics_cookies] == "on" %>
<!-- Google Tag Manager (doesn't store personal info until permission given) -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
@ -33,7 +34,6 @@
})(window,document,'script','dataLayer','<%= gtm_container %>');</script>
<!-- End Google Tag Manager -->
<% if cookies[:accept_analytics_cookies] == "on" %>
<script async src="https://www.googletagmanager.com/gtag/js?id=<%= gtm_id %>"></script>
<% else %>
<script>
@ -72,13 +72,17 @@
document.body.className = ((document.body.className) ? document.body.className + " js-enabled" : "js-enabled");
</script>
<% if cookies[:accept_analytics_cookies] == "on" %>
<!-- Google Tag Manager (noscript) -->
<% if cookies[:accept_analytics_cookies] %>
<noscript>
<iframe src="https://www.googletagmanager.com/ns.html?id=<% gtm_container %>" height="0" width="0" style="display:none;visibility:hidden"></iframe>
</noscript>
<% end %>
<% unless cookies[:accept_analytics_cookies] || current_page?(cookies_path) %>
<%= render "cookies/banner" %>
<% end %>
<%= govuk_skip_link %>
<%= govuk_header(

Loading…
Cancel
Save