woocommerce/plugins/woocommerce-admin/client/settings-recommendations/recommendations-eligibility...

41 lines
1.0 KiB
TypeScript
Raw Normal View History

/**
* External dependencies
*/
2022-04-21 04:44:19 +00:00
import { useSelect, select as wpDataSelect } from '@wordpress/data';
import { useUser, OPTIONS_STORE_NAME } from '@woocommerce/data';
const SHOW_MARKETPLACE_SUGGESTION_OPTION =
'woocommerce_show_marketplace_suggestions';
const RecommendationsEligibilityWrapper: React.FC = ( { children } ) => {
const { currentUserCan } = useUser();
2022-04-21 04:44:19 +00:00
const isMarketplaceSuggestionsEnabled = useSelect(
( select: typeof wpDataSelect ) => {
const { getOption, hasFinishedResolution } = select(
OPTIONS_STORE_NAME
);
const hasFinishedResolving = hasFinishedResolution( 'getOption', [
SHOW_MARKETPLACE_SUGGESTION_OPTION,
] );
const canShowMarketplaceSuggestions =
getOption( SHOW_MARKETPLACE_SUGGESTION_OPTION ) !== 'no';
return hasFinishedResolving && canShowMarketplaceSuggestions;
}
);
if ( ! currentUserCan( 'install_plugins' ) ) {
return null;
}
if ( ! isMarketplaceSuggestionsEnabled ) {
return null;
}
return <>{ children }</>;
};
export default RecommendationsEligibilityWrapper;