From 0ee4fc2326311e3947ea2b37c9dee7a7698a7b56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20H=C3=BCsken?= Date: Thu, 6 Feb 2025 10:20:18 +0100 Subject: [PATCH 1/8] fix JS error --- .../resources/js/modules/Renderer/CardFieldsRenderer.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/modules/ppcp-button/resources/js/modules/Renderer/CardFieldsRenderer.js b/modules/ppcp-button/resources/js/modules/Renderer/CardFieldsRenderer.js index 96196d0cd..14e8148b6 100644 --- a/modules/ppcp-button/resources/js/modules/Renderer/CardFieldsRenderer.js +++ b/modules/ppcp-button/resources/js/modules/Renderer/CardFieldsRenderer.js @@ -58,7 +58,9 @@ class CardFieldsRenderer { }, onError( error ) { console.error( error ); - this.spinner.unblock(); + if (this.spinner) { + this.spinner.unblock(); + } }, } ); @@ -105,7 +107,9 @@ class CardFieldsRenderer { } cardFields.submit().catch( ( error ) => { - this.spinner.unblock(); + if (this.spinner) { + this.spinner.unblock(); + } console.error( error ); this.errorHandler.message( this.defaultConfig.hosted_fields.labels.fields_not_valid From 25ad71c9b9965b35cfbd1a8f64edc17c75c4dafd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20H=C3=BCsken?= Date: Thu, 6 Feb 2025 11:57:13 +0100 Subject: [PATCH 2/8] fix JS error --- .../js/modules/Renderer/CardFieldsRenderer.js | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/modules/ppcp-button/resources/js/modules/Renderer/CardFieldsRenderer.js b/modules/ppcp-button/resources/js/modules/Renderer/CardFieldsRenderer.js index 14e8148b6..901b34b0d 100644 --- a/modules/ppcp-button/resources/js/modules/Renderer/CardFieldsRenderer.js +++ b/modules/ppcp-button/resources/js/modules/Renderer/CardFieldsRenderer.js @@ -56,11 +56,9 @@ class CardFieldsRenderer { onApprove( data ) { return contextConfig.onApprove( data ); }, - onError( error ) { - console.error( error ); - if (this.spinner) { - this.spinner.unblock(); - } + onError: ( error ) => { + console.error( error ); + this.spinner.unblock(); }, } ); @@ -107,9 +105,7 @@ class CardFieldsRenderer { } cardFields.submit().catch( ( error ) => { - if (this.spinner) { - this.spinner.unblock(); - } + this.spinner.unblock(); console.error( error ); this.errorHandler.message( this.defaultConfig.hosted_fields.labels.fields_not_valid From fd6f8a1fe31fc9f8db5f5f8489424ef97490a811 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20H=C3=BCsken?= Date: Thu, 6 Feb 2025 12:37:23 +0100 Subject: [PATCH 3/8] removed credit card error message when oder can't create --- .../js/modules/Renderer/CardFieldsRenderer.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/modules/ppcp-button/resources/js/modules/Renderer/CardFieldsRenderer.js b/modules/ppcp-button/resources/js/modules/Renderer/CardFieldsRenderer.js index 901b34b0d..15511de69 100644 --- a/modules/ppcp-button/resources/js/modules/Renderer/CardFieldsRenderer.js +++ b/modules/ppcp-button/resources/js/modules/Renderer/CardFieldsRenderer.js @@ -106,10 +106,12 @@ class CardFieldsRenderer { cardFields.submit().catch( ( error ) => { this.spinner.unblock(); - console.error( error ); - this.errorHandler.message( - this.defaultConfig.hosted_fields.labels.fields_not_valid - ); + if (!error.type || error.type !== 'create-order-error') { + console.error( error ); + this.errorHandler.message( + this.defaultConfig.hosted_fields.labels.fields_not_valid + ); + } } ); } ); } From 8e02a424e035cd7687d5afb42f76d72734c12d3f Mon Sep 17 00:00:00 2001 From: Narek Zakarian Date: Tue, 18 Mar 2025 17:18:02 +0400 Subject: [PATCH 4/8] Expose the `Stringable` class --- scoper.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scoper.inc.php b/scoper.inc.php index dd73d2b36..fbb7ed395 100644 --- a/scoper.inc.php +++ b/scoper.inc.php @@ -46,6 +46,6 @@ return array( 'expose-namespaces' => array(), // list. 'expose-constants' => array(), // list. - 'expose-classes' => array(), // list. + 'expose-classes' => array( 'Stringable' ), // list. 'expose-functions' => array(), // list. ); From e70ee718856b8aca40ee4e7473e66575edb33c9c Mon Sep 17 00:00:00 2001 From: Narek Zakarian Date: Tue, 18 Mar 2025 17:44:55 +0400 Subject: [PATCH 5/8] Exclude the `Stringable` class --- scoper.inc.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scoper.inc.php b/scoper.inc.php index fbb7ed395..c1753a3dc 100644 --- a/scoper.inc.php +++ b/scoper.inc.php @@ -37,7 +37,7 @@ return array( '/^(?!Psr).*/', // Exclude all namespaces except those starting with "Psr". ), // list. 'exclude-constants' => array(), // list. - 'exclude-classes' => array(), // list. + 'exclude-classes' => array( 'Stringable' ), // list. 'exclude-functions' => array(), // list. 'expose-global-constants' => false, // bool. @@ -46,6 +46,6 @@ return array( 'expose-namespaces' => array(), // list. 'expose-constants' => array(), // list. - 'expose-classes' => array( 'Stringable' ), // list. + 'expose-classes' => array(), // list. 'expose-functions' => array(), // list. ); From 65a9fdcc70e33f435c2281d9132f66ed1431ac99 Mon Sep 17 00:00:00 2001 From: Narek Zakarian Date: Tue, 18 Mar 2025 18:08:25 +0400 Subject: [PATCH 6/8] Exclude the `Stringable` as a file since it is an interface, not a class --- scoper.inc.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/scoper.inc.php b/scoper.inc.php index c1753a3dc..66ae7017c 100644 --- a/scoper.inc.php +++ b/scoper.inc.php @@ -32,20 +32,20 @@ return array( 'prefix' => 'WooCommerce\\PayPalCommerce\\Vendor', 'finders' => $finders, 'patchers' => array(), - 'exclude-files' => array(), // list. + 'exclude-files' => array( 'vendor/symfony/polyfill-php80/Resources/stubs/Stringable.php' ), // list. 'exclude-namespaces' => array( '/^(?!Psr).*/', // Exclude all namespaces except those starting with "Psr". ), // list. 'exclude-constants' => array(), // list. - 'exclude-classes' => array( 'Stringable' ), // list. + 'exclude-classes' => array(), // list. 'exclude-functions' => array(), // list. 'expose-global-constants' => false, // bool. - 'expose-global-classes' => false, // bool. + 'expose-global-classes' => false, // bool. 'expose-global-functions' => false, // bool. 'expose-namespaces' => array(), // list. - 'expose-constants' => array(), // list. - 'expose-classes' => array(), // list. - 'expose-functions' => array(), // list. + 'expose-constants' => array(), // list. + 'expose-classes' => array(), // list. + 'expose-functions' => array(), // list. ); From 0d4da6dabd3efc8cd4b224c64e188eef92897c09 Mon Sep 17 00:00:00 2001 From: Daniel Dudzic Date: Tue, 18 Mar 2025 21:16:06 +0100 Subject: [PATCH 7/8] Add Minor Features scrolling/highlight fixes --- .../Settings/Components/Overview/Features/FeatureItem.js | 5 ++++- .../src/Data/Definition/FeaturesDefinition.php | 7 ++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/modules/ppcp-settings/resources/js/Components/Screens/Settings/Components/Overview/Features/FeatureItem.js b/modules/ppcp-settings/resources/js/Components/Screens/Settings/Components/Overview/Features/FeatureItem.js index 4f3e375d3..85fe38f7c 100644 --- a/modules/ppcp-settings/resources/js/Components/Screens/Settings/Components/Overview/Features/FeatureItem.js +++ b/modules/ppcp-settings/resources/js/Components/Screens/Settings/Components/Overview/Features/FeatureItem.js @@ -32,7 +32,10 @@ const FeatureItem = ( { ); const handleClick = async ( feature ) => { if ( feature.action?.type === 'tab' ) { - const highlight = Boolean( feature.action?.highlight ); + const highlight = + feature.action?.highlight === undefined + ? true + : Boolean( feature.action.highlight ); const tabId = TAB_IDS[ feature.action.tab.toUpperCase() ]; await selectTab( tabId, feature.action.section, highlight ); } diff --git a/modules/ppcp-settings/src/Data/Definition/FeaturesDefinition.php b/modules/ppcp-settings/src/Data/Definition/FeaturesDefinition.php index 1cc635422..c9e75191f 100644 --- a/modules/ppcp-settings/src/Data/Definition/FeaturesDefinition.php +++ b/modules/ppcp-settings/src/Data/Definition/FeaturesDefinition.php @@ -153,7 +153,6 @@ class FeaturesDefinition { 'type' => 'tab', 'tab' => 'payment_methods', 'section' => 'ppcp-credit-card-gateway', - 'highlight' => 'ppcp-credit-card-gateway', 'modal' => 'ppcp-credit-card-gateway', ), 'showWhen' => 'enabled', @@ -189,7 +188,7 @@ class FeaturesDefinition { 'type' => 'tab', 'tab' => 'payment_methods', 'section' => 'ppcp-alternative-payments-card', - 'highlight' => 'ppcp-alternative-payments-card', + 'highlight' => false ), 'showWhen' => 'enabled', 'class' => 'small-button', @@ -221,7 +220,6 @@ class FeaturesDefinition { 'type' => 'tab', 'tab' => 'payment_methods', 'section' => 'ppcp-googlepay', - 'highlight' => 'ppcp-googlepay', 'modal' => 'ppcp-googlepay', ), 'showWhen' => 'enabled', @@ -259,8 +257,7 @@ class FeaturesDefinition { 'action' => array( 'type' => 'tab', 'tab' => 'payment_methods', - 'section' => 'ppcp-card-payments-card', - 'highlight' => 'ppcp-applepay', + 'section' => 'ppcp-applepay', 'modal' => 'ppcp-applepay', ), 'showWhen' => 'enabled', From e6e8415c677b55a9f0c16ae36d078f77d9d1c05c Mon Sep 17 00:00:00 2001 From: Daniel Dudzic Date: Tue, 18 Mar 2025 21:43:37 +0100 Subject: [PATCH 8/8] Fix PHPCS linting issues --- .../Data/Definition/FeaturesDefinition.php | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/modules/ppcp-settings/src/Data/Definition/FeaturesDefinition.php b/modules/ppcp-settings/src/Data/Definition/FeaturesDefinition.php index c9e75191f..0930ece52 100644 --- a/modules/ppcp-settings/src/Data/Definition/FeaturesDefinition.php +++ b/modules/ppcp-settings/src/Data/Definition/FeaturesDefinition.php @@ -150,10 +150,10 @@ class FeaturesDefinition { 'type' => 'secondary', 'text' => __( 'Configure', 'woocommerce-paypal-payments' ), 'action' => array( - 'type' => 'tab', - 'tab' => 'payment_methods', - 'section' => 'ppcp-credit-card-gateway', - 'modal' => 'ppcp-credit-card-gateway', + 'type' => 'tab', + 'tab' => 'payment_methods', + 'section' => 'ppcp-credit-card-gateway', + 'modal' => 'ppcp-credit-card-gateway', ), 'showWhen' => 'enabled', 'class' => 'small-button', @@ -188,7 +188,7 @@ class FeaturesDefinition { 'type' => 'tab', 'tab' => 'payment_methods', 'section' => 'ppcp-alternative-payments-card', - 'highlight' => false + 'highlight' => false, ), 'showWhen' => 'enabled', 'class' => 'small-button', @@ -217,10 +217,10 @@ class FeaturesDefinition { 'type' => 'secondary', 'text' => __( 'Configure', 'woocommerce-paypal-payments' ), 'action' => array( - 'type' => 'tab', - 'tab' => 'payment_methods', - 'section' => 'ppcp-googlepay', - 'modal' => 'ppcp-googlepay', + 'type' => 'tab', + 'tab' => 'payment_methods', + 'section' => 'ppcp-googlepay', + 'modal' => 'ppcp-googlepay', ), 'showWhen' => 'enabled', 'class' => 'small-button', @@ -255,10 +255,10 @@ class FeaturesDefinition { 'type' => 'secondary', 'text' => __( 'Configure', 'woocommerce-paypal-payments' ), 'action' => array( - 'type' => 'tab', - 'tab' => 'payment_methods', - 'section' => 'ppcp-applepay', - 'modal' => 'ppcp-applepay', + 'type' => 'tab', + 'tab' => 'payment_methods', + 'section' => 'ppcp-applepay', + 'modal' => 'ppcp-applepay', ), 'showWhen' => 'enabled', 'class' => 'small-button',