diff --git a/app/javascript/mission_control/jobs/application.js b/app/javascript/mission_control/jobs/application.js index 50581ccf..7a7ee34b 100644 --- a/app/javascript/mission_control/jobs/application.js +++ b/app/javascript/mission_control/jobs/application.js @@ -2,3 +2,4 @@ import "@hotwired/turbo-rails" import "controllers" import "helpers" +import "helpers/theme_select"; diff --git a/app/javascript/mission_control/jobs/helpers/theme_select.js b/app/javascript/mission_control/jobs/helpers/theme_select.js new file mode 100644 index 00000000..76b7f957 --- /dev/null +++ b/app/javascript/mission_control/jobs/helpers/theme_select.js @@ -0,0 +1,14 @@ +document.addEventListener("turbo:load", function() { + const select = document.getElementById("theme-select"); + if (!select) return; + + const theme = document.documentElement.getAttribute("data-theme") || "system"; + select.value = theme; + select.style.visibility = "visible"; + + select.addEventListener("change", function() { + const theme = this.value; + document.documentElement.setAttribute("data-theme", theme); + localStorage.setItem("mission_control_theme", theme); + }); +}); diff --git a/app/views/layouts/mission_control/jobs/_theming.html.erb b/app/views/layouts/mission_control/jobs/_theming.html.erb new file mode 100644 index 00000000..79792e48 --- /dev/null +++ b/app/views/layouts/mission_control/jobs/_theming.html.erb @@ -0,0 +1,11 @@ +
+
+
+ +
+
+
diff --git a/app/views/layouts/mission_control/jobs/application.html.erb b/app/views/layouts/mission_control/jobs/application.html.erb index 8f2443ad..7efc60b7 100644 --- a/app/views/layouts/mission_control/jobs/application.html.erb +++ b/app/views/layouts/mission_control/jobs/application.html.erb @@ -1,6 +1,12 @@ + Mission control - <%= page_title %> <%= csrf_meta_tags %> <%= csp_meta_tag %> @@ -16,6 +22,9 @@
+ <%= render "layouts/mission_control/jobs/application_selection" %> <%= render "layouts/mission_control/jobs/flash" %> <%= render "layouts/mission_control/jobs/navigation" %>