feat: estimate send mail drawer

This commit is contained in:
Ahmed Bouhuolia
2024-11-19 00:38:45 +02:00
parent 7df6aa4110
commit 7e65f3f642
11 changed files with 108 additions and 18 deletions

View File

@@ -1,7 +1,27 @@
import { Suspense } from 'react';
import { SendMailViewPreviewTabs } from '../SendMailViewDrawer/SendMailViewPreviewTabs';
import { Tab } from '@blueprintjs/core';
import { EstimateSendPdfPreviewConnected } from './EstimateSendPdfPreviewConnected';
export function EstimateSendMailPreviewTabs() {
return (
<h1>asdfsdf</h1>
)
}
<SendMailViewPreviewTabs>
<Tab
id={'payment-page'}
title={'Payment page'}
panel={
<Suspense>{/* <InvoiceMailReceiptPreviewConnected /> */}</Suspense>
}
/>
<Tab
id="pdf-document"
title={'PDF document'}
panel={
<Suspense>
<EstimateSendPdfPreviewConnected />
</Suspense>
}
/>
</SendMailViewPreviewTabs>
);
}

View File

@@ -0,0 +1,13 @@
import { SendViewPreviewHeader } from '../SendMailViewDrawer/SendMailViewPreviewHeader';
export function EstimateSendMailPreviewHeader() {
return (
<SendViewPreviewHeader
companyName="A"
customerName="A"
subject={'adsfsdf'}
from={['a.bouhuolia@gmail.com']}
to={['a.bouhuolia@gmail.com']}
/>
);
}

View File

@@ -0,0 +1,31 @@
import { Spinner } from '@blueprintjs/core';
import { Stack } from '@/components';
import { useGetSaleEstimateHtml } from '@/hooks/query';
import { EstimateSendMailPreviewHeader } from './EstimateSendMailPreviewHeader';
import { SendMailViewPreviewPdfIframe } from '../SendMailViewDrawer/SendMailViewPreviewPdfIframe';
import { useDrawerContext } from '@/components/Drawer/DrawerProvider';
export function EstimateSendPdfPreviewConnected() {
return (
<Stack>
<EstimateSendMailPreviewHeader />
<Stack px={4} py={6}>
<EstimateSendPdfPreviewIframe />
</Stack>
</Stack>
);
}
function EstimateSendPdfPreviewIframe() {
const { payload } = useDrawerContext();
const { data, isLoading } = useGetSaleEstimateHtml(payload?.estimateId);
if (isLoading && data) {
return <Spinner size={20} />;
}
const iframeSrcDoc = data?.htmlContent;
return <SendMailViewPreviewPdfIframe srcDoc={iframeSrcDoc} />;
}

View File

@@ -1,3 +1,4 @@
// @ts-nocheck
import React, { createContext, useContext } from 'react';
import { Spinner } from '@blueprintjs/core';
import { useDrawerContext } from '@/components/Drawer/DrawerProvider';

View File

@@ -7,13 +7,13 @@ import { ReceiptSendMailForm } from './ReceiptSendMailForm';
import { ReceiptSendMailFormFields } from './ReceiptSendMailFormFields';
import { ReceiptSendMailPreviewTabs } from './ReceiptSendMailPreviewTabs';
export function InvoiceSendMailContent() {
export function ReceiptSendMailContent() {
return (
<Stack className={Classes.DRAWER_BODY}>
<ReceiptSendMailBoot>
<ReceiptSendMailForm>
<SendMailViewLayout
header={<SendMailViewHeader label={'Send Invoice Mail'} />}
header={<SendMailViewHeader label={'Send Receipt Mail'} />}
fields={<ReceiptSendMailFormFields />}
preview={<ReceiptSendMailPreviewTabs />}
/>

View File

@@ -1,3 +1,4 @@
// @ts-nocheck
import { Form, Formik, FormikHelpers } from 'formik';
import { css } from '@emotion/css';
import { Intent } from '@blueprintjs/core';

View File

@@ -1,6 +1,3 @@
export function ReceiptSendMailPreviewTabs() {
return null;
}
}