feat: integrate Stripe payment to invoices

This commit is contained in:
Ahmed Bouhuolia
2024-09-18 19:24:01 +02:00
parent df706d2573
commit 4665f529e6
24 changed files with 540 additions and 80 deletions

View File

@@ -1,4 +1,5 @@
import React, { createContext, useContext, useState, ReactNode } from 'react';
import { useGetPaymentServices } from '@/hooks/query/payment-services';
import React, { createContext, useContext, ReactNode } from 'react';
interface SelectPaymentMethodsContextType {}
@@ -25,10 +26,16 @@ interface SelectPaymentMethodsProviderProps {
export const SelectPaymentMethodsBoot: React.FC<
SelectPaymentMethodsProviderProps
> = ({ children }) => {
const { isLoading: isPaymentServicesLoading, data: paymentServices } =
useGetPaymentServices();
const value = {
paymentServices,
isPaymentServicesLoading,
};
return (
<SelectPaymentMethodsContext.Provider
value={{ }}
>
<SelectPaymentMethodsContext.Provider value={value}>
{children}
</SelectPaymentMethodsContext.Provider>
);

View File

@@ -0,0 +1,32 @@
// @ts-nocheck
import { useQuery, UseQueryOptions, UseQueryResult } from 'react-query';
import useApiRequest from '../useRequest';
import { transformToCamelCase } from '@/utils';
const PaymentServicesQueryKey = 'PaymentServices';
export interface GetPaymentServicesResponse {
}
export const useGetPaymentServices = (
options?: UseQueryOptions<GetPaymentServicesResponse, Error>,
): UseQueryResult<GetPaymentServicesResponse, Error> => {
const apiRequest = useApiRequest();
return useQuery<GetPaymentServicesResponse, Error>(
[PaymentServicesQueryKey],
() =>
apiRequest
.get('/payment-services')
.then(
(response) =>
transformToCamelCase(
response.data?.paymentServices,
) as GetPaymentServicesResponse,
),
{
...options,
},
);
};