Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/gurusabarish/hugo-profile.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'layouts/partials/scripts.html')
-rw-r--r--layouts/partials/scripts.html64
1 files changed, 64 insertions, 0 deletions
diff --git a/layouts/partials/scripts.html b/layouts/partials/scripts.html
new file mode 100644
index 0000000..336bc35
--- /dev/null
+++ b/layouts/partials/scripts.html
@@ -0,0 +1,64 @@
+{{- if (eq .Site.Params.theme.defaultTheme "light") }}
+<script>
+ if (document.body.className.includes("dark")) {
+ document.body.classList.remove('dark');
+ localStorage.setItem("pref-theme", 'light');
+ }
+</script>
+
+{{ else if (eq .Site.Params.theme.defaultTheme "dark") }}
+{{- /* theme is dark */}}
+<script>
+ if (document.body.className.includes("light")) {
+ document.body.classList.add('dark');
+ localStorage.setItem("pref-theme", 'dark');
+ }
+</script>
+
+{{- else }}
+{{- /* theme is auto */}}
+<script>
+ if (localStorage.getItem("pref-theme") === "dark") {
+ document.body.classList.add('dark');
+ } else if (localStorage.getItem("pref-theme") === "light") {
+ document.body.classList.remove('dark')
+ } else if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
+ document.body.classList.add('dark');
+ }
+
+</script>
+{{- end }}
+
+{{- if (not .Site.Params.theme.disableThemeToggle) }}
+<script>
+ document.getElementById("theme-toggle").addEventListener("click", () => {
+ if (document.body.className.includes("dark")) {
+ document.body.classList.remove('dark');
+ localStorage.setItem("pref-theme", 'light');
+ } else {
+ document.body.classList.add('dark');
+ localStorage.setItem("pref-theme", 'dark');
+ }
+ })
+
+ var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
+ var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
+ return new bootstrap.Tooltip(tooltipTriggerEl)
+ })
+
+</script>
+{{- end }}
+
+<script>
+ let loadingIcons;
+
+ function loading() {
+ myVar = setTimeout(showPage, 100);
+ }
+
+ function showPage() {
+ try{
+ document.getElementById("loading-icons").style.display = "block";
+ } catch(err) {}
+ }
+</script> \ No newline at end of file