UNPKG

@adyen/react-native

Version:

Wraps Adyen Checkout Drop-In and Components for iOS and Android for convenient use with React Native

37 lines (32 loc) 1.08 kB
import { ConfigPlugin, withMainActivity, withAndroidStyles, } from '@expo/config-plugins'; import { setAppTheme } from './setAppTheme'; import { setKotlinMainActivity } from './setKotlinMainActivity'; import { setJavaMainActivity } from './setJavaMainActivity'; export const withAdyenAndroid: ConfigPlugin = (config) => { config = withMainActivity(config, async (newConfig) => { const mainActivity = newConfig.modResults; if (mainActivity.contents.includes('AdyenCheckout')) { return newConfig; } if (mainActivity.language === 'java') { mainActivity.contents = setJavaMainActivity(mainActivity.contents); } else { const sdkVersion = config.sdkVersion ?? '49.0.0'; const version = parseInt(sdkVersion.split('.')[0]); mainActivity.contents = setKotlinMainActivity( mainActivity.contents, version ); } return newConfig; }); config = withAndroidStyles(config, async (newConfig) => { newConfig.modResults = setAppTheme(newConfig.modResults); return newConfig; }); return config; };