UNPKG

@selfcommunity/react-core

Version:

React Core Components useful for integrating UI Community components (react-ui).

32 lines (30 loc) 1.47 kB
import { useMemo } from 'react'; import { SCFeatureName } from '@selfcommunity/types'; import { useSCPreferences } from '../components/provider/SCPreferencesProvider'; import * as SCPreferences from '../constants/Preferences'; /** :::info This custom hook is used to check if the payments are enabled ::: :::tip How to use it: Follow these steps: ```jsx 1. import useSCPaymentsEnabled from '@selfcommunity/react-core'; 2. const {isPaymentsEnabled, stripePublicKey, stripeConnectedAccountId} = useSCPaymentsEnabled(); ``` ::: */ export default function useSCPaymentsEnabled() { // CONTEXT const { preferences, features } = useSCPreferences(); const isPaymentsEnabled = useMemo(() => preferences && features && features.includes(SCFeatureName.PAYMENTS) && SCPreferences.CONFIGURATIONS_PAYMENTS_ENABLED in preferences && preferences[SCPreferences.CONFIGURATIONS_PAYMENTS_ENABLED].value, [preferences]); const stripePublicKey = useMemo(() => preferences && SCPreferences.STATIC_STRIPE_PUBLIC_KEY in preferences && preferences[SCPreferences.STATIC_STRIPE_PUBLIC_KEY].value, [preferences]); const stripeConnectedAccountId = useMemo(() => preferences && SCPreferences.CONFIGURATIONS_STRIPE_CONNECTED_ACCOUNT_ID in preferences && preferences[SCPreferences.CONFIGURATIONS_STRIPE_CONNECTED_ACCOUNT_ID].value, [preferences]); return { isPaymentsEnabled, stripePublicKey, stripeConnectedAccountId }; }