import React from 'react'; import { View, TouchableOpacity, Image, type ImageSourcePropType } from 'react-native'; import MaterialIcons from '@expo/vector-icons/MaterialIcons'; import { ThemedText } from '@/components/themed-text'; import { deriveInitials, type IdentityStat } from '@/utils/profile-data'; export function ProfileIdentity({ displayName, avatarSource, avatarSize, stats, onEdit, }: { displayName: string; avatarSource?: ImageSourcePropType; avatarSize: number; stats: IdentityStat[]; onEdit: () => void; }) { const palette = darkPalette; return ( {displayName} Edit ); } function Avatar({ palette, size, source, fallback, }: { palette: any; size: number; source?: ImageSourcePropType; fallback: string; }) { const initials = deriveInitials(fallback); return ( {source ? ( ) : ( {initials} )} ); } function StatItem({ palette, label, value }: { palette: any; label: string; value: number }) { return ( {value} {label} ); } const darkPalette = { textPrimary: '#F6F7FA', textSecondary: '#8E9098', avatarBackdrop: '#1F2026', surface: '#121216', border: '#1D1E24', }; const lightPalette = { textPrimary: '#0F1320', textSecondary: '#5E6474', avatarBackdrop: '#D5D8E2', surface: '#FFFFFF', border: '#E2E5ED', }; const styles = { identityRow: { flexDirection: 'row' as const, alignItems: 'center' as const, marginBottom: 24, }, avatarShell: { alignItems: 'center' as const, justifyContent: 'center' as const, }, avatarInitials: { fontSize: 28, fontWeight: '700' as const, }, identityDetails: { flex: 1, marginLeft: 18, }, nameRow: { flexDirection: 'row' as const, alignItems: 'center' as const, marginBottom: 10, }, username: { flex: 1, fontSize: 20, fontWeight: '700' as const, marginRight: 12, }, editButton: { flexDirection: 'row' as const, alignItems: 'center' as const, borderRadius: 999, borderWidth: 1, paddingHorizontal: 20, paddingVertical: 8, }, editIcon: { marginRight: 6, }, editLabel: { fontSize: 14, fontWeight: '600' as const, }, statRow: { flexDirection: 'row' as const, alignItems: 'center' as const, }, statItem: { flexDirection: 'row' as const, alignItems: 'baseline' as const, marginRight: 18, }, statValue: { fontSize: 15, fontWeight: '700' as const, marginRight: 4, }, statLabel: { fontSize: 13, fontWeight: '500' as const, textTransform: 'lowercase' as const, }, };