import { Box, Button, Container, Paper, TextField, Typography, FormControlLabel, Checkbox } from '@mui/material' import { useState } from 'react' import api from '../lib/api' import { useNavigate } from 'react-router-dom' export default function RegisterCharacter() { const [name, setName] = useState('') const [server, setServer] = useState('') const [job, setJob] = useState('') const [power, setPower] = useState('') const [isPublic, setIsPublic] = useState(false) const navigate = useNavigate() const handleSubmit = async () => { if (!name) { alert('캐릭터명을 입력해주세요.') return } try { await api.post('/characters', { name, server: server || undefined, job: job || undefined, combat_power: power ? parseInt(power, 10) : undefined, is_public: isPublic, }) alert('캐릭터가 성공적으로 등록되었습니다.') navigate('/characters') } catch (err: any) { console.error(err) alert('캐릭터 등록 중 오류가 발생했습니다.') } } return ( 캐릭터 등록 setName(e.target.value)} fullWidth required /> setServer(e.target.value)} fullWidth /> setJob(e.target.value)} fullWidth /> setPower(e.target.value)} fullWidth /> setIsPublic(e.target.checked)} />} label="친구에게 노출" /> ) }