From 4a16d560d90a04a3817174ddc9d3f31e3a3baa05 Mon Sep 17 00:00:00 2001 From: hamid zarghami Date: Sat, 3 May 2025 16:27:42 +0330 Subject: [PATCH] splash --- public/images/logo-small.svg | 13 +++++++++++ public/images/logo_left.png | Bin 0 -> 1692 bytes public/images/logo_right.png | Bin 0 -> 1060 bytes src/app/globals.css | 26 ++++++++++++++++++++++ src/app/layout.tsx | 3 ++- src/components/LogoAnimation.tsx | 37 +++++++++++++++++++++++++++++++ src/components/Splash.tsx | 36 ++++++++++++++++++++++++++++++ 7 files changed, 114 insertions(+), 1 deletion(-) create mode 100644 public/images/logo-small.svg create mode 100644 public/images/logo_left.png create mode 100644 public/images/logo_right.png create mode 100644 src/components/LogoAnimation.tsx create mode 100644 src/components/Splash.tsx diff --git a/public/images/logo-small.svg b/public/images/logo-small.svg new file mode 100644 index 0000000..af5e4f3 --- /dev/null +++ b/public/images/logo-small.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/public/images/logo_left.png b/public/images/logo_left.png new file mode 100644 index 0000000000000000000000000000000000000000..a8959bf1f3f121ef40ef22973e23f05b1de41e2a GIT binary patch literal 1692 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 eMndm-)X6{X0wePV4v%aA0000 {/* */} - + {/* */} diff --git a/src/components/LogoAnimation.tsx b/src/components/LogoAnimation.tsx new file mode 100644 index 0000000..06e6636 --- /dev/null +++ b/src/components/LogoAnimation.tsx @@ -0,0 +1,37 @@ +import React, { useEffect, useState } from 'react'; +import Image from 'next/image'; + +const LogoAnimation: React.FC = () => { + const [mounted, setMounted] = useState(false); + + useEffect(() => { + setMounted(true); + }, []); + + if (!mounted) return null; + + return ( +
+
+ Logo Left Part +
+
+ Logo Right Part +
+
+ ); +}; + +export default LogoAnimation; \ No newline at end of file diff --git a/src/components/Splash.tsx b/src/components/Splash.tsx new file mode 100644 index 0000000..6f7d832 --- /dev/null +++ b/src/components/Splash.tsx @@ -0,0 +1,36 @@ +'use client'; +import { useEffect, useState } from 'react'; +import LogoAnimation from './LogoAnimation'; + +const Splash = () => { + const [fadeOut, setFadeOut] = useState(false); + const [mounted, setMounted] = useState(false); + + useEffect(() => { + setMounted(true); + const timer = setTimeout(() => { + setFadeOut(true); + }, 2000); + return () => clearTimeout(timer); + }, []); + + useEffect(() => { + if (fadeOut) { + document.body.style.overflow = 'auto'; + } else { + document.body.style.overflow = 'hidden'; + } + }, [fadeOut]); + + if (!mounted) return null; + + return ( +
+
+ +
+
+ ); +}; + +export default Splash; \ No newline at end of file