import UserSvg from '@/assets/icons/svg/ataver.svg'; import SettingSvg from '@/assets/icons/svg/setting.svg'; import StarSvg from '@/assets/icons/svg/star.svg'; import { ThemedText } from '@/components/ThemedText'; import { UserInfoDetails } from '@/types/user'; import { useRouter } from 'expo-router'; import { useState } from 'react'; import { Image, ScrollView, StyleSheet, TouchableOpacity, View } from 'react-native'; import CopyButton from '../copy'; export default function UserInfo({ userInfo }: { userInfo: UserInfoDetails }) { // 添加状态来跟踪图片加载状态 const [imageError, setImageError] = useState(false); const router = useRouter(); return ( {/* 头像 */} {userInfo?.user_info?.avatar_file_url && !imageError ? ( { setImageError(true); }} /> ) : ( )} {/* 用户名 */} {userInfo?.user_info?.nickname} { userInfo?.medal_infos?.map((item, index) => ( )) } {userInfo?.remain_points} User ID:{userInfo?.user_info?.user_id} { router.push('/setting'); }} activeOpacity={0.7} hitSlop={{ top: 10, bottom: 10, left: 10, right: 10 }} style={styles.text} > ); } const styles = StyleSheet.create({ text: { fontSize: 12, fontWeight: '700', color: '#AC7E35', borderColor: '#FFD18A', borderWidth: 1, borderRadius: 20, padding: 4, textAlign: "center", alignItems: "center", paddingVertical: 6, paddingHorizontal: 12 } });