import React from 'react'; import { TouchableHighlight, TouchableOpacity, Platform, TouchableNativeFeedback, TouchableWithoutFeedback, StyleProp, ViewStyle, } from 'react-native'; export enum ButtonEffectType { Native = 'native', Opacity = 'opacity', Highlite = 'highlite', None = 'none', } export interface ButtonContainerProps { effectType: ButtonEffectType; style?: StyleProp; onPress: () => void; } const ButtonContainer: React.FC = ({ children, effectType, onPress, ...rest }) => { switch (effectType) { case ButtonEffectType.None: return ( {children} ); case ButtonEffectType.Highlite: return ( {children} ); case ButtonEffectType.Opacity: return ( {children} ); case ButtonEffectType.Native: return ( {children} ); case ButtonEffectType.Native: if (Platform.OS === 'android') { return ( {children} ); } return ( {children} ); } }; export default ButtonContainer;