2026-07-01 09:55:55 +05:30

44 lines
1.2 KiB
TypeScript

import React from 'react';
import { View, Text, TouchableOpacity } from 'react-native';
import { ProviderCardProps } from './providerCard.props';
import { getStyles } from './providerCard.styles';
import { useAppTheme } from '@theme';
export const ProviderCard: React.FC<ProviderCardProps> = ({
imageUrl,
name,
rating,
deliveryTime,
tag,
discountText,
onPress,
}) => {
const { colors } = useAppTheme();
const styles = getStyles(colors);
return (
<TouchableOpacity
style={styles.container}
onPress={onPress}
activeOpacity={0.8}
>
<View style={styles.image}>
<Text style={styles.imagePlaceholder}>{imageUrl || '🍽️'}</Text>
</View>
<View style={styles.info}>
<Text style={styles.name} numberOfLines={1}>{name}</Text>
<View style={styles.row}>
<Text style={styles.rating}> {rating.toFixed(1)}</Text>
<Text style={styles.deliveryTime}>🕐 {deliveryTime}</Text>
</View>
<Text style={styles.tag}>{tag}</Text>
{discountText && (
<View style={styles.discountBadge}>
<Text style={styles.discountText}>{discountText}</Text>
</View>
)}
</View>
</TouchableOpacity>
);
};