diff --git a/client/src/pages/public/Login.jsx b/client/src/pages/public/Login.jsx index 146afb0..3fa281d 100644 --- a/client/src/pages/public/Login.jsx +++ b/client/src/pages/public/Login.jsx @@ -6,6 +6,8 @@ import { motion as Motion } from "framer-motion"; import { toast } from "react-toastify"; import { Loader2, Eye, EyeOff, ArrowLeft } from "lucide-react"; import SDEverse from "../../assets/sdeverse.png"; +import { MdDarkMode } from "react-icons/md"; +import { MdLightMode } from "react-icons/md"; const Login = () => { const dispatch = useDispatch(); @@ -14,6 +16,11 @@ const Login = () => { const [formData, setFormData] = useState({ email: "", password: "" }); const [showPassword, setShowPassword] = useState(false); + const [toggleMode, setToggleMode] = useState(()=>{ + const savedTheme = localStorage.getItem('login-theme') + + return savedTheme === 'dark' + }) const handleChange = (e) => setFormData({ ...formData, [e.target.name]: e.target.value }); @@ -22,13 +29,22 @@ const Login = () => { e.preventDefault(); dispatch(loginUser(formData)); }; - + const handleModeChange = () => { + setToggleMode(!toggleMode) + } useEffect(() => { if (user) { toast.success("Login successful!"); navigate("/"); } }, [user, navigate]); + useEffect(() => { + if (toggleMode) { + localStorage.setItem('login-theme' ,'dark') + } else { + localStorage.setItem('login-theme' ,'light') + } + }, [toggleMode]); useEffect(() => { if (error) { @@ -41,9 +57,12 @@ const Login = () => { initial={{ opacity: 0 }} animate={{ opacity: 1 }} transition={{ duration: 0.5 }} - className="min-h-screen flex items-center justify-center bg-gradient-to-br from-indigo-50 via-purple-50 to-pink-50 p-4" + className={`min-h-screen flex items-center justify-center bg-gradient-to-br from-indigo-50 via-purple-50 to-pink-50 p-4 ${toggleMode ? 'dark' : ''} dark:from-[#030712] dark:via-[#030712] dark:to-[#030712] ` } > -
Sign in to continue your journey
+Sign in to continue your journey