import React from 'react'; import { ViewStyle, TextStyle } from 'react-native'; import { Feather, Ionicons, MaterialCommunityIcons, FontAwesome5 } from '@expo/vector-icons'; interface IconProps { name: string; size?: number; color?: string; style?: ViewStyle | TextStyle; } // Icon component with unified interface export const Icon: React.FC = ({ name, size = 24, color = '#000', style }) => { // Map custom names to actual icon library icons switch (name) { // Tab icons case 'flow': return ; case 'vault': return ; case 'sentinel': return ; case 'heritage': return ; case 'me': return ; // Asset type icons case 'game': return ; case 'key': return ; case 'document': return ; case 'photo': return ; case 'will': return ; case 'custom': return ; // Action icons case 'add': return ; case 'check': return ; case 'lock': return ; case 'unlock': return ; case 'shield': return ; case 'fingerprint': return ; case 'encrypted': return ; // Input type icons case 'text': return ; case 'voice': return ; case 'image': return ; // Status icons case 'statusnormal': return ; case 'statuswarning': return ; case 'statusreleasing': return ; // Navigation icons case 'arrowRight': return ; case 'arrowUp': return ; case 'chevronRight': return ; case 'close': return ; // Other icons case 'heartbeat': return ; case 'warningSign': return ; case 'info': return ; case 'settings': return ; case 'clock': return ; case 'calendar': return ; case 'link': return ; case 'github': return ; case 'mail': return ; case 'privacy': return ; case 'terms': return ; case 'wave': return ; case 'palm': return ; case 'sun': return ; case 'star': return ; case 'heart': return ; case 'users': return ; case 'gift': return ; case 'zap': return ; default: return ; } }; // Predefined icon components for common use cases export const GameIcon = (props: Omit) => ( ); export const KeyIcon = (props: Omit) => ( ); export const DocumentIcon = (props: Omit) => ( ); export const PhotoIcon = (props: Omit) => ( ); export const WillIcon = (props: Omit) => ( ); export const CustomIcon = (props: Omit) => ( ); export const CheckIcon = (props: Omit) => ( ); export const LockIcon = (props: Omit) => ( ); export const ShieldIcon = (props: Omit) => ( );