You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

192 lines
7.5 KiB
React

import React, { useEffect, useState } from "react";
import { formatDate } from "@/Utils";
export default function DetailModal(props) {
const { isOpen, toggle = () => {}, booking = null, title } = props;
const [data, setData] = useState({});
const handleCancel = () => {
toggle();
};
useEffect(() => {
setData({
booked: booking?.booked ? booking.booked : '',
departure: booking?.departure
? formatDate(booking.departure).format('yyyy-MM-DD')
: '',
destination: booking?.destination ? booking.destination : '',
flight_number: booking?.flight_number ? booking.flight_number : '',
jumlah_koli: booking?.jumlah_koli ? booking.jumlah_koli : '',
kemasan: booking?.kemasan ? booking.kemasan : '',
master_awb: booking?.master_awb ? booking.master_awb : '',
used: booking?.used ? booking.used : '',
is_available: booking?.is_available ? booking.is_available : '',
})
}, [booking]);
return (
<div
className="modal"
style={
isOpen
? {
opacity: 1,
pointerEvents: 'auto',
visibility: 'visible',
}
: {}
}
>
<div className="modal-box max-h-screen md:h-5/6 m-auto overflow-scroll">
<h1 className="font-bold text-2xl pb-8">{title}</h1>
<div className="form-control">
<label className="label">
<span className="label-text">Master AWB</span>
</label>
<input
type="text"
placeholder="Master AWB"
className={`input input-bordered`}
name="master_awb"
defaultValue={data.master_awb}
readOnly={true}
/>
<label className="label">
<span className="label-text-alt"></span>
</label>
</div>
<div className="form-control">
<label className="label">
<span className="label-text">Flight Number</span>
</label>
<input
type="text"
placeholder="Flight Number"
className={`input input-bordered`}
name="flight_number"
defaultValue={data.flight_number}
readOnly={true}
/>
<label className="label">
<span className="label-text-alt"></span>
</label>
</div>
<div className="form-control">
<label className="label">
<span className="label-text">Departure</span>
</label>
<input
type="date"
placeholder="20/01/2022"
className={`input input-bordered`}
name="departure"
defaultValue={data.departure}
readOnly={true}
/>
<label className="label">
<span className="label-text-alt"></span>
</label>
</div>
<div className="form-control">
<label className="label">
<span className="label-text">Destination</span>
</label>
<input
type="text"
placeholder="Jakarta"
className={`input input-bordered`}
name="destination"
defaultValue={data.destination}
readOnly={true}
/>
<label className="label">
<span className="label-text-alt"></span>
</label>
</div>
<div className="form-control">
<label className="label">
<span className="label-text">Jumlah Koli</span>
</label>
<input
type="text"
placeholder="0"
className={`input input-bordered`}
name="jumlah_koli"
defaultValue={data.jumlah_koli}
readOnly={true}
/>
<label className="label">
<span className="label-text-alt"></span>
</label>
</div>
<div className="form-control">
<label className="label">
<span className="label-text">Kemasan</span>
</label>
<input
type="text"
placeholder="Pack"
className={`input input-bordered`}
name="kemasan"
defaultValue={data.kemasan}
readOnly={true}
/>
<label className="label"></label>
</div>
<div className="form-control">
<label className="label">
<span className="label-text">Booked</span>
</label>
<input
type="text"
placeholder="0"
className={`input input-bordered`}
name="booked"
defaultValue={data.booked}
readOnly={true}
/>
<label className="label"></label>
</div>
<div className="form-control">
<label className="label">
<span className="label-text">Used</span>
</label>
<input
type="text"
placeholder="0"
className={`input input-bordered`}
name="used"
readOnly={true}
defaultValue={data.used}
/>
<label className="label"></label>
</div>
<div className="form-control">
<label className="label">
<span className="label-text">Status</span>
</label>
<input
type="text"
placeholder="0"
className={`input input-bordered`}
name="used"
readOnly={true}
defaultValue={+data.is_available === 0 ? 'Available' : 'Closed'}
/>
<label className="label"></label>
</div>
<div className="modal-action">
<label
htmlFor="my-modal-2"
className="btn"
onClick={handleCancel}
>
Tutup
</label>
</div>
</div>
</div>
)
};