// material-ui
import {
Grid,
Typography,
Stack,
Box,
Button
} from '@mui/material';
import * as UrlUtils from "utils/ApiPathConst";
import * as React from "react";
import * as HttpUtils from "utils/HttpUtils";
import * as DateUtils from "utils/DateUtils";
import * as FormatUtils from "utils/FormatUtils"
import { useParams } from "react-router-dom";
import { useNavigate } from "react-router-dom";
import ForwardIcon from '@mui/icons-material/Forward';
import Loadable from 'components/Loadable';
const LoadingComponent = Loadable(React.lazy(() => import('pages/extra-pages/LoadingComponent')));
const ApplicationDetails = Loadable(React.lazy(() => import('./ApplicationDetails')));
const ProofForm = Loadable(React.lazy(() => import('./ProofForm')));
import titleBackgroundImg from 'assets/images/dashboard/gazette-bar.png'
const BackgroundHead = {
backgroundImage: `url(${titleBackgroundImg})`,
width: '100%',
height: '100%',
backgroundSize: 'contain',
backgroundRepeat: 'no-repeat',
backgroundColor: '#0C489E',
backgroundPosition: 'right'
}
// ==============================|| DASHBOARD - DEFAULT ||============================== //
const Index = () => {
const params = useParams();
const navigate = useNavigate()
const [record, setRecord] = React.useState({});
const [onReady, setOnReady] = React.useState(false);
const [isOverTime, setIsOverTime] = React.useState(false);
const [showCancelBtn, setShowCancelBtn] = React.useState(false);
const [showProofBtn, setShowProofBtn] = React.useState(false);
React.useLayoutEffect(() => {
loadForm();
}, []);
React.useLayoutEffect(() => {
setOnReady(true);
}, [record]);
const loadForm = () => {
if (params.id > 0) {
HttpUtils.get({
url: UrlUtils.GET_PROOF + "/" + params.id,
onSuccess: (responseData) => {
if (!responseData.data?.id) {
navigate("/proof/search");
}
setShowProofBtn(responseData.data.action != null && responseData.data.action === true);
responseData.data["phoneNumber"] = JSON.parse(responseData.data.contactTelNo).phoneNumber;
responseData.data["tel_countryCode"] = JSON.parse(responseData.data.contactTelNo).countryCode;
responseData.data["faxNumber"] = JSON.parse(responseData.data.contactFaxNo).faxNumber;
responseData.data["fax_countryCode"] = JSON.parse(responseData.data.contactFaxNo).countryCode;
responseData.data["issueNoStr"] = responseData.data.issueYear
+ " Vol. " + FormatUtils.zeroPad(responseData.data.issueVolume, 3)
+ ", No. " + FormatUtils.zeroPad(responseData.data.issueNo, 2);
responseData.data["issueDateStr"] = DateUtils.dateFormat(responseData.data.issueDate, "D MMM YYYY (ddd)");
responseData.data["groupType"] = responseData.data.groupTitle;
responseData.data["action"] = responseData.data.replyDate ? responseData.data.action : true;
let proofPaymentDeadline = DateUtils.convertToDate(responseData.data.proofPaymentDeadline);
let current = new Date();
setIsOverTime(current.getTime() > proofPaymentDeadline.getTime());
setShowCancelBtn(responseData.data.cancelled || responseData.data.replyDate || current.getTime() > proofPaymentDeadline.getTime())
setRecord(responseData.data);
}
});
}
}
// calculate back button position
// const applicationDetailsRef = React.useCallback(node => {
// if (node === null) {
// return
// } else {
// setBackButtonLeftPos(`${node.getBoundingClientRect()?.left}px`)
// }
// })
// const [backButtonPos, setBackButtonPos] = React.useState()
// const backButtonRef = React.useRef()
// React.useLayoutEffect(()=>{
// console.log(applicationDetailsRef.current?.getBoundingClientRect())
// if (backButtonRef.current) backButtonRef.current.style.marginLeft = `${backButtonPos}`
// },[backButtonPos])
// React.useEffect(()=>{
// if (backButtonRef.current) backButtonRef.current.style.marginLeft = `${backButtonLeftPos}`
// }, [backButtonLeftPos])
return (
!onReady ?
:
(
Proof Record
{/*row 1*/}
{/*row 2*/}
)
);
};
export default Index;