import { Text, View } from "@react-pdf/renderer";

import type { PdfReportEstateSummary } from "@/pdf/types";
import { reportStyles } from "@/pdf/styles/report-styles";
import { formatCurrency } from "@/utils/formatting";

interface EstateSummaryProps {
  estate: PdfReportEstateSummary;
}

function summaryRow(label: string, value: string) {
  return (
    <View
      style={{
        flexDirection: "row",
        justifyContent: "space-between",
        marginBottom: 5,
      }}
    >
      <Text style={reportStyles.mutedText}>{label}</Text>
      <Text>{value}</Text>
    </View>
  );
}

export function EstateSummarySection({ estate }: EstateSummaryProps) {
  return (
    <View style={reportStyles.section}>
      <Text style={reportStyles.sectionTitle}>Estate Summary</Text>
      {summaryRow("Total Estate Amount", formatCurrency(estate.totalEstate, estate.currency))}
      {summaryRow("Debts", formatCurrency(estate.debts, estate.currency))}
      {summaryRow(
        "Funeral Expenses",
        formatCurrency(estate.funeralExpenses, estate.currency),
      )}
      {summaryRow("Wasiyyah Amount", formatCurrency(estate.wasiyyahAmount, estate.currency))}
      <View style={reportStyles.separator} />
      {summaryRow(
        "Net Distributable Estate",
        formatCurrency(estate.netEstate, estate.currency),
      )}
    </View>
  );
}
