feat: wip public payment page

This commit is contained in:
Ahmed Bouhuolia
2024-09-14 22:10:27 +02:00
parent 162b92ce84
commit 9517b4e279
5 changed files with 243 additions and 1 deletions

View File

@@ -0,0 +1,34 @@
import React, { createContext, useContext, ReactNode } from 'react';
interface PaymentPortalContextType {
// Define the context type here
paymentAmount: number;
setPaymentAmount: (amount: number) => void;
}
const PaymentPortalContext = createContext<PaymentPortalContextType>(
{} as PaymentPortalContextType,
);
export const PaymentPortalBoot: React.FC<{ children: ReactNode }> = ({
children,
}) => {
const [paymentAmount, setPaymentAmount] = React.useState<number>(0);
return (
<PaymentPortalContext.Provider value={{ paymentAmount, setPaymentAmount }}>
{children}
</PaymentPortalContext.Provider>
);
};
export const usePaymentPortalBoot = (): PaymentPortalContextType => {
const context = useContext(PaymentPortalContext);
if (!context) {
throw new Error(
'usePaymentPortal must be used within a PaymentPortalProvider',
);
}
return context;
};