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);