import * as R from 'ramda'; import { useFormikContext } from 'formik'; import { InvoicePaymentPagePreview, InvoicePaymentPagePreviewProps, } from '@/containers/PaymentPortal/InvoicePaymentPagePreview'; import { useElementCustomizeContext } from '@/containers/ElementCustomize/ElementCustomizeProvider'; import { InvoiceCustomizeFormValues } from './types'; const withInvoicePaymentPreviewPageProps =

( Component: React.ComponentType

, ) => { return (props: Omit) => { const { values } = useFormikContext(); const { brandingState } = useElementCustomizeContext(); const mergedBrandingState = { ...brandingState, ...values, }; const mergedProps: InvoicePaymentPagePreviewProps = { companyLogoUri: mergedBrandingState?.companyLogoUri, primaryColor: mergedBrandingState?.primaryColor, }; return ; }; }; export const InvoiceCustomizePaymentPreview = R.compose( withInvoicePaymentPreviewPageProps, )(InvoicePaymentPagePreview);