From 2baa667c5dc4b670ab53aa4a1120fbddfd40c6ee Mon Sep 17 00:00:00 2001 From: Ahmed Bouhuolia Date: Tue, 19 Mar 2024 05:22:15 +0200 Subject: [PATCH] fix(webapp): hotfix pdf request hook --- .../webapp/src/hooks/query/creditNote.tsx | 6 +-- packages/webapp/src/hooks/query/estimates.tsx | 3 +- packages/webapp/src/hooks/query/invoices.tsx | 2 +- .../src/hooks/query/paymentReceives.tsx | 2 +- packages/webapp/src/hooks/query/receipts.tsx | 6 +-- packages/webapp/src/hooks/utils/index.tsx | 1 - .../webapp/src/hooks/utils/useRequestPdf.tsx | 39 ------------------- 7 files changed, 7 insertions(+), 52 deletions(-) delete mode 100644 packages/webapp/src/hooks/utils/useRequestPdf.tsx diff --git a/packages/webapp/src/hooks/query/creditNote.tsx b/packages/webapp/src/hooks/query/creditNote.tsx index fce2f73028..99a40df8e5 100644 --- a/packages/webapp/src/hooks/query/creditNote.tsx +++ b/packages/webapp/src/hooks/query/creditNote.tsx @@ -3,7 +3,7 @@ import { useQueryClient, useMutation } from 'react-query'; import { useRequestQuery } from '../useQueryRequest'; import { transformPagination } from '@/utils'; import useApiRequest from '../useRequest'; -import { useRequestPdf } from '../utils'; +import { useRequestPdf } from '../useRequestPdf'; import t from './types'; const commonInvalidateQueries = (queryClient) => { @@ -354,7 +354,5 @@ export function useRefundCreditTransaction(id, props, requestProps) { * Retrieve the credit note pdf document data, */ export function usePdfCreditNote(creditNoteId) { - return useRequestPdf({ - url: `sales/credit_notes/${creditNoteId}`, - }); + return useRequestPdf({ url: `sales/credit_notes/${creditNoteId}` }); } diff --git a/packages/webapp/src/hooks/query/estimates.tsx b/packages/webapp/src/hooks/query/estimates.tsx index ed5f11ef47..8607fd54cc 100644 --- a/packages/webapp/src/hooks/query/estimates.tsx +++ b/packages/webapp/src/hooks/query/estimates.tsx @@ -2,10 +2,9 @@ import { useQueryClient, useMutation } from 'react-query'; import { useRequestQuery } from '../useQueryRequest'; import useApiRequest from '../useRequest'; -import { useRequestPdf } from '../utils'; - import { transformPagination } from '@/utils'; import t from './types'; +import { useRequestPdf } from '../useRequestPdf'; const commonInvalidateQueries = (queryClient) => { // Invalidate estimates. diff --git a/packages/webapp/src/hooks/query/invoices.tsx b/packages/webapp/src/hooks/query/invoices.tsx index 72a8bc7b17..660b54c9da 100644 --- a/packages/webapp/src/hooks/query/invoices.tsx +++ b/packages/webapp/src/hooks/query/invoices.tsx @@ -3,7 +3,7 @@ import { useQueryClient, useMutation } from 'react-query'; import { useRequestQuery } from '../useQueryRequest'; import { transformPagination } from '@/utils'; import useApiRequest from '../useRequest'; -import { useRequestPdf } from '../utils'; +import { useRequestPdf } from '../useRequestPdf'; import t from './types'; // Common invalidate queries. diff --git a/packages/webapp/src/hooks/query/paymentReceives.tsx b/packages/webapp/src/hooks/query/paymentReceives.tsx index 5fbd03a28e..e8b2e82c96 100644 --- a/packages/webapp/src/hooks/query/paymentReceives.tsx +++ b/packages/webapp/src/hooks/query/paymentReceives.tsx @@ -3,9 +3,9 @@ import { useMutation, useQueryClient } from 'react-query'; import { useRequestQuery } from '../useQueryRequest'; import useApiRequest from '../useRequest'; import { transformPagination, saveInvoke } from '@/utils'; -import { useRequestPdf } from '../utils'; import t from './types'; +import { useRequestPdf } from '../useRequestPdf'; // Common invalidate queries. const commonInvalidateQueries = (client) => { diff --git a/packages/webapp/src/hooks/query/receipts.tsx b/packages/webapp/src/hooks/query/receipts.tsx index 2797008d35..7f72910c41 100644 --- a/packages/webapp/src/hooks/query/receipts.tsx +++ b/packages/webapp/src/hooks/query/receipts.tsx @@ -1,9 +1,9 @@ // @ts-nocheck import { useQueryClient, useMutation } from 'react-query'; import { useRequestQuery } from '../useQueryRequest'; -import { useRequestPdf } from '../utils'; import useApiRequest from '../useRequest'; import { transformPagination } from '@/utils'; +import { useRequestPdf } from '../useRequestPdf'; import t from './types'; const commonInvalidateQueries = (queryClient) => { @@ -165,9 +165,7 @@ export function useReceipt(id, props) { * @param {number} receiptId - */ export function usePdfReceipt(receiptId: number) { - return useRequestPdf({ - url: `sales/receipts/${receiptId}`, - }); + return useRequestPdf({ url: `sales/receipts/${receiptId}` }); } export function useRefreshReceipts() { diff --git a/packages/webapp/src/hooks/utils/index.tsx b/packages/webapp/src/hooks/utils/index.tsx index c3e3eb119f..fb7813227c 100644 --- a/packages/webapp/src/hooks/utils/index.tsx +++ b/packages/webapp/src/hooks/utils/index.tsx @@ -4,7 +4,6 @@ export * from './usePrevious'; export * from './useUpdateEffect'; export * from './useWatch'; export * from './useWhen'; -export * from './useRequestPdf'; export * from './useIntersectionObserver'; export * from './useAbilityContext'; export * from './useCustomCompareEffect'; diff --git a/packages/webapp/src/hooks/utils/useRequestPdf.tsx b/packages/webapp/src/hooks/utils/useRequestPdf.tsx deleted file mode 100644 index 32e6ad8810..0000000000 --- a/packages/webapp/src/hooks/utils/useRequestPdf.tsx +++ /dev/null @@ -1,39 +0,0 @@ -// @ts-nocheck -import React from 'react'; -import useApiRequest from '../useRequest'; - -export const useRequestPdf = (url) => { - const apiRequest = useApiRequest(); - const [isLoading, setIsLoading] = React.useState(false); - const [isLoaded, setIsLoaded] = React.useState(false); - const [pdfUrl, setPdfUrl] = React.useState(''); - const [response, setResponse] = React.useState(null); - - React.useEffect(() => { - setIsLoading(true); - apiRequest - .get(url, { - headers: { accept: 'application/pdf' }, - responseType: 'blob', - }) - .then((response) => { - // Create a Blob from the PDF Stream. - const file = new Blob([response.data], { type: 'application/pdf' }); - - // Build a URL from the file - const fileURL = URL.createObjectURL(file); - - setPdfUrl(fileURL); - setIsLoading(false); - setIsLoaded(true); - setResponse(response); - }); - }, []); - - return { - isLoading, - isLoaded, - pdfUrl, - response, - }; -};