import React, { useState, useEffect } from 'react'; import { Eye, EyeOff, LogIn } from 'lucide-react'; const AnimatedSignIn: React.FC = () => { const [theme, setTheme] = useState<'light' | 'dark'>('light'); const [showPassword, setShowPassword] = useState(false); const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const [isLoading, setIsLoading] = useState(false); const [mounted, setMounted] = useState(false); // Animation states const [formVisible, setFormVisible] = useState(false); useEffect(() => { setMounted(true); setTimeout(() => setFormVisible(true), 300); }, []); const toggleTheme = () => { setTheme(theme === 'light' ? 'dark' : 'light'); }; const handleSignIn = (e: React.FormEvent) => { e.preventDefault(); setIsLoading(true); // Simulate API call setTimeout(() => { console.log('Sign in attempt with:', { email, password }); setIsLoading(false); }, 1500); }; // Only show the component once mounted to avoid hydration issues if (!mounted) return null; return (
{/* Theme toggle */}
{/* Left side - Statistics and Images Collage */}
{/* Top left - Person working */}
Person working
{/* Top right - Orange stat */}

41%

of recruiters say entry-level positions are the hardest to fill.

{/* Middle left - Person at computer */}
Person at computer
{/* Middle right - Office space */}
Office space
{/* Bottom left - Green stat */}

76%

of hiring managers admit attracting the right job candidates is their greatest challenge.

{/* Bottom right - Library */}
Desk setup
{/* Right side - Sign in form */}

Don't have an account? Sign up

Sign in to Jobsly

Welcome to Jobsly, please enter your login details below to using the app.

setEmail(e.target.value)} className={`block w-full rounded-md border py-3 px-4 focus:outline-none focus:ring-2 sm:text-sm ${ theme === 'dark' ? 'bg-slate-700 border-slate-600 text-white placeholder:text-gray-400 focus:ring-teal-500' : 'bg-white border-gray-300 text-gray-900 placeholder:text-gray-400 focus:ring-teal-500' }`} placeholder="your.email@example.com" required />
setPassword(e.target.value)} className={`block w-full rounded-md border py-3 px-4 pr-10 focus:outline-none focus:ring-2 sm:text-sm ${ theme === 'dark' ? 'bg-slate-700 border-slate-600 text-white placeholder:text-gray-400 focus:ring-teal-500' : 'bg-white border-gray-300 text-gray-900 placeholder:text-gray-400 focus:ring-teal-500' }`} placeholder="••••••••" required />
OR
); }; export { AnimatedSignIn };