diff --git a/src/components/budget/BudgetTable.tsx b/src/components/budget/BudgetTable.tsx index b7740d0..09651b6 100644 --- a/src/components/budget/BudgetTable.tsx +++ b/src/components/budget/BudgetTable.tsx @@ -387,12 +387,12 @@ export default function BudgetTable({ rows, onUpdatePlanned, onSplitEvenly }: Bu {reorderRows(group, subtotalsOnTop).map((row) => renderRow(row))} - + {t(typeTotalKeys[type])} - {formatSigned(sectionAnnualTotal)} + {formatSigned(sectionAnnualTotal)} {sectionMonthTotals.map((total, mIdx) => ( - + {formatSigned(total)} ))} @@ -401,11 +401,11 @@ export default function BudgetTable({ rows, onUpdatePlanned, onSplitEvenly }: Bu ); })} {/* Totals row */} - - {t("common.total")} - {formatSigned(annualTotal)} + + {t("common.total")} + {formatSigned(annualTotal)} {monthTotals.map((total, mIdx) => ( - + {formatSigned(total)} ))} diff --git a/src/components/reports/BudgetVsActualTable.tsx b/src/components/reports/BudgetVsActualTable.tsx index 37fdda8..4a4fda5 100644 --- a/src/components/reports/BudgetVsActualTable.tsx +++ b/src/components/reports/BudgetVsActualTable.tsx @@ -256,26 +256,26 @@ export default function BudgetVsActualTable({ data }: BudgetVsActualTableProps) ); })} - - {t(typeTotalKeys[section.type])} - + + {t(typeTotalKeys[section.type])} + {cadFormatter(sectionTotals.monthActual)} - {cadFormatter(sectionTotals.monthBudget)} - + {cadFormatter(sectionTotals.monthBudget)} + {cadFormatter(sectionTotals.monthVariation)} - + {pctFormatter(sectionMonthPct)} - + {cadFormatter(sectionTotals.ytdActual)} - {cadFormatter(sectionTotals.ytdBudget)} - + {cadFormatter(sectionTotals.ytdBudget)} + {cadFormatter(sectionTotals.ytdVariation)} - + {pctFormatter(sectionYtdPct)} @@ -283,26 +283,26 @@ export default function BudgetVsActualTable({ data }: BudgetVsActualTableProps) ); })} {/* Grand totals */} - - {t("common.total")} - + + {t("common.total")} + {cadFormatter(totals.monthActual)} - {cadFormatter(totals.monthBudget)} - + {cadFormatter(totals.monthBudget)} + {cadFormatter(totals.monthVariation)} - + {pctFormatter(totalMonthPct)} - + {cadFormatter(totals.ytdActual)} - {cadFormatter(totals.ytdBudget)} - + {cadFormatter(totals.ytdBudget)} + {cadFormatter(totals.ytdVariation)} - + {pctFormatter(totalYtdPct)} diff --git a/src/components/reports/CategoryOverTimeTable.tsx b/src/components/reports/CategoryOverTimeTable.tsx index bb18bfc..03e04b7 100644 --- a/src/components/reports/CategoryOverTimeTable.tsx +++ b/src/components/reports/CategoryOverTimeTable.tsx @@ -80,8 +80,8 @@ export default function CategoryOverTimeTable({ data, hiddenCategories }: Catego ); })} - - {t("common.total")} + + {t("common.total")} {months.map((month) => { const monthData = data.data.find((d) => d.month === month); const monthTotal = visibleCategories.reduce( @@ -89,12 +89,12 @@ export default function CategoryOverTimeTable({ data, hiddenCategories }: Catego 0, ); return ( - + {cadFormatter(monthTotal)} ); })} - + {cadFormatter( visibleCategories.reduce( (sum, cat) => sum + data.data.reduce((s, d) => s + ((d as Record)[cat] as number || 0), 0), diff --git a/src/components/reports/CategoryTable.tsx b/src/components/reports/CategoryTable.tsx index e66e5fc..c7e653a 100644 --- a/src/components/reports/CategoryTable.tsx +++ b/src/components/reports/CategoryTable.tsx @@ -61,10 +61,10 @@ export default function CategoryTable({ data, hiddenCategories }: CategoryTableP ))} - - {t("common.total")} - {cadFormatter(grandTotal)} - 100% + + {t("common.total")} + {cadFormatter(grandTotal)} + 100% diff --git a/src/components/reports/DynamicReportTable.tsx b/src/components/reports/DynamicReportTable.tsx index dc77588..e956631 100644 --- a/src/components/reports/DynamicReportTable.tsx +++ b/src/components/reports/DynamicReportTable.tsx @@ -192,13 +192,13 @@ export default function DynamicReportTable({ config, result }: DynamicReportTabl )) )} {/* Grand total */} - - + + {t("reports.pivot.total")} {colValues.map((colVal) => measures.map((m) => ( - + {cadFormatter(grandTotals[colVal]?.[m] || 0)} )) diff --git a/src/components/reports/MonthlyTrendsTable.tsx b/src/components/reports/MonthlyTrendsTable.tsx index 8655e4b..bccdfce 100644 --- a/src/components/reports/MonthlyTrendsTable.tsx +++ b/src/components/reports/MonthlyTrendsTable.tsx @@ -61,11 +61,11 @@ export default function MonthlyTrendsTable({ data }: MonthlyTrendsTableProps) { ))} - - {t("common.total")} - {cadFormatter(totals.income)} - {cadFormatter(totals.expenses)} - = 0 ? "text-[var(--positive)]" : "text-[var(--negative)]"}`}> + + {t("common.total")} + {cadFormatter(totals.income)} + {cadFormatter(totals.expenses)} + = 0 ? "text-[var(--positive)]" : "text-[var(--negative)]"}`}> {cadFormatter(totals.income - totals.expenses)}