import CircleCheckIcon from '@/assets/icons/circle-check-solid.svg'; import { colors } from '@/assets/styles/colors'; import { ReservaData } from '@/assets/types'; import styles from '@/styles/screens/reserva/detail.styles'; import { Text, View } from 'react-native'; type Props = { reserva: ReservaData; }; const formatEuro = (value: string) => { const n = parseFloat(value || '0'); return `€${n.toLocaleString('pt-PT', { minimumFractionDigits: 0, maximumFractionDigits: 0, })}`; }; export function ValorReservaCard({ reserva }: Props) { const total = parseFloat(reserva.precoTotalFinal || '0'); const pago = parseFloat(reserva.valorPago || '0'); const emFalta = parseFloat(reserva.valorAPagar || '0'); const isFullyPaid = emFalta <= 0; const percent = isFullyPaid ? 100 : total > 0 ? Math.min(100, Math.max(0, (pago / total) * 100)) : 0; return ( Valor da Reserva {formatEuro(reserva.precoTotalFinal)} Valor Total Pago {formatEuro(reserva.valorPago)} {percent > 0 && ( )} {isFullyPaid ? ( Pago ) : ( <> Em Falta {formatEuro(reserva.valorAPagar)} )} ); }