1*e650bfb3S猫头猫import useColors from '@/hooks/useColors'; 2*e650bfb3S猫头猫import rpx from '@/utils/rpx'; 3*e650bfb3S猫头猫import Color from 'color'; 4*e650bfb3S猫头猫import React from 'react'; 5*e650bfb3S猫头猫import {StyleSheet, TextInput, TextInputProps} from 'react-native'; 6*e650bfb3S猫头猫 7*e650bfb3S猫头猫interface IInputProps extends TextInputProps { 8*e650bfb3S猫头猫 fontColor?: string; 9*e650bfb3S猫头猫 hasHorizonalPadding?: boolean; 10*e650bfb3S猫头猫} 11*e650bfb3S猫头猫 12*e650bfb3S猫头猫export default function Input(props: IInputProps) { 13*e650bfb3S猫头猫 const {fontColor, hasHorizonalPadding = true} = props; 14*e650bfb3S猫头猫 const colors = useColors(); 15*e650bfb3S猫头猫 16*e650bfb3S猫头猫 const currentColor = fontColor ?? colors.text; 17*e650bfb3S猫头猫 18*e650bfb3S猫头猫 const defaultStyle = { 19*e650bfb3S猫头猫 color: currentColor, 20*e650bfb3S猫头猫 }; 21*e650bfb3S猫头猫 22*e650bfb3S猫头猫 return ( 23*e650bfb3S猫头猫 <TextInput 24*e650bfb3S猫头猫 placeholderTextColor={Color(currentColor).alpha(0.7).toString()} 25*e650bfb3S猫头猫 {...props} 26*e650bfb3S猫头猫 style={[ 27*e650bfb3S猫头猫 hasHorizonalPadding 28*e650bfb3S猫头猫 ? styles.container 29*e650bfb3S猫头猫 : styles.containerWithoutPadding, 30*e650bfb3S猫头猫 defaultStyle, 31*e650bfb3S猫头猫 props?.style, 32*e650bfb3S猫头猫 ]} 33*e650bfb3S猫头猫 /> 34*e650bfb3S猫头猫 ); 35*e650bfb3S猫头猫} 36*e650bfb3S猫头猫 37*e650bfb3S猫头猫const styles = StyleSheet.create({ 38*e650bfb3S猫头猫 container: { 39*e650bfb3S猫头猫 paddingVertical: 0, 40*e650bfb3S猫头猫 paddingHorizontal: rpx(24), 41*e650bfb3S猫头猫 }, 42*e650bfb3S猫头猫 containerWithoutPadding: { 43*e650bfb3S猫头猫 padding: 0, 44*e650bfb3S猫头猫 }, 45*e650bfb3S猫头猫}); 46