// ** React Imports import { useState, useEffect } from 'react' // ** Next Import import Link from 'next/link' // ** MUI Imports import Grid from '@mui/material/Grid' import Alert from '@mui/material/Alert' // ** Third Party Components import axios from 'axios' // ** Types import { SingleInvoiceType, InvoiceLayoutProps } from 'src/types/apps/invoiceTypes' // ** Demo Components Imports import PreviewCard from 'src/views/apps/invoice/preview/PreviewCard' import PreviewActions from 'src/views/apps/invoice/preview/PreviewActions' import AddPaymentDrawer from 'src/views/apps/invoice/shared-drawer/AddPaymentDrawer' import SendInvoiceDrawer from 'src/views/apps/invoice/shared-drawer/SendInvoiceDrawer' const InvoicePreview = ({ id }: InvoiceLayoutProps) => { // ** State const [error, setError] = useState(false) const [data, setData] = useState(null) const [addPaymentOpen, setAddPaymentOpen] = useState(false) const [sendInvoiceOpen, setSendInvoiceOpen] = useState(false) useEffect(() => { axios .get('/apps/invoice/single-invoice', { params: { id } }) .then(res => { setData(res.data) setError(false) }) .catch(() => { setData(null) setError(true) }) }, [id]) const toggleSendInvoiceDrawer = () => setSendInvoiceOpen(!sendInvoiceOpen) const toggleAddPaymentDrawer = () => setAddPaymentOpen(!addPaymentOpen) if (data) { return ( <> ) } else if (error) { return ( Invoice with the id: {id} does not exist. Please check the list of invoices:{' '} Invoice List ) } else { return null } } export default InvoicePreview