import React, { useRef, useEffect, useState } from 'react'; import { Link } from 'react-router-dom'; import Dialog from '@mui/material/Dialog'; import DialogContent from '@mui/material/DialogContent'; import DialogTitle from '@mui/material/DialogTitle'; import Slide from '@mui/material/Slide'; import { CircularProgress } from '@material-ui/core'; import Alert from '../component/alert'; const Transition = React.forwardRef(function Transition(props, ref) { return ; }); export default function ModalSettingNotify({show, handleClose, meetingId, handleLoadedChildren}){ const [unapproval, setUnapproval ] = useState([]); const [approval, setApproval ] = useState([]); const [isApproval, setIsApproval ] = useState(false); const [_success, setSuccess] = useState(''); const [_400error, set400Error] = useState(''); const [loaded1, setLoaded1] = useState(false); const [loaded2, setLoaded2] = useState(false); const [loaded, setLoaded] = useState(false); const isMountedRef = useRef(true); useEffect(() => { isMountedRef.current = false; setLoaded1(false); axios.get('/api/fathers/meeting/approvals/listChildrenOfApprovel', {params: { meeting_id: meetingId }}) .then((response) => { if(isMountedRef.current) return; setLoaded1(true); if(response.data.status_code==200){ setApproval(response.data.params); } }); setLoaded2(false); axios.get('/api/fathers/meeting/approvals/listChildrenOfUnapprovel', {params: { meeting_id: meetingId }}) .then((response) => { if(isMountedRef.current) return; setLoaded2(true); if(response.data.status_code==200){ setUnapproval(response.data.params); } }); return () => { isMountedRef.current = true; } }, []); useEffect(()=>{ setLoaded(loaded1 && loaded2); handleLoadedChildren(loaded1 && loaded2); },[loaded1, loaded2]); const settingNotify = (email) => { const formdata = new FormData(); formdata.append('email', JSON.stringify(new Array(email))); formdata.append('meeting_id', meetingId); axios.post('/api/fathers/meetingEditNotification', formdata) .then(response=>{ if(isMountedRef.current) return; switch(response.data.status_code){ case 200: setSuccess('通知に成功しました!'); break; case 400: set400Error('通知に失敗しました。'); break; } }) } return (
{setIsApproval(false); }} className={`modal-tab-label ${isApproval ? "" : "is-active"}`}>未承知
{setIsApproval(true); }} className={`modal-tab-label ${!isApproval ? "" : "is-active"}`}>承知済み
{ !loaded && } { loaded && <>
{ unapproval.length > 0 ? unapproval.map((item, ki) => ) :

データはありません。

}
{ approval.length > 0 ? approval?.map((item, kj) =>
name

{item.child.first_name} {item.child.last_name}

) :

データはありません。

}
{ _400error && set400Error('')}>{_400error} } { _success && setSuccess('')}>{_success}} }
) }