diff --git a/packages/web/package.json b/packages/web/package.json
index bf811ec..9c27744 100644
--- a/packages/web/package.json
+++ b/packages/web/package.json
@@ -27,6 +27,7 @@
"react-hotkeys": "^2.0.0",
"react-icons": "^4.3.1",
"react-moment": "^1.1.1",
+ "react-transition-group": "^4.4.2",
"recoil": "^0.6.1",
"uuid": "^8.3.2"
},
diff --git a/packages/web/pages/s/index.tsx b/packages/web/pages/s/index.tsx
index 02da226..fd77b1d 100644
--- a/packages/web/pages/s/index.tsx
+++ b/packages/web/pages/s/index.tsx
@@ -9,6 +9,7 @@ import Header from "../../components/v2/Header";
import Later from "../../components/v2/Later";
import Sidebar from "../../components/v2/Sidebar";
import { currPagePath } from "../../recoil/main";
+import { CSSTransition, TransitionGroup } from "react-transition-group";
export default function Me() {
// figure out what content to render from here
@@ -50,9 +51,18 @@ export default function Me() {
-
- {getCurrentContent()}
-
+
+
+
+ {getCurrentContent()}
+
+
+
);
diff --git a/packages/web/styles/globals.css b/packages/web/styles/globals.css
index 234d96a..377ac38 100644
--- a/packages/web/styles/globals.css
+++ b/packages/web/styles/globals.css
@@ -183,3 +183,31 @@ li.slick-active button {
transform: translateY(-385%);
}
}
+
+/* CSS transition for react */
+/* slide enter */
+.slide-enter {
+ opacity: 0;
+ transform: scale(0.95) translateY(5px);
+ z-index: 1;
+}
+.slide-enter.slide-enter-active {
+ opacity: 1;
+ transform: scale(1) translateY(0);
+ transition: opacity 500ms linear 500ms, transform 500ms ease-in-out 500ms;
+ transition-delay: 500ms;
+}
+
+/* slide exit */
+.slide-exit {
+ opacity: 1;
+ transform: scale(1) translateY(0);
+}
+.slide-exit.slide-exit-active {
+ opacity: 0;
+ transform: scale(0.97) translateY(5px);
+ transition: opacity 200ms linear, transform 200ms ease-out;
+}
+.slide-exit-done {
+ opacity: 0;
+}
diff --git a/yarn.lock b/yarn.lock
index 5bc1e16..127754e 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -91,7 +91,7 @@
dependencies:
regenerator-runtime "^0.13.4"
-"@babel/runtime@^7.10.1", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.3", "@babel/runtime@^7.8.4":
+"@babel/runtime@^7.10.1", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.3", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7":
version "7.16.7"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.7.tgz#03ff99f64106588c9c403c6ecb8c3bafbbdff1fa"
integrity sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==
@@ -2219,6 +2219,14 @@ dom-align@^1.7.0:
resolved "https://registry.yarnpkg.com/dom-align/-/dom-align-1.12.2.tgz#0f8164ebd0c9c21b0c790310493cd855892acd4b"
integrity sha512-pHuazgqrsTFrGU2WLDdXxCFabkdQDx72ddkraZNih1KsMcN5qsRSTR9O4VJRlwTPCPb5COYg3LOfiMHHcPInHg==
+dom-helpers@^5.0.1:
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902"
+ integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==
+ dependencies:
+ "@babel/runtime" "^7.8.7"
+ csstype "^3.0.2"
+
domain-browser@4.19.0:
version "4.19.0"
resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-4.19.0.tgz#1093e17c0a17dbd521182fe90d49ac1370054af1"
@@ -4600,7 +4608,7 @@ promise-polyfill@8.1.3:
resolved "https://registry.yarnpkg.com/promise-polyfill/-/promise-polyfill-8.1.3.tgz#8c99b3cf53f3a91c68226ffde7bde81d7f904116"
integrity sha512-MG5r82wBzh7pSKDRa9y+vllNHz3e3d4CNj1PQE4BQYxLme0gKYYBm9YENq+UkEikyZ0XbiGWxYlVw3Rl9O/U8g==
-prop-types@^15.6.1, prop-types@^15.7.2:
+prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2:
version "15.8.1"
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
@@ -5166,6 +5174,16 @@ react-refresh@0.8.3:
resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.8.3.tgz#721d4657672d400c5e3c75d063c4a85fb2d5d68f"
integrity sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg==
+react-transition-group@^4.4.2:
+ version "4.4.2"
+ resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.2.tgz#8b59a56f09ced7b55cbd53c36768b922890d5470"
+ integrity sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg==
+ dependencies:
+ "@babel/runtime" "^7.5.5"
+ dom-helpers "^5.0.1"
+ loose-envify "^1.4.0"
+ prop-types "^15.6.2"
+
react@17.0.2:
version "17.0.2"
resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037"