feat: Pdf templates customer/company addresses

This commit is contained in:
Ahmed Bouhuolia
2024-09-29 18:04:56 +02:00
parent d465ee15bd
commit 6b6027a588
16 changed files with 190 additions and 58 deletions

View File

@@ -1,7 +1,9 @@
import React, { createContext, useContext } from 'react';
import {
GetPdfTemplateBrandingStateResponse,
GetPdfTemplateResponse,
useGetPdfTemplate,
useGetPdfTemplateBrandingState,
} from '@/hooks/query/pdf-templates';
import { Spinner } from '@blueprintjs/core';
@@ -9,6 +11,10 @@ interface PdfTemplateContextValue {
templateId: number | string;
pdfTemplate: GetPdfTemplateResponse | undefined;
isPdfTemplateLoading: boolean;
// Branding state.
brandingTemplateState: GetPdfTemplateBrandingStateResponse | undefined;
isBrandingTemplateLoading: boolean;
}
interface BrandingTemplateProps {
@@ -28,15 +34,23 @@ export const BrandingTemplateBoot = ({
useGetPdfTemplate(templateId, {
enabled: !!templateId,
});
// Retreives the branding template state.
const { data: brandingTemplateState, isLoading: isBrandingTemplateLoading } =
useGetPdfTemplateBrandingState();
const value = {
templateId,
pdfTemplate,
isPdfTemplateLoading,
brandingTemplateState,
isBrandingTemplateLoading,
};
if (isPdfTemplateLoading) {
return <Spinner size={20} />
const isLoading = isPdfTemplateLoading || isBrandingTemplateLoading;
if (isLoading) {
return <Spinner size={20} />;
}
return (
<PdfTemplateContext.Provider value={value}>

View File

@@ -44,15 +44,16 @@ export const useBrandingTemplateFormInitialValues = <
>(
initialValues = {},
) => {
const { pdfTemplate } = useBrandingTemplateBoot();
const { pdfTemplate, brandingTemplateState } = useBrandingTemplateBoot();
const defaultPdfTemplate = {
const brandingAttributes = {
templateName: pdfTemplate?.templateName,
...brandingTemplateState,
...pdfTemplate?.attributes,
};
return {
...initialValues,
...(transformToForm(defaultPdfTemplate, initialValues) as T),
...(transformToForm(brandingAttributes, initialValues) as T),
};
};