expo_template/components/theme/ui/ThemedIcon.tsx

35 lines
735 B
TypeScript

import React from 'react';
import { StyleSheet, ViewProps } from 'react-native';
import { Ionicons } from '@expo/vector-icons'; // Or your preferred icon library
import { Colors } from '@/constants/Colors';
import { useColorScheme } from '@/hooks/useColorScheme';
type ThemedIconProps = ViewProps & {
name: string;
size?: number;
color?: string;
};
const ThemedIcon: React.FC<ThemedIconProps> = ({
name,
size = 24,
color,
style,
...restProps
}) => {
const scheme = useColorScheme() ?? 'dark';
const iconColor = color || Colors[scheme].text;
return (
<Ionicons
name={name}
size={size}
color={iconColor}
style={style}
{...restProps}
/>
);
};
export default ThemedIcon;