summaryrefslogtreecommitdiff
path: root/app/views/layouts/_nav_switchers.html.erb
blob: 9c3b222ed20a45cc5530131ff5189dfabe3d80ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<%= link_to url_for(locale: (:en unless I18n.locale == :en)),
      class: "nav_toggle",
      "aria-label" => t(".switch_locale"), title: t(".switch_locale") do %>
  <%= I18n.locale == :en ? "DE" : "EN" %>
<% end %>
<%= check_box_tag "scheme_override", 1, false, class: "nav_toggle_input" %>
<%= label_tag "scheme_override", class: "nav_toggle",
      "aria-label" => t(".scheme_override"), title: t(".scheme_override") do %>
  <%= icon("contrast", library: "tabler", "aria-hidden": true) %>
<% end %>

<%= javascript_tag nonce: true do %>
  (function () {
    var box = document.getElementById("scheme_override");
    try {
      if (localStorage.getItem("override-prefers-color-scheme")) box.checked = true;
      box.addEventListener("change", function () {
        if (box.checked) localStorage.setItem("override-prefers-color-scheme", 1);
        else localStorage.removeItem("override-prefers-color-scheme");
      });
    } catch (e) { /* storage unavailable: the toggle still works per page */ }
  })();
<% end %>