about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMichael Goulet <michael@errs.io>2022-05-05 19:34:24 -0700
committerGitHub <noreply@github.com>2022-05-05 19:34:24 -0700
commit292eefe753a007af30329b6dbb3f1cbc840e4bf2 (patch)
tree0c3fb18ba1efa769db34078dbc7481e7399928e8
parentef949daf036b77795ee03c4ec470713ddd18ff07 (diff)
parent13b45aa6c66c8075acc95ea94d8c5cbc24a3a203 (diff)
downloadrust-292eefe753a007af30329b6dbb3f1cbc840e4bf2.tar.gz
rust-292eefe753a007af30329b6dbb3f1cbc840e4bf2.zip
Rollup merge of #96704 - GuillaumeGomez:rotation-animation, r=jsha
Add rotation animation on settings button when loading

As discussed, I added an animation when the settings JS file is loading (I voluntarily made the timeout at the end of the `settings.js` super long so we can see what the animation looks like):

https://user-images.githubusercontent.com/3050060/166693243-816a08b7-5e39-4142-acd3-686ad9950d8e.mp4

r? ````@jsha````
-rw-r--r--src/librustdoc/html/static/css/rustdoc.css12
-rw-r--r--src/librustdoc/html/static/js/main.js1
-rw-r--r--src/librustdoc/html/static/js/settings.js1
3 files changed, 14 insertions, 0 deletions
diff --git a/src/librustdoc/html/static/css/rustdoc.css b/src/librustdoc/html/static/css/rustdoc.css
index 81c12be8e83..12059e0b9c4 100644
--- a/src/librustdoc/html/static/css/rustdoc.css
+++ b/src/librustdoc/html/static/css/rustdoc.css
@@ -1401,6 +1401,18 @@ pre.rust {
 	cursor: pointer;
 }
 
+@keyframes rotating {
+	from {
+		transform: rotate(0deg);
+	}
+	to {
+		transform: rotate(360deg);
+	}
+}
+#settings-menu.rotate img {
+	animation: rotating 2s linear infinite;
+}
+
 #help-button {
 	font-family: "Fira Sans", Arial, sans-serif;
 	text-align: center;
diff --git a/src/librustdoc/html/static/js/main.js b/src/librustdoc/html/static/js/main.js
index 667f89c07e2..e8edd5f2d23 100644
--- a/src/librustdoc/html/static/js/main.js
+++ b/src/librustdoc/html/static/js/main.js
@@ -301,6 +301,7 @@ function loadCss(cssFileName) {
     }
 
     getSettingsButton().onclick = event => {
+        addClass(getSettingsButton(), "rotate");
         event.preventDefault();
         loadScript(window.settingsJS);
     };
diff --git a/src/librustdoc/html/static/js/settings.js b/src/librustdoc/html/static/js/settings.js
index 119d4b07665..d1526270f30 100644
--- a/src/librustdoc/html/static/js/settings.js
+++ b/src/librustdoc/html/static/js/settings.js
@@ -274,5 +274,6 @@
         if (!isSettingsPage) {
             switchDisplayedElement(settingsMenu);
         }
+        removeClass(getSettingsButton(), "rotate");
     }, 0);
 })();