Feat/LOY-354 L7 Progress Card * feat(LOY-354): Add Trophy icon * fix(LOY-354): include new tierPoints value * feat(LOY-354): L7 Progress Level Card support * refactor(LOY-354): Refactoring of component structure * fix(LOY-354): Remove intl prop drilling * fix(LOY-354): cleanup progress section code Approved-by: Erik Tiekstra
91 lines
2.2 KiB
TypeScript
91 lines
2.2 KiB
TypeScript
import BouquetIcon from './Nucleo/Benefits/bouquet'
|
|
import DiscountIcon from './Nucleo/Benefits/discount-2-2'
|
|
import { MaterialIcon, type MaterialIconProps } from './MaterialIcon'
|
|
import PalmTreeIcon from './Nucleo/Experiences/palm-tree-2'
|
|
|
|
import type { IconProps } from './icon'
|
|
|
|
interface IconByCSSelectProps extends IconProps {
|
|
identifier: string
|
|
}
|
|
|
|
export default function IconByCSSelect({
|
|
identifier,
|
|
color = 'CurrentColor',
|
|
size = 24,
|
|
...props
|
|
}: IconByCSSelectProps) {
|
|
switch (identifier) {
|
|
// These are custom icons
|
|
case 'discount-2-2':
|
|
return <DiscountIcon size={size} color={color} {...props} />
|
|
case 'bouquet':
|
|
return <BouquetIcon size={size} color={color} {...props} />
|
|
case 'palm_tree':
|
|
return <PalmTreeIcon size={size} color={color} {...props} />
|
|
|
|
// These are all Material Icons
|
|
case 'electric_car':
|
|
case 'golf_course':
|
|
case 'museum':
|
|
case 'spa':
|
|
case 'airplane_ticket':
|
|
case 'apartment':
|
|
case 'attractions':
|
|
case 'award_star':
|
|
case 'beach_access':
|
|
case 'box':
|
|
case 'deck':
|
|
case 'directions_run':
|
|
case 'directions_subway':
|
|
case 'downhill_skiing':
|
|
case 'emoji_transportation':
|
|
case 'exercise':
|
|
case 'family_restroom':
|
|
case 'festival':
|
|
case 'forest':
|
|
case 'garage':
|
|
case 'hiking':
|
|
case 'houseboat':
|
|
case 'kayaking':
|
|
case 'landscape':
|
|
case 'location_city':
|
|
case 'location_on':
|
|
case 'loyalty':
|
|
case 'music_note':
|
|
case 'night_shelter':
|
|
case 'nightlife':
|
|
case 'pedal_bike':
|
|
case 'pets':
|
|
case 'pool':
|
|
case 'recommend':
|
|
case 'redeem':
|
|
case 'restaurant':
|
|
case 'sauna':
|
|
case 'sell':
|
|
case 'shopping_bag':
|
|
case 'sports_handball':
|
|
case 'sports_tennis':
|
|
case 'theater_comedy':
|
|
case 'things_to_do':
|
|
case 'tram':
|
|
case 'transit_ticket':
|
|
case 'travel':
|
|
case 'trophy':
|
|
case 'travel_luggage_and_bags':
|
|
case 'favorite':
|
|
return (
|
|
<MaterialIcon
|
|
icon={identifier as MaterialIconProps['icon']}
|
|
size={size}
|
|
color={color}
|
|
{...props}
|
|
/>
|
|
)
|
|
default:
|
|
return (
|
|
<MaterialIcon size={size} icon="favorite" color={color} {...props} />
|
|
)
|
|
}
|
|
}
|