import React, { memo } from 'react'; import { StyleSheet, Text, View } from 'react-native'; import { useTheme, fontFamily } from '../../../theme'; import { formatCurrency } from '../../../utils/formatters'; import type { LoanEmiScheduleItem } from '../../../types/app'; interface EmiScheduleRowProps { item: LoanEmiScheduleItem; isHeader?: boolean; } const EmiScheduleRowComponent = ({ item, isHeader }: EmiScheduleRowProps) => { const theme = useTheme(); if (isHeader) { return ( Month EMI Principal Interest Balance ); } return ( {item.month} {formatCurrency(item.emiAmount)} {formatCurrency(item.principalComponent)} {formatCurrency(item.interestComponent)} {formatCurrency(item.outstandingAfter)} ); }; const styles = StyleSheet.create({ row: { flexDirection: 'row', paddingVertical: 10, borderBottomWidth: 1, }, headerRow: { paddingVertical: 8, borderBottomWidth: 2, }, cell: { flex: 1, fontSize: 11, fontFamily: fontFamily.medium, textAlign: 'right', }, monthCell: { flex: 0.5, textAlign: 'center', }, headerText: { fontSize: 10, fontFamily: fontFamily.bold, textTransform: 'uppercase', letterSpacing: 0.3, }, }); export const EmiScheduleRow = memo(EmiScheduleRowComponent);