summaryrefslogtreecommitdiff
path: root/app/views/layouts/_nav_switchers.html.erb
diff options
context:
space:
mode:
authorerdgeist <erdgeist@erdgeist.org>2026-07-27 00:05:33 +0200
committererdgeist <erdgeist@erdgeist.org>2026-07-27 00:05:33 +0200
commitced4c12b399c526dd5dd0eb0d5d086244515cd85 (patch)
tree39bb89e5f1fe325c92c2710553561c3af1ea9e3b /app/views/layouts/_nav_switchers.html.erb
parent20ad9e9d60c6309c0208b3f37924b4712210fa7d (diff)
Move switchers out of the user check, so it also works when logged out
Diffstat (limited to 'app/views/layouts/_nav_switchers.html.erb')
-rw-r--r--app/views/layouts/_nav_switchers.html.erb23
1 files changed, 23 insertions, 0 deletions
diff --git a/app/views/layouts/_nav_switchers.html.erb b/app/views/layouts/_nav_switchers.html.erb
new file mode 100644
index 00000000..9c3b222e
--- /dev/null
+++ b/app/views/layouts/_nav_switchers.html.erb
@@ -0,0 +1,23 @@
1<%= link_to url_for(locale: (:en unless I18n.locale == :en)),
2 class: "nav_toggle",
3 "aria-label" => t(".switch_locale"), title: t(".switch_locale") do %>
4 <%= I18n.locale == :en ? "DE" : "EN" %>
5<% end %>
6<%= check_box_tag "scheme_override", 1, false, class: "nav_toggle_input" %>
7<%= label_tag "scheme_override", class: "nav_toggle",
8 "aria-label" => t(".scheme_override"), title: t(".scheme_override") do %>
9 <%= icon("contrast", library: "tabler", "aria-hidden": true) %>
10<% end %>
11
12<%= javascript_tag nonce: true do %>
13 (function () {
14 var box = document.getElementById("scheme_override");
15 try {
16 if (localStorage.getItem("override-prefers-color-scheme")) box.checked = true;
17 box.addEventListener("change", function () {
18 if (box.checked) localStorage.setItem("override-prefers-color-scheme", 1);
19 else localStorage.removeItem("override-prefers-color-scheme");
20 });
21 } catch (e) { /* storage unavailable: the toggle still works per page */ }
22 })();
23<% end %>