import { __ } from '@wordpress/i18n'; import { useCallback } from '@wordpress/element'; import SettingsCard from '../../../ReusableComponents/SettingsCard'; import { PaymentMethodsBlock } from '../../../ReusableComponents/SettingsBlocks'; import { CommonHooks, OnboardingHooks, PaymentHooks } from '../../../../data'; import { useActiveModal } from '../../../../data/common/hooks'; import Modal from '../Components/Payment/Modal'; const TabPaymentMethods = () => { const methods = PaymentHooks.usePaymentMethods(); const { setPersistent, changePaymentSettings } = PaymentHooks.useStore(); const { activeModal, setActiveModal } = useActiveModal(); const getActiveMethod = () => { if ( ! activeModal ) { return null; } return methods.all.find( ( method ) => method.id === activeModal ); }; const handleSave = useCallback( ( methodId, settings ) => { changePaymentSettings( methodId, { title: settings.checkoutPageTitle, description: settings.checkoutPageDescription, } ); const persistentSettings = [ 'paypalShowLogo', 'threeDSecure', 'fastlaneCardholderName', 'fastlaneDisplayWatermark', ]; persistentSettings.forEach( ( setting ) => { if ( setting in settings ) { // TODO: Create a dedicated setter for those values. setPersistent( setting, settings[ setting ] ); } } ); setActiveModal( null ); }, [ changePaymentSettings, setActiveModal, setPersistent ] ); const merchant = CommonHooks.useMerchant(); const { canUseCardPayments } = OnboardingHooks.useFlags(); return (