1import React from 'react'; 2import rpx from '@/utils/rpx'; 3import {StyleSheet, Text, View} from 'react-native'; 4import Icon from 'react-native-vector-icons/MaterialCommunityIcons'; 5import {fontSizeConst} from '@/constants/uiConst'; 6 7interface IToastBaseProps { 8 text: string; 9 iconName: string; 10 iconColor: string; 11} 12function ToastBase(props: IToastBaseProps) { 13 const {text, iconName, iconColor} = props; 14 return ( 15 <View style={styles.toastBasic}> 16 <Icon style={styles.icon} name={iconName} color={iconColor} /> 17 <Text style={styles.text}>{text}</Text> 18 </View> 19 ); 20} 21 22const toastConfig = { 23 success: ({text1}: any) => ( 24 <ToastBase text={text1} iconName="check-circle" iconColor="#457236" /> 25 ), 26 warn: ({text1}: any) => ( 27 <ToastBase text={text1} iconName="alert-circle" iconColor="#de7622" /> 28 ), 29}; 30 31export default toastConfig; 32 33const styles = StyleSheet.create({ 34 toastBasic: { 35 width: rpx(600), 36 height: rpx(84), 37 borderRadius: rpx(48), 38 backgroundColor: '#fbeee2', 39 flexDirection: 'row', 40 alignItems: 'center', 41 paddingRight: fontSizeConst.content, 42 }, 43 text: { 44 fontSize: fontSizeConst.content, 45 includeFontPadding: false, 46 marginLeft: fontSizeConst.tag, 47 color: '#333333', 48 }, 49 icon: { 50 fontSize: fontSizeConst.appbar, 51 includeFontPadding: false, 52 marginLeft: fontSizeConst.content, 53 }, 54}); 55