import { ReportData, GroupKey } from "../../features/report"; import { formatCurrency, extractFilteredTransactions, } from "../report.helpers"; import { LatestItem } from "./LatestItems.models"; // ─── Main adapter ──────────────────────────────────────────── export function buildLatestItems( reportData: ReportData, selectedPeriodId: string | null | undefined, selectedGroupKey: GroupKey | null | undefined, flow: "outflows" | "inflows" ): LatestItem[] { const txns = extractFilteredTransactions(reportData, selectedPeriodId, selectedGroupKey); return txns .sort( (a, b) => new Date(b.occurred_at).getTime() - new Date(a.occurred_at).getTime() ) .map((t, index) => ({ id: index + 1, title: t.payee.name, subtitle: t.tags.map((tag) => tag.name).join(", "), amount: formatCurrency(t.amount), timeAgo: new Date(t.occurred_at).toLocaleDateString("en-IN"), })); }