diff --git a/web/sdk/react/contexts/FrontierProvider.tsx b/web/sdk/react/contexts/FrontierProvider.tsx index ffe76500b..ceb7d3157 100644 --- a/web/sdk/react/contexts/FrontierProvider.tsx +++ b/web/sdk/react/contexts/FrontierProvider.tsx @@ -6,8 +6,9 @@ import { withMaxAllowedInstancesGuard } from './useMaxAllowedInstancesGuard'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { TransportProvider } from '@connectrpc/connect-query'; import { createConnectTransport } from '@connectrpc/connect-web'; -import { useMemo } from 'react'; +import { ComponentType, ReactNode, useMemo } from 'react'; import { createFetchWithCreds } from '../utils/fetch'; +import { Toast } from '@raystack/apsara-v1'; export const multipleFrontierProvidersError = "Frontier: You've added multiple components in your React component tree. Wrap your components in a single ."; @@ -15,7 +16,7 @@ export const multipleFrontierProvidersError = export const queryClient = new QueryClient(); export const FrontierProvider = (props: FrontierProviderProps) => { - const { children, initialState, config, theme, customHeaders, ...options } = + const { children, initialState, config, theme, customHeaders, renderThemeProvider = true, renderToastProvider = true, ...options } = props; const transport = useMemo( @@ -36,7 +37,11 @@ export const FrontierProvider = (props: FrontierProviderProps) => { config={config} {...options} > - {children} + + + {children} + + @@ -51,3 +56,18 @@ export const FrontierProviderGaurd = 'FrontierProvider', multipleFrontierProvidersError ); + +export const OptionalProvider = ({ + children, + provider: Provider, + shouldRender = true, + providerProps +}: { + children?: ReactNode; + provider: ComponentType; + shouldRender?: boolean; + providerProps?: Omit; +}) => { + if (shouldRender) return {children}; + return children +}; \ No newline at end of file diff --git a/web/sdk/react/views-new/billing/components/billing-details-card.tsx b/web/sdk/react/views-new/billing/components/billing-details-card.tsx index 84d658964..a99864204 100644 --- a/web/sdk/react/views-new/billing/components/billing-details-card.tsx +++ b/web/sdk/react/views-new/billing/components/billing-details-card.tsx @@ -24,7 +24,8 @@ export function BillingDetailsCard({ }: BillingDetailsCardProps) { const btnText = billingAccount?.email || billingAccount?.name ? 'Update' : 'Add details'; - const isButtonDisabled = isLoading || disabled || isActionLoading; + const isRestricted = isLoading || disabled; + const isButtonDisabled = isRestricted || isActionLoading; const address = convertBillingAddressToString(billingAccount?.address); @@ -37,7 +38,7 @@ export function BillingDetailsCard({ {!isLoading && isAllowed ? ( } >