import { CheckIcon, ClockIcon, EllipsisVerticalIcon, MagnifyingGlassIcon, } from '@heroicons/react/24/outline'; import { toQuery } from 'lodash-contrib'; import _ from 'lodash'; import { useRouter } from 'next/router'; import { useState } from 'react'; import useInvoices from '../../invoice/hooks/useInvoices'; import Spinner from '@/core/components/elements/Spinner/Spinner'; import Alert from '@/core/components/elements/Alert/Alert'; import Pagination from '@/core/components/elements/Pagination/Pagination'; import Link from '@/core/components/elements/Link/Link'; import currencyFormat from '@/core/utils/currencyFormat'; import BottomPopup from '@/core/components/elements/Popup/BottomPopup'; import { downloadInvoice, downloadTaxInvoice, } from '../../invoice/utils/invoices'; import MobileView from '@/core/components/views/MobileView'; import DesktopView from '@/core/components/views/DesktopView'; import Menu from '@/lib/auth/components/Menu'; const Tempo = () => { const router = useRouter(); const { q = '', page = 1 } = router.query; const limit = 15; const query = { name: q, offset: (page - 1) * limit, limit, }; const { invoices } = useInvoices({ query }); const [inputQuery, setInputQuery] = useState(q); const [toOthers, setToOthers] = useState(null); const pageCount = Math.ceil(invoices?.data?.invoiceTotal / limit); let pageQuery = _.omit(query, ['limit', 'offset']); pageQuery = _.pickBy(pageQuery, _.identity); pageQuery = toQuery(pageQuery); const handleSubmit = (e) => { e.preventDefault(); router.push(`/my/invoices?q=${inputQuery}`); }; return ( <>
setInputQuery(e.target.value)} />
{invoices.isLoading && (
)} {!invoices.isLoading && invoices.data?.invoices?.length === 0 && ( Tidak ada invoice )} {invoices.data?.invoices?.map((invoice, index) => (
No. Invoice

{invoice.name}

{invoice.amountResidual > 0 ? (
Belum Lunas
) : (
Lunas
)} setToOthers(invoice)} />

{invoice.invoiceDate}

{invoice.paymentTerm}


No. Purchase Order

{invoice.purchaseOrderName || '-'}

Total Invoice

{currencyFormat(invoice.amountTotal)}

{invoice.efaktur ? (
Faktur Pajak
) : (
Faktur Pajak
)}
))} setToOthers(null)} >

Pembayaran Tempo

Jenis Tempo Pembayaran Anda adalah :{' '} 7 Hari

setInputQuery(e.target.value)} />
{invoices.isLoading && ( )} {!invoices.isLoading && (!invoices?.data?.invoices || invoices?.data?.invoices?.length == 0) && ( )} {invoices.data?.invoices?.map((invoice) => ( ))}
No. Invoice No. PO Tanggal Salesperson Status Total
Tidak ada invoice
{invoice.name} {invoice.purchaseOrderName || '-'} {invoice.invoiceDate} {invoice.sales} {invoice.amountResidual > 0 ? (
Belum Lunas
) : (
Lunas
)}
{currencyFormat(invoice.amountTotal)}
); }; export default Tempo;