Newer
Older
import Input from "./Input";
import Button from "./Button";
import { useNavigate, useParams } from "react-router-dom";
const [name, setName] = useState("");
const [password, setPassword] = useState("");
const [email, setEmail] = useState("");
try{
const response = await axios.get(`http://43.200.79.42:3000/meetings/${id}/participants/?name=${name}`);
return false;
}
catch(err){
return true;
const newHandleSubmit = async (event) => {
event.preventDefault();
if (name === "") {
alert('이름을 입력하세요')
}
else {
let checkParticipant = await checkParticipantExistence();
if(checkParticipant){
try {
const response = await axios.post(`http://43.200.79.42:3000/meetings/${id}/participants`, {
name: name,
password: password,
email: email
});
navigate('UserTimeInfo', { state: { id } });
}
catch (error) {
console.error(error);
}
if (name === "") {
alert('이름을 입력하세요')
}
else {
try {
const response = await axios.post(`http://43.200.79.42:3000/meetings/${id}/entry`,{
name : name,
password : password
});
}
catch (error) {
if (error.response) {
if (error.response.status === 401) {
alert('해당하는 이름이 존재하지 않습니다');
}
else if(error.response.status === 400){
alert("비밀번호를 설정하셨습니다. 비밀번호를 입력해주세요")
}
else {
alert(`Unexpected status code: ${error.response.status}`);
}
} else {
console.error(error);
}
}
}
<h1>투표에 참여하기</h1>
{console.log({id})}
<Input
type="text"
value={name}
onChange={handleName}
placeholder="이름"
<Input
type="password"
value={password}
onChange={handlePassword}
<Input
type="text"
value={email}
onChange={handleEmail}
placeholder="이메일(선택)"
/>
<Button
type='submit'
text='신규참여'
onClick={newHandleSubmit}
/>
</div>
</form>
);
}
export default HomeParticipateForm;