@selfcommunity/react-core
Version:
React Core Components useful for integrating UI Community components (react-ui).
36 lines (34 loc) • 1.71 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const react_1 = require("react");
const types_1 = require("@selfcommunity/types");
const SCPreferencesProvider_1 = require("../components/provider/SCPreferencesProvider");
const SCPreferences = tslib_1.__importStar(require("../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();
```
:::
*/
function useSCPaymentsEnabled() {
// CONTEXT
const { preferences, features } = (0, SCPreferencesProvider_1.useSCPreferences)();
const isPaymentsEnabled = (0, react_1.useMemo)(() => preferences &&
features &&
features.includes(types_1.SCFeatureName.PAYMENTS) &&
SCPreferences.CONFIGURATIONS_PAYMENTS_ENABLED in preferences &&
preferences[SCPreferences.CONFIGURATIONS_PAYMENTS_ENABLED].value, [preferences]);
const stripePublicKey = (0, react_1.useMemo)(() => preferences && SCPreferences.STATIC_STRIPE_PUBLIC_KEY in preferences && preferences[SCPreferences.STATIC_STRIPE_PUBLIC_KEY].value, [preferences]);
const stripeConnectedAccountId = (0, react_1.useMemo)(() => preferences &&
SCPreferences.CONFIGURATIONS_STRIPE_CONNECTED_ACCOUNT_ID in preferences &&
preferences[SCPreferences.CONFIGURATIONS_STRIPE_CONNECTED_ACCOUNT_ID].value, [preferences]);
return { isPaymentsEnabled, stripePublicKey, stripeConnectedAccountId };
}
exports.default = useSCPaymentsEnabled;
;