import { useRef, useEffect, useState } from 'react'; import { LoadingButton } from '@material-ui/lab'; import Notification from '../../component/notification'; import Alert from '../../component/alert'; import PageLoader from '../../component/page_loader'; import { useNavigate } from 'react-router-dom'; const ParentProfileEdit = () => { const history = useNavigate(); const father_id = localStorage.getItem('kiki_acc_id'); const [notice, setNotice] = useState(localStorage.getItem('notice')); const [company, setCompany] = useState(''); const [email, setEmail] = useState(''); const [tel, setTel] = useState(''); const [profile, setProfile] = useState(''); const [params, setParams] = useState(null); const [_success, setSuccess] = useState(''); const [_400error, set400Error] = useState(''); const [_404error, set404Error] = useState(''); const [_422errors, set422Errors] = useState({ company: '', email:'', tel:'', profile:'' }) const [loaded, setLoaded] = useState(false); const [submit, setSubmit] = useState(false); const isMountedRef = useRef(true); useEffect( async () => { isMountedRef.current = false; setLoaded(false); await axios.get(`/api/fathers/detail/${father_id}`) .then(response => { setLoaded(true); setNotice(response.data.notice); if(response.data.status_code==200) { setParams(response.data.params); setCompany(response.data.params?.company); setEmail(response.data.params?.email); setTel(response.data.params?.tel); setProfile(response.data.params.profile ? response.data.params.profile: ''); } else { set400Error("失敗しました。"); } }) .catch(err=>{ setLoaded(true); setNotice(err.response.data.notice); if(err.response.status==404){ set404Error(err.response.data.message); } }) }, []); const handleSubmit = async (e) => { e.preventDefault(); set422Errors({ company:'', email: '', tel: '', profile:'' }); const request = { company: company, email: email, tel: tel, profile: profile } setSubmit(true); await axios.put(`/api/fathers/updateProfile/${father_id}`, request) .then(response => { setNotice(response.data.notice); setSubmit(false); switch(response.data.status_code){ case 200:{ history.push({ pathname: '/p-account/profile', state: response.data.success_messages }); break; } case 400: set400Error(response.data.error_messages); break; case 422: window.scrollTo(0, 0); set422Errors(response.data.error_messages); break; } }); } return (

プロフィール編集

{ !loaded && } { loaded && params &&
setCompany(e.target.value)} className={`input-default input-nameSei input-h60 input-w480 ${ _422errors.company && "is-invalid c-input__target" }`} id="company" /> { _422errors.company && { _422errors.company } }
setEmail(e.target.value)} className={`input-default input-mail input-h60 input-w480 ${ _422errors.email && "is-invalid c-input__target" } `} id="mail" /> { _422errors.email && { _422errors.email } }
setTel(e.target.value)} className={`input-default input-tel input-h60 input-w480 ${ _422errors.tel && "is-invalid c-input__target" } `} id="tel" /> { _422errors.tel && { _422errors.tel } }