import { useState } from 'react' import { useNavigate } from 'react-router-dom' import { api, setToken } from '../api' export default function Login() { const [mode, setMode] = useState('login') const [username, setUsername] = useState('') const [password, setPassword] = useState('') const [displayName, setDisplayName] = useState('') const [error, setError] = useState('') const [loading, setLoading] = useState(false) const navigate = useNavigate() async function handleSubmit(e) { e.preventDefault() setError('') setLoading(true) try { const data = mode === 'login' ? await api.login(username, password) : await api.register(username, password, displayName || username) setToken(data.access_token) const status = await api.onboardingStatus() navigate(status.phase1_completed ? '/' : '/onboarding') } catch (err) { setError(err.message) } finally { setLoading(false) } } return (
{/* Brand */}
🔥

Fitness Rewards

Earn your rewards. Every single day.

{/* Form card */}
{/* Toggle */}
{['login', 'register'].map(m => ( ))}
{error &&
{error}
}
setUsername(e.target.value)} required autoComplete="username" />
setPassword(e.target.value)} required autoComplete="current-password" />
{mode === 'register' && (
setDisplayName(e.target.value)} placeholder="What should we call you?" />
)}
) }