From 8080c415e466ce29d0f7c29284c3a8537c6b237d Mon Sep 17 00:00:00 2001
From: Rafi Zadanly <zadanlyr@gmail.com>
Date: Mon, 22 May 2023 15:51:50 +0700
Subject: add animate on load for smooth render

---
 src/components/ui/AnimateOnLoad.jsx | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 src/components/ui/AnimateOnLoad.jsx

(limited to 'src/components/ui/AnimateOnLoad.jsx')

diff --git a/src/components/ui/AnimateOnLoad.jsx b/src/components/ui/AnimateOnLoad.jsx
new file mode 100644
index 00000000..fb9919e1
--- /dev/null
+++ b/src/components/ui/AnimateOnLoad.jsx
@@ -0,0 +1,25 @@
+import classNames from 'classnames'
+import { motion } from 'framer-motion'
+
+/**
+ * Animate On Load
+ * @param {object} props
+ * @param {string} props.className - Container class
+ */
+const AnimateOnLoad = (props) => {
+  const { className: propsClassName, children } = props
+
+  const combinedClassName = classNames(propsClassName)
+
+  return (
+    <motion.div
+      initial={{ opacity: 0 }}
+      animate={{ opacity: 1, transition: { duration: 0.3 } }}
+      className={combinedClassName}
+    >
+      {children}
+    </motion.div>
+  )
+}
+
+export default AnimateOnLoad
-- 
cgit v1.2.3

