import React from 'react'; import { I18nManager, ViewStyle } from 'react-native'; import Svg, { Path, Defs, LinearGradient, Stop } from 'react-native-svg'; export type StarIconProps = { index: number; size: number; color: string; type: 'full' | 'half' | 'quarter' | 'three-quarter' | 'empty'; }; const RTL_TRANSFORM: ViewStyle = { transform: [{ rotateY: '180deg' }], }; const StarBorder = ({ size, color }: Omit) => ( ); const StarFull = ({ size, color, index }: Omit) => { const gradientId = `full-gradient-${index}`; return ( ); }; const StarQuarter = ({ size, color, index }: Omit) => { const gradientId = `quarter-gradient-${index}`; return ( ); }; const StarThreeQuarter = ({ size, color, index }: Omit) => { const gradientId = `three-quarter-gradient-${index}`; return ( ); }; const StarHalf = ({ size, color, index }: Omit) => { const gradientId = `half-gradient-${index}`; return ( ); }; const getStarComponent = (type: StarIconProps['type']) => { switch (type) { case 'full': return StarFull; case 'half': return StarHalf; case 'quarter': return StarQuarter; case 'three-quarter': return StarThreeQuarter; default: return StarBorder; } }; const StarIcon = ({ index, type, size, color }: StarIconProps) => { const Component = getStarComponent(type); return ; }; export default StarIcon;