feat: invoice pdf customize

This commit is contained in:
Ahmed Bouhuolia
2024-09-10 23:32:34 +02:00
parent 716dec799a
commit 5b6270a184
10 changed files with 213 additions and 140 deletions

View File

@@ -1,10 +1,6 @@
import clsx from 'classnames';
import * as R from 'ramda';
import { useFormikContext } from 'formik';
import styles from './InvoicePaperTemplate.module.scss';
import React from 'react';
import { PaperTemplate } from './PaperTemplate';
import { Group, Stack } from '@/components';
import React from 'react';
interface PapaerLine {
item?: string;
@@ -19,7 +15,7 @@ interface PaperTax {
amount: string;
}
interface PaperTemplateProps {
export interface InvoicePaperTemplateProps {
primaryColor?: string;
secondaryColor?: string;
@@ -92,7 +88,7 @@ interface PaperTemplateProps {
billedToAddress?: Array<string | React.ReactNode>;
}
function InvoicePaperTemplateRoot({
export function InvoicePaperTemplate({
primaryColor,
secondaryColor,
@@ -183,7 +179,7 @@ function InvoicePaperTemplateRoot({
'+1 762-339-5634',
'ahmed@bigcapital.app',
],
}: PaperTemplateProps) {
}: InvoicePaperTemplateProps) {
return (
<PaperTemplate
primaryColor={primaryColor}
@@ -290,17 +286,3 @@ function InvoicePaperTemplateRoot({
</PaperTemplate>
);
}
const withFormikProps = <P extends object>(
Component: React.ComponentType<P>,
) => {
return (props: Omit<P, keyof PaperTemplateProps>) => {
const { values } = useFormikContext<PaperTemplateProps>();
return <Component {...(props as P)} {...values} />;
};
};
export const InvoicePaperTemplate = R.compose(withFormikProps)(
InvoicePaperTemplateRoot,
);