import React, { useEffect, useState } from 'react';
import moment from 'moment';
import axios from 'axios';
import ModalSettingNotify from '../../component/modal_setting_notify';
import { ToastContainer, toast } from 'react-toastify';
import ModalMemo from '../../component/modal_memo';
import ModalConfirm from '../../component/modal_confirm';
import ModalAlert from '../../component/modal_alert';
import ModalPdf from '../../component/modal_pdf';
import Notification from '../../component/notification';
import { useHistory } from 'react-router-dom'
const MeetingDetail = (props) => {
const history = useHistory();
const [show, setShow] = useState(false);
const [showArea, setShowArea] = useState(false);
const [showMemo, setShowMemo] = useState(false);
const [showNotify, setShowNotify] = useState(false);
const [showAlert, setShowAlert] = useState(false);
const [showPdf, setShowPdf] = useState(false);
const [messageAlert, setMessageAlert] = useState(null);
const [typeAlert, setTypeAlert] = useState(null);
const [meeting, setMeeting] = useState(null);
const [picture, setPicture] = useState(null);
const state = history.location.state
useEffect(() => {
console.log(props.match.params?.id)
axios.get(`/api/meetings/detail/${props.match.params?.id}`, {params: { father_id: 1 }}).then((response) => {
if(response.data.status_code==200){
console.log(response.data.params[0]);
setMeeting(response.data.params[0]);
setPicture(response.data.params[0]?.meeting_image[0]?.image);
} else if(response.data.status_code==400){
//TODO
}
if(state?.message) {
toast.success(state?.message, {
position: "top-center",
autoClose: 5000,
className:"bg-success",
hideProgressBar: true,
closeOnClick: true,
pauseOnHover: true,
draggable: false,
progress: undefined,
style:{ color: '#ffffff', opacity: 0.95}
});
}
});
}, []);
async function showModal() {
setShow(true);
};
async function handleClose() {
setShow(false);
};
async function handleAccept() {
try {
axios.delete(`/api/meetings/delete/${props.match.params?.id}`)
.then(response => {
if(response.data.status_code == 200){
axios.delete(`/api/meeting-images/deleteRelationMeeting/${props.match.params?.id}`)
.then(response => {});
axios.delete(`/api/meeting-approvals/deleteRelationMeeting/${props.match.params?.id}`)
.then(response => {
setMessageAlert("ミーティングの削除に成功しました!");
setTypeAlert("success");
});
} else {
setMessageAlert("ミーティングの削除に失敗しました。");
setTypeAlert("danger");
}
setShowAlert(true);
});
setShow(false);
} catch (error) {
console.log('error', error);
}
};
async function showModalMemo() {
setShowMemo(true);
};
async function showModalArea() {
setShowArea(true);
};
async function showModalNotify() {
setShowNotify(true);
};
async function handleCloseNotify() {
setShowNotify(false);
};
async function handleClosePdf() {
setShowPdf(false);
};
async function handleCloseMemo() {
setShowMemo(false);
};
async function handleAcceptNotify() {
try {
axios.post(`/api/children/listOfMeetingNotifyUnapprovel/${props.match.params?.id}`)
.then(response => {
if(response.data.status_code == 200){
axios.delete(`/api/smss/register/${props.match.params?.id}`)
.then(response => {
});
}
});
setShowNotify(false);
} catch (error) {
console.log('error', error);
}
};
async function handleCloseAlert() {
setShowAlert(false);
};
async function handleFavorite(meetingId, currentFavorite) {
const formdata = new FormData();
formdata.append('meeting_id', meetingId);
formdata.append('is_favorite', currentFavorite == 1 ? 0 : 1);
axios.post('/api/meetings/registerFavorite', formdata).then((response) => {})
const updatedItem = {
...meeting,
is_favorite: currentFavorite == 1 ? 0 : 1,
};
setMeeting(updatedItem);
};
if (!meeting) return null;
return (
- {meeting?.meeting_approvals.length}
- {meeting?.meeting_approvals.length}
{ meeting?.meeting_approvals.map((v, inx) => {
return (-
);
}) }
{meeting?.meeting_approvals.length}人既読
{ meeting.title }
{ meeting?.meeting_image.map((v, inx) => {
return (
);
}) }
{ meeting.text }
)
}
export default MeetingDetail;