import DesktopView from '@/core/components/views/DesktopView';
import MobileView from '@/core/components/views/MobileView';
import Menu from '@/lib/auth/components/Menu';
import {
EllipsisVerticalIcon,
MagnifyingGlassIcon,
} from '@heroicons/react/24/outline';
import ImageNext from 'next/image';
import { useEffect } from 'react';
import { useRouter } from 'next/router';
import { useQuery } from 'react-query';
import _, { forEach } from 'lodash-contrib';
import Spinner from '@/core/components/elements/Spinner/Spinner';
import Manifest from '@/lib/treckingAwb/component/Manifest';
import { useState } from 'react';
import Pagination from '@/core/components/elements/Pagination/Pagination';
import Link from 'next/link';
import TransactionStatusBadge from '@/lib/transaction/components/TransactionStatusBadge';
const { listShipments } = require('../api/listShipment');
const Shipments = () => {
const router = useRouter();
const { q = '', page = 1, status = null } = router.query;
const [paramStatus, setParamStatus] = useState(status);
const limit = 15;
const query = {
q: q,
status: paramStatus,
offset: (page - 1) * limit,
limit,
};
const [inputQuery, setInputQuery] = useState(q);
const queryString = _.toQuery(query);
const { data: shipments } = useQuery('shipments' + queryString, () =>
listShipments({ query: queryString })
);
const [idAWB, setIdAWB] = useState(null);
const pageCount = Math.ceil(shipments?.pickingTotal / limit);
let pageQuery = _.omit(query, ['limit', 'offset', 'context']);
pageQuery = _.pickBy(pageQuery, _.identity);
pageQuery = _.toQuery(pageQuery);
const closePopup = () => {
setIdAWB(null);
};
const handleSubmit = async (e) => {
e.preventDefault();
router.push(`${router.pathname}?q=${inputQuery}`);
};
const filterStatus = async (status) => {
if (status === paramStatus) {
setParamStatus(null);
} else {
setParamStatus(status);
}
};
useEffect(() => {
const resetQuery = () => {
const newQuery = {
status: paramStatus || undefined,
q: '',
page: 1,
};
router.push({
pathname: router.pathname,
query: newQuery,
});
};
if (paramStatus !== status) {
resetQuery();
}
}, [paramStatus]);
return (
<>
Kurir :{' '}
{shipment.carrierName || '-'}
No. Resi : {shipment.trackingNumber || '-'}
Pesanan Tiba Sedang Dikirim Pending
{shipment.saleOrder.name}
{shipment.date}
Pengiriman
Detail Pengiriman
{!shipments && (
Tanggal
No. Resi
No. Dokumen
Sales Order
Purchase Order
Expedisi
Status
)}
{shipments && shipments?.pickings?.length == 0 && (
)}
{shipments?.pickings.map((shipment) => (
Tidak ada transaksi
))}
{shipment.date || '-'}
{shipment.trackingNumber || '-'}
{shipment.name || '-'}
{shipment.saleOrder.name || '-'}
{shipment.saleOrder.clientOrderRef || '-'}
{shipment.carrierName || '-'}