import React from 'react'; import { StyleSheet, Image, ImageProps, View } from 'react-native'; import { ThemedText } from '@/components/theme'; import { Colors } from '@/constants/Colors'; import { useColorScheme } from '@/hooks/useColorScheme'; type ThemedAvatarProps = Omit & { size?: number; source?: ImageProps['source']; name?: string; borderWidth?: number; borderColor?: string; }; const ThemedAvatar: React.FC = ({ size = 50, source, name, borderWidth = 0, borderColor, style, ...restProps }) => { const scheme = useColorScheme() ?? 'dark'; const border = borderColor || Colors[scheme].tint; // Get initials from name const getInitials = (name?: string) => { if (!name) return ''; return name .split(' ') .map(part => part[0]) .join('') .toUpperCase() .substring(0, 2); }; const initials = getInitials(name); return ( {source ? ( ) : ( {initials} )} ); }; const styles = StyleSheet.create({ container: { alignItems: 'center', justifyContent: 'center', overflow: 'hidden', }, }); export default ThemedAvatar;