From 1329075c61378a99a5e37e28c3310c7cc20caee8 Mon Sep 17 00:00:00 2001
From: Aditya Telange <21258296+adityatelange@users.noreply.github.com>
Date: Mon, 27 Jul 2020 12:04:36 +0530
Subject: [PATCH] add scroll to top button

---
 assets/css/footer.css        | 20 ++++++++++++++++++++
 layouts/_default/baseof.html |  2 +-
 layouts/partials/footer.html | 17 +++++++++++++++++
 3 files changed, 38 insertions(+), 1 deletion(-)

diff --git a/assets/css/footer.css b/assets/css/footer.css
index d440da0..a3700c7 100644
--- a/assets/css/footer.css
+++ b/assets/css/footer.css
@@ -23,4 +23,24 @@
 .footer a:hover {
     color: var(--primary);
     border-bottom: 1px solid var(--primary);
+}
+
+.top-link {
+    font-size: 12px;
+    visibility: hidden;
+    opacity: 0;
+    position: fixed;
+    bottom: 60px;
+    right: 30px;
+    z-index: 99;
+    background: var(--tertiary);
+    width: 42px;
+    height: 42px;
+    padding: 12px;
+    color: var(--primary);
+    border-radius: 64px;
+    fill: currentColor;
+    fill-opacity: 80%;
+    transition: visibility 0.5s,
+        opacity 0.8s linear;
 }
\ No newline at end of file
diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html
index 710cb92..1d4ccc6 100644
--- a/layouts/_default/baseof.html
+++ b/layouts/_default/baseof.html
@@ -8,7 +8,7 @@
 <body
     class="{{ if (and (eq .Kind `page` ) (ne .Layout `archives`)) }}single{{ else }}list{{ if .IsHome }} home {{ end }}{{ end }}{{ if eq $.Site.Params.defaultTheme `dark` }} dark {{ end }}">
     {{- partial "header.html" . }}
-    <main class=" main">
+    <main class="main" id="top">
         {{- block "main" . }}
         {{end }}
     </main>
diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html
index efab5bb..85e7273 100644
--- a/layouts/partials/footer.html
+++ b/layouts/partials/footer.html
@@ -6,6 +6,13 @@
     <span>Theme️ <a href="https://github.com/adityatelange/hugo-PaperMod" rel="noopener"
             target="_blank">PaperMod</a></span>
 </footer>
+<a href="#top">
+    <button class="top-link" id="top-link" type="button">
+        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6">
+            <path d="M12 6H0l6-6z" /></svg>
+    </button>
+</a>
+
 {{ $highlight := resources.Get "js/highlight.min.js" | minify | fingerprint}}
 <script src="{{ $highlight.Permalink }}" integrity="{{ $highlight.Data.Integrity }}"></script>
 <script>
@@ -19,4 +26,14 @@
             });
         });
     });
+    var mybutton = document.getElementById("top-link");
+    window.onscroll = function () {
+        if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
+            mybutton.style.visibility = "visible";
+            mybutton.style.opacity = "1";
+        } else {
+            mybutton.style.visibility = "hidden";
+            mybutton.style.opacity = "0";
+        }
+    };
 </script>
\ No newline at end of file