import { useState } from 'react' import { useNavigate } from 'react-router-dom' import { useAuth } from '../hooks/useAuth' import { GameButton } from './common/GameButton' import './CharacterCreation.css' function CharacterCreation() { const { createCharacter } = useAuth() const [name, setName] = useState('') const [stats, setStats] = useState({ strength: 10, agility: 10, endurance: 10, intellect: 10 }) const [loading, setLoading] = useState(false) const [error, setError] = useState('') const navigate = useNavigate() const totalPoints = 40 const pointsUsed = stats.strength + stats.agility + stats.endurance + stats.intellect const pointsRemaining = totalPoints - pointsUsed const handleStatChange = (stat: keyof typeof stats, delta: number) => { const newValue = stats[stat] + delta if (newValue < 5 || newValue > 20) return if (delta > 0 && pointsRemaining <= 0) return setStats({ ...stats, [stat]: newValue }) } const handleSubmit = async (e: React.FormEvent) => { e.preventDefault() if (pointsRemaining !== 0) { setError('You must use all attribute points') return } setLoading(true) setError('') try { await createCharacter({ ...stats, name }) navigate('/game') } catch (err: any) { setError(err.response?.data?.detail || 'Failed to create character') } finally { setLoading(false) } } return (
Forge your survivor for the wasteland