import { useState } from 'react' import './TopNav.css' function TopNav({ user, isAuthenticated, onLogin, onRegister, onLogout, onToggleSidebar, sidebarOpen }) { const [showAuthModal, setShowAuthModal] = useState(false) const [authMode, setAuthMode] = useState('login') const [username, setUsername] = useState('') const [password, setPassword] = useState('') const [firstName, setFirstName] = useState('') const [lastName, setLastName] = useState('') const [email, setEmail] = useState('') const [loading, setLoading] = useState(false) const [error, setError] = useState('') const handleSubmit = async (e) => { e.preventDefault() setLoading(true) setError('') try { if (authMode === 'login') { await onLogin(username, password) } else { await onRegister({ username, password, first_name: firstName, last_name: lastName, email }) } setShowAuthModal(false) setUsername('') setPassword('') setFirstName('') setLastName('') setEmail('') } catch (err) { setError(err.message) } finally { setLoading(false) } } return ( <> {/* Auth Modal */} {showAuthModal && (
setShowAuthModal(false)}>
e.stopPropagation()}>

{authMode === 'login' ? 'Welcome Back' : 'Create Account'}

{error && (
{error}
)}
setUsername(e.target.value)} placeholder="Enter username" required autoComplete="username" />
setPassword(e.target.value)} placeholder="Enter password" required autoComplete={authMode === 'login' ? 'current-password' : 'new-password'} />
{authMode === 'register' && ( <>
setFirstName(e.target.value)} placeholder="First name" required />
setLastName(e.target.value)} placeholder="Last name" required />
setEmail(e.target.value)} placeholder="you@example.com" required />
)}
{authMode === 'login' ? ( <> Don't have an account?{' '} ) : ( <> Already have an account?{' '} )}
)} ) } export default TopNav