import { useRef, useEffect, useState } from 'react';
import { useHistory, Link } from 'react-router-dom';
import moment from 'moment';
import axios from 'axios';
import Alert from '../../component/alert';
import ModalPdf from '../../component/pdf/modal_pdf';
import ModalMemo from '../../component/modal_memo';
import ModalConfirm from '../../component/modal_confirm';
import Thumbnail from '../../component/thumbnail';
import PageLoader from '../../component/page_loader';
const MeetingDetail = (props) => {
const history = useHistory();
const [loaded, setLoaded] = useState(false);
const [submit, setSubmit] = useState(false);
const [meeting, setMeeting] = useState(null);
const [thumbnail, setThumbnail] = useState('');
const [_400error, set400Error] = useState('');
const [_success, setSuccess] = useState(props.history.location.state);
const [show_confirm_modal, setShowConfirmModal] = useState(false);
const [show_pdf_modal, setShowPDFModal] = useState(false);
const [show_memo_modal, setShowMemoModal] = useState(false);
const isMountedRef = useRef(true);
useEffect(() => {
isMountedRef.current = false;
setLoaded(false);
axios.get(`/api/admin/meetings/detail/${props.match.params?.meeting_id}`)
.then((response) => {
setLoaded(true);
if(response.data.status_code==200){
var list = response.data.params;
var total=0, num=0;
if(list.approval){
for(var i in list.approval)
{
if(list.approval[i].approval_at) num ++;
total ++;
}
}
setMeeting({...list, denominator:total, numerator:num});
if(list.meeting_image.length > 0) setThumbnail(list.meeting_image[0].image);
}
else {
set400Error("失敗しました。");
}
});
}, []);
async function handleAcceptDelete() {
setSubmit(true);
axios.delete(`/api/admin/meetings/delete/${props.match.params?.meeting_id}`)
.then(response => {
setShowConfirmModal(false);
setSubmit(false);
switch(response.data.status_code){
case 200:{
history.push({pathname: '/admin/meeting', state: '削除に成功しました!'});
break;
}
case 400: set400Error("削除に失敗しました。"); break;
}
});
};
const handlePDFOpen = (pdf) => {
var pieces = pdf.split('/');
var file_name = pieces[pieces.length-1];
window.open(`/pdf/${file_name}`, '_blank');
}
return (
{
!loaded &&
}
{
loaded && meeting &&
- {meeting.numerator}
- {meeting.denominator}
{
meeting.approval?.map((x, k)=>
{
if(x.approval_at)
return(
-
)
})
}
{ meeting.title }
{
meeting.meeting_image?.map((x, k)=>
)
}
{
meeting.memo ?
{ meeting.text }
setShowMemoModal(false)}
/>
setShowPDFModal(false)}
/>
}
setShowConfirmModal(false)}
handleAccept={handleAcceptDelete}
loading={submit}
/>
{ _400error && set400Error('')}> {_400error} }
{ _success && setSuccess('')}> {_success} }
)
}
export default MeetingDetail;