From e72b7deb09ea89410bafccbbb4b0e49a9eb9a536 Mon Sep 17 00:00:00 2001 From: Daniel Dudzic Date: Mon, 24 Feb 2025 16:23:37 +0100 Subject: [PATCH] Additional fixes. Fix logic for Google Pay and Apple Pay --- .../Screens/Overview/TabPayLaterMessaging.js | 2 +- .../Components/Overview/Features/Features.js | 4 ++-- .../resources/js/data/common/hooks.js | 2 ++ .../resources/js/data/todos/hooks.js | 3 ++- modules/ppcp-settings/services.php | 15 ++++++++++----- 5 files changed, 17 insertions(+), 9 deletions(-) diff --git a/modules/ppcp-settings/resources/js/Components/Screens/Overview/TabPayLaterMessaging.js b/modules/ppcp-settings/resources/js/Components/Screens/Overview/TabPayLaterMessaging.js index 274ef91c2..37adfe648 100644 --- a/modules/ppcp-settings/resources/js/Components/Screens/Overview/TabPayLaterMessaging.js +++ b/modules/ppcp-settings/resources/js/Components/Screens/Overview/TabPayLaterMessaging.js @@ -1,5 +1,5 @@ -import React, { useEffect } from 'react'; import { PayLaterMessagingHooks } from '../../../data'; +import { useEffect } from '@wordpress/element'; const TabPayLaterMessaging = () => { const { diff --git a/modules/ppcp-settings/resources/js/Components/Screens/Settings/Components/Overview/Features/Features.js b/modules/ppcp-settings/resources/js/Components/Screens/Settings/Components/Overview/Features/Features.js index c8997979a..c8a20186d 100644 --- a/modules/ppcp-settings/resources/js/Components/Screens/Settings/Components/Overview/Features/Features.js +++ b/modules/ppcp-settings/resources/js/Components/Screens/Settings/Components/Overview/Features/Features.js @@ -78,12 +78,12 @@ const Features = () => { contentContainer={ false } > - { features.map( ( { id, isEligible, ...feature } ) => ( + { features.map( ( { id, enabled, ...feature } ) => ( ) ) } diff --git a/modules/ppcp-settings/resources/js/data/common/hooks.js b/modules/ppcp-settings/resources/js/data/common/hooks.js index fd6ba3157..7de9e24a0 100644 --- a/modules/ppcp-settings/resources/js/data/common/hooks.js +++ b/modules/ppcp-settings/resources/js/data/common/hooks.js @@ -168,6 +168,7 @@ export const useMerchantInfo = () => { const { features } = useHooks(); const merchant = useMerchant(); const { refreshMerchantData, setMerchant } = useDispatch( STORE_NAME ); + const { isReady } = useStore(); const verifyLoginStatus = useCallback( async () => { const result = await refreshMerchantData(); @@ -193,6 +194,7 @@ export const useMerchantInfo = () => { merchant, // Merchant details features, // Eligible merchant features verifyLoginStatus, // Callback + isReady, }; }; diff --git a/modules/ppcp-settings/resources/js/data/todos/hooks.js b/modules/ppcp-settings/resources/js/data/todos/hooks.js index 5ce97a636..42f02989a 100644 --- a/modules/ppcp-settings/resources/js/data/todos/hooks.js +++ b/modules/ppcp-settings/resources/js/data/todos/hooks.js @@ -95,7 +95,8 @@ export const useStore = () => { export const useTodos = () => { const { todos, fetchTodos, dismissTodo, setTodoCompleted } = useHooks(); - return { todos, fetchTodos, dismissTodo, setTodoCompleted }; + const { isReady } = useStore(); + return { todos, fetchTodos, dismissTodo, setTodoCompleted, isReady }; }; export const useDismissedTodos = () => { diff --git a/modules/ppcp-settings/services.php b/modules/ppcp-settings/services.php index bc1bfd110..d2dd9df97 100644 --- a/modules/ppcp-settings/services.php +++ b/modules/ppcp-settings/services.php @@ -479,13 +479,13 @@ return array( $container->get( 'googlepay.eligible' ) && $capabilities['google_pay'] && ! $gateways['google_pay'], ); }, - 'settings.rest.features' => static function ( ContainerInterface $container ) : FeaturesRestEndpoint { + 'settings.rest.features' => static function ( ContainerInterface $container ) : FeaturesRestEndpoint { return new FeaturesRestEndpoint( $container->get( 'settings.data.definition.features' ), $container->get( 'settings.rest.settings' ) ); }, - 'settings.data.definition.features' => static function ( ContainerInterface $container ) : FeaturesDefinition { + 'settings.data.definition.features' => static function ( ContainerInterface $container ) : FeaturesDefinition { $features = apply_filters( 'woocommerce_paypal_payments_rest_common_merchant_features', array() @@ -511,8 +511,8 @@ return array( 'save_paypal' => $capabilities['save_paypal'], // Save PayPal and Venmo eligibility. 'acdc' => $capabilities['acdc'] && ! $gateways['card-button'], // Advanced credit and debit cards eligibility. 'apm' => $capabilities['apm'], // Alternative payment methods eligibility. - 'google_pay' => $capabilities['acdc'] && ! $capabilities['google_pay'], // Google Pay eligibility. - 'apple_pay' => $capabilities['acdc'] && ! $capabilities['apple_pay'], // Apple Pay eligibility. + 'google_pay' => $capabilities['acdc'] && $capabilities['google_pay'], // Google Pay eligibility. + 'apple_pay' => $capabilities['acdc'] && $capabilities['apple_pay'], // Apple Pay eligibility. 'pay_later' => $capabilities['paylater'], ); return new FeaturesDefinition( @@ -521,7 +521,7 @@ return array( $merchant_capabilities ); }, - 'settings.service.features_eligibilities' => static function( ContainerInterface $container ): FeaturesEligibilityService { + 'settings.service.features_eligibilities' => static function( ContainerInterface $container ): FeaturesEligibilityService { $messages_apply = $container->get( 'button.helper.messages-apply' ); assert( $messages_apply instanceof MessagesApply ); @@ -540,4 +540,9 @@ return array( $pay_later_eligible, // Pay Later eligibility. ); }, + 'settings.service.todos_sorting' => static function ( ContainerInterface $container ) : TodosSortingAndFilteringService { + return new TodosSortingAndFilteringService( + $container->get( 'settings.data.todos' ) + ); + }, );