1*0cffb46aS猫头猫import React from 'react'; 2*0cffb46aS猫头猫import {StyleSheet, TextProps} from 'react-native'; 3*0cffb46aS猫头猫import {fontSizeConst, fontWeightConst} from '@/constants/uiConst'; 4*0cffb46aS猫头猫import {TouchableOpacity} from 'react-native-gesture-handler'; 5*0cffb46aS猫头猫import openUrl from '@/utils/openUrl'; 6*0cffb46aS猫头猫import ThemeText from './themeText'; 7*0cffb46aS猫头猫 8*0cffb46aS猫头猫type ILinkTextProps = TextProps & { 9*0cffb46aS猫头猫 fontSize?: keyof typeof fontSizeConst; 10*0cffb46aS猫头猫 fontWeight?: keyof typeof fontWeightConst; 11*0cffb46aS猫头猫 linkTo?: string; 12*0cffb46aS猫头猫}; 13*0cffb46aS猫头猫 14*0cffb46aS猫头猫export default function LinkText(props: ILinkTextProps) { 15*0cffb46aS猫头猫 return ( 16*0cffb46aS猫头猫 <TouchableOpacity 17*0cffb46aS猫头猫 onPress={() => { 18*0cffb46aS猫头猫 props?.linkTo && openUrl(props.linkTo); 19*0cffb46aS猫头猫 }}> 20*0cffb46aS猫头猫 <ThemeText {...props} style={style.linkText}> 21*0cffb46aS猫头猫 {props.children} 22*0cffb46aS猫头猫 </ThemeText> 23*0cffb46aS猫头猫 </TouchableOpacity> 24*0cffb46aS猫头猫 ); 25*0cffb46aS猫头猫} 26*0cffb46aS猫头猫 27*0cffb46aS猫头猫const style = StyleSheet.create({ 28*0cffb46aS猫头猫 linkText: { 29*0cffb46aS猫头猫 color: '#66ccff', 30*0cffb46aS猫头猫 textDecorationLine: 'underline', 31*0cffb46aS猫头猫 }, 32*0cffb46aS猫头猫}); 33